Repository navigation
Reader 0.2: integrated literary analyzer, installable CLI and five-route site - #274
3 commits merged into
Conversation
Refs #273, #267, #269, #271. Integrate the exact reviewed implementations from #268 (50fbb9b), #270 (752f3c4) and #272 (610dc80) into one master-based delivery. Preserve the canonical public API and all historical artifacts. Add installable analyze/diagnostic/site commands, source-free CSV, reader labels, numeric fidelity, bounded input and private CLI errors. Keep the Pages deployment interlock and scientific acceptance gates unchanged. Add focused regressions and full-repository installed-package CI. No same-run merge acceptance; old PRs remain until this integration passes.
Refs #273. The full 736-test suite and Pages double build passed, but installed smoke used a temporary output outside the allowed repo/build tree. Put only derived site output under a unique disposable build child; keep installed imports and manuscript processing outside the checkout. Do not relax the renderer's output safety checks.
Refs #273. Preserve last valid site on write failures, fail closed when atomic replacement is unavailable, and reject competing first writes.
|
Superseded by #276 for later acceptance, following the owner's 2026-10-18 cleanup request and the prospective claim update on #273/#275. #268/#272 are now merged into master, not pending dependencies. The green checks in this PR body belong to older head #276 preserves this entire Reader head as a commit parent, repairs the complete renderer's staged-block indentation, adds crash-safe publisher regression coverage and preserves the unfinished two-work gallery. New exact head Converting this PR to draft leaves one active review path without discarding history. Keep it until the successor receives fresh later-run acceptance; do not continue a competing integration here. No branch deletion or same-run merge of the repaired change. |
Closes #273. Integrates #268, #270 and #272; refs #267, #269, #271.
Product outcome
One substantial repository-based Reader 0.2 preview, not another standalone ZIP/fork:
scriptorium-reader0.2.0a1 and usescriptorium analyze,diagnostic, andsite(alsopython -m scriptorium). Python >=3.13; no runtime dependencies.Review findings fixed
Exact-head COMMENT reviews were published on all three prior open PRs. #270 had two reproduced findings: a FIFO could block during unbounded Path reads, and operational errors exposed private paths. The integrated reader bounds manuscript/dictionary/diagnostic input, rejects special files and final-component symlinks, and reports controlled path-free errors. Atomic create-only output remains intact. CSV neutralizes formula-like text, including Unicode prefixes, without changing numeric cells.
Verified on the final head
Head:
71d71f7b18e2170c28be49856668914ebeef1eebMaster base:
abe7bb889ef98437ba9faef5a79b023499556991Change: 2 commits, 35 files.
--no-index --no-depsinstallation, public API check and all three commands executed outside the source checkout: PASS.11668407666and checked all 23 local links/fragments across six HTML pages: PASS. Site bytes are unchanged between the first and final commit.71d71f7fixes the test destination using a unique disposable build child; no renderer safety check was relaxed.ERR_BLOCKED_BY_ADMINISTRATOR. VISUAL_NOT_VERIFIED; no screenshots or visual PASS. No alternate browser route or policy bypass attempted.Delivery and acceptance boundary
This PR targets master directly, not an unmerged feature branch. Old #268/#270/#272 remain open as provenance until the integrated result is accepted; no old branch is force-pushed or deleted. #273 and the branch's compact queue make this the sole integration path.
PR_CREATED / BUILT / CI_PASS; NOT_MERGED / NOT_DEPLOYED. Ready for later fresh acceptance, not self-approved. Do not merge this semantic change in its authoring run. Actual repository gates remain mandatory. M2 is still 0/5; no M1-M5 completion, corpus admission, tolerance change, external registry publication or Pages activation. Unintegrated EPUB/batch prototypes are deliberately not advertised as shipped features.
Interactive review/issue/source writes worked in this owner-requested session. This does not establish that the hourly execution environment's earlier restrictions have disappeared. Scheduler, access and administrative settings were not changed.