LearnNewsExamplesServices
Frontmatter
id17787
titleBind the Agent OS cut manifest to the freeze line
stateClosed
labels
enhancementaitestingarchitecturebuildagent-os
assigneesneo-gpt
createdAtAug 26, 2026, 12:09 AM
updatedAtAug 26, 2026, 4:30 PM
githubUrlhttps://github.com/neomjs/neo/issues/17787
authorneo-gpt
commentsCount3
parentIssue17786
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[x] 17800 Correct ADR 0040 learn/agentos custody language for the cut manifest, [ ] 17798 Skills reach consuming repos as an npm dependency, never as copied bytes, [ ] 17783 Enforcement-plane custody for the repo split
blocking[ ] 13 Receive Agent OS source and package topology in the Brain, [ ] 17790 Transfer the frozen Agent OS tracker set to the Brain
closedAtAug 26, 2026, 4:30 PM

Bind the Agent OS cut manifest to the freeze line

Closed Backlog/active-chunk-19 enhancementaitestingarchitecturebuildagent-os
neo-gpt
neo-gpt commented on Aug 26, 2026, 12:09 AM

Context

Wave 3 may not copy from a moving source. This leaf binds the cut to the operator-declared freeze and turns the existing extraction inventory, plane proof, rollback anchor, package receipt, tracker ledger, and receive order into one deterministic cut receipt.

Scope cut 2026-08-26 — operator KISS ruling. Registry/enrollment lifecycle, reusable-workflow distribution, binding receipts/drift detectors, and A2A lane census are removed. The OQ8 ownership ruling remains shelved as the design note if future scale justifies a registry; it is not implemented for today's three-repo split.

The Problem

The runway, inventory, proof, package transport, tracker ledger, and receive tickets are individually correct only at the revisions they observed. Without one frozen coordinate, Wave-3 PRs can pass against different source or target states.

Existing Authority

  • agentOsExtractionInventory.mjs owns the move/stay/retire population and exact residue.
  • agentOsPlaneBoundaryProof.mjs owns instrument errors, topology findings, and clean-SHA binding.
  • D#17782 owns the freeze and receive-before-remove order.
  • neomjs/neo#17798 owns the published npm skill package plus clean-consumer materialization and packaged-reference-closure receipts.
  • neomjs/neo#17783 owns enforcement custody and one read-back of the surviving required context.
  • D#17782 Wave 2.5 owns the frozen 330-row snapshot and seven-row sanctioned delta: Neo source total 337. neomjs/neo#17790 owns the committed 164-row transfer pre-state (163 open native moves + closed neomjs/neo#17781 source-only); target-created neo-agent-brain#10 is outside the Neo source population.
  • Wave 0 owns the rollback image pin plus named verified bundle.
  • ADR 0040 owns the placement decision; neomjs/neo#17800 owns its merged learn/ADR correction, and neo-agent-brain#10 consumes the manifest's exact 137-row guide/ADR classification.

Fix

Extend the existing extraction authority to emit wave3-cut-manifest.v1. It records only:

  1. frozen Neo source SHA and Brain target SHA;
  2. the exact inventory disposition digest and zero-residue result;
  3. the plane-proof receipt and zero unresolved pre-relocation blockers;
  4. immutable prerequisite coordinates for neomjs/neo#17798, neomjs/neo#17783, the Wave-2.5 tracker snapshot, Wave 0, and the ADR 0040 correction;
  5. the ordered receive gates and terminal Neo removal condition.

No parallel census, registry, workflow-distribution layer, freshness subsystem, copied tracker table, or A2A lane ledger is introduced.

Contract Ledger

Surface Authority Behavior Red condition
Source/target coordinates Git bind exact clean SHAs dirty source, missing ref, or changed target
Population extraction inventory exact disposition digest; zero residue missing/replaced identity or non-zero residue
Guides / ADRs neo-agent-brain#10 census + extraction inventory pin the immutable census artifact; retain its source SHA as provenance while requiring current learn/agentos subtree-OID equality and an exact normalized {identity,disposition} digest across all 137 rows / 40 ADRs absent coordinate, subtree drift, unknown row, invalid target, count mismatch, or exact digest mismatch
Relocation authorization plane proof existing producer is invoked; semantic receipt digest, zero instrument errors, and zero unresolved blockers caller-supplied proof, invalid receipt, or any proof error/blocker
CLI composition existing extraction entrypoint + ADR 0016 Commander --wave3-cut-input <path> reads coordinates, builds fresh inventory/proof, and emits JSON unknown/missing option, dirty source, or invalid input is red
Skills neomjs/neo#17798 pin the current package/materialization plus typed reference-closure {ref,state}; red authorizes receive but remains a neomjs/neo#17798 removal gate package/materialization coordinate missing, or closure state absent/untyped
Enforcement neomjs/neo#17783 pin the one-time required-context read-back required context missing
Tracker D#17782 Wave 2.5 + neomjs/neo#17790 pre-state ledger pin 337 source rows = 330 baseline + 7 sanctioned deltas with a number/disposition digest; pin the committed 164-row transfer artifact = 163 open + 1 closed source-only with its SHA-256 either arithmetic relation, artifact coordinate, or identity set is stale
Rollback Wave 0 pin image plus named verified bundle either half absent
Order D#17782 receive before remove a predecessor gate is not green

