oficina / slides Public

Restore the Codex brief to what Codex was actually given

The krilla swap edited this brief to name krilla. It is a historical
record: it is the text GPT-6 read at 6c757a4, when the code used
svg2pdf, and the findings beside it answer that text. A brief edited
after the fact makes the record claim a review that did not happen.
The swap itself is recorded where it belongs, in spec ruling 13.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev pushed by paul@keymail.dev ad45b68f4dd901090df6c4fb2af0d45811e521dd parent 035498f
1 file changed, +1 −1
  • CODEX-REVIEW-BRIEF-SPEC.md +1 −1

Intent

Human

<task-notification> <task-id>a29c7e0ba70b9c5e3</task-id> <tool-use-id>toolu_017b7uCE2LjZjfGW5turCXGk</tool-use-id> <output-file>/home/paulca/.cache/tmp/claude-1001/-home-paulca-amadan-net-oficina/c8f62d65-b2d1-4a65-b79e-6a8e82e1e5c6/tasks/a29c7e0ba70b9c5e3.output</output-file> <status>completed</status> <summary>Agent "Spike krilla-svg under wasm32" finished</summary> <note>A task-notification fires each time this agent stops with no live background children of its own. The user can send it another message and resume it, so the same task-id may notify more than once.</note> <result>**SWAP NOW** — `035498f swap: krilla-svg replaces the archived svg2pdf behind the same ABI` - **Build:** krilla 0.8.2 + krilla-svg 0.8.1 over usvg 0.47 builds for wasm32 first try with **no features turned off at all** — krilla-svg has none of its own, and its resvg/tiny-skia/usvg/fontdb defaults (simd included) compile clean. - **Host imports: 0.** No import section at all; existing `no_host_imports` test passes under `SLIDES_REQUIRE_WASM=1`. - **Size:** 3,672,407 → **5,301,002 bytes** (3.50 → 5.06 MiB, +44%). The whole cost. - **Tests:** all 6 Rust render tests + every Go test pass. Subset embedded glyphs confirmed in the bytes (`/Subtype/Type0`, `/CIDFontType2`, `/FontFile2`, `/ToUnicode`, `/BaseFont/NWUFBG+LiberationSerif`), one page per SVG, images embedded, frame errors still refusals. ABI byte-identical; `pdfcore.go` untouched. Test changes are whitespace tolerance (pdf-writer 0.15 writes `/Type/Page`) plus a rewritten `pdfText` (krilla writes text into the page stream, and `/f0` is page-local). - **Speed:** 200 pages through wazero, same machine, only the .wasm swapped: **634/633/637 ms → 216/220/221 ms**, PDF **1,719,771 → 140,444 bytes** (one font subset per document, not per page). - **Blocker:** none. One deliberate change: krilla's XMP packet turned off, since its RDF namespace URLs would put `http` in a PDF that names nothing outside itself. - Verified with `cargo fmt/clippy -D warnings`, both crates' tests, `make ci`, and the full gate on a clean `git archive HEAD` export (wasm `cmp` included). Report at `.superpowers/krilla-spike-report.md` (untracked, as that directory is). Nothing pushed. Note: cargo ran with `CARGO_HOME=/home/paulca/.cache/tmp/claude-1001/cargo-home` — `~/.cargo/registry` is read-only here.</result> <usage><subagent_tokens>183301</subagent_tokens><tool_uses>108</tool_uses><duration_ms>1423884</duration_ms></usage> </task-notification>

diff --git a/CODEX-REVIEW-BRIEF-SPEC.md b/CODEX-REVIEW-BRIEF-SPEC.md
index 77327a5..d91e61c 100644
--- a/CODEX-REVIEW-BRIEF-SPEC.md
+++ b/CODEX-REVIEW-BRIEF-SPEC.md
@@ -67,7 +67,7 @@ half and the op vocabulary that must mirror `core/src/ops.rs`).
CSRF because a bearer caller sends no browser headers. Sound?
7. **The export path** (§4.2, §4.3, ruling 13): a Go layout engine
measuring with embedded Liberation faces, an SVG per slide, and
- `krilla` in a wasm module under wazero. With no object store bound the
+ `svg2pdf` in a wasm module under wazero. With no object store bound the
finished PDF is held in memory for an hour, capped. Where does this
break first?
8. **What the spec does not say** that a second reader would expect a