diff --git a/AGENTS.md b/AGENTS.md index 4dea4a0..714cbc5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -79,7 +79,7 @@ the rest. Treat it as the public contract. modules declare inside their own source files. Other skills (currently `canon`, `domain-claims`, `char-compress`, `visitor-intro`, `agent-instantiation`, `a0p-instancing`, `plain-lens`, `thought-lens`, `gonol-build`, `ucns-option-selection`, `epac-selection-display`, `meta`, `the-interdependency`, - `interdependent-work-graph`, `project-incubation-graduation`, `distributed-publication`, `loop-eng`, `fresh-making`, `action-calibration`, `repo-audit-repair`, `skill-build`, `skill-usage`, + `interdependent-work-graph`, `stack-update`, `project-incubation-graduation`, `distributed-publication`, `loop-eng`, `fresh-making`, `action-calibration`, `repo-audit-repair`, `skill-build`, `skill-usage`, `ssh-automation`, `vm-mcp`, `sql-queries`, `statistical-analysis`, `explore-data`, `validate-data`, `data-visualization`) are procedural and define no block. @@ -159,6 +159,7 @@ propagate from here. not turn presentation into canon selection or MCP execution authority. - If you are building code, researching, performing GitHub maintenance or updates, assembling EDCMBONE transcripts for analysis, or any work that touches The Interdependency organization, The Interdependent Way projects, or related assets (edcmbone, ucns, pcea, skill-lib, a0, aimmh, etc.), load `the-interdependency/SKILL.md` and follow its structure-preservation, EDCMBONE framework, mandatory usage-guidance, and org-workflow rules. - If the task spans, consumes, compares, publishes to, or changes the contract between multiple repositories, load `interdependent-work-graph/SKILL.md` before choosing an edit workspace. Resolve exact commits, authority roles, relations, non-transfer boundaries, and one shared graph record. +- If you are changing `The-Interdependency/stack` structure — participants, source pins, authorities, relations, research workspaces, BASE records, extraction/graduation standing, or architecture projections — load `stack-update/SKILL.md` with `interdependent-work-graph`. Treat the mutation as one coherent transaction, remove superseded claims, recompute the work-graph identity, and require the stack's deterministic consistency gate before merge. - If a new component is born inside a stack, integration, laboratory, or incubator repository and may become an independent repository/package, load `project-incubation-graduation/SKILL.md`. Qualify it before extraction, preserve provenance, create a new implementation-authority boundary explicitly, release it through its declared distribution surface, and require the former forge to reconsume the released artifact before declaring graduation. Load `interdependent-work-graph` once the transition crosses repositories. - If one ordered textbook, report, standard, corpus, archive, or public reading surface displays source-owned content from multiple repositories or independently owned files, load `distributed-publication/SKILL.md` with `interdependent-work-graph`. Preserve exact source identities, source-local licenses and statuses, correction routing, fail-closed production retrieval, explicit fallback, and publication build provenance. - If you are designing, implementing, or reviewing agent feedback loops, closed cycles, subagent fleets (maker vs checker), orchestration in a0p/AIMMH, or any repeatable AI workflow that should run autonomously with Verify → Iterate stages, load `loop-eng/SKILL.md` and apply its 5-stage cycle, 6 building blocks, and structure-preserving closed-loop principles. diff --git a/CLAUDE.md b/CLAUDE.md index 52eeff3..67e2aff 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -59,6 +59,7 @@ llms/ # python -m llms.build reference runner | `meta/` | procedural | — | Meta Energy Theory axioms. Extract and preserve Energy Theory axioms from resonances among small network architectures, with formula-backed examples and overlap grids; keep Energy Theory distinct from EDCMBONE flesh/bone and FLAR implementation detail. | | `the-interdependency/` | procedural | — | Workflow protocol for The Interdependency org: code/research/GitHub maintenance, EDCMBONE transcript assembly and analysis, and mandatory usage-guidance + structure-preservation doctrine across artifacts. | | `interdependent-work-graph/` | procedural | — | Cross-repository coordination. Resolves exact participant identities, authority roles, relations, non-transfer boundaries, shared graph manifests, and validation/materialization order before selecting edit locations. Related doctrine: `the-interdependency`, `canon`. | +| `stack-update/` | procedural | — | Fail-closed structural update protocol for `The-Interdependency/stack`. Structural changes to participants, pins, authorities, relations, workspaces, BASE records, or lifecycle standing must update all affected projections, recompute the work-graph identity, and pass the deterministic stack checker as one transaction. | | `project-incubation-graduation/` | procedural | — | Lifecycle doctrine for emergent components born inside a forge/incubator. Requires qualification before extraction, provenance-preserving repository creation, explicit implementation-authority transfer, released distribution, and successful reconsumption by the former forge before graduation is complete. | | `distributed-publication/` | procedural | — | Provenance-bearing publication from distributed source owners. Preserves exact source identities, source-local licenses and statuses, correction routing, fail-closed retrieval, explicit fallback, and publication build provenance. Loads with `interdependent-work-graph`. | | `loop-eng/` | procedural | — | Loop engineering doctrine for closed feedback cycles (Discover→Plan→Execute→Verify→Iterate), maker/checker subagent separation, and autonomous verify-iterate workflows integrated with a0p/AIMMH and EDCMBONE Verify stages. | @@ -103,7 +104,7 @@ Two kinds: example; `doc-build/`, `cap-build/`, `deps-build/`, `owner-build/`, `risk-boundary-build/`, `ratios/`, `manifest/`, `llms-build/`, and `typed-meta-frontend/` define adjacent applications. `msdmd` itself is the foundation. - **Procedural skills** define an agent behaviour with no msdmd block. They state the doctrine - they enforce and the output shape they produce. `canon/`, `domain-claims/`, `visitor-intro/`, `char-compress/`, `agent-instantiation/`, `a0p-instancing/`, `plain-lens/`, `thought-lens/`, `gonol-build/`, `ucns-option-selection/`, `epac-selection-display/`, `meta/`, `the-interdependency/`, `interdependent-work-graph/`, `project-incubation-graduation/`, `loop-eng/`, `fresh-making/`, `action-calibration/`, `repo-audit-repair/`, `skill-build/`, `skill-usage/`, `ssh-automation/`, `vm-mcp/`, `sql-queries/`, `statistical-analysis/`, `explore-data/`, `validate-data/`, `data-visualization/` are the examples. + they enforce and the output shape they produce. `canon/`, `domain-claims/`, `visitor-intro/`, `char-compress/`, `agent-instantiation/`, `a0p-instancing/`, `plain-lens/`, `thought-lens/`, `gonol-build/`, `ucns-option-selection/`, `epac-selection-display/`, `meta/`, `the-interdependency/`, `interdependent-work-graph/`, `stack-update/`, `project-incubation-graduation/`, `loop-eng/`, `fresh-making/`, `action-calibration/`, `repo-audit-repair/`, `skill-build/`, `skill-usage/`, `ssh-automation/`, `vm-mcp/`, `sql-queries/`, `statistical-analysis/`, `explore-data/`, `validate-data/`, `data-visualization/` are the examples. ## msdmd block syntax @@ -253,9 +254,10 @@ There is a small stdlib Python editorial test suite. There is still no `package. 12. Before constructing, reviewing, replaying, or extending UCNS gonols, apply `gonol-build`: resolve current UCNS geometry and EDCM admissible scale options, preserve closure and atomic participation, require declared occurrence-addressed function plans, and keep incomplete constructors visible as `hmmm`. 13. Before selecting among UCNS options, apply `ucns-option-selection`: freeze the scoped decision boundary, enforce noncompensable eligibility and evidence gates, require explicit ratification, and preserve non-transfer, rollback, negative evidence, and `hmmm`. 14. Before selecting and displaying an EPAC artifact, apply `epac-selection-display`: pin the provisional source, exact target, receipt, and available renderer; preserve status, nonclaims, sealed comparison, and `hmmm`; and keep WebMCP read-only. -15. For LLM instructions, edit `LLMS` source blocks and regenerate `llms.txt` with `python -m llms.build --root . --out llms.txt --apply`. -16. For SSH automation and large terminal pastes containing SSH, apply `ssh-automation`: verify endpoint identity and host trust, preserve local and remote interpreter boundaries, make retries and rollback explicit, and contain option/trap/exit effects inside a child shell. -17. When an emergent component is incubated inside a forge and may become independently authoritative, apply `project-incubation-graduation`: qualify it before extraction, preserve provenance, publish from the new authority, require downstream reconsumption, then sever the incubated implementation path before declaring graduation. +15. Before mutating `The-Interdependency/stack` structure, apply `stack-update` with `interdependent-work-graph`; update every affected authority/provenance projection, remove superseded claims, recompute the work-graph digest, and require the deterministic stack checker before merge. +16. For LLM instructions, edit `LLMS` source blocks and regenerate `llms.txt` with `python -m llms.build --root . --out llms.txt --apply`. +17. For SSH automation and large terminal pastes containing SSH, apply `ssh-automation`: verify endpoint identity and host trust, preserve local and remote interpreter boundaries, make retries and rollback explicit, and contain option/trap/exit effects inside a child shell. +18. When an emergent component is incubated inside a forge and may become independently authoritative, apply `project-incubation-graduation`: qualify it before extraction, preserve provenance, publish from the new authority, require downstream reconsumption, then sever the incubated implementation path before declaring graduation. ## hmmm diff --git a/ORG_DISTRIBUTION.md b/ORG_DISTRIBUTION.md index 7a10e5b..bff3af6 100644 --- a/ORG_DISTRIBUTION.md +++ b/ORG_DISTRIBUTION.md @@ -43,6 +43,7 @@ Propagation PRs should cite this repository and the source commit SHA. * `epac-selection-display/` — exact provisional EPAC target and representation selection with receipt-backed display, status preservation, and a read-only WebMCP handoff boundary * `the-interdependency/` — org-wide workflow protocol and usage-guidance doctrine for The Interdependency projects * `interdependent-work-graph/` — cross-repository identity, authority, coordination, and shared stack-manifest doctrine +* `stack-update/` — fail-closed structural stack update protocol; keeps authority, relation, lifecycle, provenance, manifests, BASE records, and work-graph identity coherent in one transaction * `project-incubation-graduation/` — incubation, qualification, extraction, release, reconsumption, and implementation-authority graduation doctrine * `distributed-publication/` — provenance-bearing materialization of one ordered publication from independently owned source units * `loop-eng/` — closed-loop engineering doctrine for repeatable Discover→Plan→Execute→Verify→Iterate workflows @@ -86,6 +87,10 @@ detector (`.github/workflows/consumer-drift.yml`) checks: * `The-Interdependency/a0ucns` — an aggregator that embeds whole copies of other repos rather than vendoring a top-level `.agents/skills/` subset. Its nested embeds carry their own copies; re-sync those from their source repos. +* `The-Interdependency/stack` — receives `stack-update` in the paired stack PR; + add it to the active drift matrix after that vendored copy lands on `main` with + an exact skill-lib source-commit receipt. + **Archived or superseded** — not active drift consumers: * `The-Interdependency/edcmbone` — archived; maintained EDCM work lives in `edcm` @@ -126,6 +131,19 @@ Before assigning a stack-level task to one repository, agents should read: Resolve the exact participating repository and evidence-source identities first. Repository boundaries remain authority and provenance boundaries, not agent-attention boundaries. +Before changing the structure of `The-Interdependency/stack` — including participant, +pin, authority, relation, workspace, BASE, extraction/graduation, or architecture +projections — agents should read: + +```text +.agents/skills/stack-update/SKILL.md +``` + +Load `interdependent-work-graph` with it. Treat the mutation as one coherent +transaction: update every affected authority/provenance projection, remove superseded +claims, recompute the work-graph digest, and require the stack consistency checker to +pass before merge. + Before deciding whether a component born inside a stack, integration, laboratory, or incubator repository should become an independent repository/package, or before extracting, publishing, reconsuming, or declaring such a component graduated, agents should read: ```text diff --git a/README.md b/README.md index ebf4ad5..5904a61 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ into [`llms.txt`](llms.txt) from self-declared `LLMS` blocks. | [`epac-selection-display/`](epac-selection-display/SKILL.md) | Evidence-bound EPAC target selection and display. Resolves an exact provisional source, target, receipt, and available renderer; preserves standing, `selection_effect`, nonclaims, sealed-comparison boundaries, and `hmmm`; and keeps the WebMCP surface a read-only repository-and-skill handoff rather than an EPAC executor. Independent of msdmd. | | [`the-interdependency/`](the-interdependency/SKILL.md) | Workflow and protocol for code building, researching, GitHub maintenance and updates, EDCMBONE transcript assembly for analysis, and anything that touches The Interdependency organization or The Interdependent Way projects. Enforces structure preservation (neurodivergence-compatible), mandatory usage guidance in all artifacts, framework-aligned EDCMBONE analysis, and org-standard GitHub hygiene. Independent of msdmd. | | [`interdependent-work-graph/`](interdependent-work-graph/SKILL.md) | Cross-repository coordination doctrine. Resolves exact participating commits, authority roles, work relations, non-transfer boundaries, shared stack manifests, and validation/materialization order before a stack-level task is reduced to one repository. Independent of msdmd. | +| [`stack-update/`](stack-update/SKILL.md) | Fail-closed structural update protocol for `The-Interdependency/stack`. Makes participant, authority, relation, lifecycle, placement, manifest, and BASE changes one coherent transaction and requires a deterministic consistency gate before merge. Independent of msdmd. | | [`project-incubation-graduation/`](project-incubation-graduation/SKILL.md) | Incubation-to-independent-project graduation doctrine. Qualifies emergent candidates, preserves provenance through extraction, creates a new implementation-authority boundary, releases the artifact, and requires the former forge to reconsume the release before graduation is complete. Independent of msdmd. | | [`distributed-publication/`](distributed-publication/SKILL.md) | Provenance-bearing publication from distributed source owners. Builds ordered textbooks, reports, standards, corpora, archives, and public reading surfaces from exact source identities while preserving source-local licenses and statuses, fail-closed production retrieval, explicit fallback, correction routing, and public build provenance. Loads with `interdependent-work-graph`. Independent of msdmd. | | [`loop-eng/`](loop-eng/SKILL.md) | Loop engineering for designing closed feedback cycles (Discover→Plan→Execute→Verify→Iterate), single-agent and fleet loops with subagent maker/checker separation, and automated verify-iterate workflows. Integrates with a0p/AIMMH orchestration, EDCMBONE Verify stages, skill-lib Skills, and structure-preserving practices. Independent of msdmd. | @@ -223,7 +224,7 @@ example for a metadata-block skill that also ships a stdlib command module. **Procedural skills** define an agent behaviour without an `msdmd` block (`canon`, `domain-claims`, `visitor-intro`, `char-compress`, `agent-instantiation`, `a0p-instancing`, `plain-lens`, `thought-lens`, `gonol-build`, `ucns-option-selection`, `epac-selection-display`, `meta`, `the-interdependency`, -`interdependent-work-graph`, `project-incubation-graduation`, `distributed-publication`, `loop-eng`, `fresh-making`, `action-calibration`, +`interdependent-work-graph`, `stack-update`, `project-incubation-graduation`, `distributed-publication`, `loop-eng`, `fresh-making`, `action-calibration`, `repo-audit-repair`, `skill-build`, `skill-usage`, `ssh-automation`, and `vm-mcp` are the existing examples). To add one: diff --git a/skills.json b/skills.json index bce0347..12931d6 100644 --- a/skills.json +++ b/skills.json @@ -35,6 +35,7 @@ {"name":"epac-selection-display","path":"epac-selection-display/SKILL.md","kind":"procedural","description":"Evidence-bound EPAC target selection and display for WebMCP handoffs and other human-facing surfaces. Load this when choosing an EPAC element, molecule, construction receipt, comparison result, or available visualization to present; when preparing a receipt-backed EPAC display packet; when exposing the EPAC workflow as a selectable WebMCP skill; or when a requested EPAC display would require missing or invented geometry so the request can be refused or downgraded to verified source-backed output. Do not load to select EPAC or a UCNS candidate as canon, or for unrelated WebMCP catalogue changes."}, {"name":"the-interdependency","path":"the-interdependency/SKILL.md","kind":"procedural","description":"Protocol and workflow for all tasks involving The Interdependency organization, its repositories, The Interdependent Way projects, EDCMBONE transcript analysis, code building, research, GitHub maintenance and updates. Load this whenever the task or context touches The-Interdependency assets, or on phrases like \"assemble edcmbone transcripts for analysis\", \"write code that...\", or any GitHub/research/build work on org projects."}, {"name":"interdependent-work-graph","path":"interdependent-work-graph/SKILL.md","kind":"procedural","description":"Cross-repository coordination for The Interdependency. Load this when a task spans, consumes, compares, publishes to, or can change the contract between two or more repositories; when an agent is about to choose one repo as its workspace for a stack-level problem; when exact producer, evidence-source, skill, semantic, mathematical, or measurement identities must travel together; or when creating a shared stack manifest, multi-repo handoff, coordinated release, or cross-repo validation plan."}, + {"name":"stack-update","path":"stack-update/SKILL.md","kind":"procedural","description":"Fail-closed update protocol for The-Interdependency/stack. Load this when a stack change adds, moves, extracts, graduates, renames, removes, or changes the authority, relation, source identity, or placement of a participant, research workspace, libs pin, BASE record, stack manifest entry, or architecture description; when stack-manifest.json, STACK_MANIFEST.md, README.md, or research BASE.json files may drift from one another; or when validating that a structural stack change is complete before commit or merge."}, {"name":"project-incubation-graduation","path":"project-incubation-graduation/SKILL.md","kind":"procedural","description":"Project incubation and graduation doctrine for emergent components born inside an integration, stack, laboratory, or incubator repository. Load this when several existing projects compose into a new candidate capability; when assessing whether that candidate should remain incubated or become its own repository/package; when extracting it with provenance; when establishing a new implementation authority boundary; when publishing the extracted project through a registry such as PyPI; or when making the former incubator consume the released artifact instead of its local copy. Do not load for an ordinary new repository with no incubation history or for a routine package release whose authority boundary is already established."}, {"name":"distributed-publication","path":"distributed-publication/SKILL.md","kind":"procedural","description":"Provenance-bearing publication from distributed source owners. Load this when assembling, displaying, or maintaining one ordered textbook, report, standard, corpus, archive, knowledge surface, or public reading sequence whose authoritative units live in multiple repositories or independently owned files; when a publication consumer must retrieve exact commits, blobs, and content digests; when source order, source-local license or status, explicit fallback, correction routing, or public build identity must remain intact. Load interdependent-work-graph with it. Do not load for ordinary single-repository documentation, a link index that does not reproduce source content, or cross-repository code coordination with no publication artifact."}, {"name":"loop-eng","path":"loop-eng/SKILL.md","kind":"procedural","description":"Loop engineering for designing closed feedback cycles (Discover→Plan→Execute→Verify→Iterate), single-agent and fleet loops with subagent maker/checker separation, and automated verify-iterate workflows. Load this when building or orchestrating agent systems (a0p, AIMMH), EDCMBONE analysis pipelines, repeatable AI workflows, or any The-Interdependency project that benefits from structured loops instead of manual prompting. Cross-load with the-interdependency for org workflow context."}, diff --git a/skills/stack-update/SKILL.md b/skills/stack-update/SKILL.md new file mode 100644 index 0000000..37738f8 --- /dev/null +++ b/skills/stack-update/SKILL.md @@ -0,0 +1,8 @@ +--- +name: stack-update +description: "Fail-closed update protocol for The-Interdependency/stack. Load this when a stack change adds, moves, extracts, graduates, renames, removes, or changes the authority, relation, source identity, or placement of a participant, research workspace, libs pin, BASE record, stack manifest entry, or architecture description; when stack-manifest.json, STACK_MANIFEST.md, README.md, or research BASE.json files may drift from one another; or when validating that a structural stack change is complete before commit or merge." +--- + + + +Read and follow `../../stack-update/SKILL.md` completely before acting. That file is the canonical skill; this adapter only exposes it through the Codex plugin skill directory. diff --git a/stack-update/SKILL.md b/stack-update/SKILL.md new file mode 100644 index 0000000..a1e9148 --- /dev/null +++ b/stack-update/SKILL.md @@ -0,0 +1,156 @@ +--- +name: stack-update +description: Fail-closed update protocol for The-Interdependency/stack. Load this when a stack change adds, moves, extracts, graduates, renames, removes, or changes the authority, relation, source identity, or placement of a participant, research workspace, libs pin, BASE record, stack manifest entry, or architecture description; when stack-manifest.json, STACK_MANIFEST.md, README.md, or research BASE.json files may drift from one another; or when validating that a structural stack change is complete before commit or merge. +--- + +# stack-update — change the stack as one coherent transaction + +Use this procedural skill for structural changes to `The-Interdependency/stack`. +It specializes `interdependent-work-graph`; it does not replace that skill or +`project-incubation-graduation`. + +## Core contract + +A stack change that alters **identity, ownership, authority, relation, lifecycle, +or placement** is incomplete until every affected authority/provenance projection +agrees and the deterministic stack-consistency checker passes. + +```text +structural mutation + -> classify affected authority and relations + -> update owning source and stack projections + -> recompute machine identity + -> validate local + cross-boundary consistency + -> commit only when coherent +``` + +Location never creates authority. A successful move, import, extraction, or test +run does not itself update ownership, canon, proof status, measurement validity, +or graduation standing. + +## Trigger / non-trigger + +Load this skill when a change touches any of these surfaces or their meaning: + +- `libs//` pins or imported canonical views; +- `research//` creation, deletion, rename, extraction, or lifecycle; +- `research/*/BASE.json` provenance or authority; +- `stack-manifest.json` / `STACK_MANIFEST.md` participants, authorities, relations, + boundaries, or work-graph digest; +- root architecture descriptions in `README.md` or `AGENTS.md`; +- an emergent project moving toward or away from independent-repository authority. + +Do not load it for an ordinary implementation edit whose owning repository, +workspace, authority, manifest identities, and architecture relations do not change. + +## Required companion skills + +1. Load `interdependent-work-graph` for every structural stack mutation. +2. Load `project-incubation-graduation` when extraction, release, reconsumption, + graduation, or implementation-authority transition is involved. +3. Load `the-interdependency` for organization workflow and GitHub hygiene. +4. Consult current METAPAT only when the change requires choosing a new conceptual + distinction or authority relation rather than implementing an already-fixed one. + +## Workflow + +1. **Freeze the starting identity.** Record the exact stack commit and every + producer/source commit whose authority can affect the change. +2. **Classify the mutation.** Mark each affected item as one or more of: + `identity`, `authority`, `relation`, `placement`, `lifecycle`, `pin`, `projection`. +3. **Resolve edit ownership.** Change a claim at its owning source. Never repair a + producer-owned defect by shadowing it in a consumer or by editing `libs/`. +4. **Compute the update closure.** Inspect at minimum: + `stack-manifest.json`, `STACK_MANIFEST.md`, root `README.md`, root `AGENTS.md`, + the affected `research/*/BASE.json`, relevant local README/docs, and CI/checkers. + Update every projection whose statement became false because of the mutation. +5. **Remove superseded claims.** A newly separated owner requires the prior owner to + stop claiming that responsibility in every stack-level authority projection. + Do not merely add the new owner alongside stale text. +6. **Preserve lifecycle standing.** Extraction is not graduation. Stack-local work + remains noncanonical until its governing graduation gates complete and stack + reconsumes the released independent artifact where required. +7. **Recompute machine identity.** Recompute `work_graph_sha256` exactly from the + versioned manifest contract after any hashed field changes. Never hand-wave or + copy an old digest. +8. **Run deterministic consistency validation.** In stack, run: + + ```bash + python tools/check_stack_consistency.py + ``` + + Treat any error as a blocked structural update, not a documentation warning. +9. **Run affected behavioral gates.** Execute repository/workspace-local tests and + at least one cross-boundary check for changed producer/consumer relations. +10. **Commit the transaction.** The structural mutation and its required projections + belong in one coherent PR/merge sequence. If a necessary authority is unavailable, + preserve the boundary as `hmmm`; do not guess it into consistency. + +## Deterministic checker contract + +A consuming stack checker should fail closed for at least: + +- a `work_graph_sha256` that does not reproduce from the declared manifest fields; +- disagreement between machine-readable and human-readable repository authority; +- direct tracked edits to `libs/` presented as stack-owned canon; +- an affected `BASE.json` whose source repository/commit conflicts with the pinned + source identity it claims to derive from; +- an emergent stack-local component whose authority separation is declared locally + while stack-level authority text still assigns that responsibility to its former owner; +- lifecycle language that treats extraction as graduation; +- a structural update that changes one required projection but omits another. + +The checker validates coherence, not truth of scientific or semantic claims. Those +remain owned by their proper repositories and evidence. + +## Output shape + +When this skill is active, report: + +```markdown +## Stack transaction +- start identity: +- mutation class: +- affected authority / relations: +- files changed: + +## Validation +- stack consistency: +- local gates: +- cross-boundary gate: + +## Standing +- canon / research / extracted / graduated: +- hmmm: +``` + +## Usage guidance + +Before moving or separating a stack component, run the checker once **before** the +change to establish the current baseline, make the structural edit and all required +projection updates, then run it again. A pre-existing failure is evidence to classify; +it is not permission to add another inconsistency. + +Example: moving English Gonol Construction out of EDCM requires the new workspace and +its provenance **and** removal of `text-gonol construction` from EDCM's stack-level +authority statement, corresponding manifest/work-graph updates, digest regeneration, +and the affected English Gonol + EDCM checks. + +## Anti-patterns + +- Moving code first and treating manifest/docs repair as optional cleanup. +- Updating `stack-manifest.json` but not `STACK_MANIFEST.md`, or vice versa. +- Adding a new authority statement without removing the superseded one. +- Editing `libs//` to make a stack-local inconsistency disappear. +- Reusing a stale work-graph digest after changing hashed fields. +- Calling an extracted project graduated because the new repository exists. +- Making CI green by widening `PYTHONPATH` or weakening checks instead of repairing + ownership/provenance drift. + +## hmmm + +- The first stack checker is intentionally conservative: it can prove declared + projections agree, but it cannot infer every semantic responsibility from source code. +- Future schema revisions may carry explicit typed stack-local component records and + edge lists so more structural obligations can be checked without text comparisons. +- A checklist that never fails a build eventually becomes wall decoration.