T04 was the last open task, waiting on key-cape to accept or refuse ownership of the coding-agent OpenBao issuance identity. They accepted, in KEY-WP-0009-T03, on 2026-08-23: codex-railiance-platform is published in their config/service-clients.example.yaml with subject service:codex:railiance-platform, role coding-agent, scope openbao:login, 15m lifetime, and the service-auth semantics in docs/openbao-service-auth-contract.md. The split is the one we routed for — KeyCape issues, railiance-platform binds the OpenBao role, OpenBao enforces, no secret value in either repo. We found it by reading their repository. KEY-WP-0009-T04 records replying to ops-warden; the inbox has zero messages from key-cape, read or unread. The task sat `wait` on an answer that already existed. That is T05's own lesson arriving on T04: a blocker is a claim about the world at a date. So the same pass re-verified the two lanes pointing at key-cape against their source instead of bumping dates: - rapp-qonto-keycape-client -> verified: source-read. KEY-WP-0009-T02 did add bounded service-auth, but that is client_credentials JWT issuance for OpenBao machine login and does not front this client_secret_basic exchange or its rotation. Blocker stands, now with evidence rather than memory. - key-cape-oidc-login -> asked of key-cape today, which the entry had recorded as still outstanding since 2026-08-21. Also cleared the inbox that hid this: 9 stale unread, all superseded by shipped work, with late closes sent to secrets-engine and llm-connect on the two threads that had asked ops-warden something and never got an answer. 391 tests pass, ruff clean, boundary coverage 0 uncovered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YWBMovyFoy9RRrfL7zKvPJ Assistant: claude-code Assistant-Model: opus Assistant-Process: 4014535@bnt-lap001 Assistant-Session: d0036016-73e8-4da1-8e47-563e3ab39a3c
104 lines
5.1 KiB
YAML
104 lines
5.1 KiB
YAML
# GENERATED by scripts/emit_high_risk_paths.py -- do not edit by hand.
|
|
# Concrete KV data paths for lanes ops-warden grades `risk: high`.
|
|
#
|
|
# This is an INPUT, not a policy. ops-warden states which paths it grades
|
|
# high; railiance-platform owns what agent-high-risk-boundary denies and may
|
|
# deny more, deny less, or dispute a grade (ADR-0002, ADR-0008).
|
|
#
|
|
# Grades cover every field a read of the path discloses, not the field the
|
|
# lane is named after (ADR-0008). `fields` is recorded where an owning CCR
|
|
# declares it, and is null where the field set has not been established --
|
|
# null means unknown, never 'one field'.
|
|
|
|
generated_at: "2026-08-28T19:58:57Z"
|
|
source: ops-warden/registry/routing/catalog.yaml
|
|
catalog_revision: "c374d41a4925720ae7706dfda020537b60a07eb9"
|
|
catalog_revision_date: "2026-08-23T21:43:12+02:00"
|
|
catalog_dirty: true
|
|
high_risk_lane_count: 23
|
|
concrete_path_count: 14
|
|
|
|
# Graded high but not a single KV address -- a routing pattern, a broker
|
|
# grant, or a non-KV lane. Nothing here for a policy to deny.
|
|
no_concrete_path:
|
|
- database-dynamic-credentials
|
|
- inter-hub-bootstrap-ssh
|
|
- net-kingdom-lldap-bind-credential
|
|
- net-kingdom-privacyidea-admin-token
|
|
- object-storage-sts
|
|
- openbao-api-key
|
|
- openbao-platform-admin-login
|
|
- openbao-shamir-recovery-ceremony
|
|
- ops-warden-warden-sign-token
|
|
|
|
paths:
|
|
- id: agent-harness-binky-mail-approle
|
|
data_path: tenants/data/binky/company-email/imap
|
|
metadata_path: tenants/metadata/binky/company-email/imap
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: agent-harness-forgejo-deploy
|
|
data_path: platform/data/workloads/agent-harness/forgejo-deploy-key
|
|
metadata_path: platform/metadata/workloads/agent-harness/forgejo-deploy-key
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: audit-core-senders
|
|
data_path: platform/data/workloads/audit-core/senders
|
|
metadata_path: platform/metadata/workloads/audit-core/senders
|
|
owner_repo: ops-mason
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: binky-company-email-imap
|
|
data_path: tenants/data/binky/company-email/imap
|
|
metadata_path: tenants/metadata/binky/company-email/imap
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: binky-qonto-api
|
|
data_path: tenants/data/binky/qonto-api
|
|
metadata_path: tenants/metadata/binky/qonto-api
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: email-connect-transactional
|
|
data_path: platform/data/workloads/email-connect/transactional
|
|
metadata_path: platform/metadata/workloads/email-connect/transactional
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: forgejo-admin-api-token
|
|
data_path: platform/data/workloads/forgejo/forgejo-admin
|
|
metadata_path: platform/metadata/workloads/forgejo/forgejo-admin
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: issue-core-ingestion-api-key
|
|
data_path: platform/data/workloads/issue-core/issue-core/issue-core-runtime
|
|
metadata_path: platform/metadata/workloads/issue-core/issue-core/issue-core-runtime
|
|
owner_repo: railiance-platform
|
|
fields: [ISSUE_CORE_API_KEY, GITEA_BACKEND_TOKEN]
|
|
- id: openrouter-llm-connect
|
|
data_path: platform/data/workloads/activity-core/llm-connect/llm-connect-provider-secrets
|
|
metadata_path: platform/metadata/workloads/activity-core/llm-connect/llm-connect-provider-secrets
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: railiance-backup-offsite-lane
|
|
data_path: platform/data/workloads/railiance/backup/offsite-lane
|
|
metadata_path: platform/metadata/workloads/railiance/backup/offsite-lane
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: rapp-qonto-keycape-client
|
|
data_path: platform/data/workloads/rapp-qonto/keycape-client
|
|
metadata_path: platform/metadata/workloads/rapp-qonto/keycape-client
|
|
owner_repo: key-cape
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: reuse-surface-hub-write-token
|
|
data_path: platform/data/workloads/reuse/reuse-surface/runtime-secrets
|
|
metadata_path: platform/metadata/workloads/reuse/reuse-surface/runtime-secrets
|
|
owner_repo: railiance-platform
|
|
fields: [REUSE_SURFACE_TOKEN, REUSE_SURFACE_FORGEJO_WEBHOOK_SECRET]
|
|
- id: scaleway-bootstrap
|
|
data_path: platform/data/workloads/railiance/scaleway/bootstrap
|
|
metadata_path: platform/metadata/workloads/railiance/scaleway/bootstrap
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|
|
- id: whynot-design-npm-publish
|
|
data_path: platform/data/workloads/coulomb/whynot-design/npm-publish
|
|
metadata_path: platform/metadata/workloads/coulomb/whynot-design/npm-publish
|
|
owner_repo: railiance-platform
|
|
fields: null # field set not established -- unknown, not one
|