Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

one-kit-on-every-surface — Code, charts, controls, embeds and shell blocks are one kit on every surface, declared in the design book and held there by a gate

A reader meets one code block, one chart, one copy control, one tab control and one shell block, whichever surface they are on: the site, /ui, the Cockpit or the docs. Each is declared once in the design book with its tokens, and a gate fails the change that renders one another way, so the kit stays one as the surfaces grow.

PLÁNOVÁNO 0 z 8 úkolů hotovo

připraveno
2
blokováno
6
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

A survey of master 91c0b5d5658 on 2026-10-20 found each kind of rendered element made several ways. Code is highlighted only on the site (ayu themes, not design tokens); /ui and the Cockpit render plain pre. Charts are drawn by four mechanisms, and only the site's are held to a table. Copy buttons and tabs exist in two implementations each on the site and in none on /ui and the Cockpit. Shell blocks are three styles on the site and bare code on /ui. docs/DESIGN_SYSTEM.md says nothing about syntax highlighting, and no gate refuses a second way of drawing any of them.

Výsledek

A reader meets one code block, one chart, one copy control, one tab control and one shell block, whichever surface they are on: the site, /ui, the Cockpit or the docs. Each is declared once in the design book with its tokens, and a gate fails the change that renders one another way, so the kit stays one as the surfaces grow.

Aktuální stav

Code: I2747 (PR #1294) gives one engine, giallo, and one token-derived palette with a highlighter-check gate, revived after the owner's decision of 2026-10-20. Charts: site/charts.js draws from the page's table; the kit chart and the /ui donut have no table; I2654 holds the site's charts to their tables. Controls: Alpine and kit.js copy and tabs on the site, none on /ui and the Cockpit, and interaction-probe drives the site only. Embeds: none found; Mermaid on the site only. Shells: terminal-run.html, the kit's term_* and plain fences on the site; code.mj-ui-mono reproduce lines on /ui.

Cílový stav

docs/DESIGN_SYSTEM.md carries one section per element kind, naming its mechanism, its tokens and the gate that holds it. Code goes through I2747 everywhere. Every chart is drawn from a table on its page. One copy control and one tab control, kit.js's dependency-free ones, ship to every surface, and interaction-probe drives them on /ui and the Cockpit as on the site. A surface links to another and never embeds it. One shell primitive (prompt not copied, status in words, long output folded) renders every command and its output.

Rozsah

  • docs/DESIGN_SYSTEM.md
  • share/design
  • share/ui
  • share/cockpit
  • site/templates
  • site/kit.js
  • site/charts.js
  • apps/majordomus-cli/src/ui
  • apps/majordomus-cli/src/cockpit
  • scripts/lib/ui-audit.mjs
  • scripts/interaction-probe
  • scripts/lib/interaction-specs
  • scripts/ci/design-check
  • test/cases

Mimo rozsah

  • Rustdoc's own highlighting and themes, which rustdoc owns; it stays excluded from the audit as it is today
  • New chart types or new controls: this milestone makes the existing ones one kit

Kritéria přijetí

  • The design book has a section for code, charts, controls, embeds and shell blocks, each naming its mechanism, tokens and gate
  • For each element kind a planted second implementation on any surface fails a gate that names it
  • The site, /ui and the Cockpit pass every one of those gates on master, and the published site is deployed from that master

Validace

  • bin/majordomus plan validate
  • scripts/ci/design-check
  • node scripts/ui audit

Požadované důkazy

  • one_kit_gates_case

Rizika

  • giallo builds Oniguruma from C on every release target (I2747): the release matrix must prove it before #1294 lands

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I3790 BLOKOVÁNO 1 I2747 The design book declares one mechanism, its tokens and its gate for code, charts, controls, embeds and shell blocks
I3791 BLOKOVÁNO 1 I2747 A code block on /ui and the Cockpit carries the one highlighter's classes, and the audit refuses one that does not
I3792 BLOKOVÁNO 2 I2654 Every chart on every surface is drawn from a table on its page
I3793 PŘIPRAVENO 0 — One copy control and one tab control ship to every surface
I3794 BLOKOVÁNO 1 I3793 The interaction probe drives the controls of /ui and the Cockpit as it drives the site's
I3795 PŘIPRAVENO 0 — A surface links to another surface and never embeds it
I3796 BLOKOVÁNO 1 I3793 Every command and its output is one shell block, on every surface
I3797 BLOKOVÁNO 2 I3796 A command shown outside the shell block is refused by the audit

Graf

one-kit-on-every-surface dependency graphz .ai/repo/project
flowchart LR
    I3790["I3790<br/>The design book declares one mechanism, its tokens and its gate for code, charts, controls, embeds and shell blocks"]:::blocked
    I3791["I3791<br/>A code block on /ui and the Cockpit carries the one highlighter's classes, and the audit refuses one that does not"]:::blocked
    I3792["I3792<br/>Every chart on every surface is drawn from a table on its page"]:::blocked
    I3793["I3793<br/>One copy control and one tab control ship to every surface"]:::ready
    I3794["I3794<br/>The interaction probe drives the controls of /ui and the Cockpit as it drives the site's"]:::blocked
    I3795["I3795<br/>A surface links to another surface and never embeds it"]:::ready
    I3796["I3796<br/>Every command and its output is one shell block, on every surface"]:::blocked
    I3797["I3797<br/>A command shown outside the shell block is refused by the audit"]:::blocked
    I3793 --> I3794
    I3793 --> I3796
    I3796 --> I3797
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/one-kit-on-every-surface.yaml. Read it back with majordomus plan show one-kit-on-every-surface.

Prohledává názvy a popisy všech stránek, které tento web publikuje.