Acceptance Criteria

  • AC-1 — clean coordinates: bind a clean frozen neomjs/neo SHA and current neo-agent-brain/dev SHA; dirty or unresolved input is red.
  • AC-2 — exact population: existing inventory reports zero source/authority and source/target residue; the manifest pins its deterministic disposition digest and immutable neo-agent-brain#10 census coordinate, preserves the census source SHA as provenance, and requires current learn/agentos subtree OID plus the exact normalized {identity,disposition} digest to reconcile all 137 rows / 40 ADRs.
  • AC-3 — relocation proof: existing plane proof reports zero instrument errors and zero unresolved pre-relocation blockers at the frozen SHA.
  • AC-4 — prerequisite pins: pin the current neomjs/neo#17798 package/materialization plus typed reference-closure state (red is admissible at cut and remains removal-blocking), neomjs/neo#17783 required-context read-back, the Wave-2.5 snapshot at 337 source rows (330 + 7) with its number/disposition digest and the committed 164-row transfer pre-state (163 + closed neomjs/neo#17781) with its artifact SHA-256, and the merged neomjs/neo#17800 / ADR 0040 correction. No registry or auxiliary receipt subsystem.
  • AC-5 — rollback pair: pin both the Wave-0 image revision and named verified bundle.
  • AC-6 — receive/remove order: neomjs/neo-agent-brain#13 receive precedes neomjs/neo-agent-brain#12 deployment proof; neomjs/neo#17790 ledger is complete; neo-agent-brain#10 may receive after the manifest without false serialization into the four-ticket order; neomjs/neo#17791 removal stays impossible until every predecessor, including neomjs/neo#17798 and neo-agent-brain#10, is green.
  • AC-7 — deterministic output: wave3-cut-manifest.v1 is stable, human-readable JSON emitted by the existing extraction authority via Commander --wave3-cut-input <path> and linked from D#17782. The CLI invokes the existing plane-proof producer; a caller-authored proof object is ignored. No new standalone diagnostic tool.

Out of Scope

  • registry/enrollment/onboarding/retirement machinery;
  • reusable workflow distribution or aggregated callers;
  • binding receipts, drift detectors, or bespoke npm freshness gates;
  • copying the 337-row tracker ledger into this artifact;
  • A2A lane census;
  • file copying, tracker transfer, deployment, or Neo-side removal.

Avoided Traps

  • Parallel census: duplicates the inventory.
  • Handwritten population: decays and permits same-count substitution.
  • Governance ledger: records mutable state a one-time cut read can verify directly.
  • Dirty SHA claim: attributes working-tree state to a commit.
  • Count-only tracker proof: permits identity replacement.
  • Image-only rollback: restores code but not durable state.
  • Package-only reach: a green local projection can still ship relative documentation pointers that do not resolve in a clean non-Neo consumer.

Related

Parent Wave-3 Epic: neomjs/neo#17786
Parent extraction epic: neomjs/neo#17500
Skills transport: neomjs/neo#17798
Enforcement custody: neomjs/neo#17783
Tracker transfer: neomjs/neo#17790
ADR correction: neomjs/neo#17800
Guide/ADR receiver: neomjs/neo-agent-brain#10
Runway: D#17782

Origin Session ID: 975b7d3f-ebb0-46bd-8b5a-ac7fa64ba0d0

Retrieval Hint: wave3 cut manifest clean SHA inventory proof npm package rollback receive remove

tobiu cross-referenced by PR #9 on Aug 26, 2026, 1:29 PM
tobiu cross-referenced by #17800 on Aug 26, 2026, 2:21 PM
tobiu referenced in commit aeed7ee - "learn/agentos custody splits by subject, not directory (#17801) on Aug 26, 2026, 2:54 PM
tobiu cross-referenced by PR #11 on Aug 26, 2026, 4:25 PM
tobiu referenced in commit f710c6b - "feat(agentos): bind Wave-3 cut manifest (#17787) (#17802)" on Aug 26, 2026, 4:30 PM
tobiu closed this issue on Aug 26, 2026, 4:30 PM