LearnNewsExamplesServices
Frontmatter
id17790
titleTransfer the frozen Agent OS tracker set to the Brain
stateOpen
labels
enhancementaiarchitectureagent-os
assigneesneo-gpt-emmy
createdAtAug 26, 2026, 12:10 AM
updatedAtAug 26, 2026, 3:23 PM
githubUrlhttps://github.com/neomjs/neo/issues/17790
authorneo-gpt
commentsCount5
parentIssue17786
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[x] 17787 Bind the Agent OS cut manifest to the freeze line
blocking[ ] 17791 Remove received Brain executables from the Engine

Transfer the frozen Agent OS tracker set to the Brain

Open Backlog/active-chunk-19 enhancementaiarchitectureagent-os
neo-gpt
neo-gpt commented on Aug 26, 2026, 12:10 AM

Context

Wave 2.5 produced a frozen 330-ticket baseline, followed by six sanctioned Wave-3 rows. This leaf consumes the exact Brain-classified population from that baseline and delta.

Final operator mechanism ruling — 2026-08-26: use GitHub's native issue transfer for the 163 open Brain-classified tickets. Preserving original dates, authorship, comments, stale age, assignees, and redirect continuity outweighs gaps in Neo's visible issue-number stream. The one closed row, #17781, cannot be transferred by GitHub and remains closed in neomjs/neo as historical evidence; it is ledger-reconciled, never reopened or cloned.

#17701 proved the live semantics: a native transfer creates a destination node, old URLs resolve to the destination, labels map by name, source references become repository-qualified, holding milestones drop, and cross-repository parent/dependency edges survive after projection settles.

The Problem

Bulk transfer without a frozen population and a read-back ledger can strand labels, milestones, relationships, active claims, and close targets. A successful command is not the continuity proof.

The Architectural Reality

  • Brain has issues enabled, default dev, the needed label taxonomy, and a green relationship-bearing canary.
  • GitHub transfers only open issues. Continuity uses source → destination mapping plus redirect, not node-ID stability.
  • Original dates, authorship, comments, and stale age are part of the history worth preserving.
  • Active PR/lane ownership must be dispositioned before its ticket moves.
  • Within the tracker batch, #17790 transfers after every other open Brain-classified issue.
  • Closed #17781 stays in Neo as resolved historical evidence and receives a terminal ledger disposition rather than a fabricated replacement.

The Fix

  1. Consume the Wave-2.5 baseline, sanctioned Wave-3 delta, and #17787 cut coordinate.
  2. Transfer the exact 163 open Brain-classified issues to neomjs/neo-agent-brain in frozen order, with #17790 last.
  3. After each command, resolve the old URL and verify destination identity, title/body semantics, labels, assignees, comments, PR links, state, and milestone behavior.
  4. After projection settles, verify every parent/sub-issue and blocker/blockee relationship bidirectionally.
  5. Record #17781 as closed-historical-stays-source; do not reopen, clone, or transfer it.
  6. Commit the deterministic source → destination ledger in the Brain.

Contract Ledger Matrix

Surface Authority Behavior Red condition
tracker population Wave 2.5 baseline + sanctioned delta + cut coordinate 163 native transfers + one closed historical disposition, exactly once each omitted, extra, or same-count-substituted row
issue transfer #17701 canary + GitHub contract destination node + redirect; history and assignees retained command success without matching read-back
labels / milestone source metadata + target taxonomy labels map by name; unmatched holding milestones drop missing/extra label or undeclared milestone result
relationships native GitHub graph parent/blocker/blockee resolve to the moved destination persistent loss after stabilization
closed history #17781 + merged #17797 remains closed in Neo; ledger records the exception reopen, clone, or pretend-transfer
ledger this ticket deterministic mapping, exception, timestamps, semantic deltas, and verification incomplete or unverifiable row

Acceptance Criteria

  • Input population exactly reconciles the frozen Wave-2.5 baseline plus every sanctioned Wave-3 delta: 163 open native transfers + closed historical #17781, with no omission, extra row, or same-count substitution.
  • Every active claim, PR, reviewer, and assignee is dispositioned before its open issue moves.
  • Target labels exist; milestone/project behavior is declared per row before mutation.
  • Every transferred issue records source/destination repository, number, node IDs, old redirect, original dates, title/body semantic delta, labels, milestone, assignees, comments, PR links, parent, blockers, and blockees.
  • Source-reference qualification is accepted only when meaning-preserving; any other body delta halts.
  • Relationships are verified bidirectionally after projection settles; persistent loss blocks the batch.
  • #17781 remains closed in Neo as historical evidence and is recorded once in the ledger with its resolving PR; it is never reopened, cloned, or passed to the transfer command.
  • The deterministic Brain ledger reconciles all 164 rows exactly once: 163 destination mappings plus the #17781 historical exception.
  • Within the open tracker batch, #17790 transfers after every other issue. Its destination issue is resolved by the final Brain ledger PR before #17791 may proceed.
  • Engine removal remains blocked until the ledger, redirects, and relationship verification are green.

Out of Scope

  • changing the frozen classification;
  • recreating open tickets by clone/create+close;
  • moving stays-Engine or skills-subject tickets;
  • reopening or cloning closed history;
  • moving source files;
  • operator merges.

Avoided Traps

  • Create+close duplication: splits 749 existing comments across historical and active tickets and requires rebuilding 436 relationship edges; rejected in favor of the native primitive.
  • Treating visible number gaps as broken links: old URLs resolve to destination issues; the ledger makes every mapping explicit.
  • Node-ID stability assumption: the canary disproved it.
  • Hash equality as semantic equality: GitHub may qualify source references during transfer.
  • Green CLI exit as proof: every row gets independent post-state verification.
  • Trying to transfer #17781: GitHub supports only open issues; the closed historical record stays put.

Decision Record impact

Aligned with ADR 0040 §2.8; no topology amendment. The operator ruling selects the migration mechanism and accepts its visible-number tradeoff.

Related

Blocked by: #17787 and the frozen Wave-2.5 + sanctioned-delta disposition
Parent Wave-3 Epic: #17786
Canary: #17701
Living runway: https://github.com/orgs/neomjs/discussions/17782

Handoff Retrieval Hints

native issue transfer preserve dates comments stale age 163 open #17781 stays closed ledger

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