Skip to content

Spec 001 T029: book, end to end - #158

Closed
adamjohnwright wants to merge 6 commits into
mainfrom
t029/book-3
Closed

adamjohnwright wants to merge 6 commits into
mainfrom
t029/book-3

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Spec 001, task T029. Replaces #157 after its review (two mediums, fixed in the second-last commit); #157 replaced #156.

Everything in #157 (pdf-export book, end to end), plus, from #157's review:

  • SIGINT got around the signal hold: Playwright's own SIGINT handler could exit first, leaving the temporary folder and no report. Chromium is now launched with Playwright's signal handling off, in book and serve; serve now also handles SIGHUP and registers its handlers before announcing it is serving (a race the new serve test found). Tested with SIGINT, and a SIGINT pair, at the browser's spawn.
  • A reaction's type and the references' fields are now planted and read back from the printed PDF.
  • A second signal during the hold stops the run at once; an unreadable or symlinked --out and a --report inside --out are refused at the start.
  • test/ci/licences.test.ts removes its temporary folders.

Tests: 418 in all. Mutants in tasks.md.

🤖 Generated with Claude Code

adamjohnwright and others added 6 commits November 3, 2026 22:08
The preflight, then each top-level pathway's PDF printed in parts from the
figures' folder, its contents numbered, links rewritten, outline written and
pages stamped, saved with object streams off into a folder moved into place
only once every PDF is written. A figure's labels are checked before its part
prints; FR-017's substitutions are counted as printed; the run report is
written however the run ends. The join's memory on the real book is left to
T031. Folded in: a test timeout and concurrency bound, the preflight's graph
open and close guarded, and stamp.ts's lows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hecked

A signal is handled from the run's start and held while the browser
launches, the report written naming it; an unwritable or mounted --out and
an existing or unwritable --report are refused at the start; a figure file
removed mid-run is a missing-file fault; and the printed PDFs are read for
every substituted field and a figure's label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…elds

The browser is launched without Playwright's signal handlers, so book's own
decide; serve sets its handlers, SIGHUP among them, before it says it serves.
A second signal stops a held launch at once. An unreadable or linked --out
and a --report inside --out are refused. A reaction's type and the
references are checked where printed. The licence test removes its folder.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright

Copy link
Copy Markdown
Contributor Author

Replaced after review: signal gaps in serve's start and close, and a second signal during book's launch, left launcher folders in TMPDIR.

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