rewrite causation to lead with the procedural miss; add tool index, hard rule 4, rebuild brief
Operator authorised committing the causation rewrite so the Chat rebuild project
has access to it, and directed the correction of a pattern this session exposed.

CAUSATION, REFRAMED. The prior draft blamed the --force flag. The accurate
headline is procedural: I ran an ad-hoc destroy instead of the tested D-061
teardown scripts this repo built for exactly this operation. Measured delta --
both scripts ALWAYS pass a storage flag (--destroy-storage on the destroy path,
--release-storage on the release path); I passed none, having removed it
deliberately after reasoning from juju help. D-061's problem statement names my
exact form as a known failure, observed 3x. I do NOT claim the missing flag is
the mechanism behind the orphaned status doc -- that is unproven -- but it is the
concrete delta and the procedural miss stands regardless. The scripts also do far
more than one command: remove-machine --keep-instance per host, hard MAAS
verification, then destroy, then orphan sweep, with a harness. The evidence ruling
OUT the 08-01 memory resize is unchanged and still sound.

THE PATTERN, recorded because it is the real finding: third time in one session I
bypassed an existing tested path.

CORRECTION, as artifacts rather than a promise:
- docs/tool-index.md -- task-first index of what is already built and tested.
  93 scripts / 28 runbooks / 98 harnesses existed with NO index; the teardown pair
  appeared only inside D-061 prose. Includes the agnosticism review the operator
  asked for: the D-061 pair is HALF agnostic (MODEL and MAAS_PROFILE are
  parameterised; HOSTS, ORPHANS, PROTECTED and --canary are VR0 literals not in
  lib-hosts.sh) and an unresolved host is a note, not a fail -- so pointed at VR1
  the entire host-safety audit silently no-ops while the destructive step still
  fires. Logged, not fixed: hard rule 1.
- CLAUDE.md hard rule 4 -- look up the tested artifact before typing a command;
  a raw juju/maas/tofu/virsh invocation is the error signal that the lookup was
  skipped; a missing tool is a finding, not licence to improvise.
- SKILL.md: two routing rows (any teardown/rebuild; "what tool exists for this
  job") -- the table previously had a teardown row for VR0 only.

docs/repo-rebuild-project-brief.md -- the handoff prompt for the separate Chat
rebuild project, covering the layered-hardening cause of information spread, seven
evidenced failure instances from this week, the BUILDOUT vs EXECUTION distinction
as the central thesis, a required Opus 5 rebuild of CLAUDE.md / skills / hooks /
governance grounded in Anthropic's published guidance, a ten-role peer-reviewed
agent team, and an acceptance test drawn from the real failures.

Figures in the brief were re-verified rather than carried: the status authority is
7,357 lines / 647 KB (it grew from 6,938 during THIS session, mostly
agent-authored, which is itself the documented Opus 5 written-deliverable-length
behaviour feeding the problem the project exists to fix).

repo-lint 0 fail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf
1 parent f7751ca commit 150a01a4a5bdd258cef785472297c9f92034e615
@JANeumatrix JANeumatrix authored 19 hours ago
Showing 5 changed files
View
.claude/skills/openstack-cloud-ops/SKILL.md
View
CLAUDE.md
View
docs/CURRENT-STATE.md
View
docs/repo-rebuild-project-brief.md 0 → 100644
View
docs/tool-index.md 0 → 100644