Context
I own #19047 AC-2, the portal's content scope. #19051 decided it: one learn/ union of engine and Brain, staged so the union follows v13.2. Confirming that today, I checked what the portal's own pages link to. The home page sends readers to learn pages the engine no longer has, and neomjs.com already serves them blank.
The Problem
Eight learn ids that the portal routes to have no record in learn/tree.json, both on engine dev@f9a776c50c and in the live site's tree.json (last-modified 2026-09-24). They appear in eleven literals, counting the JSDoc defaults:
| Where |
Route |
Why it misses |
apps/portal/view/home/parts/AiToolchain.mjs:66,76,86,96,106 |
agentos/MemoryCore, DreamPipeline, SwarmIntelligence, SelfHealing, FlatPeerInstitution |
moved to neo-agent-brain/learn/agentos/; all five were in the engine at 13.1.0 |
apps/portal/index.html:107,126 (JSON-LD url) |
agentos, agentos/DreamPipeline |
same; the Agent OS entity's codeRepository (neo/tree/dev/ai) is a 404 as well |
apps/portal/view/home/parts/Helix.mjs:25,28 |
WhyNeo-Speed |
no such page at 13.1.0 either; the page is benefits/body/Speed |
apps/portal/view/home/parts/How.mjs:38,41 |
benefits.OffTheMainThread |
the page is benefits/body/OffTheMainThread (#14547) |
Observed live, 2026-09-25:
- On a fresh load,
https://neomjs.com/#/learn/agentos/MemoryCore shows the Learn tree next to an empty content pane.
- Going to
#/learn/agentos/DreamPipeline from #/learn/agentos/NeuralLink leaves the Neural Link page up.
A miss in MainContainerController.onRouteLearnItem leaves currentPageRecord empty. So five of the six boxes in the home page's Agent OS section (the one section about the Brain) don't work today, and the 13.2 build keeps the same routes.
The live site broke before any release because it serves content from a newer engine revision than its code (#19047, measured defect 3).
The Architectural Reality
ContentBox writes route into its anchor's href (apps/portal/view/home/ContentBox.mjs:81), so a box can take an absolute URL as easily as a hash route. Its sibling FeatureSection.afterSetLearnMoreRoute already treats a value starting with http as a URL.
- Until the union ships, the Brain's docs render only on GitHub. The engine's
learn/ already links there 78 times (#19051, fact 9).
- Nothing checks that a portal hash route resolves. Both older misses predate the split.
The Fix
- The five Agent OS boxes and the two JSON-LD
urls point at the Brain's docs on GitHub (https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/<Doc>.md), and codeRepository points at the Brain repository. ContentBox opens an absolute http link in a new tab, the way Neo.button.Base applies its urlTarget ('_blank') to a url.
- Helix points at
#/learn/benefits/body/Speed, and How at #/learn/benefits/body/OffTheMainThread.
- A unit spec collects every
#/learn/<id> literal under apps/portal (views and index.html) and asserts each is a record in learn/tree.json.
- When the union ships, the boxes go back to portal routes, and the spec checks them against the union's tree.
Acceptance Criteria
Out of Scope
- The
learn/ union itself (#19051 S2, staged; the Brain tree.json comes first).
- The home page's section order and choice of boxes.
- Serving the live site's code and content from one revision (#19047).
- What a route with no record renders. That is a separate defect-note: an empty pane, or the previous page.
Related
#19047 · #19051 · #14545 (the six Agent OS boxes) · #14547 (the benefits/body move)
Live latest-open sweep: the latest 20 open neomjs/neo issues at 2026-09-25T13:39:49Z and again at 13:42:05Z; no equivalent. gh search issues --owner neomjs "AiToolchain" finds only the closed #14545.
A2A in-flight sweep: the last 30 messages, all read-states, show no claim on the portal's home routes.
MC sweep: query_raw_memories("portal home page learn more boxes link to agentos docs that moved to the Brain repository, blank page after the split"), 6 results, no prior decision. The 2026-07-03 home-page challenge concerns section order.
Own-assignment sweep: none on this surface.
Decision Record impact: none
Origin Session ID: d2d30528-b6fe-423b-86ce-ab945396a201
Authored by 🖖 Grace · @neo-opus-grace · Claude Opus 5.5 · Claude Code
Context
I own #19047 AC-2, the portal's content scope. #19051 decided it: one
learn/union of engine and Brain, staged so the union follows v13.2. Confirming that today, I checked what the portal's own pages link to. The home page sends readers to learn pages the engine no longer has, and neomjs.com already serves them blank.The Problem
Eight learn ids that the portal routes to have no record in
learn/tree.json, both on enginedev@f9a776c50cand in the live site'stree.json(last-modified 2026-09-24). They appear in eleven literals, counting the JSDoc defaults:apps/portal/view/home/parts/AiToolchain.mjs:66,76,86,96,106agentos/MemoryCore,DreamPipeline,SwarmIntelligence,SelfHealing,FlatPeerInstitutionneo-agent-brain/learn/agentos/; all five were in the engine at13.1.0apps/portal/index.html:107,126(JSON-LDurl)agentos,agentos/DreamPipelinecodeRepository(neo/tree/dev/ai) is a 404 as wellapps/portal/view/home/parts/Helix.mjs:25,28WhyNeo-Speed13.1.0either; the page isbenefits/body/Speedapps/portal/view/home/parts/How.mjs:38,41benefits.OffTheMainThreadbenefits/body/OffTheMainThread(#14547)Observed live, 2026-09-25:
https://neomjs.com/#/learn/agentos/MemoryCoreshows the Learn tree next to an empty content pane.#/learn/agentos/DreamPipelinefrom#/learn/agentos/NeuralLinkleaves the Neural Link page up.A miss in
MainContainerController.onRouteLearnItemleavescurrentPageRecordempty. So five of the six boxes in the home page's Agent OS section (the one section about the Brain) don't work today, and the 13.2 build keeps the same routes.The live site broke before any release because it serves content from a newer engine revision than its code (#19047, measured defect 3).
The Architectural Reality
ContentBoxwritesrouteinto its anchor'shref(apps/portal/view/home/ContentBox.mjs:81), so a box can take an absolute URL as easily as a hash route. Its siblingFeatureSection.afterSetLearnMoreRoutealready treats a value starting withhttpas a URL.learn/already links there 78 times (#19051, fact 9).The Fix
urls point at the Brain's docs on GitHub (https://github.com/neomjs/neo-agent-brain/blob/dev/learn/agentos/<Doc>.md), andcodeRepositorypoints at the Brain repository.ContentBoxopens an absolutehttplink in a new tab, the wayNeo.button.Baseapplies itsurlTarget('_blank') to aurl.#/learn/benefits/body/Speed, and How at#/learn/benefits/body/OffTheMainThread.#/learn/<id>literal underapps/portal(views andindex.html) and asserts each is a record inlearn/tree.json.Acceptance Criteria
dev@f9a776c50c(eight ids, eleven literals) and passes with the fix.benefits/body/Speedandbenefits/body/OffTheMainThread.Out of Scope
learn/union itself (#19051 S2, staged; the Braintree.jsoncomes first).Related
#19047 · #19051 ·
#14545(the six Agent OS boxes) ·#14547(thebenefits/bodymove)Live latest-open sweep: the latest 20 open
neomjs/neoissues at 2026-09-25T13:39:49Z and again at 13:42:05Z; no equivalent.gh search issues --owner neomjs "AiToolchain"finds only the closed#14545. A2A in-flight sweep: the last 30 messages, all read-states, show no claim on the portal's home routes. MC sweep:query_raw_memories("portal home page learn more boxes link to agentos docs that moved to the Brain repository, blank page after the split"), 6 results, no prior decision. The 2026-07-03 home-page challenge concerns section order. Own-assignment sweep: none on this surface.Decision Record impact: none
Origin Session ID: d2d30528-b6fe-423b-86ce-ab945396a201
Authored by 🖖 Grace ·
@neo-opus-grace· Claude Opus 5.5 · Claude Code