Nine records checked. Five clean and climbed to 1h: RISK-F-0003, 0004, 0005, 0006, 0009 and RISK-REG-0001. Three moved and stay at instant — RISK-F-0002 (RISK-V-0001 found the flex-auth-ops-warden policy admits no ingress, so the live question there is now availability rather than attestation), RISK-F-0007 (the on-request path walked for the first time as RISK-V-0002), RISK-F-0008 (the determination now exists). The rule: a finding recorded as moved is not clean-checked in the same sitting. Re-reading your own keystrokes and climbing produces a rung that says the world held still when what held still was the last five minutes. The rung carries stability information or it carries nothing. record_check.py now handles regulatory records as well as findings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
5.4 KiB
Register
Generated by tools/register_index.py from findings/. Do not edit by hand. Last built 2026-08-20.
8 live of 9 findings; 3 notes below the floor.
Findings
| ID | Finding | System | Severity | Disclosure | Escalation | Fix owner | Status | Cadence | Next check |
|---|---|---|---|---|---|---|---|---|---|
| RISK-F-0009 | agent-high-risk-boundary denies 6 of 17 high-risk lanes; the direct bao path is unprotected for the rest | railiance-platform | high | embargoed | none | railiance-platform | open | 1h (1) | 2026-08-20 11:02Z |
| RISK-F-0008 | The legal basis for retaining audit facts against an erasure request has been assumed, never established | audit-core | medium | public | required (t2, partially-answered) | risk-nexus | open | instant (0) | due |
| RISK-F-0007 | No consumer's tenant boundary is verified anywhere | estate | high | embargoed | answered (t4, assigned) | per-consumer, on request | accepted | instant (0) | due |
| RISK-F-0006 | apps-pg has no backup configured at all: R0 means no recovery | railiance-platform | high | embargoed | answered (t3, approved) | railiance-platform | open | 1h (1) | 2026-08-20 11:02Z |
| RISK-F-0005 | audit-core read path applies no tenant filter; the bound is deployment, not code | audit-core | medium | embargoed | none | audit-core | open | 1h (1) | 2026-08-20 11:02Z |
| RISK-F-0004 | tenant-engine events() returns the entire event log unfiltered | tenant-engine | high | embargoed | none | tenant-engine | open | 1h (1) | 2026-08-20 11:02Z |
| RISK-F-0003 | ops-warden agent read-boundary does not fire on ungraded catalog lanes | ops-warden | medium | embargoed | none | ops-warden | mitigated | 1h (1) | 2026-08-20 11:02Z |
| RISK-F-0002 | ops-warden signs SSH certificates with no authorization decision, and its unblock is now unsafe | ops-warden | medium | embargoed | withdrawn (t6, withdrawn-hazard-window-closed) | ops-warden | open | instant (0) | due |
| RISK-F-0001 | flex-auth /v1/check authenticates no caller | flex-auth | high | public | withdrawn (t1, withdrawn-before-sending) | flex-auth | fixed | instant (0) | due |
Constraints
Hazards created by acting in the wrong order. Each binds another finding's remediation.
| From | Binds | Severity | Constraint |
|---|---|---|---|
| RISK-F-0002 | RISK-F-0001 | lifted | LIFTED 2026-08-19 — flex-auth /v1/check now authenticates callers (RISK-F-0001 fixed). Enabling policy.enabled is now an availability question for ops-warden, no longer an attestation hazard. |
Embargoes
Held from publication with a stated condition. A hold with no moving condition is a stall.
| Finding | Since | Lifts when | Re-decided |
|---|---|---|---|
| RISK-F-0009 | 2026-08-20 | the deny set covers every high-risk lane with a KV path, verified against live OpenBao | — |
| RISK-F-0007 | 2026-08-19 | a verification exists for at least one consumer boundary | 2026-09-18 |
| RISK-F-0006 | 2026-08-19 | a backup exists and a restore has been demonstrated once | 2026-09-18 |
| RISK-F-0005 | 2026-08-19 | AUDIT-WP-0008-T04 lands a tenant filter in the read path | 2026-11-17 |
| RISK-F-0004 | 2026-08-19 | the read path filters by tenant in code | 2026-09-18 |
| RISK-F-0003 | 2026-08-19 | RISK-F-0009 resolved — the OpenBao deny set covers every high-risk lane with a KV path | 2026-09-18 |
| RISK-F-0002 | 2026-08-19 | FLEX-WP-0015-T02 shipped and ops-warden policy.enabled true in production | 2026-11-17 |
Notes (below the floor)
Seen, deliberately not findings. Not graded, not reviewed, not published.
| ID | Note | Why below the floor |
|---|---|---|
| RISK-N-0004 | No facility answers which zone a workload is in, or what applies there | missing capability, not a defect — there is nothing to route to a fix owner, and the register does not file undone work |
| RISK-N-0003 | Every defect in this register was found by reading, none by monitoring | no owner and no defect — it is an argument about where to invest detection, and the register cannot route an argument |
| RISK-N-0001 | Noisy-neighbour behaviour is uncharacterised | no decision changes today — no tenant shares a saturating workload, and what is missing is measurement work, not a defect to route |
How to read this
Severity is docs/method/severity.md; disclosure docs/method/disclosure.md;
escalation docs/method/escalation.md; the check cadence docs/method/review.md.
Cadence is the ladder rung and the count of consecutive clean checks — a finding at 1q (9)
has held still for a long time; one at instant (0) moved recently. Anything wrong resets it.
A constraint may be graded higher than the finding that carries it — read both.