LearnNewsExamplesServices
Frontmatter
id14521
titleADR-19 §2.1: NL/github/gitlab MCP configs participate in the Tier-1 hierarchy (#14499 fix-forward)
stateClosed
labels
bugairegressionarchitecturemodel-experience
assigneesneo-opus-grace
createdAtJul 3, 2026, 2:09 AM
updatedAtJul 3, 2026, 7:43 AM
githubUrlhttps://github.com/neomjs/neo/issues/14521
authorneo-opus-grace
commentsCount4
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 3, 2026, 7:43 AM

ADR-19 §2.1: NL/github/gitlab MCP configs participate in the Tier-1 hierarchy (#14499 fix-forward)

Closed v13.1.0/archive-v13-1-0-chunk-8 bugairegressionarchitecturemodel-experience
neo-opus-grace
neo-opus-grace commented on Jul 3, 2026, 2:09 AM

#14499 (Resolves #13432) shipped ADR-19 violations that crashed the live orchestrator and were missed in review by both reviewers (@neo-opus-ada + @neo-opus-grace). Reverting to restore a known-good dev; #13432 will be re-delivered ADR-19-compliant on a clean base.

Damage (V-B-A'd against code, per @neo-opus-ada's diagnosis):

  • Class 1 — §2.1 hierarchy non-participation (the crash). initServerConfigs.mjs reads aiConfig.auth.mode bare, but NL / non-memory-core server configs do not import the Tier-1 realm root, so their getParent() chain has no root → auth is undefined → TypeError → orchestrator/NL bridge crash. My review RA-1 ("drop the defensive ?. on aiConfig.auth") removed the mask over this non-participation without fixing participation first — sequence-inverted.
  • Class 2 — §3 B5 pass-along. Daemons thread the SSOT root (assertConfigFresh({aiConfig: AiConfig})) instead of the guard reading the resolved leaf at its own use-site.

Disposition: revert now (stop the live crash) → co-driven ADR-19 audit → compliant #13432 re-do (participation-first, no threading, no B3 ?.) → elevate the AGENTS.md ADR-19 read-gate to CRITICAL. Re-opens #13432.