diff --git a/.github/workflows/perelman-pdf-facsimile-review.yml b/.github/workflows/perelman-pdf-facsimile-review.yml
index bf7e4af2..2c981f82 100644
--- a/.github/workflows/perelman-pdf-facsimile-review.yml
+++ b/.github/workflows/perelman-pdf-facsimile-review.yml
@@ -10,6 +10,9 @@ on:
- "corpus/candidates/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-interior.md"
- "corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-interior.json"
- "tests/test_perelman_pdf_facsimile_interior.py"
+ - "corpus/candidates/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.md"
+ - "corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json"
+ - "tests/test_perelman_pdf_facsimile_midbody.py"
workflow_dispatch:
permissions:
@@ -47,14 +50,17 @@ jobs:
echo '3c616f547ff283a2cafd1ac26b448a8e8013f648 build/facsimile/perelman-1913.pdf' | sha1sum --check --strict
echo '3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61 build/facsimile/perelman-1913.pdf' | sha256sum --check --strict
- - name: Render bounded transition, interior, and tail pages
+ - name: Render bounded transition, mid-body, interior, and tail pages
run: |
set -euo pipefail
pdftoppm -f 9 -l 13 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/transition
+ pdftoppm -f 59 -l 61 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/midbody-a
+ pdftoppm -f 109 -l 111 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/midbody-b
+ pdftoppm -f 159 -l 161 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/midbody-c
pdftoppm -f 199 -l 206 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/interior
pdftoppm -f 217 -l 223 -r 120 -jpeg build/facsimile/perelman-1913.pdf build/facsimile/tail
rm build/facsimile/perelman-1913.pdf
- (cd build/facsimile && sha256sum transition-*.jpg interior-*.jpg tail-*.jpg | sort) > build/facsimile/rendered-pages.sha256
+ (cd build/facsimile && sha256sum transition-*.jpg midbody-*.jpg interior-*.jpg tail-*.jpg | sort) > build/facsimile/rendered-pages.sha256
printf 'Rendered files:\n'
cat build/facsimile/rendered-pages.sha256
@@ -67,6 +73,9 @@ jobs:
if test -f tests/test_perelman_pdf_facsimile_interior.py; then
python -m unittest tests.test_perelman_pdf_facsimile_interior -v
fi
+ if test -f tests/test_perelman_pdf_facsimile_midbody.py; then
+ python -m unittest tests.test_perelman_pdf_facsimile_midbody -v
+ fi
- name: Upload transient facsimile review artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
@@ -74,6 +83,7 @@ jobs:
name: perelman-1913-facsimile-review
path: |
build/facsimile/transition-*.jpg
+ build/facsimile/midbody-*.jpg
build/facsimile/interior-*.jpg
build/facsimile/tail-*.jpg
build/facsimile/rendered-pages.sha256
diff --git a/corpus/candidates/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.md b/corpus/candidates/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.md
new file mode 100644
index 00000000..c4bd328b
--- /dev/null
+++ b/corpus/candidates/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.md
@@ -0,0 +1,46 @@
+# Perelman 1913 PDF — broad mid-body facsimile anchors
+
+Candidate: `perelman-entertaining-physics-book1-1913-ru`
+
+Status: **source-free observed facsimile evidence; review pending**
+
+This companion records one bounded visual audit of three widely separated interior windows from the exact frozen 223-page Commons PDF. The workflow reverified the 28,168,847-byte carrier, SHA-1 `3c616f547ff283a2cafd1ac26b448a8e8013f648`, and SHA-256 `3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61` before rendering. No PDF bytes, page images, OCR, or literary source text are committed.
+
+## Direct observations
+
+| Carrier page | Visible printed page | Observation |
+| ---: | ---: | --- |
+| 59 | 50 | directly visible |
+| 60 | — | no printed folio directly visible |
+| 61 | 52 | directly visible |
+| 109 | 100 | directly visible |
+| 110 | 101 | directly visible |
+| 111 | 102 | directly visible |
+| 159 | 150 | directly visible |
+| 160 | 151 | directly visible |
+| 161 | 152 | directly visible |
+
+Every **directly visible** printed folio in these windows is compatible with `carrier_page - printed_page = 9`. Carrier page 60 is deliberately **not** assigned printed page 51: the audit saw no visible folio there, so filling that value by arithmetic would turn an observation into an inference.
+
+## Decision
+
+The new anchors strengthen the working `+9` mapping hypothesis across the book interior, but they do **not** promote a global page-offset rule. In particular:
+
+- the observed samples do not prove every unobserved carrier page;
+- a visible printed folio is not present on every audited page;
+- carrier page 60 remains an explicitly unlabelled observed page rather than an inferred mapping row;
+- complete bibliographic-to-carrier mapping, the complete numbered-body range, PDF↔DjVu equivalence, canonical extraction-carrier selection, OCR correctness, literary-page selection/body identity, selected-body `>=300k`, FantLab analyzer-input identity, diagnostic readiness, M2 admissibility, and calibration admission remain closed.
+
+A later complete-mapping unit must model unlabelled folios explicitly and gather enough direct evidence to justify any total map; it may not silently interpolate page 60 or other gaps.
+
+## Reproducibility
+
+Authoring capture workflow: `36016017921` at head `56f2e0bec65bc65f9b1d5c16f855da8e8f430ce4`.
+
+Transient artifact: `10814104285`, GitHub digest `sha256:2eb64d55fd61f4cb26a425070759bc4ffe7f2e2c8be6d36631550ecbf7c21d71`, one-day retention. The downloaded ZIP was independently recomputed to the same SHA-256 during authoring.
+
+The source-free render-manifest file had SHA-256 `33457b4afaeed309fa6c604bfb0214f4be85979289033ed272f53f978ce30518`. Exact per-image SHA-256 values are frozen in the JSON evidence artifact and deterministic regression.
+
+Canonical machine evidence: [`source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json`](source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json).
+
+Evidence JSON physical SHA-256: `26291c4add9272fa2572425597deb99ec8b431cffb374119c134867aca9e02ea`.
diff --git a/corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json b/corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json
new file mode 100644
index 00000000..ad1e3309
--- /dev/null
+++ b/corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json
@@ -0,0 +1,145 @@
+{
+ "admitted_for_calibration": false,
+ "binary_bytes_committed": false,
+ "candidate_id": "perelman-entertaining-physics-book1-1913-ru",
+ "canonical_extraction_carrier_selected": false,
+ "carrier": {
+ "byte_count": 28168847,
+ "kind": "pdf",
+ "page_count": 223,
+ "sha1": "3c616f547ff283a2cafd1ac26b448a8e8013f648",
+ "sha256": "3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61"
+ },
+ "decision": {
+ "all_directly_visible_labels_match_carrier_minus_printed_offset": 9,
+ "bibliographic_to_carrier_mapping_complete": false,
+ "complete_numbered_body_range_proved": false,
+ "global_carrier_minus_printed_offset_asserted": false,
+ "interior_windows_directly_observed": [
+ [
+ 59,
+ 61
+ ],
+ [
+ 109,
+ 111
+ ],
+ [
+ 159,
+ 161
+ ]
+ ],
+ "mapping_may_be_extrapolated_between_observed_anchors": false,
+ "next_evidence": "Independently review exact-head evidence. A later mapping unit must explicitly model unlabelled folios and verify enough remaining carrier pages to justify any complete carrier map; do not fill carrier page 60 or other gaps by arithmetic alone.",
+ "page_without_visible_folio_carrier_page": 60,
+ "page_without_visible_folio_directly_observed": true,
+ "printed_label_for_unlabelled_page_inferred": false,
+ "reason": "Three widely separated exact-carrier windows directly show eight visible printed folios. Every visible label is compatible with carrier page minus printed page = 9, while carrier page 60 has no visible folio. The observations strengthen the mapping hypothesis but do not make visible labels total and do not prove unobserved pages or a global offset.",
+ "status": "broad_interior_anchors_compatible_with_plus9_but_global_mapping_incomplete"
+ },
+ "diagnostic_ready": false,
+ "evidence_version": "scriptorium-perelman-1913-pdf-facsimile-midbody-v1",
+ "fantlab_source_edition_match": "unknown",
+ "literary_body_frozen": false,
+ "literary_page_selection_bound": false,
+ "literary_source_text_included": false,
+ "m2_parity_admissible": false,
+ "minimum_300k_proved_from_frozen_body": false,
+ "observation": {
+ "artifact_retention_days": 1,
+ "authoring_artifact_digest": "sha256:2eb64d55fd61f4cb26a425070759bc4ffe7f2e2c8be6d36631550ecbf7c21d71",
+ "authoring_artifact_id": 10814104285,
+ "authoring_workflow_head_sha": "56f2e0bec65bc65f9b1d5c16f855da8e8f430ce4",
+ "authoring_workflow_run_id": 36016017921,
+ "method": "manual_visual_inspection_of_transient_renders_from_exact_verified_pdf",
+ "observed_at_utc": "2026-09-24T14:54:00Z",
+ "pages": [
+ {
+ "carrier_page": 59,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "f707d612d9b9dc864d4436ee4d48e09d9c15f0c9d2588e8af36f835501f1af86",
+ "rendered_review_filename": "midbody-a-059.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "50"
+ },
+ {
+ "carrier_page": 60,
+ "label_observation": "not_visible",
+ "rendered_image_sha256": "cbbb8fdd29d66db5338fc0ce704114f05d52d52ef844450718a65f80f1b9610b",
+ "rendered_review_filename": "midbody-a-060.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": null
+ },
+ {
+ "carrier_page": 61,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "ca527025615d4c1549112fbb9fbab4603c5589f3385c6d439befa19717cdc599",
+ "rendered_review_filename": "midbody-a-061.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "52"
+ },
+ {
+ "carrier_page": 109,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "a9a5334648e69304fa522bfc88345a979b7566b52c9be4f9c8e318e0b65dbb55",
+ "rendered_review_filename": "midbody-b-109.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "100"
+ },
+ {
+ "carrier_page": 110,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "5928c72fd85f1c5ac2c00949c54d9096b103dc164bc0f7f802054761f36c0891",
+ "rendered_review_filename": "midbody-b-110.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "101"
+ },
+ {
+ "carrier_page": 111,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "8cd80aad72d1739193563d3c5fa8d1dc5af1219b26e8b1dc461a18e51d633c0e",
+ "rendered_review_filename": "midbody-b-111.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "102"
+ },
+ {
+ "carrier_page": 159,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "b970d5e0aa4fcbc2b99f8176485f9a320d3bcfc4e4cb53d5831d1b1562143d8a",
+ "rendered_review_filename": "midbody-c-159.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "150"
+ },
+ {
+ "carrier_page": 160,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "aa609387b556626706c33187e24025040deba5c49e512c1a5fee39c6ebded4e2",
+ "rendered_review_filename": "midbody-c-160.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "151"
+ },
+ {
+ "carrier_page": 161,
+ "label_observation": "directly_visible",
+ "rendered_image_sha256": "0c26242896309e5d0e9a476570014e251ed40223f3289cdcd2a8fe31f43daf61",
+ "rendered_review_filename": "midbody-c-161.jpg",
+ "surface_kind": "numbered_body_surface",
+ "visible_printed_page_label": "152"
+ }
+ ],
+ "pdf_bytes_deleted_before_artifact_upload": true,
+ "render_commands": [
+ "pdftoppm -f 59 -l 61 -r 120 -jpeg",
+ "pdftoppm -f 109 -l 111 -r 120 -jpeg",
+ "pdftoppm -f 159 -l 161 -r 120 -jpeg"
+ ],
+ "render_manifest_sha256": "33457b4afaeed309fa6c604bfb0214f4be85979289033ed272f53f978ce30518",
+ "rendered_page_bytes_committed": false,
+ "transient_review_artifact_uploaded": true
+ },
+ "ocr_correctness_verified": false,
+ "ocr_included": false,
+ "page_images_committed": false,
+ "pdf_djvu_page_equivalence_verified": false,
+ "source_free": true
+}
diff --git a/project/CHANGELOG.d/SCRIP-CORPUS-085.md b/project/CHANGELOG.d/SCRIP-CORPUS-085.md
new file mode 100644
index 00000000..2f9d3904
--- /dev/null
+++ b/project/CHANGELOG.d/SCRIP-CORPUS-085.md
@@ -0,0 +1,10 @@
+## 2026-09-24 — Perelman 1913 broad mid-body facsimile anchors
+
+- Selected SCRIP-CORPUS-085 / Issue #259 from the normal-flow corpus/provenance queue after confirming no interrupted open PR required recovery.
+- Extended the exact-carrier Perelman facsimile workflow to render three new bounded mid-body windows: carrier pages 59–61, 109–111 and 159–161.
+- Hosted capture run `36016017921` reverified the exact 223-page / 28,168,847-byte Commons PDF (`sha1:3c616f547ff283a2cafd1ac26b448a8e8013f648`, `sha256:3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61`) before rendering and completed successfully.
+- Transient artifact `10814104285` was independently downloaded; its ZIP SHA-256 recomputed to GitHub's `2eb64d55fd61f4cb26a425070759bc4ffe7f2e2c8be6d36631550ecbf7c21d71`.
+- Direct visual inspection retained source-free folio observations 59→50, 61→52, 109→100, 110→101, 111→102, 159→150, 160→151 and 161→152. Carrier page 60 directly has no visible folio and is deliberately not inferred as printed page 51.
+- All directly visible sampled labels are compatible with carrier-minus-printed=9, but no global offset or unobserved mapping is promoted. This audit therefore strengthens the mapping hypothesis while also proving that visible folios are not a total per-page signal.
+- Added source-free JSON evidence, public companion and five deterministic regressions. Evidence JSON physical SHA-256: `26291c4add9272fa2572425597deb99ec8b431cffb374119c134867aca9e02ea`; focused regression is 5/5 green.
+- Draft PR #260 remains REVIEW_PENDING for independent exact-head judgement. Complete mapping, PDF↔DjVu equivalence, canonical carrier, OCR correctness, literary-body/>=300k, FantLab-input and M2/parity gates remain closed; M2 remains 0/5.
diff --git a/project/STATE_AND_QUEUE.md b/project/STATE_AND_QUEUE.md
index 158da4fd..040a2fc9 100644
--- a/project/STATE_AND_QUEUE.md
+++ b/project/STATE_AND_QUEUE.md
@@ -1,21 +1,24 @@
# STATE_AND_QUEUE — Scriptorium
-STATE_REVISION: 282
+STATE_REVISION: 283
PHASE: M1 — Deterministic FantLab surface
-LAST_COMMITTED_RUN_AT: 2026-09-24T13:59:00Z
-LAST_RESULT: SCRIP-CORPUS-084 / Issue #257 / PR #258 completed. A later exact-head judgement read all 8 changed files at `85af2a2073dbb1926aaa406bbcc091082a286d8c` against unchanged authoring base `e7bf53b7ae2485b106158d09b728c72b86f9e5f6`, found no merge blockers or review threads, independently recomputed the evidence self-digest `98dc8aed94fd8b4e18f0ad3325673603cba1575c1e745e1175ab4cd3a8aa2a48`, and independently downloaded artifact `10809920402`, whose ZIP SHA-256 matched GitHub at `04ece4b07683d9d3fc5f7acbd700d5aee9b1a2d4bc0fe2f1f685ec0439fd92f9` and contained exactly one source-free six-row JSON identity capture. Exact-head run `36003962326` completed successfully. GitHub refused a formal `APPROVE` event because it treated the connected reviewer as the PR author, so review `5305445089` records the clean judgement as `COMMENT` without fabricating approval. PR #258 was marked Ready and squash-merged with expected-head protection as `70a20089488fffc169bc807318ca82e9eb33f18b`; Issue #257 closed completed. `mediawiki_sha1_complete=true`, but `replay_ready=false`; no full VAR replay, historical-transclusion/runtime proof, promotion or backlog change is claimed.
-LAST_VERIFIED_PROGRESS: M1 deterministic metric families remain executable inferred candidates. Public corpus/showcase evidence includes exact frozen/admitted works and source-free derived outputs, while no retained work has an independently established FantLab analyzer-input identity. Perelman retains independently reviewed exact PDF/DjVu identities, pagination, current Wikisource/FantLab surface boundaries, zero-PDF-PageLabels evidence, front-matter anchors, transition/tail anchors and bounded restored-page interior observations. Darwin/Rachinsky has independently reviewed v5 dependency closure, v6 zero-argument `{{ё}}` output evidence, canonical SCRIP-CORPUS-078 one-shape promotion, canonical SCRIP-CORPUS-079 388/388 `` noinclude-containment evidence, canonical SCRIP-CORPUS-080 candidate-local promotion/backlog reduction, canonical SCRIP-CORPUS-081 revision-pinned `{{ВАР}}` documentation/module evidence with no promotion, canonical SCRIP-CORPUS-082 provider-drift evidence, canonical SCRIP-CORPUS-083 observed-live six-revision load-closure evidence, and canonical independently reviewed SCRIP-CORPUS-084 source-free provider SHA-1 identities for all six exact revisions. M2 stays 0/5.
+LAST_COMMITTED_RUN_AT: 2026-09-24T14:58:00Z
+LAST_RESULT: SCRIP-CORPUS-085 / Issue #259 / Draft PR #260 authored one bounded Perelman 1913 exact-PDF mid-body facsimile audit from `master@82e88eb2d9045b199d595fa96d9cab9260cf6328`. The hash-verifying review workflow rendered carrier windows 59–61, 109–111 and 159–161 from the exact 223-page Commons PDF. Manual visual inspection retained only source-free evidence: eight directly visible printed folios (59→50, 61→52, 109→100, 110→101, 111→102, 159→150, 160→151, 161→152) and one directly observed page with no visible folio (carrier 60). Every visible label is compatible with carrier-minus-printed=9, but carrier 60 is deliberately not inferred as printed 51. Initial capture run `36016017921` succeeded at head `56f2e0bec65bc65f9b1d5c16f855da8e8f430ce4`; artifact `10814104285` independently recomputed to GitHub SHA-256 `2eb64d55fd61f4cb26a425070759bc4ffe7f2e2c8be6d36631550ecbf7c21d71`. Retained JSON physical SHA-256 is `26291c4add9272fa2572425597deb99ec8b431cffb374119c134867aca9e02ea`; focused local regression is 5/5 green. No global page-offset rule, complete carrier map, body admission or benchmark movement is claimed.
+LAST_VERIFIED_PROGRESS: M1 deterministic metric families remain executable inferred candidates. Public corpus/showcase evidence includes exact frozen/admitted works and source-free derived outputs, while no retained work has an independently established FantLab analyzer-input identity. Perelman now has exact PDF/DjVu identities, pagination, current Wikisource/FantLab surface boundaries, zero-PDF-PageLabels evidence, front-matter anchors, transition/tail anchors, restored-page interior observations, and review-pending broad mid-body anchors that expose an unlabelled folio while keeping global mapping closed. Darwin/Rachinsky retains canonical reviewed dependency/replay/provider evidence through SCRIP-CORPUS-084. M2 stays 0/5.
## Current unit
```text
-UNIT_ID: SCRIP-CORPUS-084
-ISSUE: #257 (closed completed)
-STATUS: COMPLETE
-PR: #258 (squash-merged as 70a20089488fffc169bc807318ca82e9eb33f18b)
-NEXT_ACTION: Resume normal-flow corpus/provenance selection.
- A separate bounded Darwin unit may attempt full candidate `{{ВАР}}` invocation replay against exactly the six canonical identities under an explicit version-pinned Scribunto/MediaWiki runtime boundary.
- Keep historical-transclusion/promotion/complete-renderer/body/>=300k/FantLab-input/M2 gates closed until separately evidenced.
+UNIT_ID: SCRIP-CORPUS-085
+ISSUE: #259 (open)
+STATUS: REVIEW_PENDING
+PR: #260 (Draft)
+AUTHORING_BASE: 82e88eb2d9045b199d595fa96d9cab9260cf6328
+SEMANTIC_HEAD: 272c00c7c47f7a1506a826591b7941e1d49ad05e
+NEXT_ACTION: Independently review all changed files for PR #260 against the unchanged authoring base,
+ verify the retained source-free evidence and exact-head checks, and only if clean mark Ready
+ and merge with expected-head protection.
+ Do not infer a printed label for carrier page 60 or promote a global +9 carrier offset from sampled anchors.
```
## Current milestone gate
@@ -30,6 +33,7 @@ Recovery/review-ready work and failing required checks preempt normal selection.
| Priority | Unit | Mode | Deliverable | Gate / dependency |
| --- | --- | --- | --- | --- |
+| P0 | SCRIP-CORPUS-085 review | review / corpus provenance | Independently judge Draft PR #260 exact head and merge only if evidence/checks remain clean | Preserve author/judge separation; no self-approval claim |
| P1 | SCRIP-CORPUS continuation | corpus / provenance | Add or strengthen legally usable >=300k candidates, prioritizing diversity beyond 19th-century Russian classics; Petersburg, Perelman and Darwin/Rachinsky have candidate-specific extraction/renderer work available | Preserve translation/edition identity and legal provenance; renderer/OCR work must keep body/admission/FantLab/M2 gates closed until separately verified |
## Retained corpus / provenance orientation
@@ -51,8 +55,8 @@ Detailed evidence is canonical in `corpus/candidates/`, `benchmarks/`, `project/
- **The Twelve Chairs** — exact Page/PDF surfaces retained; template/reference semantics and body identity remain unresolved.
- **The Life of Klim Samgin** — source graph/extractor/body identities retained; historical renderer equivalence and FantLab input remain unresolved.
- **Children of Captain Grant — Beketova translation** — exact 1,095,467-character body with reviewed source-free deterministic showcase; no FantLab result/input identity for this translation.
-- **On the Origin of Species — Rachinsky translation** — exact Page set/scan/render contracts retained. Independently reviewed v5/v6 and SCRIP-CORPUS-078 canonically resolve zero-argument `{{ё}}` for the selected live-snapshot evidence. Independently reviewed SCRIP-CORPUS-079 proves all 388 frozen self-closing `` tokens are inside stripped `` regions. Independently reviewed SCRIP-CORPUS-080 consumes only that containment fact to remove the candidate-local shape from the effective provider-reference backlog. Independently reviewed SCRIP-CORPUS-081 canonically freezes revision-pinned documentation/module evidence for `ВАР` (388) without promoting it. Independently reviewed SCRIP-CORPUS-082 canonically records current Header/provider drift plus a narrow `isPRS=false` classification replay. Independently reviewed SCRIP-CORPUS-083 canonically binds one observed-live six-revision root/load topology. Independently reviewed SCRIP-CORPUS-084 canonically binds all six exact revisions to provider SHA-1 identities while leaving full replay and promotion closed. Effective unresolved surface remains 4 tag shapes / 130 tag tokens and 37 template shapes / 2,356 invocations. Historical transclusion, complete renderer, literary body/>=300k and FantLab gates remain open.
-- **Entertaining Physics, Book 1 — Perelman 1913** — exact PDF/DjVu carriers and reviewed pagination/facsimile boundaries retained. Complete interior mapping, global offset, PDF↔DjVu equivalence, OCR correctness, canonical carrier, literary body/>=300k, FantLab input identity and M2 remain open.
+- **On the Origin of Species — Rachinsky translation** — exact Page set/scan/render contracts retained. Canonical SCRIP-CORPUS-078 resolves zero-argument `{{ё}}` for selected live-snapshot evidence; SCRIP-CORPUS-079/080 prove and consume `` noinclude containment; SCRIP-CORPUS-081–084 retain `ВАР` documentation, provider-drift, six-revision load closure and exact provider SHA-1 identities without full replay/promotion. Effective unresolved surface remains 4 tag shapes / 130 tag tokens and 37 template shapes / 2,356 invocations. Historical transclusion, complete renderer, literary body/>=300k and FantLab gates remain open.
+- **Entertaining Physics, Book 1 — Perelman 1913** — exact PDF/DjVu carriers and reviewed pagination/facsimile boundaries retained. SCRIP-CORPUS-085 adds review-pending exact-PDF mid-body anchors at carrier 59–61, 109–111 and 159–161: eight visible labels are compatible with +9, while carrier 60 has no directly visible folio and remains deliberately uninterpolated. Complete mapping/global offset, PDF↔DjVu equivalence, OCR correctness, canonical carrier, literary body/>=300k, FantLab input identity and M2 remain open.
## Deterministic / morphology orientation
@@ -65,13 +69,13 @@ Detailed evidence is canonical in `corpus/candidates/`, `benchmarks/`, `project/
## Public repository representation
-Public surfaces must remain source-free and synchronized with actual capability. Publish metadata, provenance, hashes and derived analysis only; never publish unlicensed source text. Perelman's transition/tail and restored-page interior companions are independently reviewed. Darwin's dependency and output-replay companions expose the selected `{{ё}}` live-snapshot evidence; SCRIP-CORPUS-078 canonically exposes that one-shape promotion; SCRIP-CORPUS-079 canonically exposes 388/388 `` noinclude containment; SCRIP-CORPUS-080 canonically exposes the separate candidate-local promotion/reduced effective backlog; SCRIP-CORPUS-081 canonically exposes independently reviewed `{{ВАР}}` documentation/module semantics without changing the effective backlog; SCRIP-CORPUS-082 canonically exposes independently reviewed later-Header/provider-drift evidence; SCRIP-CORPUS-083 canonically exposes the independently reviewed explicit six-revision observed-live load closure. SCRIP-CORPUS-084 canonically exposes independently reviewed exact provider SHA-1 identities while visibly keeping replay/promotion/parity gates closed.
+Public surfaces must remain source-free and synchronized with actual capability. Publish metadata, provenance, hashes and derived analysis only; never publish unlicensed source text. Perelman's existing transition/tail and restored-page interior companions are independently reviewed; SCRIP-CORPUS-085 adds a review-pending source-free broad-midbody companion that visibly distinguishes direct folio observations from the unlabelled carrier-60 gap and keeps global mapping/body/parity gates closed. Darwin's canonical companions expose reviewed dependency/output/provider evidence through SCRIP-CORPUS-084 without claiming full VAR replay or parity.
## Known blockers / invariants
1. FantLab analyzer-input identity remains undisclosed/unestablished for retained benchmark works; M2 remains 0/5.
2. FantLab corrective coefficients and several parser/tokenization/dialogue semantics remain partly unpublished.
3. No corpus or showcase evidence may be promoted to parity without source-edition/input matching and explicit benchmark tolerances.
-4. Perelman complete exact-carrier mapping is still required; current facsimile anchors do not prove every interior page, global offset, PDF↔DjVu equivalence, OCR correctness, body identity or >=300k admission.
-5. Darwin/Rachinsky has independently reviewed provider SHA-1 identity evidence for all six exact observed-live SCRIP-CORPUS-083 revisions in canonical SCRIP-CORPUS-084, but full VAR replay, historical transclusion, explicit version-pinned Scribunto/MediaWiki runtime and promotion remain closed. The 2026-09-08 community warning remains provider-drift risk evidence, not proof of a broken runtime. Complete renderer/body/FantLab gates remain open.
+4. Perelman complete exact-carrier mapping is still required. Broad sampled anchors are compatible with +9 where a folio is visible, but carrier page 60 directly demonstrates that visible labels are not total; no missing folio may be filled by arithmetic alone. Current evidence does not prove every interior page, a global offset, PDF↔DjVu equivalence, OCR correctness, body identity or >=300k admission.
+5. Darwin/Rachinsky has canonical reviewed provider SHA-1 identity evidence for all six exact observed-live revisions, but full VAR replay, historical transclusion, explicit version-pinned Scribunto/MediaWiki runtime and promotion remain closed.
6. Live Pages deployment remains subject to repository policy/administration and must not be implied by static build success.
diff --git a/project/run-receipts/SCRIP-CORPUS-085.md b/project/run-receipts/SCRIP-CORPUS-085.md
new file mode 100644
index 00000000..2f667eb0
--- /dev/null
+++ b/project/run-receipts/SCRIP-CORPUS-085.md
@@ -0,0 +1,75 @@
+# Run receipt — SCRIP-CORPUS-085
+
+Status: REVIEW_PENDING
+
+## Orientation
+
+- Authoring identity: `andy-zen-dev`.
+- Repository: `drevendev/Scriptorium`; push/triage permission available.
+- Exact authoring base: `82e88eb2d9045b199d595fa96d9cab9260cf6328`.
+- Issue: #259.
+- Draft PR: #260.
+- Semantic evidence head: `272c00c7c47f7a1506a826591b7941e1d49ad05e`.
+
+## Produced
+
+One bounded Perelman 1913 exact-PDF facsimile audit across three previously unobserved mid-body windows:
+
+- carrier pages 59–61;
+- carrier pages 109–111;
+- carrier pages 159–161.
+
+The existing hosted workflow was extended to reverify the exact 223-page Commons PDF before rendering those windows. It checks 28,168,847 bytes, SHA-1 `3c616f547ff283a2cafd1ac26b448a8e8013f648`, and SHA-256 `3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61`; PDF bytes are deleted before artifact upload.
+
+Initial capture run `36016017921` at head `56f2e0bec65bc65f9b1d5c16f855da8e8f430ce4` completed successfully. Artifact `10814104285` was downloaded during authoring; its ZIP SHA-256 independently recomputed to `2eb64d55fd61f4cb26a425070759bc4ffe7f2e2c8be6d36631550ecbf7c21d71`, matching GitHub metadata.
+
+## Direct visual observations
+
+Manual visual inspection was performed on the transient exact-carrier JPEGs, not OCR.
+
+Direct visible folios:
+
+- carrier 59 → printed 50;
+- carrier 61 → printed 52;
+- carrier 109 → printed 100;
+- carrier 110 → printed 101;
+- carrier 111 → printed 102;
+- carrier 159 → printed 150;
+- carrier 160 → printed 151;
+- carrier 161 → printed 152.
+
+Carrier page 60 has **no directly visible printed folio**. It is deliberately not retained as printed 51.
+
+Every directly visible label in the three windows is compatible with `carrier_page - printed_page = 9`, but this is retained only as a sampled mapping hypothesis. No global offset or unobserved-page mapping is promoted.
+
+The exact per-image SHA-256 values and source-free observation rows are frozen in `corpus/candidates/source-edition-traces/perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json`. Its physical SHA-256 is `26291c4add9272fa2572425597deb99ec8b431cffb374119c134867aca9e02ea`. The downloaded `rendered-pages.sha256` manifest itself independently hashes to `33457b4afaeed309fa6c604bfb0214f4be85979289033ed272f53f978ce30518`.
+
+## Verification
+
+- Exact carrier retrieval/hash verification: success in hosted capture run `36016017921`.
+- Transient render artifact upload: success.
+- Artifact ZIP digest independently recomputed: match.
+- All nine new page images manually inspected.
+- Focused retained regression: **5/5 pass** locally before commit.
+- PR remains Draft for a later independent exact-head judgement.
+
+## Evidence boundary
+
+This unit does **not** prove:
+
+- a complete bibliographic-to-carrier page map;
+- a global carrier-minus-printed offset;
+- the missing folio for carrier page 60 or any other unobserved page by interpolation;
+- PDF↔DjVu page equivalence;
+- canonical extraction-carrier selection;
+- OCR correctness;
+- literary-page selection or literary-body identity;
+- selected-body `>=300k`;
+- FantLab analyzer-input identity;
+- diagnostic readiness, M2 admissibility, calibration admission, or parity.
+
+M2 remains 0/5. No benchmark movement occurred.
+
+## Handoff
+
+A later independent run must re-read all PR #260 changed files against authoring base `82e88eb2d9045b199d595fa96d9cab9260cf6328`, verify the source-free evidence and exact-head checks, and only then mark Ready / merge with expected-head protection if clean. Keep page 60 uninterpolated and keep the global-offset/body/FantLab/M2 gates closed.
diff --git a/tests/test_perelman_pdf_facsimile_midbody.py b/tests/test_perelman_pdf_facsimile_midbody.py
new file mode 100644
index 00000000..fdcd8270
--- /dev/null
+++ b/tests/test_perelman_pdf_facsimile_midbody.py
@@ -0,0 +1,87 @@
+import hashlib
+import json
+import unittest
+from pathlib import Path
+
+
+ROOT = Path(__file__).resolve().parents[1]
+EVIDENCE = ROOT / "corpus" / "candidates" / "source-edition-traces" / "perelman-entertaining-physics-book1-1913-ru.pdf-facsimile-midbody.json"
+EXPECTED_PHYSICAL_SHA256 = "26291c4add9272fa2572425597deb99ec8b431cffb374119c134867aca9e02ea"
+
+
+class PerelmanPdfFacsimileMidbodyEvidenceTest(unittest.TestCase):
+ @classmethod
+ def setUpClass(cls):
+ cls.raw = EVIDENCE.read_bytes()
+ cls.data = json.loads(cls.raw)
+
+ def test_physical_digest_is_frozen(self):
+ self.assertEqual(hashlib.sha256(self.raw).hexdigest(), EXPECTED_PHYSICAL_SHA256)
+
+ def test_exact_carrier_and_source_free_boundary(self):
+ carrier = self.data["carrier"]
+ self.assertEqual(carrier["page_count"], 223)
+ self.assertEqual(carrier["byte_count"], 28168847)
+ self.assertEqual(carrier["sha1"], "3c616f547ff283a2cafd1ac26b448a8e8013f648")
+ self.assertEqual(carrier["sha256"], "3d87d22a42ad949654265e066f81211d7831e32c8b62b96c967cd4cd33e7ed61")
+ self.assertTrue(self.data["source_free"])
+ self.assertFalse(self.data["binary_bytes_committed"])
+ self.assertFalse(self.data["page_images_committed"])
+ self.assertFalse(self.data["ocr_included"])
+ self.assertFalse(self.data["literary_source_text_included"])
+
+ def test_direct_midbody_observations_are_frozen(self):
+ rows = {row["carrier_page"]: row for row in self.data["observation"]["pages"]}
+ self.assertEqual(
+ {page: row["visible_printed_page_label"] for page, row in rows.items()},
+ {59: "50", 60: None, 61: "52", 109: "100", 110: "101", 111: "102", 159: "150", 160: "151", 161: "152"},
+ )
+ self.assertEqual(rows[60]["label_observation"], "not_visible")
+ self.assertEqual(
+ {page: row["rendered_image_sha256"] for page, row in rows.items()},
+ {
+ 59: "f707d612d9b9dc864d4436ee4d48e09d9c15f0c9d2588e8af36f835501f1af86",
+ 60: "cbbb8fdd29d66db5338fc0ce704114f05d52d52ef844450718a65f80f1b9610b",
+ 61: "ca527025615d4c1549112fbb9fbab4603c5589f3385c6d439befa19717cdc599",
+ 109: "a9a5334648e69304fa522bfc88345a979b7566b52c9be4f9c8e318e0b65dbb55",
+ 110: "5928c72fd85f1c5ac2c00949c54d9096b103dc164bc0f7f802054761f36c0891",
+ 111: "8cd80aad72d1739193563d3c5fa8d1dc5af1219b26e8b1dc461a18e51d633c0e",
+ 159: "b970d5e0aa4fcbc2b99f8176485f9a320d3bcfc4e4cb53d5831d1b1562143d8a",
+ 160: "aa609387b556626706c33187e24025040deba5c49e512c1a5fee39c6ebded4e2",
+ 161: "0c26242896309e5d0e9a476570014e251ed40223f3289cdcd2a8fe31f43daf61",
+ },
+ )
+
+ def test_visible_labels_support_only_scoped_plus_nine_hypothesis(self):
+ visible = [
+ row for row in self.data["observation"]["pages"]
+ if row["visible_printed_page_label"] is not None
+ ]
+ self.assertTrue(visible)
+ self.assertTrue(all(row["carrier_page"] - int(row["visible_printed_page_label"]) == 9 for row in visible))
+ decision = self.data["decision"]
+ self.assertEqual(decision["all_directly_visible_labels_match_carrier_minus_printed_offset"], 9)
+ self.assertTrue(decision["page_without_visible_folio_directly_observed"])
+ self.assertEqual(decision["page_without_visible_folio_carrier_page"], 60)
+ self.assertFalse(decision["printed_label_for_unlabelled_page_inferred"])
+ self.assertFalse(decision["global_carrier_minus_printed_offset_asserted"])
+ self.assertFalse(decision["mapping_may_be_extrapolated_between_observed_anchors"])
+
+ def test_downstream_gates_remain_closed(self):
+ decision = self.data["decision"]
+ self.assertFalse(decision["bibliographic_to_carrier_mapping_complete"])
+ self.assertFalse(decision["complete_numbered_body_range_proved"])
+ self.assertFalse(self.data["pdf_djvu_page_equivalence_verified"])
+ self.assertFalse(self.data["canonical_extraction_carrier_selected"])
+ self.assertFalse(self.data["ocr_correctness_verified"])
+ self.assertFalse(self.data["literary_page_selection_bound"])
+ self.assertFalse(self.data["literary_body_frozen"])
+ self.assertFalse(self.data["minimum_300k_proved_from_frozen_body"])
+ self.assertEqual(self.data["fantlab_source_edition_match"], "unknown")
+ self.assertFalse(self.data["diagnostic_ready"])
+ self.assertFalse(self.data["m2_parity_admissible"])
+ self.assertFalse(self.data["admitted_for_calibration"])
+
+
+if __name__ == "__main__":
+ unittest.main()