Context
The operator created neomjs/neo-agent-brain (2026-08-23T17:57Z, Neo.mjs AI Devs team = maintainers) — Epic #17500's leaf 5, unblocked since the #17502 naming close + ADR 0040 merge. The repository is empty: unborn default branch, no contents, the 9 stock GitHub labels. Operator direction (in-session, same day): start the in-repo prep now — labels, package placeholder, shell files — while ticket migration waits for the cut; reserve heavier budget for the cut window.
The Problem
Every downstream leaf needs a repository that is not a bare shell: leaf 8's canary transfer needs the label taxonomy provisioned first (its explicit first half); the move leaf needs a dev working branch + branch discipline to target; ADR 0040 §2.9 requires the provenance statement (fresh history + pointer, no neomjs/neo SHA rewrite) recorded where a visitor lands. An empty repo also cannot receive a pull request, so the very first commit is direct by necessity — that exception must be one minimal, recorded init commit, never a habit.
The Fix
- Branch topology: one minimal init commit (README shell only) creates
dev directly — the single unavoidable direct push, recorded here; set dev as the default branch; main stays uncreated until the release machinery makes it (mirroring the Engine's main-is-release-only shape, per the new repo's own cadence per ADR 0040 §3).
- Labels: sync the
neomjs/neo taxonomy (name + color + description; create-or-update, stock labels updated in place) so leaf 8's canary lands on identical semantics.
- Shell files via branch + PR onto
dev: README (what this repo is, pre-move status, provenance pointer per ADR 0040 §2.9, link to Epic #17500 + the ADR in neomjs/neo), LICENSE (MIT, mirroring the Engine), .gitignore (minimal seed), package.json placeholder (name, private: true, description, a $comment naming ADR 0040 as the manifest authority and the move leaf as the writer — root scripts stay EMPTY: the root manifest becomes the Host-Edge package only at the move).
- Commit convention: cross-repo ticket refs in full form (
neomjs/neo#NNNNN) until the tracker migrates.
Decision Record impact
aligned-with ADR 0040 (§2.1 root topology deferred to the move; §2.9 provenance; naming). No ADR touched.
Acceptance Criteria
Out of Scope
Ticket/tracker migration (leaf 8 canary + bulk) · any ai/** relocation · npm publish/name reservation (operator-owned) · CI workflows (the workflow-disposition leaf owns them) · seat provisioning (leaf 11).
Related
Parent: Epic #17500 (leaf 5). Authority: ADR 0040. Naming: #17502 (closed). Blocking proofs untouched: #17533.
Origin Session ID: 0fdaef3c-fcaf-4983-87a3-88d6eb611357
Retrieval Hint: query_raw_memories("neo-agent-brain scaffold dev branch labels provenance shell")
Live latest-open sweep: checked latest 8 open issues at 2026-08-23T18:13Z (newest #17635); no equivalent. A2A in-flight sweep: continuous wake stream this session; no scaffold claim.
Context
The operator created
neomjs/neo-agent-brain(2026-08-23T17:57Z,Neo.mjs AI Devsteam = maintainers) — Epic #17500's leaf 5, unblocked since the #17502 naming close + ADR 0040 merge. The repository is empty: unborn default branch, no contents, the 9 stock GitHub labels. Operator direction (in-session, same day): start the in-repo prep now — labels, package placeholder, shell files — while ticket migration waits for the cut; reserve heavier budget for the cut window.The Problem
Every downstream leaf needs a repository that is not a bare shell: leaf 8's canary transfer needs the label taxonomy provisioned first (its explicit first half); the move leaf needs a
devworking branch + branch discipline to target; ADR 0040 §2.9 requires the provenance statement (fresh history + pointer, noneomjs/neoSHA rewrite) recorded where a visitor lands. An empty repo also cannot receive a pull request, so the very first commit is direct by necessity — that exception must be one minimal, recorded init commit, never a habit.The Fix
devdirectly — the single unavoidable direct push, recorded here; setdevas the default branch;mainstays uncreated until the release machinery makes it (mirroring the Engine's main-is-release-only shape, per the new repo's own cadence per ADR 0040 §3).neomjs/neotaxonomy (name + color + description; create-or-update, stock labels updated in place) so leaf 8's canary lands on identical semantics.dev: README (what this repo is, pre-move status, provenance pointer per ADR 0040 §2.9, link to Epic #17500 + the ADR inneomjs/neo),LICENSE(MIT, mirroring the Engine),.gitignore(minimal seed),package.jsonplaceholder (name,private: true,description, a$commentnaming ADR 0040 as the manifest authority and the move leaf as the writer — root scripts stay EMPTY: the root manifest becomes the Host-Edge package only at the move).neomjs/neo#NNNNN) until the tracker migrates.Decision Record impact
aligned-with ADR 0040(§2.1 root topology deferred to the move; §2.9 provenance; naming). No ADR touched.Acceptance Criteria
devexists, is the default branch, and holds exactly one direct init commit (README shell); every subsequent change lands via branch + PR.neomjs/neo's (name/color/description), verified by a diff of both label lists in the PR/receipt.neomjs/neo) · Epic #17500 + ADR 0040 links.package.jsonplaceholder isprivate: truewith empty scripts and the$commentauthority pointer; no dependency and no workspaces key.maindoes not exist.Out of Scope
Ticket/tracker migration (leaf 8 canary + bulk) · any
ai/**relocation · npm publish/name reservation (operator-owned) · CI workflows (the workflow-disposition leaf owns them) · seat provisioning (leaf 11).Related
Parent: Epic #17500 (leaf 5). Authority: ADR 0040. Naming:
#17502(closed). Blocking proofs untouched:#17533.Origin Session ID: 0fdaef3c-fcaf-4983-87a3-88d6eb611357
Retrieval Hint:
query_raw_memories("neo-agent-brain scaffold dev branch labels provenance shell")Live latest-open sweep: checked latest 8 open issues at 2026-08-23T18:13Z (newest #17635); no equivalent. A2A in-flight sweep: continuous wake stream this session; no scaffold claim.