Skip to content

Spec 001 T046: the figures step - #155

Merged
adamjohnwright merged 4 commits into
mainfrom
t046/figures-step-2
Nov 3, 2026
Merged

adamjohnwright merged 4 commits into
mainfrom
t046/figures-step-2

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Spec 001, task T046. Replaces #154 after its review (two mediums, fixed in the second-last commit).

Everything in #154 (pdf-export figures: the book's figures drawn into a folder with a manifest book checks), plus, from #154's review:

  • An unanswered figure could reach complete untested; now tested, and complete also requires a manifest line for every figure.
  • --report could overwrite an earlier run's report or turn a refusal into exit 1: an existing report is refused first; its folder is made; it is written beside its name and moved in; a failed write is said and keeps the run's exit. Contracts say a signal, or a refused --report, writes none.
  • The services are probed before the preflight and read again for the fingerprint; the silent breaker allows the retry pause; whole writes on a full disk; faults printed on an own-error stop; breaker tests made exact.

Tests: 400 in all (test/figures/step.test.ts 31). Mutants in tasks.md.

🤖 Generated with Claude Code

adamjohnwright and others added 4 commits November 3, 2026 21:17
Draws the book's figures into a folder before the book: the Figure rules by
the book's own code, T024's release-file and character checks before any
request, the render service's health and the content release checked, each
figure drawn, label-checked, written beside its name and moved into place,
its manifest line appended only once the deployment reads unchanged. A
figure's own fault leaves it out while the rest are drawn; a deployment
changed or gone, or the breaker, stops the run at once. The client names
each missing figure's cause and, for figures only, retries a 504 or a
timeout once. The render stub gains 500/504, health, a hook, silence and
slowness; a content stub is added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed, --report kept

A figure unanswered after its retry is named and leaves no complete (and
complete needs a line for every figure). An existing --report is refused
first and never overwritten; the report's folder is made, it is written
beside its name and renamed, and a failed write keeps the run's exit. The
services are probed before the preflight and read again for the
fingerprint; the silent breaker allows the retry's pause; figure files and
manifest lines are written whole; the figures' faults are printed on the
run's own error. Tests kill the review's surviving mutants.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit b223214 into main Nov 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant