Audit package attribute reads and choose fact/assertion shape.
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 56s

FLEX-WP-0025-T01/T02: keep merged attributes, add registry/asserted
namespaces later, and declare the remaining ceiling keys so no
published allowlist is unbacked. T03 stays waiting on validate.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
This commit is contained in:
tegwick 2026-09-14 04:47:52 +02:00
parent d39953bf1a
commit 86716ff263
4 changed files with 120 additions and 4 deletions

View file

@ -15,7 +15,7 @@ related_workplans:
- FLEX-WP-0022
- FLEX-WP-0024
created: "2026-09-07"
updated: "2026-09-07"
updated: "2026-09-14"
state_hub_workstream_id: "f9a657ce-67b4-5d25-9933-e0fcb2c20b1c"
---
@ -54,7 +54,7 @@ while the value it produces is never read.**
```task
id: FLEX-WP-0025-T01
status: todo
status: done
priority: high
state_hub_task_id: "05c6a85d-ee3d-5875-bea4-e9a9c5382e2e"
```
@ -79,11 +79,16 @@ and which are ambiguous. The ambiguous set is the real design input.
Gate: the chosen shape is written down with the vocabulary collision addressed,
before any package changes.
**Done 2026-09-14.** Shape recorded in `docs/request-enrichment.md`: keep merged
`attributes`, add `registry.*` / `asserted.*`, leave `subject.type` as caller
vocabulary and put CARING type at `input.subject.registry.type`. No package
rule changes.
## 2. Audit every package for ceilings read from undeclared keys
```task
id: FLEX-WP-0025-T02
status: todo
status: done
priority: high
state_hub_task_id: "fc61c8a7-347b-59d2-b6a6-a72c5c1cdb08"
```
@ -102,6 +107,11 @@ changing the rule.
Gate: a table of package × key × declared-in-manifest, with no ceiling or
allowlist unbacked. Add it to `docs/request-enrichment.md`.
**Done 2026-09-14.** Table is in `docs/request-enrichment.md`. Declaration
fixes: `security_zone` / `security_zone_admission` on the ops-warden resource
manifest; `claims.issuer` plus `roles` on a user-engine registration-applicant
subject. Secrets-engine, tenant-engine and qonto-assistant read no attributes.
## 3. Make the review obligation enforceable rather than written
```task