| 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. |
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.
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.
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.
Load this skill when a change touches any of these surfaces or their meaning:
libs/<repo>/pins or imported canonical views;research/<workspace>/creation, deletion, rename, extraction, or lifecycle;research/*/BASE.jsonprovenance or authority;stack-manifest.json/STACK_MANIFEST.mdparticipants, authorities, relations, boundaries, or work-graph digest;- root architecture descriptions in
README.mdorAGENTS.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.
- Load
interdependent-work-graphfor every structural stack mutation. - Load
project-incubation-graduationwhen extraction, release, reconsumption, graduation, or implementation-authority transition is involved. - Load
the-interdependencyfor organization workflow and GitHub hygiene. - Consult current METAPAT only when the change requires choosing a new conceptual distinction or authority relation rather than implementing an already-fixed one.
-
Freeze the starting identity. Record the exact stack commit and every producer/source commit whose authority can affect the change.
-
Classify the mutation. Mark each affected item as one or more of:
identity,authority,relation,placement,lifecycle,pin,projection. -
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/. -
Compute the update closure. Inspect at minimum:
stack-manifest.json,STACK_MANIFEST.md, rootREADME.md, rootAGENTS.md, the affectedresearch/*/BASE.json, relevant local README/docs, and CI/checkers. Update every projection whose statement became false because of the mutation. -
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.
-
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.
-
Recompute machine identity. Recompute
work_graph_sha256exactly from the versioned manifest contract after any hashed field changes. Never hand-wave or copy an old digest. -
Run deterministic consistency validation. In stack, run:
python tools/check_stack_consistency.py
Treat any error as a blocked structural update, not a documentation warning.
-
Run affected behavioral gates. Execute repository/workspace-local tests and at least one cross-boundary check for changed producer/consumer relations.
-
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.
A consuming stack checker should fail closed for at least:
- a
work_graph_sha256that 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.jsonwhose 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.
When this skill is active, report:
## 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: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.
- Moving code first and treating manifest/docs repair as optional cleanup.
- Updating
stack-manifest.jsonbut notSTACK_MANIFEST.md, or vice versa. - Adding a new authority statement without removing the superseded one.
- Editing
libs/<repo>/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
PYTHONPATHor weakening checks instead of repairing ownership/provenance drift.
- 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.