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
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.
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-updateskill'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.htmlld+json:version: 11.18.0→ should trackpackage.json(12.1.0);releaseNotes+ citation likewise stale.apps/portal/index.htmlld+json:softwareRequirements: "Node.js 18+"→ actual floor is higher (verify;.github/AI_QUICK_START.mdsays "20+", also stale)..gemini/settings.template.json, index.html ld+json + FAQ, llms.txt header) — correct = 5 functional (excludeshared/infra + thegitlab-workflow/PoC).AGENTS.mdself-contradiction: one line says "3 evolving pillars", another "four co-load-bearing pillars".ROADMAP.md: "Thirteen formalized agent skills" → actual is higher (verify vials -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.mjsdoes not bump the ld+jsonversion), 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
Out of Scope
Related
neo-identity-updateskill · Model: ADR 0018Origin Session ID: 94a91ebc-d325-4d32-a746-4ff8c26c0342 Retrieval Hint: "drifted identity facts ld+json version node mcp count pillars skill count"
Contract Ledger Matrix
package.jsonversionpackage.jsonpackage.jsonengines.nodepackage.jsonengines.nodeneo-identity-updatefacts ledger (excludeshared/infra andgitlab-workflow/PoC)apps/portal/index.htmlld+jsonAGENTS.mdROADMAP.md.agents/skills/*/directory countfind .agents/skills -maxdepth 1 -type dcountlearn/agentos/NeuralLink.mdfactsIntake Classification
Ticket reality classification:
valid-as-writtenafter 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.