TemplatesU0 · Shell
U0 · order 1 of 24 · host fable

Shell: CRM GroupedRail + SISO tokens (the one shell)

every page family below · 1 shell · 18 Library routes · 24 atlas pages · 10 front doors

builtorder 1host fableprojectsissue #41
00

The page, rendered

this template composed from real data, inside the CRM shell

Open it full size: /t/U0/example/ · data: example.json · schema.json

01

Why this template exists

his words · the reading · the ceilings
  1. His words 0

    verbatim, from 00_AGENT_ZERO/source/ — never paraphrased

    No verbatim source on this page.
  2. Reading authored by the seat

    His 13:09 to LIBRARY-ZERO: 'you're not using our size of crm side nav, which is Specifically what I told you to do'; 16:50: 'not all of them have side nav so they're connected'; 18:19: 'the side nav is a bit shit'. One shell is what makes 60+ pages across 10 repos and 6 pages.dev sites feel like one place.

    Readers. Human: orient, jump between families, collapse it and read. Agent: the rail's link data is the site map; Cmd-K search is the same map as text.

    1. Where am I in the ecosystem?
    2. What are the sibling pages?
    3. Which section of this page do I want?
  3. What this page may claim

    Claim ceilingMay assert only what the link data says exists; every destination must return 200 or be marked private.
    Data it rendersA link JSON per site (groups → destinations → status chip); built at publish; the rail reads it, never hand-edited HTML.
    PrivacyPublic; private destinations show a lock chip, never a payload.
    Empty stateNo JS: the page still reads; the rail is absent, nav.top remains.
    Agent entrysiso-shell/shell.mjs rail({groups}) · atlas/crm-rail.js (port v2)
02

Content contract

his twelve, 18:19; '—' means this family carries nothing there
1 · title

brand block: site name + subtitle

2 · subtitle

3 · paragraph

4 · mind map

the grouped destinations are the map

5 · repos

6 · research

7 · docs

8 · progress

9 · agents

10 · timeline

11 · docs over_time

12 · own nav

group 'On this page' from the page's anchors

03

Sections, in order · where it lives

  1. 1
    brand block
  2. 2
    groups: Now / Plan / Readings / Outside (atlas) · Library / Research / Agents / Projects / Estate (Library)
  3. 3
    compact icons
  4. 4
    search (Cmd-K)
  5. 5
    collapse handle
  6. 6
    current-page marker
Lives at
siso-shell repo (public) as plain HTML/CSS/JS; atlas/crm-rail.{css,js} is the first port (AGENT-ZERO, 17:05, Luna rail-port)
Instances
every page family below
Count
1 shell · 18 Library routes · 24 atlas pages · 10 front doors
Renders
SISOCRM product-app GroupedRail.tsx/.css + tokens.css (hashes in briefs/LIBRARY-UI-FABLE.md): grouped nav, compact mode keeps the destination map, 20px collapsed handle, [ toggles, Cmd-K search, persisted preference; tokens: --siso-bg #202020, --siso-orange #FFA726 brand, --siso-gradient-brand 135° red→orange, semantic accents today/tasks/health/focus/reflect/danger, Geist
Theme
tokens.css verbatim; the CRM gradient as the one brand gradient; his 'color streams' = the six semantic accents used per section (Research=focus blue, Agents=reflect violet, Projects=today orange, Clients=tasks amber, Health/estate=health green, Blocked=danger rose)
Rail
is the rail
Needs
Links out
every family
Links in
every family
04

What to rob

presentation only; licences kept

From the Action Model sites (built from real data)

system-map registry rail: grouped sections with counts and LIVE/PARTIAL/RESEARCH_ONLY chips, ⌘K 'Search registry', footer 'REGISTRY 256 PAGES'
blueprint: numbered links, [ toggle navigation, collapse chevron
block-runtime: 'On this page' grid

Components, exact locations (Luna inventory)

ComponentWhereRendersHowQuality
Actionist grouped registry railsystem-map/nav.js:74-123,125-174; system-map/nav.css:27-177page-registry.json sections/pages, status, descriptions and route IDsCopy nav.js/nav.css and feed a registry JSON with sections and pages.good — complete persistent grouped navigation and active-route state
Command palettesystem-map/nav.js:157-171,192-257; system-map/nav.css:183-200Registry page title, description, section, ID and keywords filtered by queryCopy the palette DOM/event handlers and point REGISTRY_URL at the Great Library route registry.good — keyboard navigation, mouse selection, escape close, and command shortcut
Collapsed rail handlesystem-map/nav.js:40-48,165-173; system-map/nav.css:161-179; blueprint/assets/shell.js:1-19; blueprint/assets/shell.css:1-19Only shell state; preserves destination marks while hiding labelsCopy the toggle plus localStorage preference and bind it to the Library grouped rail.good — compact mode retains route affordances and keyboard toggle
Mobile nav drawer/backdropsystem-map/nav.js:136-155,176-189; system-map/nav.css:202-232Same registry routes as desktop rail with mobile open/close stateCopy mobile button, backdrop, and responsive CSS; reuse the same registry renderer.good — responsive drawer has explicit close semantics and backdrop

From the 21st.dev bank (his picks, his notes)

notifications-menu
banging notifications menu, a really good one. We need a good notifications menu and this is a side one so it doesn't take up much spaceShaan · ui-bank note

Rob this notifications-menu composition for shell: crm groupedrail + siso tokens (the one shell).

apple-spotlight
oh my gosh this apple spotlight is beautiful. Use it for search or something. We already have something like that for search but this is really coolShaan · ui-bank note

Rob this apple-spotlight composition for shell: crm groupedrail + siso tokens (the one shell).

agent-plan
drop-down agent plan, might be useful. We've done a really nice onboarding dropdown and our UI is better, but the way this component works is maybe slightly betterShaan · ui-bank note

Rob this agent-plan composition for shell: crm groupedrail + siso tokens (the one shell).

popover
profile selector popover, pop it in a profile thing / settings. We need one of that for the operatorShaan · ui-bank note

Rob this popover composition for shell: crm groupedrail + siso tokens (the one shell).

action-dropdown
this drop down is quite cool, action drop downShaan · ui-bank note

Rob this action-dropdown composition for shell: crm groupedrail + siso tokens (the one shell).

Bank gaps: mind map not covered by shell · exact CRM GroupedRail behavior needs bespoke port

05

Done when

facts have a receipt; the rest is proposal
fact · has a receiptproposal · not yet
Template templates/U0/template.html composes parts; example.json is real data.https://github.com/sisodias/siso-shell/tree/main/templates/U0
Done when: Open https://great-library-of-siso.pages.dev/ and /industries/law_firms/ and http://127.0.0.1:8890/atlas/ and see the same grouped rail: press [ and it collapses to a 20px handle on all three; press Cmd-K and a search box filters the destinations/t/U0/example/
State on 6 Sep 18:36 (plan): atlas: porting now. Library: siso-shell ships its own siso-rail (forest gradient, flat list, no groups) on 6 of 18 routes; 0 GroupedRail ports anywhere (REVIEW-ZERO grep)plan/templates.json status field
Gap T-2 (atlas/GAPS-2026-09-06.html)open gap
Limits
  • Counts on this page come from plan/templates.json (6 Sep 18:36), not from a live registry query.
  • 'Built' means the template folder exists and renders; the done-when line is the acceptance.