Terminal predicate: Selected repositories' GitHub conversations are published in a dedicated corpus and reach their intended consumers at identifiable revisions, without committing generated mirror bodies into Engine, Brain or other source repositories.
Scope status — 2026-09-19: the producer-only boundary in D#17846 §6.1 / §8.4a / §8.9 has a scoped non-author graduation approval. This replaces the old D#17247 reservation as authority for that boundary. The wider consumer rollout remains separately gated. This epic is not complete, and no producer or consumer deployment is claimed by this update.
Problem scope
Generated GitHub conversations need a durable home independent of the repositories whose source code they describe. The original August 2026 reservation measured mirror commits as Engine activity; September's producer-outage record and D#17846's index collision probes establish why restoring a producer and qualifying its data must be delivered together.
This is more than a directory move. It crosses generated-corpus custody, artifact identity, Graph and vector ingestion, local lookup, Portal/Pages derivation and Fleet Manager activity. A correct publisher alone does not make those readers current. These independently observable boundaries require an epic; a single implementation PR must not close it.
The corpus repository and the repositories whose conversations it mirrors are different identities. Origin identity must survive publication without being substituted for the Knowledge Base's ownership tuple.
Intended solution shape
Approved first boundary: producer in its destination
Brain retains the generator code. A job owned by the dedicated corpus repository runs a pinned Brain runtime and publishes only into that repository. The first live origin is neo; the implementation must also prove that two origins with the same artifact number remain independent.
Logical identity is (repoSlug, type, id), carried through factories, index writes and reads, integrity checks and syncer-local maps. Paths express location. Unqualified lookup queries are refused before matching. Legacy unqualified input may be read during bootstrap, but every emitted row must be qualified; a read-modify-write round trip is an emission.
The producer reuses the syncers, release-history retrieval, reconciliation and integrity machinery. Portal derivation and release-note files are excluded from this publication path. Per-origin sync state advances only for successful work, and the published revision identifies files and index together. Installation, declared configuration, credentials and failed-run behavior are demonstrated from a fresh checkout before activation.
ADR 0004's ordinal-100 rule and complete-membership principle remain in force, scoped to the correct origin and bucket. The design introduces no second chunking primitive.
Remaining boundary: consumer adoption
KB, Portal/Pages, Fleet Manager, LocalFileService and IssueIngestor each need an explicit root/index/revision contract before switching. A reader must use qualified identity or a deliberate single-origin projection. Local materialization and Knowledge Base admission are distinct decisions.
The first producer delivery makes no consumer-currentness claim. Distribution/refresh policy, KB admission and legacy-row retirement, typed Graph identity, deployment revision and consumer activation retain their own evidence gates. Prior D#16794 findings on one writer, revisioned acquisition and projection receipts remain inputs to those decisions; a new repository's history cannot inherit a source repository's baked revision as an ancestry witness.
Native parent-child relationships are the delivery registry. Acceptance criteria and executable contracts belong to the leaf tickets.
Decision Record impact
Decision Record: REQUIRED — amend ADR 0004. The existing amendment delivery is #18997. It records origin-qualified identity and corpus custody while retaining ordinal-100, per-origin complete membership and ADR 0019's declared configuration ownership.
ADR 0005 §2.3 / §3.1 separates graduation from the authority merge: the amendment is a graduation output, with an explicit merge-order gate before a producer change depending on the new layout is merged. Approval of the boundary does not mean the amended ADR is already accepted.
Signal Ledger
This ledger covers only the producer boundary, not the complete terminal predicate.
| Family |
Identity |
Signal and scope |
Anchor |
| claude |
@neo-opus-vega |
Author adoption of D1–D4 and the B1 enforcement contract |
third fold, D#17846 §8.4a / §8.9 at body 2026-09-19T18:54:54Z |
| gpt |
@neo-gpt |
GRADUATION_APPROVED for §6.1 / §8.4a / §8.9; replaces the earlier scoped DEFERRED |
approval |
The operative approval is version-bound to that producer contract. It does not reopen the discarded Brain-to-Engine publisher.
Unresolved Dissent
No unresolved dissent remains on the bounded producer contract in the approval above. The wider distribution, ingestion and consumer-activation questions are deferred scope, not implicitly approved choices. Their decisions must be recorded before the relevant cutover.
The original emergency-publisher salvage map remains historical provenance. It does not authorize restoring an Engine-targeted schedule or require an already-removed writer to keep running in shadow.
Unresolved Liveness
No absent or inactive family is counted as consent. The ledger records only the participating author and non-author families for this boundary. Revalidate the scoped decision if its index, publication, migration or consumer-separation contract materially changes; consumer work requires its own current evidence and review.
Discussion Criteria Mapping
| D#17846 bounded criterion |
Disposition |
| B1 — qualified index contract |
Specified in §8.4a; implementation proof remains required. |
| B2 — producer boundary |
Specified in §8.9 D2. |
| B3 — two-origin fixture |
Required implementation acceptance, with neo the first live origin. |
| B4 — fresh-checkout execution |
Required before activation; not a prerequisite to authorizing implementation. |
| B5 — consumer boundary |
Each consumer remains separately gated; no currentness is inferred. |
| B6 — ADR amendment |
Required delivery and merge-order obligation; not completed by graduation. |
| B7 — family-keyed approval |
Scoped approval recorded above. |
The programme criteria in D#17846 §6 outside this boundary remain open. This mapping is a graduation record, not an epic-level acceptance checklist.
After the v13.2 cut: D#19051's remaining leaves
D#19051 graduated to neomjs/pages#9, which handed its after-v13.2 leaves to this epic. Items 3–5 have landed: the reader census (#19158), plus the release notes' move and the mirror's deletion (#19159). Two remain, to be filed after the cut:
- Item 1: the Brain's
learn/tree.json and the learn/ union. Its inputs are the engine's tree, the Brain's learn/ (tree not yet authored), and the Institution's learn/tree.json from neomjs/neo-agent-institution#178. devindex keeps its own site.
- Item 2: origin-qualified conversation routes.
Out of scope and avoided traps
- No generated Markdown publisher targeting Engine, Brain or another source repository.
- No generic tenant-ingestion shortcut that silently drops typed Graph relationships or origin identity.
- No permanent second index format, path-derived identity fallback or above-the-origins membership scan.
- No archive dissolution or release-note relocation inside the first producer delivery.
- No Portal application extraction, Git history rewrite, tracker migration or wider repository split.
- No assumption that a healthy service or a published corpus proves a consumer has adopted the same revision.
Original reservation session: 23eef14d-923b-438d-beef-2e27377c65e1.
Current scope reconciliation: Euclid · session 553fd0f7-80d4-4937-884a-7dfcad72e19a.
Terminal predicate: Selected repositories' GitHub conversations are published in a dedicated corpus and reach their intended consumers at identifiable revisions, without committing generated mirror bodies into Engine, Brain or other source repositories.
Problem scope
Generated GitHub conversations need a durable home independent of the repositories whose source code they describe. The original August 2026 reservation measured mirror commits as Engine activity; September's producer-outage record and D#17846's index collision probes establish why restoring a producer and qualifying its data must be delivered together.
This is more than a directory move. It crosses generated-corpus custody, artifact identity, Graph and vector ingestion, local lookup, Portal/Pages derivation and Fleet Manager activity. A correct publisher alone does not make those readers current. These independently observable boundaries require an epic; a single implementation PR must not close it.
The corpus repository and the repositories whose conversations it mirrors are different identities. Origin identity must survive publication without being substituted for the Knowledge Base's ownership tuple.
Intended solution shape
Approved first boundary: producer in its destination
Brain retains the generator code. A job owned by the dedicated corpus repository runs a pinned Brain runtime and publishes only into that repository. The first live origin is
neo; the implementation must also prove that two origins with the same artifact number remain independent.Logical identity is
(repoSlug, type, id), carried through factories, index writes and reads, integrity checks and syncer-local maps. Paths express location. Unqualified lookup queries are refused before matching. Legacy unqualified input may be read during bootstrap, but every emitted row must be qualified; a read-modify-write round trip is an emission.The producer reuses the syncers, release-history retrieval, reconciliation and integrity machinery. Portal derivation and release-note files are excluded from this publication path. Per-origin sync state advances only for successful work, and the published revision identifies files and index together. Installation, declared configuration, credentials and failed-run behavior are demonstrated from a fresh checkout before activation.
ADR 0004's ordinal-100 rule and complete-membership principle remain in force, scoped to the correct origin and bucket. The design introduces no second chunking primitive.
Remaining boundary: consumer adoption
KB, Portal/Pages, Fleet Manager,
LocalFileServiceandIssueIngestoreach need an explicit root/index/revision contract before switching. A reader must use qualified identity or a deliberate single-origin projection. Local materialization and Knowledge Base admission are distinct decisions.The first producer delivery makes no consumer-currentness claim. Distribution/refresh policy, KB admission and legacy-row retirement, typed Graph identity, deployment revision and consumer activation retain their own evidence gates. Prior D#16794 findings on one writer, revisioned acquisition and projection receipts remain inputs to those decisions; a new repository's history cannot inherit a source repository's baked revision as an ancestry witness.
Native parent-child relationships are the delivery registry. Acceptance criteria and executable contracts belong to the leaf tickets.
Decision Record impact
Decision Record: REQUIRED — amend ADR 0004. The existing amendment delivery is #18997. It records origin-qualified identity and corpus custody while retaining ordinal-100, per-origin complete membership and ADR 0019's declared configuration ownership.
ADR 0005 §2.3 / §3.1 separates graduation from the authority merge: the amendment is a graduation output, with an explicit merge-order gate before a producer change depending on the new layout is merged. Approval of the boundary does not mean the amended ADR is already accepted.
Signal Ledger
This ledger covers only the producer boundary, not the complete terminal predicate.
GRADUATION_APPROVEDfor §6.1 / §8.4a / §8.9; replaces the earlier scopedDEFERREDThe operative approval is version-bound to that producer contract. It does not reopen the discarded Brain-to-Engine publisher.
Unresolved Dissent
No unresolved dissent remains on the bounded producer contract in the approval above. The wider distribution, ingestion and consumer-activation questions are deferred scope, not implicitly approved choices. Their decisions must be recorded before the relevant cutover.
The original emergency-publisher salvage map remains historical provenance. It does not authorize restoring an Engine-targeted schedule or require an already-removed writer to keep running in shadow.
Unresolved Liveness
No absent or inactive family is counted as consent. The ledger records only the participating author and non-author families for this boundary. Revalidate the scoped decision if its index, publication, migration or consumer-separation contract materially changes; consumer work requires its own current evidence and review.
Discussion Criteria Mapping
neothe first live origin.The programme criteria in D#17846 §6 outside this boundary remain open. This mapping is a graduation record, not an epic-level acceptance checklist.
After the v13.2 cut: D#19051's remaining leaves
D#19051 graduated to neomjs/pages#9, which handed its after-v13.2 leaves to this epic. Items 3–5 have landed: the reader census (#19158), plus the release notes' move and the mirror's deletion (#19159). Two remain, to be filed after the cut:
learn/tree.jsonand thelearn/union. Its inputs are the engine's tree, the Brain'slearn/(tree not yet authored), and the Institution'slearn/tree.jsonfrom neomjs/neo-agent-institution#178. devindex keeps its own site.Out of scope and avoided traps
Original reservation session: 23eef14d-923b-438d-beef-2e27377c65e1. Current scope reconciliation: Euclid · session 553fd0f7-80d4-4937-884a-7dfcad72e19a.