kb/ is its own wiki root: 34 pages across 7 categories, index.md catalog, log.md, AGENTS.md schema layer, and raw/ holding copies of README, the spec, the 13-task plan, the design master and the SDD ledger. Every page cross-references 3 to 6 others and all 107 wikilinks resolve except two [["list"]] artefacts inside JSON snippets in the copied plan. Kept separate from the repository root on purpose: its generated graph lands in kb/.ua/ instead of overwriting the code graph. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
955 B
OpenUI report language
The report is elements, not markdown. lib/report-spec.ts defines the component vocabulary and the library prompt
with @openuidev/lang-core; lib/report-ui.ts attaches the React renderers.
The split exists because @openuidev/react-lang calls React.createContext at module scope, which breaks the API
route's server-side collection. A route that needs the prompt must not import a React-backed module.
Components: Headline, MetricGrid, Finding, OptionTable, ActionSteps, SqlBlock, ScoreBar, Callout, VerdictBlock.
The report renders while oul is still arriving, so the headline appears before the option table.
Every numeric the model supplies passes through num and conf guards. Before that, a null confidence inside
ScoreBar threw and OpenUI dropped the whole block — visible live as "runtime/render-error: Component ScoreBar
render failed".
Related: SSE stream, Analyst model, Console runner.