Context
Found during the v13.2 release rehearsal (#14800, cut list item 8). All four Portal example registries open with the "Dock Layouts" card (id 28, examples/dashboard/choreography) at index 0 with hidden: true. #17436 release-gated it that way on 2026-08-20.
The Problem
#17436's plan was to flip the card when the Pages release contains the app. At that time an hourly Data Sync deletion-synced apps/portal/resources/data/** into neomjs/pages, so a flip on dev reached neomjs.com within the hour. Gating the card protected the live 13.1 site from a link to an app it did not serve.
That sync is gone:
neomjs/pages' last chore(data): Sync data and content from neo repo commit is 1847ca65b (2026-08-31);
- no workflow in
neomjs/neo references neomjs/pages any more.
The registries now reach neomjs.com only inside the release package, which a pages deploy installs. If 13.2.0 ships the card hidden, the 13.2 site hides the app the release notes lead with (🧩 Dock Layouts). It stays hidden until 13.3.
Measured 2026-10-06 on the live 13.1 site: examples/dashboard/choreography/index.html returns 200, and its dist/development, dist/esm and dist/production builds return 404. The 13.2.0 rehearsal package carries the app's source, and the rehearsed pages build produced all three dist builds.
The Architectural Reality
- Design authority: #17436's ledger row "DockDemo card … hidden on v13.1 …
hidden: true … four runtime URLs return 404 before v13.2", and its Fix: "Flip visibility only when the corresponding Pages release contains the app". TabContainerController.spec.mjs pins the gated state with the message "DockDemo stays top-ranked for the v13.2 reveal".
Portal.model.Example#hidden is Boolean; Portal.view.examples.List#isHiddenItem() keeps hidden cards out of the DOM.
- The four registries:
apps/portal/resources/data/examples_{devmode,dist_dev,dist_esm,dist_prod}.json.
The Fix
Drop "hidden": true from the Dock Layouts row in all four registries. Turn the spec arm around: Dock Layouts is the first card shown and DevIndex stays visible. The PR merges right before the cut, beside neo #19423. That keeps the reveal inside the 13.2.0 package, so no other path that reads dev can show the card earlier.
Acceptance Criteria
Out of Scope
- Any other hidden row in the registries.
- The card's image or description.
Related
#17436 (the gate), #14800 (13.2 cut list), #14790 (launch playbook), #17416 (deployed read).
Live latest-open sweep: checked the latest 20 open issues at 2026-10-06T11:24:12Z; no equivalent found.
A2A claim sweep: last 30 messages (all read-states); no overlapping claim.
MC sweep: "Dock Layouts card hidden registry reveal v13.2 DockDemo hidden examples_dist_prod data sync pages", plus a second phrasing in #17436's own terms; both returned only session-init boilerplate, so recall gave no evidence either way. The artifact trail above (#17436, the spec, pages history) is the record.
Own-assignment sweep: 3 open (#19418, #15000, #14800); none overlapping.
Origin Session ID: 40a3c119-6419-4e87-9248-002c686708fe
Context
Found during the v13.2 release rehearsal (#14800, cut list item 8). All four Portal example registries open with the "Dock Layouts" card (id 28,
examples/dashboard/choreography) at index 0 withhidden: true. #17436 release-gated it that way on 2026-08-20.The Problem
#17436's plan was to flip the card when the Pages release contains the app. At that time an hourly Data Sync deletion-synced
apps/portal/resources/data/**intoneomjs/pages, so a flip ondevreached neomjs.com within the hour. Gating the card protected the live 13.1 site from a link to an app it did not serve.That sync is gone:
neomjs/pages' lastchore(data): Sync data and content from neo repocommit is1847ca65b(2026-08-31);neomjs/neoreferencesneomjs/pagesany more.The registries now reach neomjs.com only inside the release package, which a pages deploy installs. If 13.2.0 ships the card hidden, the 13.2 site hides the app the release notes lead with (🧩 Dock Layouts). It stays hidden until 13.3.
Measured 2026-10-06 on the live 13.1 site:
examples/dashboard/choreography/index.htmlreturns 200, and itsdist/development,dist/esmanddist/productionbuilds return 404. The 13.2.0 rehearsal package carries the app's source, and the rehearsed pages build produced all threedistbuilds.The Architectural Reality
hidden: true… four runtime URLs return 404 before v13.2", and its Fix: "Flip visibility only when the corresponding Pages release contains the app".TabContainerController.spec.mjspins the gated state with the message "DockDemo stays top-ranked for the v13.2 reveal".Portal.model.Example#hiddenis Boolean;Portal.view.examples.List#isHiddenItem()keeps hidden cards out of the DOM.apps/portal/resources/data/examples_{devmode,dist_dev,dist_esm,dist_prod}.json.The Fix
Drop
"hidden": truefrom the Dock Layouts row in all four registries. Turn the spec arm around: Dock Layouts is the first card shown and DevIndex stays visible. The PR merges right before the cut, beside neo #19423. That keeps the reveal inside the 13.2.0 package, so no other path that readsdevcan show the card earlier.Acceptance Criteria
hiddenflag. The other rows are unchanged.dev.Out of Scope
Related
#17436 (the gate), #14800 (13.2 cut list), #14790 (launch playbook), #17416 (deployed read).
Live latest-open sweep: checked the latest 20 open issues at 2026-10-06T11:24:12Z; no equivalent found. A2A claim sweep: last 30 messages (all read-states); no overlapping claim. MC sweep: "Dock Layouts card hidden registry reveal v13.2 DockDemo hidden examples_dist_prod data sync pages", plus a second phrasing in #17436's own terms; both returned only session-init boilerplate, so recall gave no evidence either way. The artifact trail above (#17436, the spec, pages history) is the record. Own-assignment sweep: 3 open (#19418, #15000, #14800); none overlapping.
Origin Session ID: 40a3c119-6419-4e87-9248-002c686708fe