--- id: GLAS-WP-0008 type: workplan title: "Make profile operational readiness explicit" domain: infotech repo: glas-harness status: finished owner: codex topic_slug: profile-operational-readiness created: "2026-08-23" updated: "2026-08-23" state_hub_workstream_id: "5bd4c42e-8f42-562d-a42a-7b2172feea45" --- # Make profile operational readiness explicit ## Define the readiness contract ```task id: GLAS-WP-0008-T01 status: done priority: high state_hub_task_id: "7a8fa304-07bc-5f22-ab6d-ea90c4ecd73d" ``` Add a typed operational-readiness state that is distinct from catalog enablement. Expose it in resolved contexts and execution evidence without changing rein selection or introducing a fallback. **Completed 2026-08-23:** added the backward-compatible `OperationalReadiness` model and propagated it through resolved catalog contexts and compact execution evidence. Undeclared legacy profiles default to `unverified`; positive `ready` claims require an evidence reference. ## Declare profile states and enforce known blockers ```task id: GLAS-WP-0008-T02 status: done priority: high state_hub_task_id: "d852d147-3066-594f-8f13-d385f1abaa2d" ``` Declare the current evidence-backed state of every committed profile. Refuse a known-blocked profile at resolution before sandbox creation; permit an unverified profile only as an explicitly labeled bounded proof attempt. **Completed 2026-08-23:** both bwrap-local profiles now declare `blocked` with owner `sand-boxer` and evidence `GLAS-IN-0002`; the remote profile declares `unverified`. Gateway resolution rejects blocked profiles before sandbox creation while retaining unverified attempts and their label in evidence. ## Verify and publish the clarified behavior ```task id: GLAS-WP-0008-T03 status: done priority: high state_hub_task_id: "e2321bb6-ade9-5262-a2cf-940fcbb01021" ``` Cover the schema, catalog, CLI, gateway refusal, evidence, and compatibility path with tests. Update scope and execution-profile documentation, close `GLAS-IN-0005`, synchronize State Hub, publish, and report the behavior change to known consumers. **Completed 2026-08-23:** CLI text/JSON report readiness without calling the catalog executable, documentation and examples reflect the current states, and the 63-test suite plus packaged catalog validation pass. `GLAS-IN-0005` is absorbed by this workplan. The remaining local runtime dependency was already handed off as live residual `GLAS-IN-0002`; no new residual was created.