Consolidate platform workplans and assess intent gaps

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ecb-456a-71c2-b41e-0755d336e883
This commit is contained in:
codex 2026-09-05 11:14:42 +02:00
parent 9d958f8e09
commit 9f83e426c7
40 changed files with 2985 additions and 295 deletions

25
workplans/README.md Normal file
View file

@ -0,0 +1,25 @@
# Current platform work
Reviewed 2026-09-05. Six open workplans: five blocked on explicit owner/live
gates and one ready for local work. Completed designs and implementations are
under `archived/`; their IDs and UUIDs are preserved. The number of blocked
plans is not a count of missing implementations or independent incidents.
| Workplan | Purpose and next gate | S3 boundary |
| --- | --- | --- |
| [RPF-WP-0027](RPF-WP-0027-keycape-live-secret-exposure-recovery.md) | Incident custody and final evidence; accept NetKingdom's residual disposition and publish exact custody handoff | The bundle was already rotated. Provider/MFA reconciliation belongs to NetKingdom. |
| [RPF-WP-0029](RPF-WP-0029-backup-credential-default-removal.md) | Backup credential exposure; attended provider invalidation and replacement recovery receipts | S3 retains custody acceptance; S1 and forge own their backup execution. |
| [RPF-WP-0025](RPF-WP-0025-openbao-operator-only-access.md) | Private OpenBao access; fresh attended callback/login then guarded retraction | Coordinate package, issuer, tunnel and DNS owners; keep the window separate. |
| [RPF-WP-0015](RPF-WP-0015-audit-core-custody-and-recovery-coordination.md) | Two prepared recovery exercises; fresh synthetic-load/outage approvals and custody readiness | S3 contributes lease/ESO and snapshot/unseal proof; S1/S2 and audit-core execute their parts. |
| [RPF-WP-0035](RPF-WP-0035-credential-lane-implementation.md) | One implementation queue for secrets-engine JWT, Fluid operator KV and preflight signing | Three independent task gates; no new approval inherited from the completed designs. |
| [RPF-WP-0036](RPF-WP-0036-platform-service-assurance.md) | **Ready:** service guarantees, recurring evidence, S3 emission, admission consistency, ownership handoff and demand review | Local design/checking can progress while live work waits. |
Start with RPF-WP-0036-T02/T05 for work that does not require a live credential
or outage. Treat credential exposure closure as the highest-priority attended
work; task order does not combine or waive approvals.
[Assessment and disposition of every plan](../history/2026-09-05-platform-intent-workplan-assessment.md)
and [generated current record index](../WORK-RECORDS.md).
Do not recreate completed workplans because an old Hub alias or generated brief
still shows them active. Use source IDs, and follow AGENTS.md for verified sync.

View file

@ -4,11 +4,11 @@ type: workplan
title: "Coordinate audit-core temporary custody and recovery exercises"
domain: financials
repo: railiance-platform
status: active
status: blocked
owner: codex
topic_slug: railiance
created: "2026-08-22"
updated: "2026-08-22"
updated: "2026-09-05"
related:
- AUDIT-WP-0008
- WH-ENG-20260822-AUDIT-E2-01
@ -119,7 +119,7 @@ copied for another engagement.
```task
id: RPF-WP-0015-T02
status: progress
status: wait
priority: high
state_hub_task_id: "fda4262a-56f6-5f06-a070-8fe7e1297209"
```
@ -175,7 +175,7 @@ live window after the Whitehat engagement cleanup.
```task
id: RPF-WP-0015-T03
status: progress
status: wait
priority: high
state_hub_task_id: "ba729d18-f053-539f-86ef-5cb8ad4cce45"
```
@ -313,3 +313,26 @@ each task.
- [ ] Database recovery is restart-free and evidenced without credential values.
- [ ] Reboot recovery has an ordered, owner-signed checklist and abort path.
- [x] No live action is implied by completing this design workplan.
## Portfolio review — 2026-09-05
INTENT binding: tested recovery and dependable custody. Procedure construction
is complete; the two tasks were incorrectly left `progress` while their live
windows remained unavailable. They now explicitly wait. This does not claim
that the experiments passed or that prior expired approvals can be reused.
T02 retains the S3 lease/ESO acceptance contribution. `audit-core` owns the
synthetic-load driver and application retry/readiness proof (AUDIT-WP-0008);
`rapp-postgres` owns database acceptance. Unblock with a revision-pinned load
receipt, named abort operator and fresh bounded window.
T03 retains only S3 snapshot, quorum/unseal, ESO and database-readiness gates.
Host reboot execution belongs to `railiance-infra`, cluster recovery to
`railiance-cluster`, application acceptance to audit-core. Existing owner
procedure receipts remain evidence of review, not fresh live GO. Unblock with
fresh snapshot/quorum/access evidence, owner confirmations and an outage window.
The terminal NO-GO is not rerunnable. RPF-WP-0017 closed the local output
containment defect; the next attempt still needs current acceptance evidence.
Do not create another platform-owned whole-host drill or duplicate these live
tasks in RPF-WP-0036; that plan owns recurring service assurance.

View file

@ -8,7 +8,7 @@ status: blocked
owner: codex
topic_slug: railiance
created: "2026-08-23"
updated: "2026-08-23"
updated: "2026-09-05"
related:
- RMASTER-WP-0020-T09
- RAPP-OPENBAO-WP-0002
@ -85,3 +85,14 @@ is ready to complete the browser/MFA act.
This workplan authorizes no OpenBao seal/unseal, policy broadening, PVC or
Secret mutation, reboot, restore, or RMASTER-WP-0020-T08 cleanup.
## Portfolio review — 2026-09-05
INTENT binding: secure custody and an operable operator access path. Retain
T03 as the one attended cutover task; do not merge its approval/window with
incident rotation or reboot. Platform owns the exact OpenBao callback and
custody acceptance; rapp-openbao owns package exposure, KeyCape/NetKingdom the
issuer callback, ops-bridge the tunnel, and S1/S2 DNS/network primitives.
Unblock with a fresh attended OIDC/MFA callback update and loopback login,
then the guarded retraction and owner-specific DNS handoff. Existing source
readiness is not evidence of a completed live cutover.

View file

@ -4,11 +4,11 @@ type: workplan
title: "Coordinate KeyCape live Secret exposure recovery"
domain: financials
repo: railiance-platform
status: active
status: blocked
owner: codex
topic_slug: railiance
created: "2026-08-23"
updated: "2026-08-23"
updated: "2026-09-05"
related:
- KEY-WP-0011
origin: routed
@ -56,7 +56,7 @@ predecessor revocation, and sanitized evidence.
```task
id: RPF-WP-0027-T03
status: progress
status: wait
priority: high
state_hub_task_id: "714ae011-903d-55e2-ac47-801b8ef879d1"
```
@ -96,7 +96,7 @@ lane remains unresolved and no credential fetch or retry is authorized.
```task
id: RPF-WP-0027-T04
status: wait
status: done
priority: high
state_hub_task_id: "28b31e57-7a76-5100-8a61-9aa87339c5d7"
```
@ -123,7 +123,7 @@ status, timestamps, and cleanup receipts.
```task
id: RPF-WP-0027-T06
status: progress
status: wait
priority: high
state_hub_task_id: "3b9748c4-2906-5ba7-9d34-0a7067a59283"
```
@ -135,3 +135,34 @@ attended handoff identifier. Do not infer or invent any of these values. After
publication, update `docs/net-kingdom-credential-custody-contract.md`, ask
ops-warden to refresh lane resolvability, and pass only protected inputs to
NetKingdom's minimal resolver reconciliation flow.
## Portfolio review — 2026-09-05
INTENT binding: secure custody and incident closure. The goal above is historical;
the remaining platform scope is custody and acceptance of owner evidence.
**T04 is complete by existing owner evidence, not by a new action here.**
`key-cape/workplans/KEY-WP-0011-live-secret-exposure-recovery.md` T02/T03 and
`net-kingdom/workplans/NK-WP-0033-keycape-secret-exposure-rotation.md` T04
record the approved 2026-08-23 bundle replacement. Do not repeat that rotation
merely because this platform task previously remained `wait`.
The 2026-08-27 NK-WP-0033-T05 update is newer than the earlier notes above:
the resolver binding was reconciled, but there is no complete green receipt.
The predecessor value is unavailable; manual observations are not a recorded
negative proof. No one should recover or fabricate a predecessor just to make
a test pass. The incident owner must rule explicitly on the residual evidence
and acceptable disposition. Overall incident closure remains open.
- T03 waits for current NetKingdom/provider evidence disposition and the exact
platform custody acknowledgements; old procedure acknowledgements exist.
- T05 waits for the repaired owner command's sanitized receipt and the
incident owner's explicit disposition of the unavailable predecessor.
NetKingdom owns resolver/MFA execution (NK-WP-0033-T03/T05); this repo accepts
custody-related results without taking over the identity provider.
- T06 waits for confirmed mount/path/fields, writer/reader authority and the
operator handoff. The existing draft leaves those facts intentionally blank.
No new owner acceptance or coordination message is asserted by this review.
Keep this incident separate from the new-lane queue; broad lane approval cannot
close an exposure.

