Changelog.
Landing supporting pages went live.
Five doors into the same audit-room: pricing, security, documentation, changelog, about. Each page reuses the brand register established by the home page — Tinted Paper background, mono kicker chips, single Display headline at the top, no card grid, no marketing template.
Pricing carries three tiers (Solo, Team, Regulated) in a single comparison table at desktop and a stacked rendering at smaller widths. No crossed-out prices, no annual toggle disguising a sale, no countdown timers, no "most popular" badge — none of the dark patterns the category teaches.
Security is prose. Five subsections (SOC 2, Hosting, Data residency, Encryption, Access controls) state the posture in plain sentences a procurement reviewer can read once and forward to legal. The compliance-logo wall is gone; the trust comes from the content of the prose, not the borrowed equity.
Traceability graph craft pass closed.
The signature product surface — the traceability graph — landed against its shape brief. Nodes are 220×80 graphite chips with mono ID + title; edges are 1px smoothstep paths colour-by-relationship-type with an 18px circular midpoint badge carrying the typed-relationship glyph and a three-letter code.
A parallel ARIA tree mode walks the same topology so the canvas is never the only road through the data. The 5,000-node degradation strategy renders only the focused node plus two hops upstream and two downstream — empirically fewer than 80 visible nodes — keeping the SVG layer comfortable without virtualization.
The renderer is dagre + hand-rolled SVG, not @xyflow/react. Decision 0023 records the supersession: the depth-limit caps visible nodes at ~80, SVG gives full token control, and we drop ~200 KB of bundle. The trade is more layout code, less library leverage, full design-system fidelity.
39 unit tests cover the relationship-type registry, the dagre layout determinism, the graph-walk depth-limit, and the edge-path geometry. Browser smoke captures three deterministic screenshots per viewport at S/M/L into the screenshots baseline.
Requirement detail surface landed.
The requirement detail page rebuilt as a single editorial canvas at the 1440px reading band. Three vertical zones — crown header, document body with a slim 320px right colophon at ≥1280px, discussion thread at the bottom — replaced the four-tab dashboard. Activity moved out of the bottom stream into a collapsible right-rail panel; Discussion at the bottom is now comments-only.
The Links section opens with an inline columnar mini-graph rather than a sidebar burial, honouring Design Principle #4 — show the graph. A canonical line-level diff primitive lands at components/ui/diff/, with glyph + tint + semantic <ins>/<del> wrappers per the Redundancy Rule.
Decision 0021 records a latent fault we caught and fixed in the same craft pass: the BrandProvider was mounting an explicit data-brand attribute, which prevented the canonical state palette from resolving for users who hadn't picked graphite. The provider now strips the attribute by default. The fix benefits the requirements list page latently — the priority badge was rendering transparent before this craft pass.
DESIGN.md reached scan-mode finalization.
The SEED marker dropped on DESIGN.md. The YAML frontmatter is now populated with twenty OKLCH primitives, six type roles, three radius steps, and eleven component shells. §5 Components rewrote from "deferred" to a full canonical specification with the Traceability Graph as the signature component.
A new DESIGN.json sidecar carries twelve component HTML/CSS snippets, tonal ramps for the eight load-bearing colours, the single Overlay shadow and ease-out-quart motion tokens, and the verbatim narrative for live-panel and Stitch-format consumers. First canonical-token uptake under §5 retired four pre-migration files in features/traceability/components/ and restored the Anti-Gradient Rule across the client app.
The state palette is finalized at L=44 mains with hue-tuned chroma 0.10–0.16, hover variants at L=38, foreground uniform at the Tinted Paper background, subtle backgrounds at L=96 in the state hue. The contrast script clears all 24 required AA pairs with a worst-case ratio of 6.41:1.
Join the waitlist.
Launch updates and early-access invites for teams who treat specs like code and the auditors who review them. No marketing volume.