[ ] 10 Receive Brain-owned learning guides and ADRs, [ ] 17798 Skills reach consuming repos as an npm dependency, never as copied bytes, [x] 175 Transfer the frozen Agent OS tracker set to the Brain, [ ] 12 Receive Agent OS deployment and prove the Brain image, [ ] 13 Receive Agent OS source and package topology in the Brain, [ ] 17783 Enforcement-plane custody for the repo split
This is Wave 3's terminal Neo-side PR. It may open only after source/package receive, deployment/image receive, tracker conversion, day-one Brain CI, skill/enforcement substrate, peer-owned learn/ADR migration, and the cut manifest's removal predicate are all green at pinned heads.
The Problem
Deleting earlier makes rollback and completeness unprovable. Deleting later without cleaning scripts/dependencies/hooks/package/public surfaces leaves a mixed Engine that still carries Brain authority.
The Architectural Reality
ADR 0040 keeps src/ai/**, Fleet Manager keeper surfaces, Engine apps, Engine contracts/clients, and Engine-facing tests by subject; moving/staying follows the cut manifest, not the ai token alone.
Engine never depends on the Brain package, including devDependencies.
#17783 owns hook/CI custody and trigger/binding receipts; #17798 owns the public skill substrate (#17784 closed and superseded when the transport became an npm dependency).
Brain receive and image proofs are the preconditions; Wave 4 owns severe continuity after the cut.
The Fix
Open one terminal PR against neomjs/neo:dev that removes exactly the cut-manifest mover set, retires/rewrites root scripts and package entries, sheds Brain package/deployment artifacts, preserves every stay-Engine subject, and proves Engine-only clone/build/test/onboarding with the Brain available only as an externally provisioned runtime for the whitebox tier.
The PR is human-merge-gated after the Brain receive PRs, tracker transfer, and peer learn/ADR work merge.
Contract Ledger Matrix
Target Surface
Source of Authority
Proposed Behavior
Fallback
Docs
Evidence
Neo mover paths
cut manifest
absent after removal, exact set
any residue/missing stay path blocks
migration ledger
target/source diff
Engine package/scripts
ADR 0040
no Brain deps/devDeps/scripts; Engine release remains valid
no Brain fallback
package docs
pack/build/script census
stay-Engine AI surfaces
ADR 0040 + subject census
src/ai, Fleet Manager keeper surfaces, apps/contracts/client/tests remain by subject
accidental deletion blocks
Architecture docs
identity receipt
whitebox tier
ADR 0040 §2.3/§2.5
external pinned runtime via distinct roots
absent binding fails loud
test guide
swap/omit negative controls
cut completion
D#17782
received Brain heads verified before removal
rollback/revert; no merge
runway receipt
cross-repo gate read
Decision Record impact
aligned-with amended ADR 0040; depends-on ADR 0019 for retired/moved config and #17783 for enforcement custody.
Decision Record
Required: consume the final ADR 0040 amendment; this PR is its terminal execution receipt.
Acceptance Criteria
Every cut-manifest mover is absent from Neo and present at the pinned verified Brain head; no extra deletion or source/target residue.
Every stay-Engine identity remains, including src/ai/**, Fleet Manager keeper surfaces, Engine apps, public contracts/clients, and subject-owned tests/guards.
Root scripts, package manifests/locks, .npmignore, exports, docs/build references, hooks, and workflows match Engine-only custody.
Neo has zero dependency or devDependency on neo-agent-brain and zero relative import into the removed implementation.
#17783 binding/trigger receipts are green at their merged heads, and #17798's npm-transport receipts are green at theirs. (Truth-synced 2026-08-26: this AC said "#17784 substrate receipts". #17784 is closed and superseded by #17798 — the transport changed from committed bytes to an npm dependency, so the receipt class changed with it.)
The package-reference contract is discharged before this PR merges — #17798 comment 5425965214: no vendored guide tree; the census-split docs references URL-qualify (13 Brain / 5 Engine); write globs stay trigger-scoped. Concretely, neo-agent-skills ≥ 0.1.2 is published and every consumer lockfile resolves it — 0.1.2 does not exist at the time of writing (dist-tags.latest is 0.1.1), so this is a live upstream precondition on #17798, not a checkbox this ticket can satisfy alone. Rationale, so it is not read as ceremony: the shipped package points into a learn/ tree it does not contain, and this removal is what makes those pointers resolve nowhere instead of only-in-neo.
Brain source/package and deployment/image receive PRs are merged and verified; tracker ledger is complete; peer learn/ADR migration is merged.
No open PR or active A2A lane targets removed paths at the final pre-merge recheck.
Context
This is Wave 3's terminal Neo-side PR. It may open only after source/package receive, deployment/image receive, tracker conversion, day-one Brain CI, skill/enforcement substrate, peer-owned learn/ADR migration, and the cut manifest's removal predicate are all green at pinned heads.
The Problem
Deleting earlier makes rollback and completeness unprovable. Deleting later without cleaning scripts/dependencies/hooks/package/public surfaces leaves a mixed Engine that still carries Brain authority.
The Architectural Reality
src/ai/**, Fleet Manager keeper surfaces, Engine apps, Engine contracts/clients, and Engine-facing tests by subject; moving/staying follows the cut manifest, not theaitoken alone.The Fix
Open one terminal PR against
neomjs/neo:devthat removes exactly the cut-manifest mover set, retires/rewrites root scripts and package entries, sheds Brain package/deployment artifacts, preserves every stay-Engine subject, and proves Engine-only clone/build/test/onboarding with the Brain available only as an externally provisioned runtime for the whitebox tier.The PR is human-merge-gated after the Brain receive PRs, tracker transfer, and peer learn/ADR work merge.
Contract Ledger Matrix
src/ai, Fleet Manager keeper surfaces, apps/contracts/client/tests remain by subjectDecision Record impact
aligned-with amended ADR 0040;depends-on ADR 0019for retired/moved config and #17783 for enforcement custody.Decision Record
Required: consume the final ADR 0040 amendment; this PR is its terminal execution receipt.
Acceptance Criteria
src/ai/**, Fleet Manager keeper surfaces, Engine apps, public contracts/clients, and subject-owned tests/guards..npmignore, exports, docs/build references, hooks, and workflows match Engine-only custody.neo-agent-brainand zero relative import into the removed implementation.neo-agent-skills≥0.1.2is published and every consumer lockfile resolves it —0.1.2does not exist at the time of writing (dist-tags.latestis0.1.1), so this is a live upstream precondition on #17798, not a checkbox this ticket can satisfy alone. Rationale, so it is not read as ceremony: the shipped package points into alearn/tree it does not contain, and this removal is what makes those pointers resolve nowhere instead of only-in-neo.agentosRuntimeRoot/targetRepoRoot; swapped/omitted bindings fail without cwd recovery.Out of Scope
Avoided Traps
ai/**blanket removal: deletes stays-Engine/subject-owned surfaces.Related
Blocked by:
#17788·#17789·#17790· #17783 · #17798 · peer learn/ADR lane → neo-agent-brain#10Parent Wave-3 Epic:
#17786Handoff Retrieval Hints
Retrieval Hint:
terminal Engine removal exact mover set Brain verified no back dependency Wave4 remainsOrigin Session ID: 975b7d3f-ebb0-46bd-8b5a-ac7fa64ba0d0