LearnNewsExamplesServices
Frontmatter
id12231
titleFix drifted identity facts across machine-facing surfaces
stateClosed
labels
bugdocumentationai
assigneesneo-gpt
createdAtMay 30, 2026, 11:26 PM
updatedAtJun 7, 2026, 7:17 PM
githubUrlhttps://github.com/neomjs/neo/issues/12231
authorneo-opus-ada
commentsCount0
parentIssue12225
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[x] 12244 Add identity fact coherence checks
closedAtMay 31, 2026, 12:47 PM

Fix drifted identity facts across machine-facing surfaces

Closed Backlog/active-chunk-16 bugdocumentationai
neo-opus-ada
neo-opus-ada commented on May 30, 2026, 11:26 PM

Parent epic: #12225

Context

The 2026-05-30 audit found identity facts that have drifted out of sync across surfaces. Per ADR 0018 these must converge to a single source of truth. This is the first real run of the neo-identity-update skill's facts-ledger inside the #12225 organism-apex rollout.

This sub is facts-only. It should correct measured values and derivation/coherence tooling without changing the canonical framing itself.

Known drift (verify each at its SSOT before editing)

  • apps/portal/index.html ld+json: version: 11.18.0 → should track package.json (12.1.0); releaseNotes + citation likewise stale.
  • apps/portal/index.html ld+json: softwareRequirements: "Node.js 18+" → actual floor is higher (verify; .github/AI_QUICK_START.md says "20+", also stale).
  • MCP-server count understated in ~11 surfaces (README, AI_QUICK_START, Introduction.md, AiToolchain.mjs, .gemini/settings.template.json, index.html ld+json + FAQ, llms.txt header) — correct = 5 functional (exclude shared/ infra + the gitlab-workflow/ PoC).
  • AGENTS.md self-contradiction: one line says "3 evolving pillars", another "four co-load-bearing pillars".
  • ROADMAP.md: "Thirteen formalized agent skills" → actual is higher (verify via ls -1d .agents/skills/*/).
  • learn/agentos/NeuralLink.md: "v11.18.0" version line + a stale tool count.

The Fix

For each fact: fix the SSOT, then derive / coherence-check every occurrence. Where derivation tooling is missing (e.g. buildScripts/release/prepare.mjs does not bump the ld+json version), either extend the tool or add a coherence-check, and file any tooling gap that cannot be closed in this sub. Edit generators, never generated output.

Acceptance Criteria

  • Each listed fact correct and consistent across every surface that states it
  • MCP-server count = 5 functional everywhere it appears (with the exclusion rule applied)
  • AGENTS.md pillar self-contradiction resolved
  • Generated surfaces fixed at their generator, not the output
  • Missing derivation tooling either extended or filed as a follow-up
  • Cross-family review per ADR 0018 §2.6

Out of Scope

  • Framing changes (other subs) — this sub is facts only

Related

  • Parent: #12225 · Facts-ledger: neo-identity-update skill · Model: ADR 0018

Origin Session ID: 94a91ebc-d325-4d32-a746-4ff8c26c0342 Retrieval Hint: "drifted identity facts ld+json version node mcp count pillars skill count"

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
package.json version package.json Other surfaces mirror or coherence-check the package version; release tooling handles durable propagation where practical Manual mirror with explicit follow-up only if derivation is too broad for this sub PR body facts audit JSON parse + grep/coherence check
package.json engines.node package.json engines.node Add/verify the Node floor SSOT and align docs / structured data that state the requirement If enforcement scope is broader than this sub, add the SSOT and document any follow-up guard PR body facts audit package parse + surface grep
Functional MCP-server count Curated functional-server manifest per neo-identity-update facts ledger (exclude shared/ infra and gitlab-workflow/ PoC) Every prose / JSON / template surface that states the count says 5 functional MCP servers or uses wording that avoids stale counts If no manifest exists yet, manually correct current surfaces and file/record the missing derivation guard PR body facts audit directory inventory + occurrence grep
apps/portal/index.html ld+json ADR 0018 + package/facts SSOT Structured facts match current version, release notes, Node floor, and MCP count without editing generated outputs incorrectly If a value is owned by generation tooling, edit generator or document follow-up PR body + identity update protocol JSON-LD parse / targeted grep
Agent-loaded pillar wording in AGENTS.md Current AGENTS.md §neo_identity_anchor + ADR 0018 Remove the internal contradiction between old 3-pillar and current four co-load-bearing pillar wording without changing active behavior If wording is more than factual cleanup, route through turn-memory-pre-flight and document slot rationale PR body substrate audit targeted diff + turn-memory-pre-flight evidence
Skill-count prose in ROADMAP.md .agents/skills/*/ directory count Prose states the current count or avoids a stale exact number Prefer avoiding brittle counts if exactness adds no value PR body facts audit find .agents/skills -maxdepth 1 -type d count
learn/agentos/NeuralLink.md facts package/facts SSOT + functional MCP count Version and tool/server-count references are current or made non-stale Manual correction with documented follow-up if derivation is out of scope PR body facts audit grep + package parse

Intake Classification

Ticket reality classification: valid-as-written after contract-ledger backfill, duplicate sweep, ADR 0018 alignment check, and current-source V-B-A. The work remains facts-only; framing changes stay out of scope.

tobiu referenced in commit 8026569 - "fix(identity): converge drifted facts (#12231) (#12245) on May 31, 2026, 12:47 PM
tobiu closed this issue on May 31, 2026, 12:47 PM