CB-WP-0012-T03: ADR-0007 — render to HTML, and do not declare the port yet
Five decisions: 1. cb-render-html emits HTML/SVG/JS; the browser draws it. Rejected on measured marginal cost: egui+eframe 2,782,849; wgpu+winit 1,741,979; ratatui 1,067,013; macroquad 480,501; sdl2 191,973; fltk 140,079. The reason is allocation, not affordability — fltk is only 1.5x the corrected headroom, but wgpu is 12x fltk, unavoidable, and named by INTENT for stage 2. Stage 1 should not buy windowing stage 2 discards. 2. No cb-render-api and no cb-render-null. A port designed against one document-emitting implementation acquires a document's shape and stage 2 rewrites it. INTENT's second-use rule beats the blueprint's port pattern on timing. cb-render-html ships against Project. 3. AM-4 counts third-party code the project causes to be ACQUIRED, not runtimes the user already has. Browsers are not counted; sdl2 and fltk are counted at MORE than their Rust bindings. The rule costs more than it saves, which is the only reason to trust it here. 4. AM-4a's proc-macro defect (89,048 lines, 36.2%) is filed separately, not bundled with the request it unblocks. 5. Six controls bind the implementation, including a mutation-backed test that a token-less loopback request is refused, a bar on JS constructing commands, and a coverage gate asserting over the parsed emitted document rather than the Rust that emits it. Reserved for the maintainer: AM-4a exceeds INTENT stage 2 by 7x and cannot survive it; and whether decision 3's rule is the right one. The hard gate held — no render implementation code before this commit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
c5fa610e59
commit
883b608f36
2 changed files with 185 additions and 1 deletions
|
|
@ -161,7 +161,7 @@ outcome. Recorded as the CHAOS window's second entry.
|
|||
|
||||
```task
|
||||
id: CB-WP-0012-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
|
|
@ -169,6 +169,17 @@ Record the decision, the rejected alternatives with their measured costs,
|
|||
and the controls the implementation must carry. No implementation code
|
||||
lands before this commits.
|
||||
|
||||
**Done 2026-08-02.**
|
||||
[ADR-0007](../decisions/ADR-0007-render-html-not-a-port.md) — *render to
|
||||
HTML, and do not declare the port yet.* Five decisions, eight rejected
|
||||
alternatives with measured costs, six binding controls, and **two items
|
||||
reserved for the maintainer**: AM-4a's 7× incompatibility with stage 2, and
|
||||
whether the acquisition rule proposed by the pass that benefits from it is
|
||||
the right rule.
|
||||
|
||||
The hard gate held: no render implementation code existed before this
|
||||
commit.
|
||||
|
||||
## Task: the port and its first implementation
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue