diff --git a/workplans/WARDEN-WP-0032-security-zones.md b/workplans/WARDEN-WP-0032-security-zones.md index 4094ec1..ddbe085 100644 --- a/workplans/WARDEN-WP-0032-security-zones.md +++ b/workplans/WARDEN-WP-0032-security-zones.md @@ -173,6 +173,46 @@ state_hub_task_id: "1af3d26e-ce21-46ca-a56c-486d52b76dcb" owning it — a superseding record, never an in-place edit. Update `SCOPE.md`, `wiki/WorkloadSecurityPosture.md`, and `wiki/PolicyGatedSigning.md` with it. +```task +id: WARDEN-WP-0032-T05 +status: todo +priority: high +``` + +**Grade the five exposed lanes now — do not wait for the model.** +`RISK-F-0003`: `is_high_risk` is `risk == "high"` and `risk` is optional, so the +14 ungraded lanes never reach the agent read-boundary. Five are `exec_capable` +and can therefore stream a value to an agent session: `openbao-api-key`, +`whynot-design-npm-publish`, `key-cape-oidc-login`, +`issue-core-ingestion-api-key`, `reuse-surface-hub-write-token`. + +The durable answer is a maturity-derived default (`ZONE-WP-0001-T03`), and it is +the right answer. It is also months away, and this is a live control gap in a +shipped ADR. Grade these five explicitly, then the remaining nine. + +Grading is judgement, not backfill — each lane's grade should be justified in the +entry, and the operator should sanction the high/standard calls rather than +having them inferred. Verify separately whether OpenBao's +`agent-high-risk-boundary` policy covers these paths; `RISK-F-0003` deliberately +does not assume it does, because those paths were graded by the same omission. + +```task +id: WARDEN-WP-0032-T06 +status: wait +priority: medium +``` + +**Make absence impossible, once the model says what absence means.** Waits on +`ZONE-WP-0001-T03`. Either invert the default (absent `risk` resolves through the +lane owner's maturity, per the operator direction) or require `risk` at catalog +load and in CI. Whichever lands, the failure mode to kill is the current one: +adding a lane without a grade silently places it outside a control, with nothing +at load or in CI noticing. + +Feed back to `ZONE-WP-0001-T03` whether ops-warden can supply the join it needs — +today no lane references a workload or an environment, so the `M0`–`M3` ladder +has nothing to attach to from this side. + ## Related - `zone-engine` `ZONE-WP-0001` — the model, and where this work is led from