Repository navigation
Spec 001 T005 and T006: a no-go, and the figures drawn in a step of their own - #86
Closed
adamjohnwright wants to merge 4 commits into
Closed
adamjohnwright wants to merge 4 commits into
adamjohnwright wants to merge 4 commits into
Conversation
…heir own T005 measured the render service in the book's mix on an 8-core host: at most 1.41 figures a second (concurrency 8), limited by the processors at about 3 core-seconds a figure, against the 7.3 a second SC-003's figure budget needs. The script is ci/measure/throughput.ts. T006 takes a third route, the user's choice: `pdf-export figures` draws every figure the book needs into a folder before the book (SC-010, contracts/figures.md), and `book --figures` reads them, asking no render service. SC-003 is now the book's time from figures already drawn. T046 adds the command; T024, T029, T037 and T039 follow; T005's single-figure measurement moves to T007. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e folder tied to its release The measuring script now chooses a selection's ancestor as the book does (nearestAncestor, a top-level pathway last), samples the container's CPU without stalling the client, rejects bad numbers, and keeps the mix when a selection has no ancestor. Re-run on all four settings: 1.523 figures a second at best, 3.5-4.6 core-seconds a figure, rising with concurrency. The figures' folder gets a manifest (release; each figure's kind, source and selection): `book` refuses a stale or other release's folder, and `figures` redraws only what changed. `figures` takes --files and runs the book's release-file and character checks before drawing. The book's own run, contracts, research R3/R7/R9/R10, data-model, quickstart, plan and tasks no longer say the book asks the render service. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…safe resume, task order The figures' manifest now carries a fingerprint: the graph's DBInfo release number and checksum, the release of the content service behind the render service, and the render service's build. `figures` checks the content service's release before drawing and refuses to resume a folder of another fingerprint; `book` faults a folder of another graph as stale-folder. A file is moved into place before its entry is written, and a file with no entry is drawn again. T046 now follows T024, whose preflight it runs. The script states its two limits (EHLDs told by hasEHLD; the render container's CPU only), checks free memory and --render at the start, times out and reports docker stats, and exits 1 with no extrapolation when its memory guard stops it. The four runs' outputs are kept in ci/measure/results/2026-11-02/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd cannot see The folder's fingerprint is now specified where it is read: the render service's health `build` in contracts/render.md (refused when `unknown`), the graph's DBInfo checksum in data-model (present on release 98; missing is a fault), and the content service's release by GET /data/database/version. The contract states plainly what it cannot see: `build` hashes the service's code, not the website page that draws, and `--content` is the operator's word; both are asked of WebsiteAngular (R10, T042). The manifest is an append-only journal with one writer, a redrawn figure loses its old file first, the fingerprint is read again at the end, and a refused resume names a new --out. T046 extends the render stub with /health and adds a content stub; T024 adds the checksum. The script probes the render service and checks memory before sampling, records release, species, seed and figures asked, and exits 1 when any figure is missing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Replaced by the follow-up PR with this review's findings fixed. |
This was referenced Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spec 001, T005 and T006. Replaces #83, #84 and #85, with their reviews' findings fixed.
T005: a no-go. The render service, in the book's mix (85% reactions, 6% diagrams, 1% illustrations, 8% selections), cold, on a private copy of release 98's graph, on an 8-core host:
SC-003's figure budget needs 7.3 a second; the processors are the limit, and the cost per figure rises with concurrency. What T005 did not run, and why, is in research R7. Script:
ci/measure/throughput.ts.T006: the route taken. The figures are drawn by a step of their own before the book:
pdf-export figureswrites them to a folder with a manifest tying it to its release (newcontracts/figures.md), after running the book's release-file and character checks;book --figuresreads them, refuses a stale folder, and asks no render service. SC-003 is the book's time from figures already drawn; new SC-010 covers the figures' step. New task T046; T024, T029, T031, T037, T039 and T045 follow; contracts, research, data model, quickstart and plan updated to match.From #83's review: the script chose a selection's ancestor differently from the book and stalled its client while sampling CPU; both fixed and all four settings re-run. R7's per-figure cost claims now follow from the table.
From #84's review: the folder's manifest carries a fingerprint (the graph's release number and checksum, the content service's release, the render service's build);
figuresrefuses to resume another fingerprint andbookfaults it asstale-folder; a file is moved into place before its manifest entry; T046 follows T024. The runs' raw outputs are inci/measure/results/2026-11-02/.From #85's review: the fingerprint's parts are specified where they are read (render
buildin contracts/render.md, the graph checksum in data-model, the content release endpoint), and what it cannot see is stated and asked of WebsiteAngular (R10, T042). The manifest is an append-only journal; the script probes the service and fails on missing figures.🤖 Generated with Claude Code