View file

@ -37,3 +37,13 @@ state_hub_task_id: "b3f3402f-890b-5781-9b3e-1c9c0d28cea8"
```
Provider-side invalidation and replacement custody need the attended provider owner and CCR-2026-0004 lifecycle procedure. Record only non-secret invalidation, encrypted upload and restore receipts. No provider authority or replacement receipt was available; source removal alone does not close the reported exposure. Never record the predecessor value, fingerprint, length, or shape.
## Portfolio review — 2026-09-05
INTENT binding: dependable backup custody and recovery. Retain T02 until the
provider owner invalidates the predecessor and supplies replacement upload and
restore receipts through CCR-2026-0004. Source removal is already complete.
S1 backup scheduling belongs to RAIL-HO-WP-0012; forge backup orchestration and
artifact retention belong to railiance-forge. RPF-WP-0036-T06 will obtain an
accepted compatibility handoff, but this exposure obligation stays visible
here until its evidence is accepted. No rotation was executed in this review.

View file

@ -0,0 +1,119 @@
---
id: RPF-WP-0035
type: workplan
title: "Implement reviewed credential lanes with separate owner gates"
domain: financials
repo: railiance-platform
status: blocked
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
related:
- RPF-WP-0032
- RPF-WP-0033
- RPF-WP-0034
---
# Credential lane implementation
One S3 queue for three designed lanes; each task keeps its own approval,
execution and closure boundary. This replaces the implementation tasks in the
three completed design workplans, not the designs themselves. No approval is
inherited by consolidation. INTENT binding: secure custody, dependable delivery,
stable consumer interfaces. Incident custody remains in RPF-WP-0027/0029.
## Consolidate completed designs and owner dependencies
```task
id: RPF-WP-0035-T01
status: done
priority: medium
```
Completed 2026-09-05. Preserved the three designs under
`docs/credential-lane-designs/`, identified native owner responsibilities and
linked each superseded task below. Owners have not been sent new requests and
no new external acceptance is claimed. STATE-WP-0085-T09 is already done;
the signing dependency belongs to the proposed FLEX-WP-0020-T05 cutover.
## Accept and provision secrets-engine service JWT login
```task
id: RPF-WP-0035-T02
status: wait
priority: high
```
Supersedes RPF-WP-0032-T02. Design:
`docs/credential-lane-designs/secrets-engine-service-jwt.md`.
Platform owns the exact JWT mount/role/policy, effective-policy negative tests
and a metadata-only custody receipt. KeyCape owns issuer/JWKS and service
registration (KEY-WP-0009); secrets-engine owns service authentication and
authority consumption (SECRETS-WP-0008-T06, SECRETS-WP-0007-T04).
**Unblock:** confirmed HTTPS issuer/JWKS, exact claims and audience, consumer
readiness, approved source and attended apply authority. A service login does
not grant lane mutation authority. Do not build another identity provider or
lifecycle engine here.
**Done when:** approved exact role succeeds for the intended service, wrong
issuer/audience/subject/claims and unrelated secret access fail, bounded TTL
and revocation are proven, the consumer explicitly opts into the verified
contract, and rollback/cleanup receipts contain no secret material.
## Implement the platform operator-write CCR contract and Fluid lane
```task
id: RPF-WP-0035-T03
status: wait
priority: high
```
Supersedes RPF-WP-0033-T02. Design:
`docs/credential-lane-designs/fluid-telegram-operator-kv.md`.
Platform owns the per-path capability schema/validator, exact OpenBao policy
and accepted custody coordinates. MASON-WP-0005 owns construction coordination
and engine integration; KeyCape/NetKingdom own OIDC/MFA and group membership;
FT-WP-0002 owns client CAS, prefix correction, output containment and Telegram
application acceptance. Retain the existing read-only CCR semantics.
**Unblock:** accept tenant/path and per-entry field/capability matrix; confirm
actual group/assurance and callbacks, reviewed construction contract and writer
authority. Contract review can proceed without a live credential; the final
schema cannot be treated as accepted solely because a draft exists.
**Done when:** validation rejects broad/unsupported grants, the consumer proves
CAS=0 first-write behavior and no value output, approved identities can perform
only the exact matrix, negative/expiry/revocation checks pass, custody is seeded
through the separate writer, and the verified route has a safe handoff receipt.
The unattended adapter remains a separate demand and gets no operator session.
## Accept the needed signing lane and deliver it to the owning runtime
```task
id: RPF-WP-0035-T04
status: wait
priority: medium
```
Supersedes RPF-WP-0034-T02. Design:
`docs/credential-lane-designs/state-hub-preflight-signing.md`.
Platform owns signing-key custody, exact read policy/role and scoped delivery
acceptance. State Hub owns API chart/env wiring, all-replica rotation fencing
and health. FLEX-WP-0020-T05 owns the rename preflight/cutover dependency;
STATE-WP-0085-T09's adoption-plan delivery is already complete.
**Unblock:** State Hub/repo-manager and the consuming migration owner confirm
that this transitional State Hub lane is still needed during retirement;
record the target runtime, namespace/SA/auth audience and an executable
rotation fence, plus approved writer and deployment window. Do not broaden the
lane into a general repository-rename authority or provision for a stale demand.
**Done when:** protected one-time generation, API-only ESO delivery, negative
access checks and a non-mutating signed preflight pass; every API replica uses
the accepted version; rotation/invalidation and recovery are evidenced. No
repository rename is part of S3 lane acceptance. If demand is withdrawn, record
the owning decision and cancel this task explicitly rather than provision it.

View file

@ -0,0 +1,165 @@
---
id: RPF-WP-0036
type: workplan
title: "Close S3 service assurance and ownership gaps"
domain: financials
repo: railiance-platform
status: ready
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
---
# S3 service assurance and ownership gaps
Source: `history/2026-09-05-platform-intent-workplan-assessment.md`.
Reviewed against current repository evidence. This plan supplies the missing
continuing obligations; it does not reopen completed bootstrap projects or
duplicate incident/lane work. Repository design and read-only implementation
can progress now. Every live drill, scheduler, credential operation or migration
retains its own owner and execution gate.
## Record the portfolio assessment and consolidate source work
```task
id: RPF-WP-0036-T01
status: done
priority: high
```
Completed 2026-09-05. Assessed all 37 existing plans and their 168 task records,
corrected SCOPE, grouped the remaining obligations, consolidated the three
design follow-ups under RPF-WP-0035, archived completed plans with identities
preserved, and recorded owner handoffs and before/after inventory in history.
This certifies the source review, not live service health or external acceptance.
## Publish achievable service guarantees and recovery ownership
```task
id: RPF-WP-0036-T02
status: todo
priority: high
```
For apps-pg, platform-pg, OpenBao and each supported backup delivery lane,
publish a versioned service record: accountable S3/package/operator owners,
consumers, failure domain, availability objective, RPO/RTO, retention, recovery
key/quorum availability, maintenance/abort path and evidence freshness budget.
Separate measured results from accepted targets and unknowns. A 56-second
scratch restore is not an RTO commitment; one replica on one host is not HA.
Reuse `docs/s3-consumer-interfaces.md` and existing package declarations.
**Done when:** every supported service has owner-reviewed numeric targets or
an explicit unsupported guarantee and decision owner; consumer requirements
are compared to the current substrate; any HA/node-loss gap has an exact S1/S2
and package dependency rather than a blanket new-cluster project here.
## Make backup freshness and recurring recovery evidence checkable
```task
id: RPF-WP-0036-T03
status: todo
priority: high
```
Inventory authoritative CNPG backup/PITR, OpenBao snapshot/isolated restore,
encrypted off-host copy and custody-recovery receipts. Reuse existing validators
and package status commands. Define cadence/expiry from T02; return distinct
healthy, stale, missing and unavailable states using metadata only. Schedule
execution only through the accepted execution owner and separately approved
authority. Keep RPF-WP-0015's pending database/reboot experiments as the sole
live tasks for those experiments; RPF-WP-0029 retains provider-key recovery.
**Done when:** a current off-host backup and a current isolated restore receipt
exist for each supported data service, the approved cadence is installed and
its execution is evidenced, and missing/stale/failed evidence reaches a named
operator. A template, dated successful snapshot, or same-PVC reboot does not
pass as restore proof. Record independent recovery-key access without values.
## Produce S3 signals and prove their delivery to the evidence owner
```task
id: RPF-WP-0036-T04
status: todo
priority: high
```
Define service-owned health semantics for backup/WAL age, restore age, seal
state, ESO freshness, connection/memory headroom and consumer ceiling. Reuse
package emitters and the Q2 owner's standard contract; retain an explicit
unmonitored state and named manual checker until transport is accepted.
Request a concrete receiving contract from railiance-telemetry when routing is
authorized; do not implement a competing monitoring plane in S3.
**Done when:** bounded metadata-only samples pass contract validation, a
controlled stale/failure sample reaches a named recipient through the accepted
Q2 route, and missing emission itself is detectable. Local fixture tests may
finish before the receiver, but end-to-end acceptance cannot.
## Reconcile admission, placement and consumer interface drift
```task
id: RPF-WP-0036-T05
status: todo
priority: high
```
Join actual package declarations and authorized metadata to the S3 interface,
tenancy and placement records. Correct stale platform-pg occupancy/co-residency
(Core Hub admission versus older tenant-engine descriptions), distinguish
desired placement from observed placement, and verify the named overflow
targets remain provisionable. Add a bounded check for missing owners,
unsupported retention requests, quota/ceiling drift and stale evidence; consume
package admission checks instead of reimplementing them.
**Done when:** every admitted consumer has one authoritative placement/contract,
capacity and retention disclosures match package source and dated live proof,
and synthetic invalid admissions fail before provisioning. No workload moves
under this task without its own owner-reviewed migration.
## Obtain acceptance for compatibility assets and derived-record cleanup
```task
id: RPF-WP-0036-T06
status: todo
priority: medium
```
Prepare exact source/entry-point inventories and owner-ready handoffs for
Forgejo backup/pruning/image inventory (`railiance-forge`, activity-core
execution), retained OpenBao package wrappers (`rapp-openbao`), and ArgoCD
bootstrap/application manifests (S2/S4/S5 according to artifact). Keep S3
custody contracts and the RPF-WP-0029 exposure obligation here until accepted
closure. No new framework or app-specific helper belongs here by default.
Supply repo-manager/State Hub with the exact legacy alias/source identity map
from the assessment. Their apparent duplicate active records and stale brief
are derived-state defects, not additional workplans. Use scoped reconciliation;
never change managed UUIDs or blanket-acknowledge retirements to clean a view.
**Done when:** each retained compatibility surface has an accepting owner,
canonical replacement and tested callers or a dated retention decision; the
repo-filtered projection and generated brief agree with source identities.
Unaccepted transfer remains explicitly pending. No requests were sent during
the assessment and this task does not assert acceptance for another repo.
## Decide demand and reuse for undeployed stateful capabilities
```task
id: RPF-WP-0036-T07
status: todo
priority: medium
```
Review cache, general object storage and messaging separately with potential
consumers. Inventory existing providers/contracts (including artifact-store
and the external backup bucket) before selecting an engine. Record workload,
durability/latency/retention needs, capacity, tenancy, custody, package owner,
recovery cost and operating owner for any accepted demand. Ask railiance-master
to resolve fleet Q3 ownership through its architecture process; do not assign
it to S3 by implication.
**Done when:** each capability has a dated decision to reuse, defer with a
review trigger, or start a bounded consumer-backed delivery plan with explicit
acceptance criteria. “No accepted demand; keep deploy gated” is a valid result.
No Valkey, MinIO, RabbitMQ or new provider purchase is authorized by this plan.

View file

@ -4,7 +4,7 @@ type: workplan
title: "Design secrets-engine service JWT login"
domain: financials
repo: railiance-platform
status: blocked
status: finished
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
@ -32,7 +32,7 @@ production objects changed or owner messages sent.
```task
id: RPF-WP-0032-T02
status: wait
status: cancel
priority: high
state_hub_task_id: "d1f4a9f6-4ea5-5daa-97bb-039856855bc2"
```
@ -41,3 +41,11 @@ Confirm issuer, verification endpoint, actual KeyCape registration and live auth
Review the linked design and pin current source revisions before implementation.
Do not interpret this workplan or a proposed coordinate as live authorization.
## Portfolio review — 2026-09-05
The design deliverable is complete. The implementation obligation is preserved
in **RPF-WP-0035-T02**, the single credential-lane implementation queue.
T02 is `cancel` here only because it is superseded there; it is not implemented,
waived or externally accepted. The approved design scope and all existing
identifiers remain unchanged. Archived on 2026-09-05 after this consolidation.

View file

@ -4,7 +4,7 @@ type: workplan
title: "Design fluid-telegram attended operator KV lane"
domain: financials
repo: railiance-platform
status: blocked
status: finished
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
@ -32,7 +32,7 @@ production objects changed or owner messages sent.
```task
id: RPF-WP-0033-T02
status: wait
status: cancel
priority: high
state_hub_task_id: "a542697f-adf8-59ac-9704-0bcde1d9fd0f"
```
@ -41,3 +41,11 @@ Obtain tenant/group/MFA decisions; extend the CCR schema, validator, renderer an
Review the linked design and pin current source revisions before implementation.
Do not interpret this workplan or a proposed coordinate as live authorization.
## Portfolio review — 2026-09-05
The design deliverable is complete. The implementation obligation is preserved
in **RPF-WP-0035-T03**, the single credential-lane implementation queue.
T02 is `cancel` here only because it is superseded there; it is not implemented,
waived or externally accepted. The approved design scope and all existing
identifiers remain unchanged. Archived on 2026-09-05 after this consolidation.

View file

@ -4,7 +4,7 @@ type: workplan
title: "Design State Hub preflight signing custody"
domain: financials
repo: railiance-platform
status: blocked
status: finished
owner: codex
created: "2026-09-05"
updated: "2026-09-05"
@ -32,7 +32,7 @@ production objects changed or owner messages sent.
```task
id: RPF-WP-0034-T02
status: wait
status: cancel
priority: high
state_hub_task_id: "96e4864a-fd17-529b-a72f-69ffd885a962"
```
@ -41,3 +41,11 @@ Confirm exact primary deployment and delivery identity; approve the writer and r
Review the linked design and pin current source revisions before implementation.
Do not interpret this workplan or a proposed coordinate as live authorization.
## Portfolio review — 2026-09-05
The design deliverable is complete. The implementation obligation is preserved
in **RPF-WP-0035-T04**, the single credential-lane implementation queue.
T02 is `cancel` here only because it is superseded there; it is not implemented,
waived or externally accepted. The approved design scope and all existing
identifiers remain unchanged. Archived on 2026-09-05 after this consolidation.