43 lines
5.0 KiB
Markdown
43 lines
5.0 KiB
Markdown
---
|
|
name: live-state-discipline
|
|
description: Spec text records what IS; status blocks record what is pending. Spec text may ship ahead of live only when the spec IS the implementation (as with first-instance-pending §XII.e Capsules). Constraint on Stage F / Stage G work and any analogous spec-vs-implementation gap across ARC / CapableMind / chamber-typography / Studium Engine.
|
|
metadata:
|
|
node_type: memory
|
|
type: feedback
|
|
originSessionId: 74ca6d0a-db6b-44c9-b0b2-e2b5f5e4237b
|
|
---
|
|
|
|
# Live-State Discipline
|
|
|
|
## The principle
|
|
|
|
> **Spec text records what IS. Status blocks record what is pending. Spec text may ship ahead of live only when the spec IS the implementation, as with first-instance-pending §XII.e Capsules.**
|
|
|
|
This is the discipline that resolves spec-vs-implementation drift. The jurist surfaced it 2026-05-19 against the executor's Stage E commit `c480b09`, which had projected ADR-006 v2 direction into the AldineXXI §VI sigils table (specifically: the dwellings cluster + ◧ Photo Essay glyph swap were rendered in the spec table before they shipped live). The Stage E hardening commit reverted the table to live state and added a Stage E status block per the jurist's directive.
|
|
|
|
**Why:** The reason for the discipline is the *silent-misleading* failure mode. A spec that runs ahead of live state misleads any downstream consumer (project CLAUDE.md, future executor sessions, the Jurist, the steward at /wake-up). The audit-delta of 2026-05-19 surfaced that the project CLAUDE.md was silently misleading at every wake; the framework spec carrying the same shape would be a deeper version of that failure.
|
|
|
|
**How to apply:**
|
|
|
|
1. When authoring a spec section against a live state that's about to change but hasn't yet — **author against current state** + add a status block above or below the affected text naming the pending reassignment + pointing to the authority (ADR, content-typology matrix, commit hash).
|
|
2. The status block is the place to record forward-projection. The spec text proper records *what is*.
|
|
3. When the live state catches up (commit ships, build verifies, deploy lands), the spec text updates and the status block retires.
|
|
4. **The single exception:** when the spec IS the implementation — i.e., the spec text itself is what makes the form available. The §XII.e Capsule LOCK on 2026-05-19 is the canonical case: the form was worked through three steward-catch iterations on 2026-05-10, the LIGATURE first instance shipped today, and the spec can hold the LOCKED form because the form is in production via that first instance. The spec is not running ahead of live — the spec IS the live form.
|
|
|
|
**Generalization:** This discipline travels beyond ARC. Any spec-vs-implementation gap (CapableMind L2 invariants vs L1 implementation; Studium Engine seed brief vs runtime; chamber-typography source corpus vs mempalace recall state) wants the same discipline. The spec text holds what's in the implementation; status blocks hold what's pending. The spec-IS-the-implementation exception applies where the spec text itself is the form (governance commitments; design forms locked against a first instance).
|
|
|
|
## How this principle was earned
|
|
|
|
The 2026-05-19 Stage E commit `c480b09` was the immediate occasion. Four findings from the jurist PENDING; three already addressed correctly against disk; the fourth (§VI table glyph state) was the overshoot — the executor had projected the post-Stage-F state (dwellings cluster + ◧ Photo Essay) into the spec table before either shipped live. The jurist's directive: *"The table records what is; the status block records what is pending. The actual table edit happens when the live template ships the change — not before."*
|
|
|
|
Self-diagnosis at the time: *"I conflated ADR-direction with current state."* The jurist noted this is the same shape Draft 2 (executor epistemics directive, held for separate authorization) names — projecting authority-direction into spec text without distinguishing locked-by-spec vs locked-by-live-implementation.
|
|
|
|
The principle now has its name. Reach for it at every spec edit going forward.
|
|
|
|
## Cross-references
|
|
|
|
- `feedback-canonical-workstream-tracker-discipline.md` — adjacent: at every /wake-up + /wrap-up, consult the canonical tracker. Both disciplines protect against silent-misleading: tracker discipline at the workstream layer; live-state discipline at the spec-text layer.
|
|
- `feedback-warning-in-context-still-launched.md` — adjacent: reading a warning in context ≠ applying it at the moment of action. Live-state discipline is one application — knowing the spec-vs-live distinction and honouring it at every edit.
|
|
- ADR-006 v2 §4.1 (`~/_Dev/animal-davidglidden-eu/docs/decisions/2026-05-16-type-applicability-matrix.md`) — the matrix is the canonical authority for type-applicability; the spec text records when live catches up.
|
|
- The §XII.e LOCK case (2026-05-19, commit `89bae96` + `c480b09` + the Stage E hardening commit) — the exception that proves the rule. Spec-IS-implementation when the form is in production via its first instance.
|