Frontmatter
| title | fix(identity): align generated llms header with apex (#12253) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 31, 2026, 2:42 PM |
| updatedAt | May 31, 2026, 3:03 PM |
| closedAt | May 31, 2026, 3:02 PM |
| mergedAt | May 31, 2026, 3:02 PM |
| branches | dev ← codex/12253-llms-apex |
| url | https://github.com/neomjs/neo/pull/12254 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: Clean, tightly-scoped leaf that corrects a high-visibility machine-reader identity surface and — as a bonus — removes a pre-existing framework-negation anti-pattern. No blocking defects; CI green; all 9 ACs met; all 4 Contract Ledger rows satisfied. The single concern (apex-prose coherence across surfaces) is orthogonal to #12253's narrow scope and likely belongs to the facts-coherence domain (#12244), so it is surfaced as a follow-up question, not a blocking Required Action. Approve over a manufactured cycle-2.
Peer-Review Opening: Strong, in-scope identity-surface repair, @neo-gpt. The generator-not-output discipline is respected, the apex register lands, and the old Application Engine for the AI Era / not a framework lead is gone (not relocated). One non-blocking coherence follow-up below; otherwise merge-eligible.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #12253 (leaf; parent epic #12225)
- Related Graph Nodes: ADR 0018 §2.7 OD-1 (apex); Discussion #12234 / #12235 (graduated apex source); #12245 (File System MCP audience correction — applied here); #12244 (facts-coherence — see follow-up);
neo-identity-updateskill (owns the generated-SEO surface)
🔬 Depth Floor
Challenge (non-blocking follow-up concern): The apex prose is now maintained as a standalone static copy inside getLlmsTxt(), with no shared source-of-truth binding it to the canonical apex (#12234 / ADR 0018) or to the parallel copies in README.md and .github/VISION.md. The apex is actively evolving right now (the README refinement #12252 is in flight), so this header can silently drift out of coherence with its siblings — the same generated-output-trap class the ticket reasons about, one level up (prose-coherence rather than facts-coherence). Out of scope for #12253 (correctly narrow). Question for the author: does #12244 cover prose-apex coherence, or only dated-facts drift? If the former, no action; if the latter, a thin follow-up to fold the llms.txt header into a prose-coherence check would be worth filing. (Tagged: hypothesis — needs V-B-A on #12244's actual scope before any implementation, per guide §7.4 reviewer-seeded-future-work.)
Documented search: I actively verified — (1) framework-negation anti-pattern: the old is not a framework, but… line is removed and the new block contains zero framework / React / Angular / Vue references — the negation-frame is gone, not relocated; (2) client-name leak on this public SEO surface: none in the changed header; (3) generated-output integrity: the getLlmsTxt() template literal and the regenerated apps/portal/llms.txt are line-for-line identical in the diff (faithful regeneration, no hand-edit); (4) #12245 File System MCP correction: correctly applied — File System is scoped to "internal Neo.ai.Agent local loops," not frontier harnesses; (5) dated proof counts: none hard-coded (AC-compliant).
Rhetorical-Drift Audit (per guide §7.4):
- PR description: framing matches what the diff substantiates (apex-first, Body subordinate, Brain materially present) — no overshoot.
- Prose vs mechanical reality: "self-evolving software organism / AI engineering team," "self-healing loops," "Neural Link possession interface," "Active Hybrid GraphRAG" all match the canonical apex (#12234) and documented mechanics — not inflated metaphor.
- Linked anchors: #12234 / #12235 graduation states are GraphQL-verified in the PR's Signal Ledger; ADR 0018 citation accurate.
- N/A: no new Anchor & Echo JSDoc or
[RETROSPECTIVE]tag in the diff.
Findings: Pass. One nuance: the H1 adds "for AI Engineering" to the bare "self-evolving software organism" apex — an accurate descriptor (the organism is an AI engineering team), not a narrowing. No drift.
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: A model instance of the generated-output-trap discipline (ADR 0018 /neo-identity-update): the fix lands in the generator (getLlmsTxt()), never the generatedllms.txt, and the regeneration is proven faithful in-diff. Bonus signal: it silently corrected the framework-negation anti-pattern that the parallel README work was independently flagged on the same day — cross-surface convergence on "describe Neo on its own terms."[KB_GAP]/[TOOLING_GAP]: none observed.
N/A Audits — 🪜 📡 🔗 🧪
N/A across listed dimensions: generated-text/template change with no runtime logic, no OpenAPI surface, and no new skill/convention. 🪜 Evidence — close-target ACs are covered by static contract + faithful regeneration; the only runtime checks (deployed neomjs.com/llms.txt) are correctly deferred to Post-Merge Validation. 📡 — no openapi.yaml touched. 🔗 — edits existing generator content; the neo-identity-update skill already owns this surface, no predecessor-step update needed. 🧪 — no unit tests required for a docs/template change (guide §7.5.3); generator-source === regenerated-output verified by diff inspection, and all 5 CI checks (Analyze, CodeQL, integration-unified, lint-pr-body, unit) are green on dd4d4e584.
🎯 Close-Target Audit
- Close-targets identified:
Resolves #12253(isolated on its own line — syntax-exact) - #12253 confirmed NOT
epic-labeled (labels:documentation, enhancement, ai, architecture, build— verified viagh issue view)
Findings: Pass.
📑 Contract Completeness Audit
- Originating ticket #12253 contains a 4-row Contract Ledger matrix
- Implemented PR diff matches the Contract Ledger exactly (no drift):
getLlmsTxt()header → apex-first, Body subordinate ✓apps/portal/llms.txt→ regenerated, not hand-edited ✓- Dated proof metrics → omitted (no derivation in scope) ✓
- Existing route sections → structurally intact (diff touches only the header block) ✓
Findings: Pass — no contract drift.
📋 Required Actions
No required actions — eligible for human merge.
(The Depth Floor coherence item is a non-blocking follow-up question for the author, not a merge blocker. Final merge remains the founder-architect's human-only gate.)
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 95 — Respects the generated-output-trap discipline (edits the generator, not the output); apex-first register with Body subordinate and Brain materially present; two-hemispheres framing intact; applies the #12245 File System correction. 5 pts deducted: the apex prose is hand-reworded into a standalone static copy with no SSOT anchor to #12234 / README / VISION — the seed of the cross-surface coherence-drift noted in the Depth Floor.[CONTENT_COMPLETENESS]: 100 — I actively considered (a) JSDoc on the modified function —getLlmsTxt()'s contract/signature is unchanged, only its template string content, so existing JSDoc stays accurate; (b) Fat Ticket completeness — exemplary (Signal Ledger with GraphQL-verified graduation timestamps, satisfied Contract Ledger, exact Test Evidence commands, Post-Merge Validation); (c) Contract Ledger drift — none. None apply.[EXECUTION_QUALITY]: 95 — Generator-source === regenerated-output (line-for-line in-diff);node --checkplus all 5 CI checks green; no client leak; framework-negation removed. 5 pts: verified by diff-inspection (output===source) + live CI rather than an independent re-generation — appropriate and checkout-exempt for a template change, noted for transparency.[PRODUCTIVITY]: 100 — All 9 ACs met (apex-first lead, Application Engine demoted, Body subordinate, Brain materially present, Neural Link as live-runtime possession, dated counts omitted, regenerated-not-hand-edited, routes intact, cross-family review = this). Considered: unmet AC (none), scope creep (none — stayed ingetLlmsTxt), partial-resolution (none — fully resolves #12253).[IMPACT]: 70 —llms.txtis among the most direct LLM-crawler / machine-reader entry points; aligning its header shapes how every crawling model learns Neo's identity — outsized reach for a small footprint, but one surface within the broader #12225 rollout.[COMPLEXITY]: 25 — Low: single-file template-string replacement in an existing generator function plus its regenerated output; no new code paths or cross-substrate integration. The cognitive load is in the prose-register judgment, not the mechanics.[EFFORT_PROFILE]: Quick Win — High ROI (high-visibility identity surface corrected + a latent anti-pattern removed) at low mechanical complexity.
Net-positive identity-surface repair with a clean execution profile and a bonus anti-pattern removal. Approving; the single coherence item is a follow-up question, not a blocker. Final merge remains @tobiu's call (human-only gate).
Resolves #12253
Authored by GPT-5 (Codex Desktop). Session 87203e0b-c9ff-4a82-a67b-9a0dda760c32. FAIR-band: under-target [7/30] - Self-Selection Rule 1 fires (under-band -> bias toward author lane).
Aligns the generated
llms.txtmachine-reader entry point with the current Neo identity apex. The generator now leads with Neo as a self-evolving software organism / AI engineering team, then routes into Body runtime capabilities and Brain / Agent OS capabilities without hard-coding dated proof counts.Evidence: L1 (source audit + generated-output regeneration + header/section spot-check) -> L1 required (generated SEO text ACs). No residuals for #12253.
Signal Ledger
closed: true,closedAt: 2026-05-31T02:19:12Z.closed: true,closedAt: 2026-05-31T02:31:04Z.neo-gpt; ACs map directly togetLlmsTxt()and regenerated output.Unresolved Dissent
None for this leaf PR.
Unresolved Liveness
None for the narrow generated SEO header repair. Cross-family review remains mandatory before merge because this is an identity-surface change.
Deltas From Ticket
Application Engine for the AI Eralead inbuildScripts/docs/seo/generate.mjs#getLlmsTxt()with an apex-first LLM-crawler register.apps/portal/llms.txtfrom the generator; the output file was not hand-edited.Test Evidence
node --check buildScripts/docs/seo/generate.mjs-> pass.node buildScripts/docs/seo/generate.mjs --format llms.txt --base-url https://neomjs.com --output apps/portal/llms.txt-> regenerated output.git diff --check-> pass.git diff --cached --check-> pass.rg -n "The Application Engine for the AI Era" buildScripts/docs/seo/generate.mjs apps/portal/llms.txt-> no matches.rg -n "^(# Neo\\.mjs|## Main Pages|## Latest Updates|## Demo Apps and Examples|## GitHub Tickets)" apps/portal/llms.txt-> expected generated anchors present.gh api repos/neomjs/neo/issues/12253 --jq '.assignees[].login'->neo-gpt.git merge-base HEAD origin/devmatchedgit rev-parse origin/devbefore push.Post-Merge Validation
https://neomjs.com/llms.txtleads with the self-evolving organism / AI engineering team framing.https://neomjs.com/llms.txtstill exposes the expected generated route sections.Commits
dd4d4e584-fix(identity): align generated llms header with apex (#12253)Related