BUILD LEDGER
CATALOG
Every planned improvement to the site and desks, with an honest status.
600 UPGRADES#
Improvements across the public site and the desks. SHIPPED means built and verified in that build; DEFERRED and REJECTED items give their reason.
600 ITEMSSHIPPED V56 18 · SHIPPED V54 69 · SHIPPED V53 42 · NEXT 308 · DEFERRED 58 · REJECTED 105
A · ACCESSIBILITY#
- A01SHIPPED V53Keyboard focus rings on every link, button and input2px gold outline, offset so it never merges with borders.
- A02SHIPPED V53Skip-to-content link on all content pagesFirst tab stop; targets <main id=main>.
- A03SHIPPED V53Buttons at least 44px tall, nav targets at least 38pxV54 keeps it: A–Z, footer links and phone nav 38px; TOP 44px.
- A04SHIPPED V53Reduced-motion users get no transitions or animations
- A05SHIPPED V53Muted grey raised from ~3:1 to ~6:1 contrast--dimtxt #5c5e54 → #8f8f83.
- A06SHIPPED V54Decorative flow arrows hidden from screen readersHow-it-works no longer reads 'down arrow' seven times.
- A07SHIPPED V54Glossary search announces result counts politelyrole=status: '3 of 40 terms match'.
- A08SHIPPED V54Glossary 'no match' state is spoken and shownPreviously the list silently went empty.
- A09SHIPPED V54Heading anchors carry descriptive aria-labels'Link to 13 · WHAT IS GLIMMER?' instead of '#'.
- A10SHIPPED V54Desk gets a real (visually hidden) h1Screen-reader users land on 'QuadCOM Bitcoin Desk'.
- A11SHIPPED V54Desk honours prefers-reduced-motionAnimations and transitions collapse to zero.
- A12SHIPPED V54Desk explains itself when JavaScript is offnoscript notice instead of a black screen.
- A13SHIPPED V54Deep-link targets are highlighted, not just scrolled to:target border so the eye finds the term.
- A14SHIPPED V54Anchor links visible on touch devicesHover-only reveal replaced by a 55% resting state on hover:none.
- A15NEXTGlossary as a <dl> definition listBetter semantics for term/definition pairs; needs CSS remap.
- A16NEXTLandmark labels for each content gridaria-label on .qc-grid sections for rotor navigation.
- A17NEXTVisible focus order audit across the desk command barEnsure VIEW→PERF→SEED→HALT tab order matches visual order.
- A18NEXTHALT gets aria-pressed and a spoken stateSafety control should announce ARMED/HALTED.
- A19NEXTDesk panel titles become real headings (h2)Rotor navigation between panels.
- A20NEXTLive price announcements rate-limited to 1 per 10saria-live on every tick floods VoiceOver.
- A21NEXTChart gets a text alternative summarising range and last priceCanvas is invisible to assistive tech.
- A22NEXTVISION canvases get an on-demand data tableSame numbers as the render, readable by screen readers.
- A23NEXTColour is never the only carrier of TP/SL meaning in VISIONAdd TP/SL text labels on the ring legend at all tiers.
- A24NEXTForced-colors (Windows high contrast) passBorders and focus must survive system colours.
- A25NEXTGlossary search clear button labelled for ATNative search clear is not announced everywhere.
- A26NEXTLanguage of parts: mark 'Ever Next Phase' tagline as enTrivial, but completes lang semantics.
- A27NEXTZoom to 200% without horizontal scroll on content pagesVerify with browser zoom, fix any fixed widths.
- A28NEXTText-spacing override test (WCAG 1.4.12)Line/letter spacing overrides must not clip panels.
- A29NEXTMotion toggle inside the desk, independent of OS setting
- A30NEXTScreen-reader walkthrough script in READMESo future builds can be re-checked the same way.
- A31DEFERREDDesk pinch-zoomDeferred: V43 decision D02 rejects it for the fixed full-screen cockpit; iOS ignores user-scalable=no anyway.
- A32DEFERREDFull WCAG 2.2 AA audit of the deskNeeds a real VoiceOver/TalkBack session on devices.
- A33DEFERREDCaptions/transcripts for future videoNo video content exists yet.
- A34DEFERREDHaptic cues for HALT/SEEDDeferred per V43 D08: needs severity semantics first.
- A35DEFERREDAudio alarmsDeferred per V43 D07: needs mute behaviour designed first.
- A36REJECTEDAuto-reading every tape tick aloudRejected: overwhelms assistive tech; summarise instead.
- A37REJECTEDHiding the desk from assistive tech entirelyRejected: operators using AT must still reach HALT.
- A38REJECTEDColour-only bull/bear balanceRejected: text values must stay beside the bar.
- A39REJECTEDOverlay accessibility widgetsRejected: third-party overlays add weight and rarely fix real issues.
- A40REJECTEDDisabling focus outlines for aestheticsRejected: keyboard users need them.
B · TYPOGRAPHY & READABILITY#
- B01SHIPPED V53Site type scale raised from 5–9px to 9–17px
- B02SHIPPED V53Search input at 16pxiOS no longer auto-zooms on focus.
- B03SHIPPED V53Paragraph line-height 1.6
- B04SHIPPED V54Balanced wrapping for titles and headingstext-wrap: balance.
- B05SHIPPED V54Pretty wrapping for paragraphsFewer orphans (text-wrap: pretty).
- B06SHIPPED V54Paragraph measure capped at 68chComfortable reading line length.
- B07SHIPPED V54Gold text selection colourSelection stays legible on dark panels.
- B08SHIPPED V54Desk cell labels no longer clipped at the topline-height 1.08 → 1.35; CASH/SIDE/ENTRY now render whole.
- B09SHIPPED V54Print stylesheet: black on white, no chromeLearn and glossary print as readable documents.
- B10NEXTTabular numerals everywhere numbers alignfont-variant-numeric: tabular-nums on metrics.
- B11NEXTUniform letter-spacing tokens (tight/normal/wide)Replace ad-hoc .06/.08/.12/.14/.16em values.
- B12NEXTType tokens as CSS variables (--t-xs … --t-xl)One place to tune the scale.
- B13NEXTMinimum 7px for desk micro-labels on phonesSome ALL-view labels render at 3.5px.
- B14NEXTDesk ALL view: hide lowest-priority micro text instead of shrinking itDensity by omission, not by illegibility.
- B15NEXTConsistent casing policy (caps for labels, sentence case for prose)
- B16NEXTHyphenation for long glossary words on narrow screenshyphens:auto with lang=en.
- B17NEXTUse en/em dashes consistently in copy
- B18NEXTAvoid all-caps paragraphs (only labels are caps)
- B19NEXTHeadline sizes step by a fixed ratio (1.25)
- B20NEXTDifferentiate h2 and h3 in glossary by size, not only colour
- B21NEXTClamp() fluid sizes for kicker and sub on tablets
- B22NEXTLine-height tokens for dense vs prose contexts
- B23NEXTEllipsis tooltips (title=) on truncated desk values'$10,…' should reveal the full value.
- B24NEXTTruncated panel titles get a full-title tooltipe.g. 'MICROSTRUCTURE · A…'.
- B25SHIPPED V56Glossary term highlight of matched text<mark> around the query.
- B26NEXTReadable monospace fallback stack test on WindowsConsolas vs Menlo metrics differ.
- B27NEXTTight-leading audit on every 'small' in the deskSame clipping class as the fixed cell labels.
- B28NEXTNumeric formatting: thin space thousands on wide screensOptional; keep commas on phones.
- B29NEXTCurrency symbol consistency (US$ vs $)Desk mixes both.
- B30NEXTPercent formatting: fixed decimals per field
- B31DEFERREDCustom brand typefaceDeferred: V43 D06 rejects remote fonts; would need a self-hosted licence.
- B32DEFERREDVariable-font optical sizingDepends on a custom typeface.
- B33DEFERREDLocalised number formatsDeferred until the site ships another locale.
- B34DEFERREDRight-to-left supportNo RTL locale planned.
- B35REJECTEDText rendered into imagesRejected: unsearchable, inaccessible, blurry on zoom.
- B36REJECTEDSub-9px body text on public pagesRejected: the V52 defect this catalog started from.
- B37REJECTEDLight-grey-on-black 'luxury' low contrastRejected: fails WCAG contrast.
- B38REJECTEDJustified text on narrow screensRejected: rivers of space in monospace.
- B39REJECTEDRemote font CDNRejected: V43 D06, offline reliability.
- B40REJECTEDAuto-shrinking text to fit panels below legibilityRejected: clip or wrap instead.
C · LAYOUT & RESPONSIVE#
- C01SHIPPED V53Desk on screens ≥900px scales the phone-tuned cockpitNo more 2.5–3px text on desktops.
- C02SHIPPED V53Desk runtime build stamp matches its CSS (52)195 dormant layout/skin rules now apply; views switch again.
- C03SHIPPED V53iPhone landscape header fits all 10 controlsHALT no longer wraps onto a clipped row.
- C04SHIPPED V53iPhone portrait SITE button moved beside the pricePreviously on a hidden third row.
- C05SHIPPED V53Desktop header lays out every visible control
- C06SHIPPED V53Site nav wraps instead of hiding in an invisible scroll strip
- C07SHIPPED V54Narrow phones: nav becomes a tidy 4-column gridReplaces three ragged wrapped rows.
- C08SHIPPED V54Sticky header no longer covers deep-link targetsscroll-padding 96px, 150px on phones.
- C09SHIPPED V54Footer reserves room for the floating TOP button
- C10SHIPPED V54Explicit image dimensions on logo and glyphPrevents layout shift while images load.
- C11NEXTTablet (768–1024) content grid at 2 columnsCurrently jumps from 1 to 3.
- C12NEXTDesk: dedicated tablet portrait layout1024×1366 reuses phone portrait proportions.
- C13NEXTContainer queries for panels instead of viewport queries
- C14NEXTDesk ALL view 'consensus' panel overflowPre-existing since V43; content exceeds its cell.
- C15NEXTSafe-area insets on the site header for landscape iPhones
- C16NEXTMax content width token shared by header and main
- C17NEXTHome: LIVE FIELD panel height matches ENTRY SURFACE on desktop
- C18NEXTHow-it-works flow as a horizontal rail on wide screens
- C19NEXTData page: two-column provenance legend on desktop
- C20NEXTGlossary: two-column term grid on wide screens
- C21NEXTLearn: card numbering visible in a left gutter on desktop
- C22NEXTConsistent 4/8px spacing scale tokens
- C23NEXTRemove !important chains in desk CSS where specificity sufficesNine historical style layers fight each other.
- C24NEXTConsolidate desk style layers V14–V51 into one sheetSame rendered result, far less override debt.
- C25NEXTFoldable/dual-screen posture check
- C26NEXTDesk: remember last view per orientation
- C27NEXTDesk: landscape CORE gives the chart more width on 16:9 desktops
- C28NEXTDesk: FLEET view wall panel minimum width
- C29NEXTDesk desktop scaling: verify in Safari and FirefoxChromium verified; others untested.
- C30NEXTFallback for browsers without CSS zoomFirefox < 126: transform-based scaling.
- C31DEFERREDDesk multi-window layoutsNeeds a layout schema (V43 D10).
- C32DEFERREDUser-reorderable panelsDeferred per V43 D10: durable layout schema and reset path first.
- C33DEFERREDIndividual panel maximisationV43 D11 candidate; needs gesture design.
- C34DEFERREDApple Watch / widget surfacesOut of scope for the web build.
- C35REJECTEDHorizontal panel carouselRejected per V43 D01: swipe ambiguity beside charts.
- C36REJECTEDAuto-rotating viewsRejected per V43 D04: context must not move by itself.
- C37REJECTEDInfinite scroll on content pagesRejected: pages are short and finite.
- C38REJECTEDFixed 1440px desktop canvasRejected: must reflow.
- C39REJECTEDHiding HALT on small screens to save spaceRejected: safety control is always reachable.
- C40REJECTEDPage-level horizontal scrolling on phonesRejected: V43 validation target.
D · NAVIGATION & WAYFINDING#
- D01SHIPPED V54Previous / next page links on every content pageContent-page order; the desk stays one tap away in the nav.
- D02SHIPPED V54Footer navigation row
- D03SHIPPED V54Back-to-top button on long pagesAppears after scrolling ~1.5 screens; hidden otherwise.
- D04SHIPPED V54Deep links to every Learn card#what-is-glimmer etc.; copy on tap.
- D05SHIPPED V54Deep links to every glossary term
- D06SHIPPED V54A–Z jump index on the glossary
- D07SHIPPED V54'/' focuses glossary search from anywhere on the pageHint shown in the placeholder.
- D08SHIPPED V54Esc clears the glossary filter
- D09SHIPPED V54Glossary query kept in the URL (?q=)Shareable, survives reload.
- D10SHIPPED V54Following a deep link to a filtered-out term clears the filter
- D11SHIPPED V54Branded 404 page with routes onwardStatic hosts serve /404.html.
- D12SHIPPED V53Desk SITE button returns to the public site on every layout
- D13NEXTBreadcrumb line under the kicker
- D14NEXT'You are here' in the footer nav
- D15NEXTLearn: in-page table of contents
- D16SHIPPED V56Glossary terms auto-linked from Learn and Data copyFirst mention links to the definition.
- D17NEXTRelated-terms links under each glossary entry
- D18NEXTDesk: '?' opens a keyboard-shortcut sheet
- D19NEXTDesk keyboard shortcuts: V (view), H (halt)HALT shortcut must need confirmation.
- D20NEXTSearch across all pages, not just the glossaryStatic index built at release.
- D21NEXTRecently viewed terms (local only)
- D22NEXTDesk view name in the document title'Bitcoin Desk · VISION · QuadCOM'.
- D23NEXTReturn-to-desk banner on content pages when a desk session is savedLocal state only, clearly labelled.
- D24NEXTDesk: remember the last glossary term an operator opened
- D25NEXTHome: route cards for each audience (operator, curious, technical)
- D26NEXTNav: highlight parent for nested future routes
- D27NEXTAnchor copy confirmation announced to screen readers
- D28NEXTPager shows page purpose, not just its name
- D29SHIPPED V56Footer build link to the upgrade catalog
- D30NEXTConsistent trailing-slash URLs and redirects
- D31DEFERREDsitemap.xmlNeeds the production domain for absolute URLs.
- D32DEFERREDCanonical URLsNeeds the production domain.
- D33DEFERREDVersioned docs per buildNeeds a hosting decision.
- D34DEFERREDMulti-desk routes (/desk/eth/…)Only the Bitcoin desk exists.
- D35DEFERREDAccount areaNo accounts exist; none planned.
- D36REJECTEDMega-menuRejected: seven routes do not need one.
- D37REJECTEDHamburger hiding all routes on phonesRejected: the 4-column grid keeps them visible.
- D38REJECTEDHijacked scrolling / scroll-jacking
- D39REJECTEDModal newsletter prompts
- D40REJECTEDOpening internal links in new tabs
E · CONTENT — LEARN#
- E01SHIPPED V5413 · What is GLIMMER?
- E02SHIPPED V5414 · What is VISION?
- E03SHIPPED V5415 · What does 'inferred' mean?Grounds the PRESSURE label.
- E04NEXT16 · How to read the risk coneP5/P50/P95 and why √time spreads it.
- E05NEXT17 · How to read the trade-odds ring
- E06NEXT18 · What is holdout validation?
- E07NEXT19 · What is overfitting, with the sweep as the example
- E08NEXT20 · What 'effective independent PICOs' tells you
- E09NEXT21 · What the desk does when offline
- E10NEXT22 · What HALT and SEED doOperational semantics, engine-accurate.
- E11NEXT23 · What PERF modes change
- E12NEXT24 · Reading the three desk views
- E13NEXT25 · What the skins are (REGALIA / AURUM / OFF)Ornament only; no data meaning.
- E14NEXTWorked example: one tick from tape to Best Singular Trade
- E15NEXTCommon misreadings box on each carde.g. DIST is not SELL.
- E16NEXT'Observed / derived / inferred / model' tag on every Learn card
- E17NEXTOperator checklist before trusting the Best Singular Trade
- E18NEXTGlossary cross-links in every card
- E19NEXTShort diagram per card (SVG, themed)
- E20NEXTPrintable one-page operator primer
- E21NEXTLearn progress (local) — cards read
- E22NEXTReading-level pass on all copy
- E23NEXTConsistent 'Desk' capitalisation
- E24NEXTCard order: concepts before modes before outputs
- E25NEXTLink each card to the desk panel it explainsDeep link with ?view= where relevant.
- E26NEXTFAQ: why many processors instead of one model
- E27NEXTFAQ: why no live values on public pages
- E28NEXTFAQ: what the Crown is not
- E29SHIPPED V56Explain CFD100 and 100:1 labels seen in the desk brand line
- E30NEXTExplain INT RMSE and PIV in the trade panel header
- E31DEFERREDVideo walkthroughsNo recording pipeline yet.
- E32DEFERREDInteractive tutorial overlay on the deskNeeds stable selectors across builds.
- E33DEFERREDQuizzes / certificationNo accounts.
- E34DEFERREDTranslated Learn pagesNo locale planned.
- E35DEFERREDHistorical case studiesNeeds archived real data with provenance.
- E36REJECTEDPerformance claims or return figuresRejected: nothing on public pages may be fabricated.
- E37REJECTED'Guaranteed' or predictive marketing language
- E38REJECTEDTestimonialsRejected: unverifiable.
- E39REJECTEDScreenshots presented as liveRejected: QA frames must be labelled as such.
- E40REJECTEDGamified streaksRejected: not an operator tool.
F · CONTENT — GLOSSARY#
- F01SHIPPED V54Sorted A–ZV52 listed ACC before ABSORB.
- F02SHIPPED V54GLIMMER
- F03SHIPPED V54VISION
- F04SHIPPED V54ENVELOPE
- F05SHIPPED V54PRESSURE (INFERRED)
- F06SHIPPED V54HOLDOUT
- F07SHIPPED V54WEBGPUExplicitly not native Metal.
- F08SHIPPED V54P0–P3
- F09SHIPPED V54EFFECTIVE INDEPENDENT PICOS
- F10SHIPPED V56RISK CONE
- F11SHIPPED V56TRADE ODDS
- F12NEXTSHARPE (HOLDOUT)
- F13SHIPPED V56BOOTSTRAP
- F14SHIPPED V56CALIBRATION (GLIMMER)Backend must match the JS reference.
- F15SHIPPED V56BACKEND
- F16SHIPPED V56TIER (VISION)
- F17NEXTREGALIA
- F18NEXTAURUM
- F19NEXTHALT
- F20NEXTSEED
- F21NEXTPERF
- F22NEXTVPIN
- F23NEXTTOXICITY
- F24NEXTBOOK SLOPE
- F25NEXTQUEUE IMBALANCE
- F26NEXTPIVOT HORIZON
- F27NEXTINTEGRITYEngine-defined; say so.
- F28SHIPPED V56CFD100
- F29NEXTPronunciation / expansion for every acronym
- F30NEXT'See also' links between terms
- F31NEXTClass tag (observed/derived/inferred/model) on every term
- F32DEFERREDGlossary API (JSON)Needs a hosting decision; trivial to emit at build time later.
- F33DEFERREDTerm history (which build introduced it)Needs release tooling.
- F34REJECTEDDefinitions that restate the termRejected: every entry must add information.
- F35REJECTEDTrading advice inside definitions
- F36REJECTEDInventing exact formulas the engine does not exposeRejected: 'engine-defined' is the honest answer.
- F37REJECTEDHiding engine-defined caveats to look authoritative
- F38REJECTEDAuto-generated definitions without review
- F39REJECTEDPop-up definitions that cover the desk
- F40REJECTEDCrowd-edited glossaryRejected: terminology must match the engine.
G · CONTENT — HOW IT WORKS & DATA PROVENANCE#
- G01SHIPPED V54Data: 05 · GLIMMER compute output classModel output; calibrated against the JS reference.
- G02SHIPPED V54Offline page states that nothing offline is live
- G03NEXTHow-it-works: add GLIMMER as a side-rail beside the processor field
- G04NEXTHow-it-works: mark where VISION reads from
- G05NEXTFlow nodes linked to their glossary terms
- G06NEXTData: per-field provenance table for every desk panel
- G07NEXTData: feed fallback order explained (WS → REST → last known)
- G08NEXTData: what 'RT FALLBACK' in the desk header means
- G09NEXTData: history-gap handling (UNRESOLVED / PARTIAL / COMPLETE)
- G10SHIPPED V56Data: storage — what stays on the device and what never leaves
- G11NEXTData: how long local state is kept
- G12NEXTData: clearing local desk state safely
- G13NEXTProvenance colours identical across Data, How-it-works and desk
- G14NEXTProvenance tag component reused on every page
- G15NEXTShow the observation boundary in the desk itself
- G16NEXTExplain simulated vs real positions explicitlyPaper/lesson positions vs fleet books.
- G17NEXTExplain 'CALIBRATING' / 'WARMING' states
- G18NEXTExplain STALE results after resume
- G19NEXTDocument exchange sources the desk connects to
- G20NEXTDocument what happens when sources disagree
- G21NEXTData page: 'last reviewed' build stamp
- G22NEXTProvenance diagram as accessible SVG
- G23NEXTWorked provenance example: ATR from raw ticks
- G24NEXTWorked provenance example: Crown change
- G25NEXTWorked provenance example: GLIMMER trade odds
- G26NEXTCaveats section: known limitations per class
- G27SHIPPED V56Link the upgrade catalog from the Data page
- G28DEFERREDLive feed-age widget on public pagesDeferred: needs a public data service; must not be simulated.
- G29DEFERREDPublic status pageNeeds hosting/monitoring.
- G30DEFERREDThird-party data attribution pageNeeds final data-source contracts.
- G31DEFERREDAudit log exportNeeds an engine API.
- G32REJECTEDShowing example live values on public pagesRejected: the site's founding rule.
- G33REJECTEDLatency or uptime claims without measurement
- G34REJECTEDBlurring observed and model output for simplicity
- G35REJECTEDMarketing-style accuracy percentages
- G36REJECTEDHiding fallback state from operators
- G37REJECTEDCalling inferred values 'readings'
- G38REJECTEDClaiming native Metal / hardware accessRejected: WebGPU only.
- G39REJECTEDTemperature or wattage displaysRejected: not exposed to web pages.
- G40REJECTEDSilent data backfill presented as live
H · VISUAL IDENTITY & SKIN#
- H01SHIPPED V53REGALIA skin installed site-wideCorners, mandala watermark, filigree, carbon and brushed-gold buttons.
- H02SHIPPED V53Single texture location (/assets/textures) for site and desk
- H03SHIPPED V53Logo no longer sits in a black boxmix-blend-mode: lighten.
- H04SHIPPED V54Mandala watermark scaled down and pushed off text150px, anchored past the corner.
- H05SHIPPED V54Anchor '#' marks styled in dim gold
- H06SHIPPED V54Target highlight in hot gold
- H07NEXTTransparent logo PNG instead of blend-modeRemoves a compositing layer.
- H08NEXTSVG logo for crisp rendering at every size
- H09NEXTSkin toggle on public pages (currently desk-only)
- H10NEXTAURUM variant for public pages
- H11NEXTPaint mandala layers beneath the dark gradientGuarantees skin never touches text contrast.
- H12NEXTWebP/AVIF texture variantsSmaller downloads; PNG fallback.
- H13NEXTTexture preload on the desk route only
- H14NEXTConsistent corner size tokens (site 20px, desk 18px)
- H15NEXTBrand colour tokens shared between site and desk CSS
- H16NEXTFocus ring colour as a token
- H17NEXTPanel elevation tokens
- H18NEXTDark-mode-only declared (color-scheme: dark) on desk too
- H19NEXTTheme-color per route
- H20NEXTFavicon SVG with dark/light variants
- H21NEXTOpen Graph image (1200×630) in brand styleNeeds absolute URL → see SEO.
- H22NEXTPrint logo variant
- H23NEXTHome: entry glyph gets the mandala as a halo
- H24NEXTIcon set for provenance classes
- H25NEXTUnified button component across site and desk
- H26NEXTDesk badge 'V51' vs build 54Visible desk wording: awaiting owner approval.
- H27DEFERREDCustom illustration setNeeds an illustrator/brief.
- H28DEFERREDMotion identity (logo reveal)Must respect V43 D03 and reduced motion.
- H29DEFERREDLight themeBrand is dark-native; needs full token pass first.
- H30DEFERREDSeasonal skinsLow value until the token system exists.
- H31REJECTEDConstant animated glowRejected per V43 D03: OLED contrast and frame stability.
- H32REJECTEDTextures inside the chart fieldRejected: data ink stays on black.
- H33REJECTEDNeon gradients behind numbers
- H34REJECTEDSkeuomorphic bevels on every control
- H35REJECTEDAutoplaying background video
- H36REJECTEDParallax on content pages
- H37REJECTEDStock imagery
- H38REJECTEDBrand name of the reference skin anywhereRejected by owner instruction.
- H39REJECTEDWatermarks over data values
- H40REJECTEDHeavy drop shadows that blur panel edges
I · SITE ↔ DESK INTEGRATION#
- I01SHIPPED V53GLIMMER modules installed in the deskV52 referenced them but shipped without them.
- I02SHIPPED V53VISION view renders instead of an empty panel
- I03SHIPPED V53Desk uses the site's single service workerIts ./sw.js registration pointed at a missing file.
- I04SHIPPED V53Desk icons, splash images and manifest resolveAll 404 in V52.
- I05SHIPPED V53Desk tab title 'Bitcoin Desk · QuadCOM'Was a lone '❖'.
- I06SHIPPED V53Desk texture base configurable (data-qc-texture-base)glimmer-vision.js works in any folder.
- I07SHIPPED V53Absolute GLIMMER script pathsNo dependency on a trailing-slash redirect.
- I08SHIPPED V53Removed name purged from desk OPFS file namesWrite-only files; no data lost.
- I09SHIPPED V54Glossary defines GLIMMER, VISION, ENVELOPE, PRESSURE, P0–P3, HOLDOUT and WEBGPUTelemetry rows such as WORKERS and FRAME are next (see F).
- I10SHIPPED V54Learn explains GLIMMER, VISION and 'inferred'
- I11NEXTDesk panel titles link to their glossary term (long-press)
- I12NEXT'?' on any desk panel opens the matching Learn card
- I13NEXTPublic pages show 'last desk session on this device: n min ago'Local timestamp only; no values.
- I14NEXTShared skin preference between site and deskSite honours OFF; add AURUM.
- I15NEXTDesk ?view= links from Learn cards
- I16NEXTDesk remembers it was opened from a Learn card and offers a way back
- I17NEXTOne shared CSS token file for site and desk
- I18NEXTOne source for glimmer*.js (build copies from quadcom/)Today they are byte-identical copies.
- I19NEXTRelease script that stamps the same build number everywhere
- I20NEXTDesk visual-audit results published to a QA page at release
- I21NEXTSite pages lint that fails on any removed/forbidden word
- I22NEXTDesk exposes a read-only JSON of its public-safe state for the siteNeeds an explicit whitelist.
- I23NEXTDesk handles /desk/bitcoin (no slash) gracefullyHost redirect or a tiny index shim.
- I24NEXTDesk error states link to the Data page explanation
- I25NEXTSingle manifest shared by site and desk (done) — add desk shortcut icon
- I26NEXTSite footer shows desk build alongside site build
- I27NEXTConsistent HALT semantics documented on both sides
- I28NEXTGlossary search from inside the desk
- I29NEXTDesk diagnostics console link to the catalog
- I30NEXTDeep-link to VISION from GLIMMER glossary term
- I31DEFERREDServer-side desk state syncBrowser-owned state is policy (V43 D09).
- I32DEFERREDCross-device desk handoffNeeds accounts/sync; conflicts with local-first policy.
- I33DEFERREDEmbedding the desk in content pagesNeeds a lightweight read-only renderer.
- I34DEFERREDDesk notifications to the siteNeeds a push service.
- I35REJECTEDPublic pages reading the desk's full local stateRejected: 2000-PICO state is megabytes; privacy by default.
- I36REJECTEDShowing desk values on public pages as liveRejected: provenance rule.
- I37REJECTEDTwo service workers fighting over scopeRejected: the V52 defect fixed in V53.
- I38REJECTEDiframe-embedding the desk on the home pageRejected: doubles runtime cost.
- I39REJECTEDTracking pixels to link site and desk sessions
- I40REJECTEDForcing the desk to open on site entry
J · DESK UX#
- J01SHIPPED V53All four views switch correctly againThe '43'/'52' stamp mismatch disabled them.
- J02SHIPPED V53No header controls clipped on iPhone portrait or landscape
- J03SHIPPED V53No header controls clipped on desktop
- J04SHIPPED V54Cell labels no longer clipped
- J05SHIPPED V54Reduced-motion support
- J06SHIPPED V54noscript explanation
- J07NEXTHALT confirmation state visible at a glance (colour + text)
- J08NEXTVIEW button shows the next view, not only the current one
- J09NEXTLong-press VIEW to pick a view directly
- J10NEXTPERF mode explained in a tooltip
- J11NEXTSEED confirmation to avoid accidental reseeding
- J12NEXTEmpty-chart state explains 'waiting for feed' instead of blank black
- J13NEXTPrice freshness indicator next to the price (age in s)Observed field; honest.
- J14NEXTALL view: tap a panel to focus it
- J15NEXTFLEET view: search a PICO by number
- J16NEXTLeaderboard: sticky header row
- J17NEXTTrade panel: copy levels to clipboard
- J18NEXTHorizon rail labels readable at 390px
- J19NEXTStress matrix axes labelled
- J20NEXTScenario cube axes labelled
- J21NEXTMicrostructure bars get min/max markers
- J22NEXTConsistent '—' for unknown values
- J23NEXT'ENGINE ERR' badge links to diagnostics
- J24NEXTOrientation change keeps scroll/selection
- J25NEXTResume banner after long background: 'data from n min ago'
- J26NEXTOperator notes (local) per session
- J27NEXTUndo last SEED within 5 seconds
- J28NEXTKeyboard control for every command
- J29NEXTDiagnostics console readable (currently 5px)
- J30NEXT'consensus' panel overflow in landscape ALLPre-existing since V43.
- J31DEFERREDReplay scrubberV43 D12 candidate; needs history controls.
- J32SHIPPED V56Multi-asset deskBitcoin, Dogecoin, XRP and Litecoin desks generated from one engine; state isolated per desk.
- J33DEFERREDOrder routingOut of scope: the desk is interpretive.
- J34DEFERREDAlertsNeeds D07/D08 semantics first.
- J35REJECTEDOne-tap real trading from the Best Singular TradeRejected: interpretive output is not an order ticket.
- J36REJECTEDHiding risk panels to simplifyRejected: loss control is core.
- J37REJECTEDConfetti or celebratory animation on wins
- J38REJECTEDSound on every tick
- J39REJECTEDAuto-SEED on load
- J40REJECTEDPinch-zoom cockpitRejected per V43 D02.
K · GLIMMER & VISION#
- K01SHIPPED V53GLIMMER live in the public desk
- K02SHIPPED V53VISION renders (WebGPU → WebGL2 → Canvas 2D)
- K03SHIPPED V53GLIMMER header rule yields to device-tuned iPhone layouts
- K04NEXTVISION data-table fallback for screen readers
- K05NEXTVISION export as PNG (local download)
- K06NEXTRisk cone: show the observed price path overlaid
- K07NEXTTrade odds: show how odds change with horizon
- K08NEXTHoldout map: axis tick labels
- K09NEXTFleet independence: highlight the most crowded PICO
- K10NEXTGLIMMER sheet: explain each row inline
- K11NEXTGLIMMER: persist calibration results per device
- K12NEXTGLIMMER: expose results to the Data page on this device only
- K13NEXTWebGPU canvas presentation: retry after browser updateCurrently banned per session after an early loss.
- K14NEXTVISION tier override (operator can force MED)
- K15NEXTGLIMMER budget graph (last 60 s)Shows envelope and use; browser-observable only.
- K16NEXTSweep: confidence band on holdout Sharpe
- K17NEXTCone: coverage progress indicator
- K18NEXTOdds: stale marker when trade changes
- K19NEXTCorrelation: cluster view of crowded PICOs
- K20NEXTWorker pool size shown with reason (reserve policy)
- K21NEXTUnit tests for kernels in CI (node)JS reference kernels are pure functions.
- K22NEXTGolden-image tests for VISION shadersOffscreen WGSL + GLSL render compared per build.
- K23NEXTGLIMMER telemetry export (JSON download)
- K24NEXTBudget respects Low Power Mode heuristics
- K25NEXTVISION colour-blind palette option
- K26NEXTCone horizons configurable (15m/1h/4h/24h)
- K27NEXTGLIMMER docs page on the public site
- K28NEXTCompute Pressure API support where availableAlready read; surface it in VISION tier choice.
- K29DEFERREDWebNN accelerationNot broadly available; must be feature-detected first.
- K30DEFERREDWebGPU on the ambient/wall renderersWall/ambient are WebGL2; migrate only with measured wins.
- K31DEFERREDSharedArrayBuffer data path for workersNeeds COOP/COEP on the production host.
- K32DEFERREDReal-device iPhone benchmark tableNeeds devices.
- K33REJECTEDFake GPU utilisation %Rejected: not exposed by browsers.
- K34REJECTEDTemperature readoutsRejected: never fabricated.
- K35REJECTEDRunning compute while hiddenRejected: suspends on visibility change.
- K36REJECTEDBurning cycles to raise utilisation numbersRejected: work must produce value.
- K37REJECTEDClaiming native Metal accessRejected: WebGPU only.
- K38REJECTEDConstant shimmer animationRejected: brief reveal only.
- K39REJECTEDDisabling calibration for speedRejected: correctness first.
- K40REJECTEDUnbounded worker countRejected: reserve for browser and OS.
L · PERFORMANCE#
- L01SHIPPED V53Service worker caches only good same-origin responses
- L02SHIPPED V54Stale-while-revalidate for assetsDeploys reach returning visitors on the next load.
- L03SHIPPED V54decoding=async on site-page imagesDesk images are next.
- L04SHIPPED V54Image dimensions prevent layout shift on site pagesDesk images are next.
- L05NEXTCompress textures (mandala 110KB → WebP ~35KB)
- L06SHIPPED V56Resize logo PNG for its display sizes (632KB source)Site pages use 96px (5KB) and 640px copies; the desk keeps the source.
- L07NEXTPreconnect hints for exchange endpoints on the desk route
- L08NEXTDesk inline CSS split: critical vs deferred
- L09NEXTRemove dead style layers from the deskHundreds of overridden rules.
- L10NEXTLazy-load VISION module until the view is opened
- L11NEXTContent-visibility: auto for glossary terms
- L12NEXTFont-display irrelevant (system fonts) — document it
- L13NEXTHTTP caching headers guide for the host
- L14NEXTBrotli pre-compression at release
- L15NEXTBudget: home page < 200KB transferred
- L16NEXTBudget: desk first render < 1.5s on iPhone 13
- L17NEXTMeasure INP on the desk command bar
- L18NEXTThrottle desk DOM writes when hidden (already) — document
- L19NEXTAvoid layout thrash in desk render loopBatch reads/writes.
- L20NEXTOffscreenCanvas for the price chart
- L21NEXTIdle-time prefetch of Learn from Home
- L22NEXTModule preload for glimmer.js
- L23NEXTTrim unused glossary JS on other pages
- L24NEXTSize-limit check in release script
- L25NEXTLighthouse CI on each build
- L26NEXTAvoid backdrop-filter on low-end devices
- L27NEXTReduce box-shadow layers on desk panels
- L28NEXTTexture sprites to cut requests
- L29DEFERREDHTTP/3 and CDNHosting decision.
- L30DEFERREDEdge caching of the desk shellHosting decision.
- L31DEFERREDReal-user monitoringNeeds a privacy-respecting service.
- L32REJECTEDThird-party analytics scriptsRejected: weight and privacy.
- L33REJECTEDInlining every texture as base64Rejected: defeats caching.
- L34REJECTEDMinifying away all comments in sourceRejected: repo stays readable; minify at release only.
- L35REJECTEDPreloading every route on first visitRejected: wasteful on mobile data.
- L36REJECTEDRemoving the service worker to 'avoid staleness'Rejected: fixed properly instead.
- L37REJECTEDFramework rewriteRejected per V43 D05.
- L38REJECTEDWeb font for icons
- L39REJECTEDPolling APIs faster than they update
- L40REJECTEDAutoplay media
M · OFFLINE, PWA & RELIABILITY#
- M01SHIPPED V53One missing file no longer aborts service-worker install
- M02SHIPPED V53Offline navigation ignores query strings?view= desk links open offline.
- M03SHIPPED V53Redirected responses are never cached
- M04SHIPPED V53Manifest splits 'any' and 'maskable' iconsV52 declared one icon as both.
- M05SHIPPED V54Honest offline page for unvisited routesInstead of silently showing Home.
- M06SHIPPED V54404 and offline pages precached
- M07SHIPPED V54App shortcuts: Desk, Glossary, Learn
- M08SHIPPED V54Cache name bumped to v54
- M09NEXT'Update available — reload' toast when a new worker waits
- M10NEXTOffline indicator in the site header
- M11NEXTBackground sync for queued desk checkpoints
- M12NEXTStorage quota warning in the desk
- M13NEXTPersistent storage request explained to the user
- M14NEXTManifest screenshots for richer install UI
- M15NEXTManifest id/scope audit after hosting move
- M16NEXTClear-site-data button on the Data page
- M17NEXTOffline page lists cached routes
- M18NEXTVersioned asset URLs at release
- M19NEXTService worker unit tests (fetch routing)
- M20NEXTNavigation preload
- M21NEXTPeriodic cache cleanup of stale entries
- M22NEXTHandle desk launch from the home-screen with stale shell
- M23NEXTError boundary around GLIMMER initAlready graceful; add a visible note.
- M24NEXTRecovery link when OPFS is unavailable
- M25NEXTTest in iOS standalone mode after each build
- M26NEXTTest Android install + maskable icon crop
- M27NEXTTest offline after 7 days (iOS eviction)
- M28NEXTExport/import desk state file
- M29DEFERREDPush notificationsNeeds a server and consent design.
- M30DEFERREDPeriodic background syncLimited browser support.
- M31DEFERREDWeb Share TargetNo sharing use case yet.
- M32DEFERREDFile handling (open .qc files)No file format defined.
- M33REJECTEDPretending to be live while offlineRejected: provenance.
- M34REJECTEDCaching error pages
- M35REJECTEDTwo workers with overlapping scope
- M36REJECTEDInfinite retry loops on failed fetches
- M37REJECTEDSilent data loss on eviction
- M38REJECTEDForcing install prompts
- M39REJECTEDBackground compute when the app is hidden
- M40REJECTEDClearing user state on update
N · SEO, SHARING & METADATA#
- N01SHIPPED V53Meta description on every page
- N02SHIPPED V53Favicons and apple-touch-icon on every page
- N03SHIPPED V54Open Graph title/description/type/site_name
- N04SHIPPED V54Twitter summary card
- N05SHIPPED V54robots.txt
- N06SHIPPED V54Build 54 stamped in every footer
- N07NEXTUnique, specific descriptions per Learn card when deep-linked
- N08NEXTTitle pattern: page · QuadCOM (consistent casing)
- N09NEXTStructured data: WebSite + DefinedTermSet for the glossary
- N10NEXThreflang when locales exist
- N11NEXTAlt text review for every image
- N12NEXTHuman-readable URLs for Learn cards
- N13NEXTShare button on glossary terms (Web Share API)
- N14NEXTShort link format for terms (/g/atr)
- N15NEXTHumans.txt / credits
- N16NEXTsecurity.txtNeeds a contact address.
- N17NEXTRSS/Atom for build notes
- N18NEXTChangelog page
- N19SHIPPED V56Upgrade catalog published as a page/catalog/ renders both catalogs with search and a status filter.
- N20SHIPPED V56noindex on offline/404 pages
- N21NEXTDescriptive link text audit (no 'click here')
- N22NEXTHeading outline audit per page
- N23NEXTMeta theme-color matches header per route
- N24NEXTApple web-app title per route
- N25NEXTTwitter/OG image alt text
- N26NEXTConsistent brand casing in titles (QuadCOM vs QUADCOM)
- N27SHIPPED V56Remove duplicate titles (Home and QuadCOM pages share one)
- N28NEXTSemantic time elements for build dates
- N29DEFERREDsitemap.xmlNeeds the production domain.
- N30DEFERREDCanonical link tagsNeeds the production domain.
- N31DEFERREDog:image / og:urlMust be absolute URLs; needs the domain.
- N32DEFERREDSearch Console / verification tagsNeeds the domain and owner accounts.
- N33REJECTEDKeyword stuffing
- N34REJECTEDHidden text for crawlers
- N35REJECTEDAuto-generated doorway pages per term
- N36REJECTEDTracking parameters on internal links
- N37REJECTEDFake review/rating markup
- N38REJECTEDClickbait titles
- N39REJECTEDCloaking
- N40REJECTEDBuying links
O · QUALITY, SECURITY & RELEASE#
- O01SHIPPED V53Review-agent gate before every export
- O02SHIPPED V53Route crawl (7 routes × phone/desktop): no 404s, no errors
- O03SHIPPED V53Desk visual audit across 4 views × 2 orientations
- O04SHIPPED V54Crawl extended to 404 and offline pagestools/qa/crawl.mjs
- O05SHIPPED V54Offline behaviour verified with the server stoppedtools/qa/offline.mjs: visited routes, desk with query, unvisited → offline page.
- O06SHIPPED V54Glossary behaviour tests (filter, count, /, Esc, ?q=, deep link)tools/qa/glossary.mjs
- O07SHIPPED V54This 600-item catalog with honest statuses
- O08SHIPPED V54Catalog generator validates 15 areas × 40 items
- O09NEXTContent-Security-Policy for content pagesPages use only same-origin scripts; inline skin script needs a hash.
- O10NEXTCSP for the deskNeeds inventory of exchange endpoints and blob workers.
- O11NEXTSubresource hashes for external resourcesNone today; keep it that way.
- O12NEXTReferrer-Policy: strict-origin-when-cross-origin
- O13NEXTPermissions-Policy (camera, mic, geolocation off)
- O14NEXTX-Content-Type-Options nosniff guidance for host
- O15NEXTHTML validation in the release script
- O16NEXTLink checker in the release script
- O17NEXTForbidden-word check in the release script
- O18NEXTAutomated screenshot diff per route
- O19NEXTDesk visual audit in CI (headless)
- O20NEXTGLIMMER kernel parity tests in CI
- O21NEXTVISION golden images in CI
- O22NEXTRelease notes generated from the catalog
- O23NEXTSemantic build numbers shared site/desk
- O24NEXTSingle source of truth for version strings
- O25NEXTDependency-free policy documented
- O26NEXTAccessibility smoke test in CI (axe-core, local only)
- O27SHIPPED V54Desk visual audit ignores decorative aria-hidden overlaysThe brand/dataRiver collision reported since V43 was a false positive.
- O28NEXTDesk crash recovery test (kill tab mid-save)
- O29NEXTTest matrix: Safari iOS, Chrome Android, Safari/Chrome/Firefox desktop
- O30NEXTThreat model for local storage contents
- O31DEFERREDBug bountyNeeds an owner process.
- O32DEFERREDPen testNeeds production hosting.
- O33DEFERREDSOC-style controlsNo backend.
- O34REJECTEDShipping without a review gate
- O35REJECTEDDisabling tests to go green
- O36REJECTEDSecrets in the repository
- O37REJECTEDeval() or remote code in pages
- O38REJECTEDThird-party scripts without review
- O39REJECTEDForce-pushing shared history without owner instruction
- O40REJECTEDMarking unverified work as shipped
200 APP COMPONENTS#
Reusable app components for the site and the desks, in ten families of twenty.
200 ITEMSSHIPPED V56 7 · SHIPPED V55 28 · NEXT 112 · DEFERRED 23 · REJECTED 30
NV · NAVIGATION#
- NV01SHIPPED V55Bottom tab bar (phones)HOME · LEARN · DESK · GLOSSARY · MORE; icon + label, gold active state, 52px targets, safe-area aware.
- NV02SHIPPED V55Raised centre action (DESK orb)Brushed-gold quad-diamond orb lifted out of the bar; the primary destination.
- NV03SHIPPED V55Header compaction on phonesThe 4-column header nav hands over to the tab bar; the header shrinks from 127px to 39px.
- NV04SHIPPED V55MORE overflow sheetHolds How it works, QuadCOM, Data and the Desk with one-line descriptions.
- NV05SHIPPED V55No-JS fallback for MOREWithout JavaScript the MORE tab jumps to the footer, which lists every route.
- NV06SHIPPED V55Complete footer route listHome and QuadCOM added, so the fallback is exhaustive.
- NV07NEXTIcon-only compact tab bar variantFor landscape phones where labels crowd; labels stay as accessible names.
- NV08NEXTTab badge (dot) for new contentOnly for real, local events (a new build); never invented counts.
- NV09SHIPPED V56Tab re-tap scrolls to topTapping the active tab returns the page to its top.
- NV10NEXTTab bar hides on scroll down, returns on scroll upNeeds care so HALT-style controls never hide; site only.
- NV11NEXTBreadcrumb chip row under the title
- NV12NEXTSection jump chips (sticky) on long pagesGlossary letters as a horizontal chip rail.
- NV13NEXTDesk: bottom view switcher (CORE · FLEET · ALL · VISION)Replaces the cycling VIEW button on phones; needs a desk layout pass.
- NV14NEXTDesk: swipe between viewsOnly with an explicit edge gesture; V43 D01 rejects ambiguous swipes beside charts.
- NV15NEXTCommand palette (⌘K) on desktopRoutes, glossary terms and desk views.
- NV16NEXTKeyboard shortcut overlay ('?')
- NV17DEFERREDTab bar inside the deskDeferred: the desk is a full-screen cockpit with its own command bar and SITE button.
- NV18DEFERREDDeep-link router for desk panelsNeeds stable panel ids across builds.
- NV19REJECTEDHamburger drawer hiding every routeRejected: the tab bar keeps primary routes visible.
- NV20REJECTEDMore than five tabsRejected: labels become unreadable at 390px.
SH · SHEETS & OVERLAYS#
- SH01SHIPPED V55Bottom sheet (modal)role=dialog, aria-modal, labelled title, rounded top, grab handle.
- SH02SHIPPED V55Focus trap in sheetsTab and Shift+Tab stay inside; the unchecked radio is skipped correctly.
- SH03SHIPPED V55Esc, backdrop tap and close button dismissFocus returns to the control that opened the sheet.
- SH04SHIPPED V55Drag-to-dismissDrag the handle or header down past 80px to close.
- SH05SHIPPED V55Scroll lock while a sheet is open
- SH06SHIPPED V55Reduced motion: sheets appear without sliding
- SH07NEXTDetents (half / full height)
- SH08SHIPPED V56Glossary term preview sheet from any pageTap an underlined term in Learn, How it works, QuadCOM or Data to read its definition in place.
- SH09NEXTLearn card quick-look sheet
- SH10NEXTShare sheet (Web Share API) with copy fallback
- SH11NEXTConfirm sheet for destructive desk actions (SEED, clear state)
- SH12NEXTDesk panel info sheet (what this panel is, its data class)Observed / derived / inferred / model tag.
- SH13NEXTPopover for truncated desk values
- SH14NEXTTooltip component (hover + long-press)
- SH15NEXTFull-screen dialog for the upgrade catalogSearchable.
- SH16DEFERREDNested sheetsDeferred until a flow needs them; stacking hurts orientation.
- SH17DEFERREDPicture-in-picture desk mini-viewBrowser support and battery cost unclear.
- SH18REJECTEDModal on page loadRejected: interrupts before the reader acts.
- SH19REJECTEDSheets that cannot be dismissed
- SH20REJECTEDNewsletter or install prompts in sheetsRejected: no dark patterns.
FB · FEEDBACK & STATUS#
- FB01SHIPPED V55Toast systemPolite live region, icon + text + optional action, auto-dismiss, max three.
- FB02SHIPPED V55Duplicate-toast guardFlapping network events cannot stack identical messages.
- FB03SHIPPED V55Link-copied toastReplaces the inline COPIED text on anchor links.
- FB04SHIPPED V55Offline / back-online toasts'Offline · saved pages still open; nothing shown is live'.
- FB05SHIPPED V55New-build toast with RELOAD actionShown when an updated service worker takes over; never force-reloads.
- FB06SHIPPED V55Skin change toast
- FB07SHIPPED V55Reading-progress strip2px gold strip on the header edge; only on pages longer than 1.5 screens.
- FB08NEXTPersistent offline chip in the header
- FB09NEXTSkeleton loaders for the desk's first paint
- FB10NEXTInline form validation for the glossary search (e.g. too-short queries)
- FB11NEXTEmpty-state illustrations (glossary no-match, offline)Brand line art from the icon set.
- FB12NEXTProgress ring for GLIMMER calibration in the desk
- FB13NEXTDesk: feed-state pill (LIVE · FALLBACK · OFFLINE) with ageObserved state only.
- FB14NEXTUndo toast after SEEDFive-second window.
- FB15NEXTError banner component with a Data-page link
- FB16NEXTHaptics on supported devicesPairs with V43 D08 once severity semantics exist.
- FB17DEFERREDPush notificationsNeeds a server and a consent design.
- FB18DEFERREDSound cuesV43 D07: mute behaviour first.
- FB19REJECTEDFake 'live users' or activity toastsRejected: fabricated social proof.
- FB20REJECTEDToasts that steal focusRejected: the live region announces without moving focus.
IN · INPUTS & CONTROLS#
- IN01SHIPPED V55Segmented control (radiogroup)REGALIA / OFF skin; arrow keys move and select; roving tabindex.
- IN02SHIPPED V55Icon button (44px)Used for sheet close.
- IN03NEXTSearch field with clear button and result countUpgrade of the V54 glossary search into a reusable component.
- IN04NEXTToggle switch component
- IN05NEXTChip filter group (glossary by class: QuadCOM / conventional)Needs a class on every term first.
- IN06NEXTStepper (desk horizon selection)
- IN07NEXTSlider with live value (VISION tier override)
- IN08NEXTLong-press menu on desk controls
- IN09NEXTPull-to-refresh on content pagesOnly reloads static content; never implies live data.
- IN10NEXTCopy button component (levels, links)
- IN11NEXTDisclosure (accordion) for Learn FAQs
- IN12NEXTTabs component inside panels (desk ALL view sub-tabs)
- IN13NEXTDate/time display component with relative age
- IN14NEXTKeyboard-shortcut hint component (kbd)
- IN15NEXTRadio card list (choose a Learn path)
- IN16DEFERREDVoice input for searchBrowser support and privacy review first.
- IN17DEFERREDCustom select replacing native selectNative is more accessible until a need appears.
- IN18REJECTEDSwipe-to-trade gesturesRejected: interpretive output is not an order ticket.
- IN19REJECTEDHold-to-confirm on HALTRejected: HALT must be instant.
- IN20REJECTEDCustom scrollbars that hide overflow cues
DD · DATA DISPLAY#
- DD01NEXTStat tile (label, value, provenance tag)Shared by site and desk.
- DD02NEXTProvenance tag chip (OBSERVED · DERIVED · INFERRED · MODEL)Already styled on the Data page; make it a component.
- DD03NEXTSparkline component (desk champion NAV)
- DD04NEXTMini gauge (odds ring) reused from VISION
- DD05NEXTHorizon rail component
- DD06NEXTLeaderboard row component with rank delta
- DD07NEXTDefinition card (glossary term) component
- DD08NEXTTimeline component (build notes)
- DD09NEXTDiff badge (value up/down) with colour + arrow + text
- DD10NEXTHeat cell component (holdout map) with tooltip
- DD11NEXTTwo-column key/value list (Data page)
- DD12NEXTResponsive table with sticky first column
- DD13NEXTNumber formatter (US$ vs $, decimals per field)
- DD14NEXTRelative-time formatter ('3 min ago')
- DD15NEXTEmpty value glyph ('—') component
- DD16DEFERREDLive price ticker on public pagesDeferred: needs a public data service; must never be simulated.
- DD17DEFERREDEmbeddable desk widgets for other sitesNeeds a read-only public API.
- DD18REJECTEDPrice-strip widget with a fabricated valueRejected: the 'Sell Wheat 2,20 £' pattern cannot show a real value on public pages.
- DD19REJECTEDP&L counters on the home pageRejected: no fabricated live values.
- DD20REJECTED3D chartsRejected: distort quantities.
MK · MARKET & DESK WIDGETS#
- MK01NEXTTrade ticket card (SIDE · ENTRY · SL · TP) as a reusable componentRead-only interpretation, labelled as model output.
- MK02NEXTOrder-book depth ladder component
- MK03NEXTRisk meter (correlated risk / cap)
- MK04NEXTCrown card (top PicoProcessor)
- MK05NEXTFleet balance bar (bull / bear) with numbers
- MK06NEXTRegime badge
- MK07NEXTToxicity / VPIN pill
- MK08NEXTScenario matrix cell
- MK09NEXTHorizon progress (short / medium / long)
- MK10NEXTFeed-age indicator next to the priceObserved; shows seconds since last tick.
- MK11NEXTSession summary card (local, end of session)
- MK12NEXTGLIMMER status chip (backend · envelope · pressure)Exists in the desk; extract as a component.
- MK13NEXTVISION thumbnail card (links into the view)
- MK14NEXTPicoProcessor detail sheet
- MK15DEFERREDAlerts builderNeeds V43 D07/D08 semantics.
- MK16SHIPPED V56Multi-asset switcherPortrait desk bar (BTC · DOGE · XRP · LTC · DESKS) plus the /desk/ hub.
- MK17DEFERREDPortfolio across devicesLocal-first policy (V43 D09).
- MK18REJECTEDBuy/Sell buttons wired to an exchangeRejected: out of scope; the desk is interpretive.
- MK19REJECTEDLeverage sliderRejected: not a brokerage.
- MK20REJECTEDSocial trading feedRejected: unverifiable and off-mission.
SY · SYSTEM & PLATFORM#
- SY01SHIPPED V55Icon set (SVG sprite, 15 symbols)One file, currentColor, 24px grid; includes the QuadCOM quad-diamond desk mark.
- SY02SHIPPED V55Service-worker update listenerAnnounces a new controller; the page is never swapped without consent.
- SY03SHIPPED V55Icon sprite precached for offline
- SY04NEXTInstall prompt card (only after two visits, dismissible forever)
- SY05SHIPPED V56Storage usage card on the Data page
- SY06NEXTClear-local-data control with confirm sheet
- SY07NEXTTheme-color sync with sheet open (darker status bar)
- SY08NEXTStandalone-mode detection adjusts header (no duplicate chrome)
- SY09NEXTOrientation hint for the desk on portrait tablets
- SY10NEXTShare target (receive links into glossary search)
- SY11NEXTApp badge (navigator.setAppBadge) for a new build
- SY12NEXTScreen wake lock while the desk is open (opt-in)
- SY13NEXTIdle detection pauses GLIMMER workComplements visibility handling.
- SY14SHIPPED V56Offline route list componentThe offline page lists the routes this device has saved.
- SY15DEFERREDBackground sync of desk checkpointsLimited support; needs a server.
- SY16DEFERREDWeb NFC / Bluetooth integrationsNo use case.
- SY17DEFERREDHome-screen widgetsNot available to web apps.
- SY18REJECTEDFingerprinting for analyticsRejected: privacy.
- SY19REJECTEDForced update reloadsRejected: announce and let the reader choose.
- SY20REJECTEDSilent background compute when hiddenRejected: GLIMMER suspends.
LR · LEARNING & ONBOARDING#
- LR01NEXTFirst-visit tour of the tab bar (three steps, skippable)
- LR02NEXTDesk coach marks (one per panel, opt-in)
- LR03NEXTLearn path cards (Operator · Curious · Technical)
- LR04NEXTProgress checklist for the Learn cards (local)
- LR05SHIPPED V56Term-of-the-day card on Home (from the glossary)Static rotation, no live data.
- LR06SHIPPED V56Inline glossary highlights in Learn/Data copy
- LR07NEXTWorked-example stepper (tick → trade)
- LR08NEXTQuiz card (local, no accounts)
- LR09NEXT'What changed' card after an update
- LR10NEXTPrintable operator primer component
- LR11NEXTVideo/diagram card with transcript
- LR12NEXTProvenance explainer micro-card on desk panels
- LR13DEFERREDGuided desk tutorial modeNeeds stable desk selectors.
- LR14DEFERREDCertificationNo accounts.
- LR15DEFERREDLocalised onboardingNo locale planned.
- LR16REJECTEDGamified streaksRejected: not an operator tool.
- LR17REJECTEDMandatory onboardingRejected: always skippable.
- LR18REJECTEDOnboarding that fakes a trading sessionRejected: no fabricated values.
- LR19REJECTEDPop-up hints on every visit
- LR20REJECTEDOnboarding that hides HALT
BR · BRAND & MEDIA#
- BR01SHIPPED V55Brushed-gold action orbUses the AURUM brushed texture; falls back to a gradient with the skin off.
- BR02SHIPPED V55Filigree top edge on the tab bar (REGALIA)Ornament only; removed with the skin off.
- BR03NEXTAnimated mark on the orb for a new build (single pulse, reduced-motion aware)
- BR04NEXTSVG logo component (replaces the 632KB PNG)
- BR05NEXTSection divider component (filigree band)
- BR06NEXTCard corner ornament component (site + desk)
- BR07NEXTProvenance icons (observed, derived, inferred, model)
- BR08NEXTEmpty-state line art set
- BR09NEXTOG image template (needs a domain)
- BR10NEXTSplash screens for all current iPhone sizes
- BR11NEXTMaskable icon review on Android launchers
- BR12NEXTMonochrome icon for iOS tinted home screens
- BR13NEXTBrand motion tokens (durations, easings)
- BR14NEXTSkin preview thumbnails in the skin control
- BR15DEFERREDIllustrated hero for HomeNeeds an illustrator.
- BR16DEFERREDSound identityV43 D07.
- BR17DEFERREDSeasonal skinsAfter the token system.
- BR18REJECTEDConstant glow on the orbRejected: V43 D03.
- BR19REJECTEDBrand name of the reference skinRejected by owner instruction.
- BR20REJECTEDStock photography
LY · LAYOUT PRIMITIVES#
- LY01SHIPPED V55Safe-area-aware fixed bottom regionTab bar, TOP button and toasts clear the home indicator.
- LY02SHIPPED V55Stacking order for fixed layersTab bar 40, sheet 60, toasts 70; the TOP button sits above the tab bar.
- LY03NEXTStack / cluster / grid primitives as CSS utilities
- LY04NEXTContainer-query card primitive
- LY05NEXTSticky sub-header primitive
- LY06NEXTSplit view (list + detail) for tablets
- LY07NEXTMasonry-free two-column content grid
- LY08NEXTAspect-ratio media frame
- LY09NEXTSpacing tokens (4/8/12/16/24/32)
- LY10NEXTRadius tokens (sheet 14, control 9, card 0)
- LY11NEXTElevation tokens for fixed layers
- LY12NEXTZ-index token map documented
- LY13NEXTPrint layout primitives
- LY14NEXTLandscape phone layout for content pages
- LY15NEXTFoldable hinge-aware layout
- LY16DEFERREDDesk layout schema for user-arranged panelsV43 D10.
- LY17DEFERREDMulti-window deskNeeds the layout schema.
- LY18REJECTEDFixed-height pages that clip content
- LY19REJECTEDHorizontal page scroll on phonesRejected: V43 validation target.
- LY20REJECTEDLayout depending on JavaScript to be readableRejected: every page reads without JS.