Line-by-line reconciliation of the openstack-cloud-ops skill against docs/audit/ga-rulings.md (every ratified rule -> where the skill now implements, delegates, or is correctly silent). The skill's own draft additions (skill-additions-proposed.md) were reconciled against the RATIFIED text, not applied verbatim.
| Ruling / rule | Skill disposition |
|---|---|
| GA-R1 r1 (only status authority; C2 measurement-wins) | New GA section bullet 1; header phase claim DEMOTED to a CURRENT-STATE pointer; routing rows (VR1 track, versions, resume) re-pointed |
| GA-R1 r2 (claims cite captures) | GA section bullet 2 |
| GA-R1 r3 (demotions incl. skill drops pins) | Done in Batch 2 (GA-F03/F04 skill rows -> pointers); versions routing row now names the two pin authorities |
| GA-R1 r4-r5 (360 cap, rotation) | CURRENT-STATE-internal rules; skill correctly silent |
| GA-R1 r6 (status vs as-built division) | Versions routing row splits CURRENT-STATE section 7 vs appendix-B |
| GA-R1 r7 (signature replacement) | Document-internal; skill silent |
| GA-R1 r8/C1 (same-commit coupling) | GA section bullet 1 names L10 as the enforcing check |
| GA-R2 r1-4 + D2 (consolidation, under-25) | Executed in Batch 4; skill's stage-close loop now names the consolidation commit as close-out item |
| GA-R2 r5/D1 (one changelog per session; never citable) | Change-delivery loop rewritten; "session-scoped scratch, never citable" line added |
| GA-R3 r1-5 + A1/A2 (admission, tags, doubt-down) | GA section bullet 4; register itself carries the convention block (Batch 2 item 2.7) |
| GA-R4 r1-3 + F1 (bookends, 15-line cap, 300 cap) | Session-bookends block rewritten (OPEN = CURRENT-STATE first; CLOSE = bounded summary + archived body + push) |
| GA-R4 r5/F3 (ledger = narrative; SEC pointer+count) | Implemented in Batch 0.2 (ledger-scan); skill bookends block carries the narrative-only shape |
| GA-R4 r6-7 (one-time rotation; orphan closes) | Rotation executed Batch 4 C1; orphan-close (F2) is ledger-procedural -- skill silent by design (the ledger header carries it) |
| GA-R5 r1-5 + B1/B2 (one ruling/exchange, utterance quoted, committed, ambiguity stops) | GA section bullet 3; ties to hard rule 2 per the proposed draft |
| GA-R6 r1-3 + E1-E3 (named-check closes, no conditional close, [V]/[R] types) | Stage-close loop rewritten with the full close-out set |
| GA-R6 r4 (close-out set incl. memory review + consolidation) | Same rewrite |
| GA-R7 r1-5 + G1/G3 (memory observations-only, graduate, review) | GA section bullet 5; repo-root launch line added in Batch 3 (rule 6) |
| GA-R7 r8/G2 (auto-memory posture) | Session-type posture; skill silent (probe/audit sessions get it from the charter) |
| Vocabulary (Option A + H1) | GA section bullet 2 names the legal set + readiness-is-not-a-state |
| Proposed "reconciliation circuit-breaker" (draft-only, no ruling) | Kept -- consistent with the audit's measured churn finding (GA-F06); marked as discipline, not a ruling quote |
Stale facts removed from the skill this sweep: the header's "current phase = VR0 DC0 testcloud" claim; the deploy loop's "every opentofu/ command is UNVALIDATED / no tofu binary has ever run" claim (false since 2026-07-13); the workflow-doc-as-status-source routing. Facts now delegate; invariants stay. Skill length 176 -> 224 lines (the GA section costs ~35 lines per the draft's own budget; the bookends/close rewrites are net-neutral).