Consolidation step 2: status spine — six registries collapse to one authority per axis#84
Conversation
…per axis Consolidation program step 2 (under the P-073 framework-first gate): - Status_Model.md DELETED; vocabulary, two-axis model, and edge rules (no FAP-ratified before founding; higher-tier citation rule; Tier-1 no-Axis-1; sub-item own-line rule) absorbed into a new Status methodology section in Claims_Evidence_Register.md — the canonical status spine. - Hardening_Queue.md: status key and Status columns deleted; now a pure worklist that references owning registers; ID-less items capped at 'no stronger than Designed'. - Threat_Register.md: top status key and footer reduced to pointers; restated patch statuses (P-015/P-019/P-023, T-024/T-028 rows, P-016 axis confusion) converted to per-Patch-Log pointers. - Net ~-95 lines; status-vocabulary definition sites: 5 -> 1. - Evidence_Ladder deliberately retained (different axis; level numbers cited by app code + 7 docs). Follow-ups named in P-073 landing record. Panel: four independent single-role reviewers in parallel (adversarial, Christ-centered, corpus-fit, minimalist); all APPROVE WITH FIXES; all fixes applied. Validators green (114 docs). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fbf45d598e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | **Resolved** | The threat has been addressed with evidence-backed controls AND residual risk is documented. | | ||
|
|
||
| Do not say "Resolved" or "Closed" for live system risks unless the control is evidence-backed and residual risk is documented. Items that require recurring tests remain **Active — unproven** until sufficient evidence exists. | ||
| > Status vocabulary, axis definitions, and per-claim status live in the [Claims and Evidence Register](./Claims_Evidence_Register.md) (claims), the [Threat Register](./Threat_Register.md) (threats), and the [Patch Log](./Patch_Log.md) (patches). This queue never restates a status; it only references the row that owns it. A queue item that cites no T-NNN/P-NNN ID has no status owner yet; treat it as no stronger than `Designed` until an owning register row exists. |
There was a problem hiding this comment.
Keep the queue policy consistent with remaining status text
This new policy says the Hardening Queue never restates status values, but the same file still has status-consequence rows that name concrete statuses such as Active — unproven, Designed, and T-031 **Active — unproven** in the macro falsification hooks. In contexts where those owner rows change, this file can still drift while claiming it cannot; either soften this sentence to allow consequence/status language or convert the remaining status mentions to owner-row pointers.
Useful? React with 👍 / 👎.
What
Consolidation program, step 2 of 5 — kills the status-drift class CI kept catching, by deleting the duplication that made drift possible.
Status_Model.mddeleted (97 lines, zero inbound links): its two-axis model, six-term vocabulary, and edge rules absorbed into a new Status methodology section inClaims_Evidence_Register.md— now the canonical spine. One authority per axis per ID: Patch Log owns patch status, Threat Register owns threat status, CER owns claim status, the founding record owns Axis 2. Everything else links, never restates.Hardening_Queue.mdloses its duplicated status key and both Status columns — it is now a pure prioritized worklist referencing the owning rows. ID-less items are capped at "no stronger than Designed" until a register row owns them.Threat_Register.mdkeeps its per-threat authority but stops restating patch statuses: the top status key and footer become pointers; P-015/P-019/P-023 "Status: Active — unproven (per Patch Log)" restatements become real pointers; the P-016 line that conflated PROPOSED (Axis 1) with pre-ratification (Axis 2) is fixed.Evidence_Ladder.md(defines evidence levels — a different axis — and its level numbers are cited by app code and seven docs). Named follow-ups recorded under P-073: Patch Log same-file mini-tables; one convention for Threat Register per-entry Status lines.Ceremony
docs/constitution/changes — no session entry required; landing recorded under P-073's running consolidation record.validate_corpus.py0 errors; status-consistency OK (114 docs);gen_status_tables.pyOK (31 threats).🤖 Generated with Claude Code