diff --git a/.claude/skills/openstack-cloud-ops/SKILL.md b/.claude/skills/openstack-cloud-ops/SKILL.md index 669e0c5..0cba4be 100644 --- a/.claude/skills/openstack-cloud-ops/SKILL.md +++ b/.claude/skills/openstack-cloud-ops/SKILL.md @@ -129,10 +129,12 @@ available, and treat every OpenTofu step as reviewed-but-unexercised. **At STAGE CLOSE** (every close-out gate MET, gauntlet ALL GREEN, repo-lint 0-fail): MERGE the stage branch to `main` (merge commit, NOT squash; operator-gated) as PART of the -stage's definition-of-done, then RETIRE the branch (local + remote); the next stage -branches off post-merge `main`. `main` is trunk-of-record only for stages that have -merged (precedent: Stage 2 -> PR #1 `e468d2e`, 2026-07-15). See -`docs/dc-dc-deployment-workflow.md` "Cross-cutting discipline". +stage's definition-of-done, then RETIRE the branch (local + remote). **ALSO sweep THIS +skill in the same close:** fold in any new INVARIANT the stage established and reconcile +any divergence from repo HEAD (facts delegate to the repo and go stale; invariants live +here and must be kept current). The next stage branches off post-merge `main`. `main` is +trunk-of-record only for stages that have merged (precedent: Stage 2 -> PR #1 `e468d2e`, +2026-07-15). See `docs/dc-dc-deployment-workflow.md` "Cross-cutting discipline". **Incident loop:** capture the verbatim error -> `bash scripts/cloud-assert.sh` (the service-own-verdict sweep localizes the layer) -> appendix-A by exact diff --git a/docs/dc-dc-deployment-workflow.md b/docs/dc-dc-deployment-workflow.md index 443a9ef..25e6971 100644 --- a/docs/dc-dc-deployment-workflow.md +++ b/docs/dc-dc-deployment-workflow.md @@ -246,10 +246,13 @@ close-out gate bullet is MET, the gauntlet is ALL GREEN and repo-lint is 0-fail, the branch is merged to `main` via a PR with a **merge commit** (NOT squash -- preserve the per-item revertable history + changelogs), then the merged branch is - RETIRED (local + remote). The merge is an operator-gated action (present it, do not - run it unasked). `main` is trunk-of-record only for stages that have merged; the - next stage branches off the post-merge `main`. Precedent: Stage 2 -> PR #1 - (`e468d2e`), 2026-07-15. + RETIRED (local + remote). **The stage close ALSO SWEEPS THE OPERATING SKILL** + (`.claude/skills/openstack-cloud-ops/`): fold in any new INVARIANT the stage + established and reconcile any divergence from repo HEAD, in the same close (facts + delegate to the repo and go stale; discipline/invariants live in the skill and must + be kept current). The merge is an operator-gated action (present it, do not run it + unasked). `main` is trunk-of-record only for stages that have merged; the next stage + branches off the post-merge `main`. Precedent: Stage 2 -> PR #1 (`e468d2e`), 2026-07-15. - **Before assigning a new D-/DOCFIX-/BUNDLEFIX-NNN:** `bash scripts/ledger-scan.sh` for next-free (it is the numbering authority, not repo-lint's informational count).