From 55f1fb49aaefa5c1b86de1c3eda72392ef6b58f2 Mon Sep 17 00:00:00 2001 From: Agent Control Runner Date: Fri, 16 Oct 2026 09:25:26 +0900 Subject: [PATCH] =?UTF-8?q?P04-01:=20=E5=90=8C=E6=99=82=E7=99=BA=E7=94=9F?= =?UTF-8?q?=E3=81=AE=E6=9B=B4=E6=96=B0=E8=A6=8F=E7=B4=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/p04-01/p04_native_series.py | 2 +- .../execution/p04-01/s4/S4_ROOT_RUN.md | 56 +++++++++++++++---- .../execution/p04-01/s4/p04_s4_power_probe.gd | 3 +- .../p04-01/s4/receipt_lifecycle_fixtures.py | 4 +- .../execution/p04-01/s4/run_s4_native.py | 4 +- 5 files changed, 52 insertions(+), 17 deletions(-) diff --git a/docs/plans/original-completion-2026-10-02/execution/p04-01/p04_native_series.py b/docs/plans/original-completion-2026-10-02/execution/p04-01/p04_native_series.py index 7134bd8..83c1447 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p04-01/p04_native_series.py +++ b/docs/plans/original-completion-2026-10-02/execution/p04-01/p04_native_series.py @@ -17,7 +17,7 @@ MANIFEST_SHA256 = 'a15f29fa12537f6d8aaf7cabea390922a9f16e3eb9c10981e5742aafc8c4c MANIFEST_BYTES = 1244135 PRODUCT = '5f6bc11d6bb6e92d22d787989b219fef3a435bc1' RUNS = {'s1': 'p04-s1-native-r02', 's2a': 'p04-s2a-native-r03', - 's2b': 'p04-s2b-native-r02', 's3': 'p04-s3-native-r01', 's4': 'p04-s4-native-r26'} + 's2b': 'p04-s2b-native-r02', 's3': 'p04-s3-native-r01', 's4': 'p04-s4-native-r27'} # Native descriptors pinned from literal files, never ROOT result passed fields. NATIVE_PINS = { 's1': ('1e26d9585396da9415747d87d77b70f23425a3ee0714e4fca114748f9479fd4e', '01372beb0ffec181c892d3b4e88bce32001e08fb2007938d7bf19135511a7acc', '0b6d11eb34d8af64b22cb806caeb06eed4ec521fa9ee24d1204ea185345e655c'), diff --git a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/S4_ROOT_RUN.md b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/S4_ROOT_RUN.md index acbd1e0..3cfecc3 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/S4_ROOT_RUN.md +++ b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/S4_ROOT_RUN.md @@ -16,15 +16,15 @@ export E=docs/plans/original-completion-2026-10-02/execution/p04-01 export PYTHONDONTWRITEBYTECODE=1 python3 "$E/s4/engine_identity_negative_fixtures.py" python3 "$E/s4/receipt_lifecycle_fixtures.py" -mkdir "$B/audit-support/p04-s4-source-r26" -cp "$E/s4/run_s4_native.py" "$E/s4/p04_s4_power_probe.gd" "$E/s4/S4_ROOT_RUN.md" "$B/audit-support/p04-s4-source-r26/" -python3 "$B/audit-support/p04-s4-source-r26/run_s4_native.py" \ +mkdir "$B/audit-support/p04-s4-source-r27" +cp "$E/s4/run_s4_native.py" "$E/s4/p04_s4_power_probe.gd" "$E/s4/S4_ROOT_RUN.md" "$B/audit-support/p04-s4-source-r27/" +python3 "$B/audit-support/p04-s4-source-r27/run_s4_native.py" \ --project-root "$B/audit-support/p04-r17-full-inputs-r01/product" \ - --output "$B/p04-s4-native-r26" --plan "$B/p04-s4-plan-r26.json" \ + --output "$B/p04-s4-native-r27" --plan "$B/p04-s4-plan-r27.json" \ --godot /Applications/Godot.app/Contents/MacOS/Godot --check-only -python3 "$B/audit-support/p04-s4-source-r26/run_s4_native.py" \ +python3 "$B/audit-support/p04-s4-source-r27/run_s4_native.py" \ --project-root "$B/audit-support/p04-r17-full-inputs-r01/product" \ - --output "$B/p04-s4-native-r26" --plan "$B/p04-s4-plan-r26.json" \ + --output "$B/p04-s4-native-r27" --plan "$B/p04-s4-plan-r27.json" \ --godot /Applications/Godot.app/Contents/MacOS/Godot ``` @@ -69,8 +69,8 @@ Exact input footprints: proof and remains ineligible. Its diagnostics are at `audit-support/p04-root-d393-s4-r01/ENGINE_STAGING_DIAGNOSTICS.json`. -Exact output footprints are `B/p04-s4-plan-r26.json` and the fresh -`B/p04-s4-native-r26/**`: private selected source stage, complete phase receipts +Exact output footprints are `B/p04-s4-plan-r27.json` and the fresh +`B/p04-s4-native-r27/**`: private selected source stage, complete phase receipts and logs, raw JSON/Variant points and all phase observations, full source maps, PID and cleanup receipts. `formal/{writer,reader}/S4-{boundary,held,recovered}/` mirrors all four formal members (`journal.log`, `manifest.json`, `thumbnail.png`, @@ -112,8 +112,8 @@ restore and is not part of Runtime snapshot equality. The derived `related_facility_operating` flag is measured separately and checked after restore. This source-only dispatch authorizes no worker execution. Root stages the three -files, creates the r26 plan with --check-only, then collects once to the fresh -r26 output. Do not read or write r24 outputs, cleanup, stages or plans. +files, creates the r27 plan with --check-only, then collects once to the fresh +r27 output. Do not read or write r24 outputs, cleanup, stages or plans. Do not rerun S1-S3, C or full178. No engine copy, signing, xattr, codesign call or security-setting change is part of this procedure. Native evidence, registered validation, independent review, support53cb rebind @@ -219,8 +219,42 @@ are absent. No 7af6 execution was performed to establish this reasoning. Worker performed source inspection and file edits only: no fixtures, check-only, tests, Git, engines, Runner, agents or commits. Root still must run both fixtures -and check-only before any native r26 collection, then exact-version verification +and check-only before any native r27 collection, then exact-version verification and independent review. The registered validation gate remains unchanged at 7af6, exit 2, fresh MANIFEST missing; this is the supplied gate record, not a new worker run. Native/product proof, full formal checks, D05 and original P04-01 acceptance remain pending. This repair is submitted preparation, not completion. + + +## REPAIR27 snapshot staff expectation (source-only; NOT RUN) + +Root supplied the r26 result: 15 failures of 934 S4 checks, all at +no shift confound; engine-identity/lifecycle fixtures and cleanup passed. +This is supplied history, not a worker execution. Preserve r26 raw output, +formal records, logs, source stage and plan unchanged. + +The r27 probe SHA256 is `b5e5c81a0762427880416759e30e0a0144ce26749f1db1f26837c3287eeecf35`. +FacilityInstance.create_snapshot serializes active_staff_ids through +_names_to_strings as Array[String]. The snapshot expectation is now explicit +SNAPSHOT_SERVERS: Array[String], containing exactly server a then server b. +Runtime registration and attendance still use unchanged SERVERS: +Array[StringName]. No values are normalized, fields dropped or invariants +relaxed. Inspection of all S4 StringName constant uses found no other snapshot +comparison with this mismatch; reservation IDs already compare with +String(request_id). S3 lines 111–118 compare live runtime values and remain +unchanged. + +The wrapper dynamically pins QA bytes through pin(QA) into the plan and +selected source map. S4Series dynamically hashes the current probe and checks +the exact receipt/map binding; only its RUNS['s4'] binding advances to r27. +The documented hash does not replace dynamic verification. +Engine identity and receipt lifecycle logic, the a61 checker, frozen C and all +1338 product inputs remain unchanged. The lifecycle mock's disposable output +and plan names advance to r27; its behavior is unchanged. + +Worker performed source inspection, edits and SHA256 calculation only. No +fixtures, tests, check-only, Git, engine, Runner, agents or commits were run. +Root re-runs only the fresh S4 collection and any needed fixture validation, +using the r27 commands above. Exact-version evidence, registered validation, +independent review, D05 and original acceptance remain pending; this is +submitted preparation, not completion. diff --git a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/p04_s4_power_probe.gd b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/p04_s4_power_probe.gd index 85db8f1..10fc030 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/p04_s4_power_probe.gd +++ b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/p04_s4_power_probe.gd @@ -7,6 +7,7 @@ const REQUEST: StringName = &"p04.s4.request.a" const QUEUED_GUEST: StringName = &"p04.s4.guest.b" const QUEUED_REQUEST: StringName = &"p04.s4.request.b" const SERVERS: Array[StringName] = [&"p04.order.server.a", &"p04.order.server.b"] +const SNAPSHOT_SERVERS: Array[String] = ["p04.order.server.a", "p04.order.server.b"] var _evidence_dir: String = "" var _mode: String = "" var _case: String = "" @@ -242,7 +243,7 @@ func _assert_unconfounded(point: Dictionary) -> void: _expect(point[&"facility"][&"durability"] > 0 and point[&"event"].is_empty(), "no destruction event") _expect(point[&"kitchen"][&"power_available"] and point[&"kitchen"][&"state"] == "OPEN", "kitchen stays active/powered") _expect(point[&"snapshot"][&"game_state"][&"resources"][&"mana"] > 0, "positive global reserve") - _expect(point[&"facility"][&"active_staff_ids"] == SERVERS, "no shift confound") + _expect(point[&"facility"][&"active_staff_ids"] == SNAPSHOT_SERVERS, "no shift confound") if point[&"service"][&"state"] != "COMPLETED": _expect(point[&"guests"][String(GUEST)][&"planned_exit_at"] > point[&"minute"] and point[&"guests"][String(GUEST)][&"state"] == "RECEIVING_SERVICE", "no exit at outage/hold") _expect(point[&"graph_invariants"][&"valid"], "graph allocation/storage/symmetry valid") diff --git a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/receipt_lifecycle_fixtures.py b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/receipt_lifecycle_fixtures.py index 4a26224..fbe6795 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/receipt_lifecycle_fixtures.py +++ b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/receipt_lifecycle_fixtures.py @@ -107,8 +107,8 @@ def case(base, failure=None): descriptor = dict(path=str(engine), resolved_path=str(engine), bytes=st.st_size, sha256=r.sha(engine), mtime_ns=st.st_mtime_ns, mode=st.st_mode, device=st.st_dev, inode=st.st_ino, ctime_ns=st.st_ctime_ns) - out = base / 'p04-s4-native-r26' - plan = base / 'p04-s4-plan-r26.json' + out = base / 'p04-s4-native-r27' + plan = base / 'p04-s4-plan-r27.json' attempts, created, phases = Counter(), {}, [] cleanup_calls = [] real_write, real_inventory = r.write, r.inventory diff --git a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/run_s4_native.py b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/run_s4_native.py index 330184e..a8ec441 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/run_s4_native.py +++ b/docs/plans/original-completion-2026-10-02/execution/p04-01/s4/run_s4_native.py @@ -99,8 +99,8 @@ def engine_pin(path, expected=None): def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--project-root", type=Path, default=PRODUCT) - parser.add_argument("--output", type=Path, default=BUILD / "p04-s4-native-r26") - parser.add_argument("--plan", type=Path, default=BUILD / "p04-s4-plan-r26.json") + parser.add_argument("--output", type=Path, default=BUILD / "p04-s4-native-r27") + parser.add_argument("--plan", type=Path, default=BUILD / "p04-s4-plan-r27.json") parser.add_argument("--cache-run", type=Path, default=None, help="optional passed registered cache; default is fresh, without cache access") parser.add_argument("--godot", type=Path, default=ENGINE)