Files
buzz/crates
Riley Crane 0722066d73 refactor(accumulator): the response IS the artifact — free-form output, transparent runs
The artifact model now matches the mental model: instructions + context →
model → response, persisted verbatim. Any shape the task asks for.

- Delete schema.rs and validate.rs entirely: no output contract, no splice,
  no refusal path. complete_run is infallible; Error::Nonconforming and
  RunOutcome::Refused are gone. Provenance (shown_ids, coverage, truncated)
  stays engine-computed from the plan, never parsed from output.
- spec: schema becomes a provenance label (freeform@v1 default; old chains
  keep channel-digest@v1, no migration). New DEFAULT_INSTRUCTIONS.
- run: model_input = TASK (user instructions) + short engine guidance
  (context explained, citations render as links) + CONTEXT; prior version
  rides as '--- PRIOR VERSION (name vN) ---'.
- preflight gains include_input: the Ready plan can carry the exact string
  the model would receive — the behind-the-curtain seam.
- UI: fold cards always show their instructions; the plan box explains
  incremental coverage and offers the exact model input behind a
  disclosure; artifact header explains what 'covers' means (this run's new
  events) and that versions build on the prior; refused branch removed.

Gates: cargo test -p buzz-accumulator 67/67, clippy -D warnings, fmt;
ui tsc --noEmit + vite build clean. Live-verified on scratch daemon :4641
(preflight include_input round-trip; legacy channel-digest@v1 artifact
still loads).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Riley Crane <rileycrane@squareup.com>
2026-09-04 10:04:48 -07:00
..