docs/solutions/performance-issues/2026-04-01-layer0-runner-should-write-summary-json-in-the-same-pass.md
Raw benchmark JSON is necessary, but it is miserable as the day-to-day artifact. If every Layer 0 rerun requires a second manual summarization step, people stop rerunning it and the baseline quietly rots.
Teach the apps/www/scripts/run-editor-perf.mts runner to emit a compact
summary JSON during the same preset run.
Then expose package scripts that people will actually use:
pnpm --filter ./apps/www perf:editor:layer0-smokepnpm --filter ./apps/www perf:editor:layer0Both should target http://localhost:3000/dev/editor-perf and write:
docs/plans/This turns Layer 0 from “a harness you technically could use” into “one command you actually run.”
That matters because the smoke baseline is supposed to become normal engineering hygiene, not a ceremony people skip when they are busy.
The smoke freeze command is:
pnpm --filter ./apps/www perf:editor:layer0-smoke
It writes:
.tmp/editor-perf-layer0-smoke.jsondocs/plans/editor-perf-layer0-smoke-summary.jsonThe full Layer 0 command is:
pnpm --filter ./apps/www perf:editor:layer0