From b0866ef1d1a461325bc35b2391483d5dec75c2e2 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:53:55 +0300 Subject: [PATCH 1/7] feat(corpus): bind VAR observed-live load closure --- .../darwin_var_live_snapshot_closure.py | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 scriptorium/darwin_var_live_snapshot_closure.py diff --git a/scriptorium/darwin_var_live_snapshot_closure.py b/scriptorium/darwin_var_live_snapshot_closure.py new file mode 100644 index 00000000..7d211a41 --- /dev/null +++ b/scriptorium/darwin_var_live_snapshot_closure.py @@ -0,0 +1,184 @@ +"""Freeze a source-free observed-live dependency closure for Darwin/Rachinsky ``{{ВАР}}``. + +This contract follows the independently reviewed provider-drift guard. It binds the +exact revision IDs observed for the template root and the load-time Lua closure used by +the retained Darwin mainspace path, while failing closed because MediaWiki revision +SHA-1 identities could not be retrieved from the provider API in this execution +environment. It does not claim historical transclusion, a full Scribunto replay, or a +render-profile promotion. +""" + +from __future__ import annotations + +import argparse +from hashlib import sha256 +import json +from pathlib import Path +from typing import Mapping, Sequence + + +EVIDENCE_VERSION = "scriptorium-darwin-var-live-snapshot-closure-v1" +CANDIDATE_ID = "darwin-origin-species-rachinsky-1864-ru" +PRIOR_VERSION = "scriptorium-darwin-var-provider-drift-evidence-v1" +PRIOR_SHA256 = "6126adbc966c7120ca487fb940bd0e01aafa0d7350d332e6422edbf8b3846cb8" +RESEARCH_DATE = "2026-09-24" +CANDIDATE_TITLE = "О происхождении видов (Дарвин; Рачинский)/1864 (ВТ:Ё)" + +RESOURCES = ( + ("Шаблон:ВАР", 3684602, "2019-06-04", "template_root", ("Модуль:Дореформенная орфография",)), + ("Модуль:Дореформенная орфография", 5721277, "2026-06-08", "implementation_module", ("Module:Header",)), + ("Module:Header", 5746249, "2026-09-10", "title_classifier", ("Module:BEED", "Module:Util")), + ("Module:BEED", 5746253, "2026-09-10", "header_load_dependency", ("Module:RomanNumber",)), + ("Module:Util", 5750249, "2026-09-18", "header_load_dependency", ()), + ("Module:RomanNumber", 3684553, "2019-06-04", "beed_load_dependency", ()), +) + + +def _canonical_json(value: object) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def _sha256_json(value: object) -> str: + return sha256(_canonical_json(value).encode("utf-8")).hexdigest() + + +def _validate_prior(prior: Mapping[str, object]) -> None: + if prior.get("schema_version") != PRIOR_VERSION: + raise ValueError("Darwin VAR provider-drift evidence schema drift") + if prior.get("candidate_id") != CANDIDATE_ID: + raise ValueError("Darwin VAR provider-drift evidence candidate drift") + if prior.get("evidence_sha256") != PRIOR_SHA256: + raise ValueError("Darwin VAR provider-drift evidence digest drift") + unsigned = dict(prior) + stored = unsigned.pop("evidence_sha256", None) + if _sha256_json(unsigned) != stored: + raise ValueError("Darwin VAR provider-drift evidence self-digest drift") + + +def build_evidence(prior: Mapping[str, object]) -> dict[str, object]: + """Build the deterministic source-free live-snapshot closure contract.""" + + _validate_prior(prior) + resources = [ + { + "title": title, + "revision_id": revision_id, + "revision_date": revision_date, + "role": role, + "loads": list(loads), + "mediawiki_sha1": None, + } + for title, revision_id, revision_date, role, loads in RESOURCES + ] + evidence: dict[str, object] = { + "schema_version": EVIDENCE_VERSION, + "candidate_id": CANDIDATE_ID, + "source_text_included": False, + "researched_on": RESEARCH_DATE, + "prior_evidence": { + "schema_version": PRIOR_VERSION, + "evidence_sha256": PRIOR_SHA256, + }, + "snapshot": { + "provider": "Russian Wikisource", + "kind": "observed_live_snapshot", + "observed_on": RESEARCH_DATE, + "historical_transclusion_proven": False, + "resources": resources, + }, + "execution_boundary": { + "candidate_title": CANDIDATE_TITLE, + "path": ( + "Шаблон:ВАР -> Модуль:Дореформенная орфография.variative -> " + 'Module:Header.parse_title(..., "isPRS")' + ), + "expected_classification_isPRS": False, + "selected_argument_if_replayed": "second_parameter_modern", + "load_time_closure_complete_by_source_inspection": True, + "latent_not_reached": [ + "Module:Header/Data via mw.loadData inside Header.data()", + "Module:BEED/scans via mw.loadData inside BEED scan helpers", + "Module:BEED/lists via mw.loadData inside BEED list helpers", + "Модуль:Math via require inside BEED.duplicate()", + "Модуль:Отексте/ЭСБЕ via mw.loadData inside BEED.duplicate()", + ], + }, + "identity_gate": { + "revision_ids_complete": True, + "mediawiki_sha1_complete": False, + "missing_mediawiki_sha1_titles": [item["title"] for item in resources], + "provider_api_attempted": True, + "provider_api_result": "unavailable_from_execution_environment", + "replay_ready": False, + "reason": ( + "revision IDs and observed load-time topology are bound, but MediaWiki " + "SHA-1 identities were not retrievable; exact replay remains fail-closed" + ), + }, + "promotion_decision": { + "full_var_candidate_branch_replayed": False, + "render_profile_rule_promoted": False, + "backlog_item_removed": False, + "effective_backlog_changed": False, + "var_invocations_unresolved": 388, + "next_evidence_required": ( + "obtain MediaWiki SHA-1 for the exact six-revision snapshot, then perform " + "a separately bounded full candidate invocation replay" + ), + }, + "renderer_semantics_complete": False, + "renderer_implementation_ready": False, + "offline_version_pinned_runtime_proven": False, + "literary_body_count_and_digests_frozen": False, + "minimum_300k_proved": False, + "fantlab_source_edition_match": "unknown", + "m2_parity_admissible": False, + } + evidence["evidence_sha256"] = _sha256_json(evidence) + return evidence + + +def validate_evidence(evidence: Mapping[str, object], prior: Mapping[str, object]) -> None: + expected = build_evidence(prior) + if dict(evidence) != expected: + raise ValueError("Darwin VAR live-snapshot closure evidence drift") + gate = evidence.get("identity_gate") + if not isinstance(gate, dict): + raise ValueError("identity gate missing") + if gate.get("revision_ids_complete") is not True: + raise ValueError("revision IDs must be complete") + if gate.get("mediawiki_sha1_complete") is not False or gate.get("replay_ready") is not False: + raise ValueError("SHA-1/replay gates must remain closed") + snapshot = evidence.get("snapshot") + if not isinstance(snapshot, dict) or snapshot.get("historical_transclusion_proven") is not False: + raise ValueError("historical transclusion must remain unproven") + decision = evidence.get("promotion_decision") + if not isinstance(decision, dict): + raise ValueError("promotion decision missing") + for key in ("full_var_candidate_branch_replayed", "render_profile_rule_promoted", "backlog_item_removed", "effective_backlog_changed"): + if decision.get(key) is not False: + raise ValueError(f"{key} must remain false") + for key in ("renderer_semantics_complete", "renderer_implementation_ready", "offline_version_pinned_runtime_proven", "literary_body_count_and_digests_frozen", "minimum_300k_proved", "m2_parity_admissible"): + if evidence.get(key) is not False: + raise ValueError(f"{key} must remain false") + if evidence.get("fantlab_source_edition_match") != "unknown": + raise ValueError("FantLab source match must remain unknown") + + +def main(argv: Sequence[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--prior", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args(argv) + prior = json.loads(args.prior.read_text(encoding="utf-8")) + if not isinstance(prior, dict): + raise ValueError("Darwin VAR provider-drift evidence must be a JSON object") + evidence = build_evidence(prior) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(evidence, ensure_ascii=False, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print(evidence["evidence_sha256"]) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) From 38d037312762ec0713dd5ed5783de17b5f4d8149 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:54:16 +0300 Subject: [PATCH 2/7] data(corpus): freeze VAR observed-live closure contract --- ...ru.var-live-snapshot-closure-evidence.json | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json diff --git a/corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json b/corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json new file mode 100644 index 00000000..8ddcce20 --- /dev/null +++ b/corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json @@ -0,0 +1,121 @@ +{ + "candidate_id": "darwin-origin-species-rachinsky-1864-ru", + "evidence_sha256": "245f77bf3d99d6610ca5fbbe4fcdcdb4ef68bebca612c5bb81db6c2d77f26509", + "execution_boundary": { + "candidate_title": "О происхождении видов (Дарвин; Рачинский)/1864 (ВТ:Ё)", + "expected_classification_isPRS": false, + "latent_not_reached": [ + "Module:Header/Data via mw.loadData inside Header.data()", + "Module:BEED/scans via mw.loadData inside BEED scan helpers", + "Module:BEED/lists via mw.loadData inside BEED list helpers", + "Модуль:Math via require inside BEED.duplicate()", + "Модуль:Отексте/ЭСБЕ via mw.loadData inside BEED.duplicate()" + ], + "load_time_closure_complete_by_source_inspection": true, + "path": "Шаблон:ВАР -> Модуль:Дореформенная орфография.variative -> Module:Header.parse_title(..., \"isPRS\")", + "selected_argument_if_replayed": "second_parameter_modern" + }, + "fantlab_source_edition_match": "unknown", + "identity_gate": { + "mediawiki_sha1_complete": false, + "missing_mediawiki_sha1_titles": [ + "Шаблон:ВАР", + "Модуль:Дореформенная орфография", + "Module:Header", + "Module:BEED", + "Module:Util", + "Module:RomanNumber" + ], + "provider_api_attempted": true, + "provider_api_result": "unavailable_from_execution_environment", + "reason": "revision IDs and observed load-time topology are bound, but MediaWiki SHA-1 identities were not retrievable; exact replay remains fail-closed", + "replay_ready": false, + "revision_ids_complete": true + }, + "literary_body_count_and_digests_frozen": false, + "m2_parity_admissible": false, + "minimum_300k_proved": false, + "offline_version_pinned_runtime_proven": false, + "prior_evidence": { + "evidence_sha256": "6126adbc966c7120ca487fb940bd0e01aafa0d7350d332e6422edbf8b3846cb8", + "schema_version": "scriptorium-darwin-var-provider-drift-evidence-v1" + }, + "promotion_decision": { + "backlog_item_removed": false, + "effective_backlog_changed": false, + "full_var_candidate_branch_replayed": false, + "next_evidence_required": "obtain MediaWiki SHA-1 for the exact six-revision snapshot, then perform a separately bounded full candidate invocation replay", + "render_profile_rule_promoted": false, + "var_invocations_unresolved": 388 + }, + "renderer_implementation_ready": false, + "renderer_semantics_complete": false, + "researched_on": "2026-09-24", + "schema_version": "scriptorium-darwin-var-live-snapshot-closure-v1", + "snapshot": { + "historical_transclusion_proven": false, + "kind": "observed_live_snapshot", + "observed_on": "2026-09-24", + "provider": "Russian Wikisource", + "resources": [ + { + "loads": [ + "Модуль:Дореформенная орфография" + ], + "mediawiki_sha1": null, + "revision_date": "2019-06-04", + "revision_id": 3684602, + "role": "template_root", + "title": "Шаблон:ВАР" + }, + { + "loads": [ + "Module:Header" + ], + "mediawiki_sha1": null, + "revision_date": "2026-06-08", + "revision_id": 5721277, + "role": "implementation_module", + "title": "Модуль:Дореформенная орфография" + }, + { + "loads": [ + "Module:BEED", + "Module:Util" + ], + "mediawiki_sha1": null, + "revision_date": "2026-09-10", + "revision_id": 5746249, + "role": "title_classifier", + "title": "Module:Header" + }, + { + "loads": [ + "Module:RomanNumber" + ], + "mediawiki_sha1": null, + "revision_date": "2026-09-10", + "revision_id": 5746253, + "role": "header_load_dependency", + "title": "Module:BEED" + }, + { + "loads": [], + "mediawiki_sha1": null, + "revision_date": "2026-09-18", + "revision_id": 5750249, + "role": "header_load_dependency", + "title": "Module:Util" + }, + { + "loads": [], + "mediawiki_sha1": null, + "revision_date": "2019-06-04", + "revision_id": 3684553, + "role": "beed_load_dependency", + "title": "Module:RomanNumber" + } + ] + }, + "source_text_included": false +} From 4140735a563f29017890f34aa2ef39e50f33bfe4 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:54:29 +0300 Subject: [PATCH 3/7] test(corpus): guard VAR observed-live closure gates --- .../test_darwin_var_live_snapshot_closure.py | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 tests/test_darwin_var_live_snapshot_closure.py diff --git a/tests/test_darwin_var_live_snapshot_closure.py b/tests/test_darwin_var_live_snapshot_closure.py new file mode 100644 index 00000000..aa828555 --- /dev/null +++ b/tests/test_darwin_var_live_snapshot_closure.py @@ -0,0 +1,66 @@ +from __future__ import annotations + +import json +from pathlib import Path +import unittest + +from scriptorium.darwin_var_live_snapshot_closure import ( + RESOURCES, + build_evidence, + validate_evidence, +) + + +ROOT = Path(__file__).resolve().parents[1] +PRIOR = ROOT / "corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-provider-drift-evidence.json" +EVIDENCE = ROOT / "corpus/candidates/source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json" + + +class DarwinVarLiveSnapshotClosureTests(unittest.TestCase): + def setUp(self) -> None: + self.prior = json.loads(PRIOR.read_text(encoding="utf-8")) + self.evidence = json.loads(EVIDENCE.read_text(encoding="utf-8")) + + def test_committed_evidence_rebuilds_semantically(self) -> None: + self.assertEqual(self.evidence, build_evidence(self.prior)) + validate_evidence(self.evidence, self.prior) + + def test_exact_observed_revision_set_is_bound(self) -> None: + resources = self.evidence["snapshot"]["resources"] + self.assertEqual( + [(item["title"], item["revision_id"]) for item in resources], + [(title, revision_id) for title, revision_id, _date, _role, _loads in RESOURCES], + ) + self.assertEqual(len(resources), 6) + + def test_load_time_topology_is_explicit(self) -> None: + resources = {item["title"]: item for item in self.evidence["snapshot"]["resources"]} + self.assertEqual(resources["Шаблон:ВАР"]["loads"], ["Модуль:Дореформенная орфография"]) + self.assertEqual(resources["Модуль:Дореформенная орфография"]["loads"], ["Module:Header"]) + self.assertEqual(resources["Module:Header"]["loads"], ["Module:BEED", "Module:Util"]) + self.assertEqual(resources["Module:BEED"]["loads"], ["Module:RomanNumber"]) + self.assertEqual(resources["Module:Util"]["loads"], []) + self.assertEqual(resources["Module:RomanNumber"]["loads"], []) + + def test_sha1_and_replay_fail_closed(self) -> None: + gate = self.evidence["identity_gate"] + self.assertTrue(gate["revision_ids_complete"]) + self.assertFalse(gate["mediawiki_sha1_complete"]) + self.assertFalse(gate["replay_ready"]) + self.assertEqual(len(gate["missing_mediawiki_sha1_titles"]), 6) + self.assertTrue(all(item["mediawiki_sha1"] is None for item in self.evidence["snapshot"]["resources"])) + + def test_promotion_and_parity_gates_stay_closed(self) -> None: + decision = self.evidence["promotion_decision"] + self.assertEqual(decision["var_invocations_unresolved"], 388) + self.assertFalse(decision["full_var_candidate_branch_replayed"]) + self.assertFalse(decision["render_profile_rule_promoted"]) + self.assertFalse(decision["backlog_item_removed"]) + self.assertFalse(decision["effective_backlog_changed"]) + self.assertFalse(self.evidence["snapshot"]["historical_transclusion_proven"]) + self.assertFalse(self.evidence["offline_version_pinned_runtime_proven"]) + self.assertFalse(self.evidence["m2_parity_admissible"]) + + +if __name__ == "__main__": + unittest.main() From 3a76f684915d0ec33d0fd70cbf6b02b1da146fe9 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:54:52 +0300 Subject: [PATCH 4/7] docs(corpus): expose VAR live-snapshot closure gate --- ...chinsky-1864-ru-var-live-snapshot-closure.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 corpus/candidates/darwin-origin-species-rachinsky-1864-ru-var-live-snapshot-closure.md diff --git a/corpus/candidates/darwin-origin-species-rachinsky-1864-ru-var-live-snapshot-closure.md b/corpus/candidates/darwin-origin-species-rachinsky-1864-ru-var-live-snapshot-closure.md new file mode 100644 index 00000000..ebfc2912 --- /dev/null +++ b/corpus/candidates/darwin-origin-species-rachinsky-1864-ru-var-live-snapshot-closure.md @@ -0,0 +1,17 @@ +# Darwin/Rachinsky 1864 — `{{ВАР}}` observed-live snapshot closure + +This source-free companion narrows the unresolved Darwin/Rachinsky `{{ВАР}}` replay to one explicit provider snapshot observed on **2026-09-24**. It is a replay-preparation artifact, not a historical-transclusion claim and not a renderer promotion. + +The observed root/load chain is: + +`Шаблон:ВАР@3684602` → `Модуль:Дореформенная орфография@5721277` → `Module:Header@5746249` → `Module:BEED@5746253` + `Module:Util@5750249`; loading BEED also loads `Module:RomanNumber@3684553`. + +The template root delegates to the orthography module. The orthography module loads Header for `parse_title(..., "isPRS")`. At Header revision `5746249`, module initialization loads BEED and Util; BEED initialization in turn loads RomanNumber. Source inspection keeps function-body-only dependencies such as `Module:Header/Data`, `Module:BEED/scans`, `Module:BEED/lists`, `Модуль:Math`, and `Модуль:Отексте/ЭСБЕ` outside this candidate's observed load-time path because the retained Darwin replay reaches only Header's title classifier. + +The revision-ID topology is now explicit, but the identity gate remains closed. The current execution environment could not retrieve MediaWiki `rvprop=sha1`, so none of the six revisions is claimed SHA-1-frozen. Therefore `mediawiki_sha1_complete=false`, `replay_ready=false`, and no full `{{ВАР}}` invocation has been replayed. + +The machine-readable contract is [`source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json`](source-edition-traces/darwin-origin-species-rachinsky-1864-ru.var-live-snapshot-closure-evidence.json), SHA-256 `245f77bf3d99d6610ca5fbbe4fcdcdb4ef68bebca612c5bb81db6c2d77f26509`. + +`ВАР` remains unresolved at **388 invocations**. The effective backlog remains unchanged at **4 tag shapes / 130 tag tokens** and **37 template shapes / 2,356 template invocations**. Historical transclusion, an offline/version-pinned Scribunto runtime, complete renderer/body identity, `>=300k` admission, FantLab analyzer-input identity, and M2 parity all remain open. + +The next step is mechanical and deliberately separate: acquire MediaWiki SHA-1 for exactly these six revisions, then perform a bounded full candidate invocation replay without substituting later live descendants. From b73a83defc608e132ed5f90c61d243503d1d2f00 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:55:11 +0300 Subject: [PATCH 5/7] docs(changelog): record SCRIP-CORPUS-083 authoring unit --- project/CHANGELOG.d/SCRIP-CORPUS-083.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 project/CHANGELOG.d/SCRIP-CORPUS-083.md diff --git a/project/CHANGELOG.d/SCRIP-CORPUS-083.md b/project/CHANGELOG.d/SCRIP-CORPUS-083.md new file mode 100644 index 00000000..cdc20c87 --- /dev/null +++ b/project/CHANGELOG.d/SCRIP-CORPUS-083.md @@ -0,0 +1,10 @@ +## 2026-09-24 — Darwin `{{ВАР}}` observed-live snapshot closure candidate + +- Selected SCRIP-CORPUS-083 / Issue #255 from the normal-flow P2 corpus queue after confirming no interrupted/open PR or issue recovery work. +- Re-checked official Russian Wikisource provider state and bound one explicit observed-live replay topology: `Шаблон:ВАР@3684602` -> `Модуль:Дореформенная орфография@5721277` -> `Module:Header@5746249` -> `Module:BEED@5746253` + `Module:Util@5750249`, with BEED loading `Module:RomanNumber@3684553`. +- Distinguished load-time dependencies from latent function-body-only dependencies (`Module:Header/Data`, `Module:BEED/scans`, `Module:BEED/lists`, `Модуль:Math`, `Модуль:Отексте/ЭСБЕ`) not reached by the retained Darwin `parse_title(..., "isPRS")` path. +- The provider API route needed for `rvprop=sha1` was unavailable from this execution environment. The new source-free contract therefore binds revision IDs/topology but keeps all six `mediawiki_sha1` values null, `mediawiki_sha1_complete=false`, and `replay_ready=false` instead of manufacturing identity evidence. +- Evidence SHA-256: `245f77bf3d99d6610ca5fbbe4fcdcdb4ef68bebca612c5bb81db6c2d77f26509`. +- Added deterministic reconstruction/validation plus five focused regressions and a public source-free companion. No source prose is committed. +- `ВАР` remains unresolved at 388 candidate invocations. Effective backlog remains 4 tag shapes / 130 tag tokens and 37 template shapes / 2,356 template invocations. Historical transclusion, offline/version-pinned runtime, complete renderer/body, >=300k, FantLab-input and M2 gates remain closed; M2 stays 0/5. +- The next evidence step is mechanical: obtain MediaWiki SHA-1 for exactly the six bound revisions, then run a separately bounded full candidate invocation replay. This authoring run does not self-review or merge its substantive PR. From 7c8657bb044e327470a30154674712df511dbbe1 Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:56:06 +0300 Subject: [PATCH 6/7] docs(state): queue SCRIP-CORPUS-083 independent review --- project/STATE_AND_QUEUE.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/project/STATE_AND_QUEUE.md b/project/STATE_AND_QUEUE.md index b611c2a9..e9b627b8 100644 --- a/project/STATE_AND_QUEUE.md +++ b/project/STATE_AND_QUEUE.md @@ -1,21 +1,22 @@ # STATE_AND_QUEUE — Scriptorium -STATE_REVISION: 278 +STATE_REVISION: 279 PHASE: M1 — Deterministic FantLab surface -LAST_COMMITTED_RUN_AT: 2026-09-24T09:54:00Z -LAST_RESULT: SCRIP-CORPUS-082 / Issue #253 / PR #254 independently reviewed and merged. Exact final authored head `5d396d3647d69779a0e321727bb6a0561a93d60b` was re-read across all 7 changed files against unchanged `master@bd291227733155672f8dd6d9d3a634348615cdbe`; review `5302746201` found no merge blocker or open review thread. Fresh Russian Wikisource evidence independently corroborated `Модуль:Header@5746249` as a 2026-09-10 revision, the 2026-09-08 forum warning as provider-drift risk rather than a proven outage, and the pinned `Модуль:Дореформенная орфография@5721277` dependency on Header title classification. The committed evidence self-digest independently recomputed to `6126adbc966c7120ca487fb940bd0e01aafa0d7350d332e6422edbf8b3846cb8`. All 22 PR-triggered workflow runs for the exact head completed `success`; frozen-diagnostic run `35979105385` checked out that exact SHA and both jobs completed their standard-library and replay steps successfully. PR #254 was marked Ready and squash-merged with expected-head protection as `1e55d987b44b7159aaf0f6c308e4dee98f954e15`; Issue #253 closed completed. `ВАР` remains unresolved and effective backlog totals remain unchanged. -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, and canonical SCRIP-CORPUS-082 provider-drift evidence narrowing replay-snapshot selection without changing the effective backlog. M2 stays 0/5. +LAST_COMMITTED_RUN_AT: 2026-09-24T10:57:00Z +LAST_RESULT: SCRIP-CORPUS-083 / Issue #255 / Draft PR #256 authored from `master@ee57313a6974abd326311a7b70f010ae647781a2`. Fresh official Russian Wikisource evidence bound one explicit observed-live `{{ВАР}}` replay topology: `Шаблон:ВАР@3684602` -> `Модуль:Дореформенная орфография@5721277` -> `Module:Header@5746249` -> `Module:BEED@5746253` + `Module:Util@5750249`, with BEED loading `Module:RomanNumber@3684553`. Source inspection separates that load-time closure from latent function-body dependencies not reached by the retained Darwin `parse_title(..., "isPRS")` path. The execution environment could not retrieve MediaWiki `rvprop=sha1`, so the source-free contract deliberately keeps all six SHA-1 values unset, `mediawiki_sha1_complete=false`, `replay_ready=false`, and promotion/backlog unchanged. Evidence self-digest is `245f77bf3d99d6610ca5fbbe4fcdcdb4ef68bebca612c5bb81db6c2d77f26509`. Draft PR #256 is left for a later independent exact-head review; no self-merge was performed. +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, and review-pending SCRIP-CORPUS-083 observed-live load-closure evidence that binds six revision IDs but explicitly fails the MediaWiki SHA-1/replay gate. M2 stays 0/5. ## Current unit ```text -UNIT_ID: SCRIP-CORPUS-082 -ISSUE: #253 (closed completed) -STATUS: COMPLETE -PR: #254 (squash-merged as 1e55d987b44b7159aaf0f6c308e4dee98f954e15) -NEXT_ACTION: Resume normal-flow P2 SCRIP-CORPUS selection. - For the subsequent Darwin/Rachinsky `ВАР` replay, deliberately choose one coherent snapshot and freeze exact `Шаблон:ВАР`, `Модуль:Дореформенная орфография`, `Module:Header` identities including MediaWiki SHA-1 plus the execution-relevant nested closure before replaying the candidate invocation. - Do not silently substitute a later live Header as historical/equivalent provenance. Keep historical-transclusion, offline-runtime, complete renderer/inter-page/body, >=300k, FantLab-input and M2 gates closed until separately evidenced. +UNIT_ID: SCRIP-CORPUS-083 +ISSUE: #255 (open) +STATUS: REVIEW_PENDING +PR: #256 (Draft) +NEXT_ACTION: Independently re-read every changed file and exact-head CI evidence for PR #256. + Verify the six-revision observed-live topology against official provider evidence and recompute the evidence self-digest. + Keep MediaWiki SHA-1/replay/promotion gates closed unless exact identity evidence exists; if clean, mark Ready and merge with expected-head protection. + After merge, the next separate unit may acquire SHA-1 for exactly the bound six revisions before any full `{{ВАР}}` invocation replay. ``` ## Current milestone gate @@ -51,7 +52,7 @@ 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 without binding a complete VAR runtime. Effective unresolved surface therefore 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. +- **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. Review-pending SCRIP-CORPUS-083 binds one observed-live six-revision root/load topology but keeps SHA-1/replay/promotion gates 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. ## Deterministic / morphology orientation @@ -65,7 +66,7 @@ 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 now canonically exposes independently reviewed later-Header/provider-drift evidence and the narrow Darwin `isPRS=false` rule replay without implying a complete VAR replay. +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. Review-pending SCRIP-CORPUS-083 adds a source-free companion for the explicit six-revision observed-live load closure while visibly keeping SHA-1/replay/promotion gates closed. ## Known blockers / invariants @@ -73,5 +74,5 @@ Public surfaces must remain source-free and synchronized with actual capability. 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 SCRIP-CORPUS-082 deliberately does not freeze the live `Шаблон:ВАР` root, Header MediaWiki SHA-1 or nested replay closure, replay the full candidate invocation, prove historical transclusion, or establish an offline/version-pinned MediaWiki runtime. The 2026-09-08 community warning is provider-drift risk evidence, not proof of a broken runtime. Complete renderer/body/FantLab gates remain open. +5. Darwin/Rachinsky SCRIP-CORPUS-083 binds the observed-live revision-ID/load topology but MediaWiki SHA-1 remains unavailable for the six exact revisions in this execution environment. Therefore full VAR replay, historical transclusion, offline/version-pinned 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. 6. Live Pages deployment remains subject to repository policy/administration and must not be implied by static build success. From 8367bc807fd30b90acae81386a481c78681c7b3e Mon Sep 17 00:00:00 2001 From: andy-zen-dev Date: Thu, 24 Sep 2026 13:56:31 +0300 Subject: [PATCH 7/7] docs(receipt): record SCRIP-CORPUS-083 authoring run --- project/run-receipts/SCRIP-CORPUS-083.md | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 project/run-receipts/SCRIP-CORPUS-083.md diff --git a/project/run-receipts/SCRIP-CORPUS-083.md b/project/run-receipts/SCRIP-CORPUS-083.md new file mode 100644 index 00000000..fd2e16e5 --- /dev/null +++ b/project/run-receipts/SCRIP-CORPUS-083.md @@ -0,0 +1,42 @@ +# Run receipt — SCRIP-CORPUS-083 + +Status: REVIEW_PENDING + +## Orientation + +- Connected GitHub identity: `andy-zen-dev`. +- Repository: `drevendev/Scriptorium`; write permission available. +- Exact authoring base: `ee57313a6974abd326311a7b70f010ae647781a2`. +- Issue: #255. +- Draft PR: #256. + +## Produced + +- Source-free observed-live `{{ВАР}}` replay-snapshot closure for the retained Darwin/Rachinsky candidate. +- Exact observed revision-ID topology: `Шаблон:ВАР@3684602` -> `Модуль:Дореформенная орфография@5721277` -> `Module:Header@5746249` -> `Module:BEED@5746253` + `Module:Util@5750249`; BEED -> `Module:RomanNumber@3684553`. +- Explicit separation of load-time dependencies from latent function-body dependencies that are not reached by the candidate `parse_title(..., "isPRS")` path. +- Deterministic contract builder/validator, five focused regressions, and a public source-free companion. + +Evidence SHA-256: `245f77bf3d99d6610ca5fbbe4fcdcdb4ef68bebca612c5bb81db6c2d77f26509`. + +## Research evidence + +- Current Russian Wikisource `Шаблон:ВАР` remains revision `3684602` and delegates to `Модуль:Дореформенная орфография`. +- `Модуль:Дореформенная орфография@5721277` loads `Module:Header` and uses `header.parse_title(..., "isPRS")` on non-Page namespaces. +- Current `Module:Header@5746249` loads `Module:BEED` and `Module:Util` at module initialization. +- Current `Module:BEED@5746253` loads `Module:RomanNumber`; current `Module:Util@5750249` and `Module:RomanNumber@3684553` expose no additional load-time module dependency in the observed source. +- The environment's direct MediaWiki API route for `rvprop=sha1` was unavailable, so revision IDs are recorded but SHA-1 identities are deliberately not invented. + +## Evidence boundary + +`revision_ids_complete=true`, but `mediawiki_sha1_complete=false` and `replay_ready=false`. All six `mediawiki_sha1` fields are null. Historical transclusion is unproven; no offline/version-pinned Scribunto runtime is established; no full candidate `{{ВАР}}` invocation is replayed; no render-profile or backlog promotion occurs. `ВАР` remains unresolved at 388 invocations and effective unresolved counts remain 4 tag shapes / 130 tag tokens and 37 template shapes / 2,356 template invocations. Literary-body identity, >=300k admission, FantLab analyzer-input identity and parity remain closed; M2 stays 0/5. + +## Verification performed in authoring run + +- Official provider pages/search evidence were re-read for the six revision IDs and their load relationships. +- The evidence contract was generated from the same deterministic structure used by the committed builder; its self-digest is pinned above. +- Substantive changes were left in Draft PR #256 for later independent exact-head review. This authoring run did not approve or merge its own work. + +## Next action + +Independently re-read all changed files and exact-head CI for PR #256. If clean, mark Ready and merge with expected-head protection. Only after that, in a separate bounded unit, acquire MediaWiki SHA-1 for exactly these six revisions before attempting a full invocation replay.