diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/bootstrap-provenance.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/bootstrap-provenance.json new file mode 100644 index 0000000..55eac0b --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/bootstrap-provenance.json @@ -0,0 +1,11 @@ +{ + "candidate": "053f391bf35482c0996292de263f2c39e88d96f0", + "control": "/private/tmp/the-tree-rp24-control-053f391bf354", + "file_pins": { + "runner/core.py": "34d0f62ec5b17b070a2d1ad4f58d06f3be7e9b6fb649ec86b366bc03b07c1329", + "tests/test_runner.py": "315bead61f690a8d23ddd0a0da376041a7ad1cc0f6a4b64db07be52d864cb286", + "docs/spec/RP24-01.json": "dde0184b95c399fc1a359d70a4db4a97f6eafb546e86fc6488478a5af8a49e0b" + }, + "archive_sha256": "9a83192a60ea12ffc9a4e15e7f28f3e884b1fa03217675b346425c815cdc74d6", + "no_production_adoption": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/command.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/command.json new file mode 100644 index 0000000..4e1d410 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/command.json @@ -0,0 +1,44 @@ +{ + "argv": [ + "/opt/homebrew/Cellar/python@3.12/3.12.13_2/Frameworks/Python.framework/Versions/3.12/bin/python3.12", + "-B", + "-m", + "unittest", + "discover", + "-s", + "tests", + "-p", + "test_runner.py", + "-v" + ], + "cwd": "/Users/korizatou114/Projects/TheTree-managed-worktrees/runner-p24-review-packet/RP24-01-validation-484daac4", + "env_names": [ + "AGY_CLI_DISABLE_AUTO_UPDATE", + "BROWSER_PROFILE_DIR", + "BUILD_OUTPUT_DIR", + "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC", + "GIT_TERMINAL_PROMPT", + "HOME", + "LANG", + "LC_ALL", + "LOGNAME", + "MAC_CHROMIUM_TMPDIR", + "PATH", + "PORT", + "PYTHONDONTWRITEBYTECODE", + "TEMP", + "TERM", + "TEST_DATABASE_PATH", + "TMP", + "TMPDIR", + "USER" + ], + "execution": "trusted_runner_self_test", + "target_commit": "053f391bf35482c0996292de263f2c39e88d96f0", + "spec_sha256": "5841d6ac4673336b2ece64efb1b9af3dbf67838bf54b8fa1021f2280e5105854", + "contract_digest": "918e6f6a0256536f0cd18e3e91683dd29932c48b7ea9cd1622992812a86372ff", + "config_digest": "164f796867f438e1b4dbe6ee111252dcb82ebcd194b3e2380cfeb2098cf63a23", + "validation_id": "runner-unit", + "verification_kind": "validation", + "submitted_commit": "053f391bf35482c0996292de263f2c39e88d96f0" +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/stderr.log b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/stderr.log new file mode 100644 index 0000000..dfbd372 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/stderr.log @@ -0,0 +1,56 @@ +test_complete_context_and_raw_changes (test_runner.ReviewMarkerTests.test_complete_context_and_raw_changes) ... ok +test_non_p24_packet_and_size_guard (test_runner.ReviewMarkerTests.test_non_p24_packet_and_size_guard) ... ok +test_strict_parser (test_runner.ReviewMarkerTests.test_strict_parser) ... ok +test_trusted_authorization_matrix (test_runner.ReviewMarkerTests.test_trusted_authorization_matrix) ... ok +test_trusted_unknown_context_rejected_before_execution (test_runner.ReviewMarkerTests.test_trusted_unknown_context_rejected_before_execution) ... ok +test_actual_sandbox_control_read_denied (test_runner.RunnerTests.test_actual_sandbox_control_read_denied) ... ok +test_actual_sandbox_write_boundary (test_runner.RunnerTests.test_actual_sandbox_write_boundary) ... ok +test_agy_pty_without_keychain_access (test_runner.RunnerTests.test_agy_pty_without_keychain_access) ... ok +test_approval_required (test_runner.RunnerTests.test_approval_required) ... ok +test_claude_broker_expiry_fails_closed (test_runner.RunnerTests.test_claude_broker_expiry_fails_closed) ... ok +test_claude_broker_never_returns_refresh_token (test_runner.RunnerTests.test_claude_broker_never_returns_refresh_token) ... ok +test_claude_profile_keeps_personal_keychain_denied (test_runner.RunnerTests.test_claude_profile_keeps_personal_keychain_denied) ... ok +test_dependency_gate (test_runner.RunnerTests.test_dependency_gate) ... ok +test_duplicate_acceptance_denied (test_runner.RunnerTests.test_duplicate_acceptance_denied) ... ok +test_failed_test_blocks_review (test_runner.RunnerTests.test_failed_test_blocks_review) ... ok +test_fixed_denominator_tamper_denied (test_runner.RunnerTests.test_fixed_denominator_tamper_denied) ... ok +test_full_deterministic_flow_with_simulated_review (test_runner.RunnerTests.test_full_deterministic_flow_with_simulated_review) ... ok +test_git_metadata_write_denied (test_runner.RunnerTests.test_git_metadata_write_denied) ... ok +test_integration_environment_retry_requires_existing_review (test_runner.RunnerTests.test_integration_environment_retry_requires_existing_review) ... ok +test_llm_budget_limit (test_runner.RunnerTests.test_llm_budget_limit) ... ok +test_llm_concurrency_limit (test_runner.RunnerTests.test_llm_concurrency_limit) ... ok +test_main_change_invalidates_approval (test_runner.RunnerTests.test_main_change_invalidates_approval) ... ok +test_missing_acceptance_test_denied (test_runner.RunnerTests.test_missing_acceptance_test_denied) ... ok +test_no_zero_cost_assumption (test_runner.RunnerTests.test_no_zero_cost_assumption) ... ok +test_node_output_drained_to_protected_logs (test_runner.RunnerTests.test_node_output_drained_to_protected_logs) ... ok +test_out_of_scope_edit_denied (test_runner.RunnerTests.test_out_of_scope_edit_denied) ... ok +test_overlapping_file_scope (test_runner.RunnerTests.test_overlapping_file_scope) ... ok +test_path_traversal_denied (test_runner.RunnerTests.test_path_traversal_denied) ... ok +test_policy_tamper_denied (test_runner.RunnerTests.test_policy_tamper_denied) ... ok +test_provider_credentials_are_not_inherited (test_runner.RunnerTests.test_provider_credentials_are_not_inherited) ... ok +test_recover_releases_operation_not_task_locks (test_runner.RunnerTests.test_recover_releases_operation_not_task_locks) ... ok +test_repair_cannot_bypass_counter (test_runner.RunnerTests.test_repair_cannot_bypass_counter) ... ok +test_repair_limit (test_runner.RunnerTests.test_repair_limit) ... ok +test_resource_lock (test_runner.RunnerTests.test_resource_lock) ... ok +test_review_changes_blocks_candidate (test_runner.RunnerTests.test_review_changes_blocks_candidate) ... ok +test_review_refresh_requires_new_candidate (test_runner.RunnerTests.test_review_refresh_requires_new_candidate) ... ok +test_reviewer_sees_committed_tests_outside_worker_scope (test_runner.RunnerTests.test_reviewer_sees_committed_tests_outside_worker_scope) ... ok +test_runtime_isolation (test_runner.RunnerTests.test_runtime_isolation) ... ok +test_schema_rejects_false_success (test_runner.RunnerTests.test_schema_rejects_false_success) ... ok +test_secret_file_read_denied (test_runner.RunnerTests.test_secret_file_read_denied) ... ok +test_secret_scope_denied (test_runner.RunnerTests.test_secret_scope_denied) ... ok +test_spec_writes_denied (test_runner.RunnerTests.test_spec_writes_denied) ... ok +test_symlink_denied (test_runner.RunnerTests.test_symlink_denied) ... ok +test_timeout_is_not_pass (test_runner.RunnerTests.test_timeout_is_not_pass) ... ok +test_trusted_disposable_runner_pipeline (test_runner.RunnerTests.test_trusted_disposable_runner_pipeline) ... ok +test_untracked_out_of_scope_denied (test_runner.RunnerTests.test_untracked_out_of_scope_denied) ... ok +test_validation_before_submission_denied (test_runner.RunnerTests.test_validation_before_submission_denied) ... ok +test_validation_python_does_not_depend_on_shell_path (test_runner.RunnerTests.test_validation_python_does_not_depend_on_shell_path) ... ok +test_worker_commit_denied (test_runner.RunnerTests.test_worker_commit_denied) ... ok +test_worker_has_mandatory_outer_sandbox (test_runner.RunnerTests.test_worker_has_mandatory_outer_sandbox) ... ok +test_wrong_candidate_denied (test_runner.RunnerTests.test_wrong_candidate_denied) ... ok + +---------------------------------------------------------------------- +Ran 51 tests in 18.014s + +OK diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/stdout.log b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/stdout.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/validation.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/validation.json new file mode 100644 index 0000000..800e4b3 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/formal-runner-validation-r01/validation.json @@ -0,0 +1,14 @@ +{ + "task_id": "RP24-01", + "commit": "053f391bf35482c0996292de263f2c39e88d96f0", + "kind": "validation", + "checks": [ + { + "id": "runner-unit", + "exit_code": 0, + "artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-runner-p24-review-packet/runs/ceaf7c64c52f4487aba24789aaa8e452", + "passed": true + } + ], + "passed": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/implemented-packet-diagnostic-r01.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/implemented-packet-diagnostic-r01.json new file mode 100644 index 0000000..7901205 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/implemented-packet-diagnostic-r01.json @@ -0,0 +1,547 @@ +{ + "game_candidate": "4cefcff849d4dc1211caa5066e24bfae666cc2f4", + "guard_bytes": 434382, + "utf8_bytes": 398312, + "validation_receipts": 1, + "full_diff_sha256": "b22853fcfcae7a0a79a744c2d5eba8b0cd40763e347cb62d5aebb628f34e9c05", + "source_count": 17, + "validation_source_count": 1, + "context": { + "review_context_format": "authenticated-json-rows-v1", + "base_commit": "286730f88ce430a1cbe1501d40361188f832d235", + "candidate_commit": "4cefcff849d4dc1211caa5066e24bfae666cc2f4", + "base_git_blob_oid": "54a8438b7e96eb6105e9180a46a4896ec689a30d", + "candidate_git_blob_oid": "9438e65c214f6d4732deee1a86853713f6a62f49", + "base_raw_sha256": "5cebdfdffeca26c7778c8be916877b06ae6e42999272d73d01ea66e644a9d648", + "candidate_raw_sha256": "3c72cad4dded0619d0cf1c9691b590258ea657d79e482910bde8b0bbeed73e03", + "metadata_before": { + "schema_version": 1, + "scope": "exact per-suite completion label/schema; all check counts from actual raw only", + "unknown_roster_suite_policy": "refuse, explicitly review its source/schema before accepting", + "roster_count_is_not_hardcoded": true, + "original155_authority_sha256": "aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad", + "current164_review_sha256": "13ae528efd59ec486d705a28e10fb63fed57a5a3f0bba4be1b99518d3fc9561b", + "audio3_manifest_sha256": "5e2cf82041c617008099742a4a5611af789922ab1c37740997344caa6470e060", + "production_changes": [], + "engine_runs": 0, + "mimi_purchase_v2_candidate_binding": { + "existing4_GD_source_changes": { + "autoload/simulation_runtime.gd": { + "base_sha256": "dafee4833aa68fb97c8a8c43efc4aa6b9d29d83e00129bd2b99fd99210946b89", + "candidate_sha256": "8efbe3aafe519d5b67ba96025a3324b9b724e169aa757b2d31262066ab7b83bb" + }, + "scripts/core/save_service.gd": { + "base_sha256": "79a8c3654868c81d3e623a429d8fdfe51f15d098cef8d5b60be091d5200b285d", + "candidate_sha256": "3e3d2aeeff7b7610b48bba24ca83610225f93aa8e8deef50c93186ee360fd8b7" + }, + "scripts/supply/supply_management_service.gd": { + "base_sha256": "bd99c1418537415b574ff936c74817c721071fdcf4b31b1891347a7b6ae84e30", + "candidate_sha256": "e4ad420191020485c027004f64bb00fad9da195fe956ef10dc0c787412018f7f" + }, + "scripts/ui/supply_management_panel.gd": { + "base_sha256": "b3425f797f2e56990bffd64a9770fcfd0e4b487b7420e848b43bb7c44f41bc4d", + "candidate_sha256": "c23c84c5afb2960b51384d80703c3e454059b46eb04e237df52f62291de7db06" + } + }, + "old169_suite_source_SHA_rewritten": false, + "source_schema_scope": "prospective Runtime15/formal2; original v1-only14/formal1/generic/legacy1-13 immutable branches remain required", + "actual_new_marker": null, + "actual_check_count": null, + "actual_new_UID3": null, + "adoption": false, + "source_r06_seal": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p17-mimi-purchase-v2-source-candidate-r06/input-seal.json", + "sha256": "7c01c096524d9560fb691f7fb1e0b5a718592b964574f8fe0153beb1ec76a60d", + "bytes": 3818 + } + } + }, + "metadata_current": { + "schema_version": 1, + "scope": "exact per-suite completion label/schema; all check counts from actual raw only", + "unknown_roster_suite_policy": "refuse, explicitly review its source/schema before accepting", + "roster_count_is_not_hardcoded": true, + "original155_authority_sha256": "aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad", + "current164_review_sha256": "13ae528efd59ec486d705a28e10fb63fed57a5a3f0bba4be1b99518d3fc9561b", + "audio3_manifest_sha256": "5e2cf82041c617008099742a4a5611af789922ab1c37740997344caa6470e060", + "production_changes": [], + "engine_runs": 0, + "mimi_purchase_v2_candidate_binding": { + "existing4_GD_source_changes": { + "autoload/simulation_runtime.gd": { + "base_sha256": "dafee4833aa68fb97c8a8c43efc4aa6b9d29d83e00129bd2b99fd99210946b89", + "candidate_sha256": "8efbe3aafe519d5b67ba96025a3324b9b724e169aa757b2d31262066ab7b83bb" + }, + "scripts/core/save_service.gd": { + "base_sha256": "79a8c3654868c81d3e623a429d8fdfe51f15d098cef8d5b60be091d5200b285d", + "candidate_sha256": "3e3d2aeeff7b7610b48bba24ca83610225f93aa8e8deef50c93186ee360fd8b7" + }, + "scripts/supply/supply_management_service.gd": { + "base_sha256": "bd99c1418537415b574ff936c74817c721071fdcf4b31b1891347a7b6ae84e30", + "candidate_sha256": "e4ad420191020485c027004f64bb00fad9da195fe956ef10dc0c787412018f7f" + }, + "scripts/ui/supply_management_panel.gd": { + "base_sha256": "b3425f797f2e56990bffd64a9770fcfd0e4b487b7420e848b43bb7c44f41bc4d", + "candidate_sha256": "c23c84c5afb2960b51384d80703c3e454059b46eb04e237df52f62291de7db06" + } + }, + "old169_suite_source_SHA_rewritten": false, + "source_schema_scope": "prospective Runtime15/formal2; original v1-only14/formal1/generic/legacy1-13 immutable branches remain required", + "actual_new_marker": null, + "actual_check_count": null, + "actual_new_UID3": null, + "adoption": false, + "source_r06_seal": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p17-mimi-purchase-v2-source-candidate-r06/input-seal.json", + "sha256": "7c01c096524d9560fb691f7fb1e0b5a718592b964574f8fe0153beb1ec76a60d", + "bytes": 3818 + } + } + }, + "base_rows": 172, + "candidate_rows": 173, + "changed_rows": { + "tests/ui/test_selection_departure.gd": { + "kind": "added", + "before": null, + "after": { + "test": "tests/ui/test_selection_departure.gd", + "template": "Selection departure: checks, failures", + "required": true, + "fixed_check_count_used": false, + "source_sha256_at_schema_audit": "3137f36f547514f25ce6ac775fa7a5141d12f83ca4b95da0be45fecfafe9d9b4", + "authority": { + "path": "docs/spec/acceptance/P24-03-code-r02.json", + "scope": "new local suite source marker; actual execution pending" + } + }, + "before_raw": null, + "after_raw": "{\n \"test\": \"tests/ui/test_selection_departure.gd\",\n \"template\": \"Selection departure: checks, failures\",\n \"required\": true,\n \"fixed_check_count_used\": false,\n \"source_sha256_at_schema_audit\": \"3137f36f547514f25ce6ac775fa7a5141d12f83ca4b95da0be45fecfafe9d9b4\",\n \"authority\": {\n \"path\": \"docs/spec/acceptance/P24-03-code-r02.json\",\n \"scope\": \"new local suite source marker; actual execution pending\"\n }\n }", + "before_raw_sha256": null, + "after_raw_sha256": "4e664b062178da6f2c7540ac037ab86cc40b7097c0e8800f6b22e527c7a39bfe" + } + }, + "focused_current_rows": { + "tests/ui/test_actor_selection.gd": { + "test": "tests/ui/test_actor_selection.gd", + "template": "Actor selection: checks, failures", + "required": true, + "historical_marker_for_schema_only": "Actor selection: 100 checks, 0 failures\n", + "fixed_check_count_used": false, + "source_sha256_at_schema_audit": "ecc08464c20990f0a4bd5d1e5d8d6fceb6f3636c959790842a08539fc54ad911", + "authority": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json", + "sha256": "aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad", + "scope": "historical exact label/schema; check count is not an expected future value" + }, + "source_marker_lines": [ + { + "line": 183, + "text": "\tprint(\"Actor selection: %d checks, %d failures\" % [_checks, _failures])" + } + ] + }, + "tests/ui/test_selection_autosave.gd": { + "test": "tests/ui/test_selection_autosave.gd", + "template": "First operating day: checks, failures", + "required": true, + "historical_marker_for_schema_only": "First operating day: 75 checks, 0 failures\n", + "fixed_check_count_used": false, + "source_sha256_at_schema_audit": "1d7d267ef171041f77241c4c2f1a1bb55a46253f803d5c496507e934bc8fa815", + "authority": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json", + "sha256": "aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad", + "scope": "historical exact label/schema; check count is not an expected future value" + }, + "source_marker_lines": [] + }, + "tests/ui/test_selection_departure.gd": { + "test": "tests/ui/test_selection_departure.gd", + "template": "Selection departure: checks, failures", + "required": true, + "fixed_check_count_used": false, + "source_sha256_at_schema_audit": "3137f36f547514f25ce6ac775fa7a5141d12f83ca4b95da0be45fecfafe9d9b4", + "authority": { + "path": "docs/spec/acceptance/P24-03-code-r02.json", + "scope": "new local suite source marker; actual execution pending" + } + }, + "tests/ui/test_selection_lifecycle.gd": { + "test": "tests/ui/test_selection_lifecycle.gd", + "template": "Selection lifecycle: checks, failures", + "required": true, + "historical_marker_for_schema_only": "Selection lifecycle: 38 checks, 0 failures\n", + "fixed_check_count_used": false, + "source_sha256_at_schema_audit": "b1172419e53fbffccb8f6cda046539fee8be1fe0ad711c3aff7f840b73f77895", + "authority": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json", + "sha256": "aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad", + "scope": "historical exact label/schema; check count is not an expected future value" + }, + "source_marker_lines": [ + { + "line": 149, + "text": "\tprint(\"Selection lifecycle: %d checks, %d failures\" % [_checks, _failures])" + } + ] + } + }, + "focused_current_raw": { + "tests/ui/test_actor_selection.gd": "{\n \"test\": \"tests/ui/test_actor_selection.gd\",\n \"template\": \"Actor selection: checks, failures\",\n \"required\": true,\n \"historical_marker_for_schema_only\": \"Actor selection: 100 checks, 0 failures\\n\",\n \"fixed_check_count_used\": false,\n \"source_sha256_at_schema_audit\": \"ecc08464c20990f0a4bd5d1e5d8d6fceb6f3636c959790842a08539fc54ad911\",\n \"authority\": {\n \"path\": \"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json\",\n \"sha256\": \"aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad\",\n \"scope\": \"historical exact label/schema; check count is not an expected future value\"\n },\n \"source_marker_lines\": [\n {\n \"line\": 183,\n \"text\": \"\\tprint(\\\"Actor selection: %d checks, %d failures\\\" % [_checks, _failures])\"\n }\n ]\n }", + "tests/ui/test_selection_autosave.gd": "{\n \"test\": \"tests/ui/test_selection_autosave.gd\",\n \"template\": \"First operating day: checks, failures\",\n \"required\": true,\n \"historical_marker_for_schema_only\": \"First operating day: 75 checks, 0 failures\\n\",\n \"fixed_check_count_used\": false,\n \"source_sha256_at_schema_audit\": \"1d7d267ef171041f77241c4c2f1a1bb55a46253f803d5c496507e934bc8fa815\",\n \"authority\": {\n \"path\": \"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json\",\n \"sha256\": \"aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad\",\n \"scope\": \"historical exact label/schema; check count is not an expected future value\"\n },\n \"source_marker_lines\": []\n }", + "tests/ui/test_selection_departure.gd": "{\n \"test\": \"tests/ui/test_selection_departure.gd\",\n \"template\": \"Selection departure: checks, failures\",\n \"required\": true,\n \"fixed_check_count_used\": false,\n \"source_sha256_at_schema_audit\": \"3137f36f547514f25ce6ac775fa7a5141d12f83ca4b95da0be45fecfafe9d9b4\",\n \"authority\": {\n \"path\": \"docs/spec/acceptance/P24-03-code-r02.json\",\n \"scope\": \"new local suite source marker; actual execution pending\"\n }\n }", + "tests/ui/test_selection_lifecycle.gd": "{\n \"test\": \"tests/ui/test_selection_lifecycle.gd\",\n \"template\": \"Selection lifecycle: checks, failures\",\n \"required\": true,\n \"historical_marker_for_schema_only\": \"Selection lifecycle: 38 checks, 0 failures\\n\",\n \"fixed_check_count_used\": false,\n \"source_sha256_at_schema_audit\": \"b1172419e53fbffccb8f6cda046539fee8be1fe0ad711c3aff7f840b73f77895\",\n \"authority\": {\n \"path\": \"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/facility-need-pricing-r02-full155-independent-review-2026-10-01-r01/actual155-source-marker-review.json\",\n \"sha256\": \"aa0c90bb4106f592e083bfdc5983d8cc90dcf857477d779d1851ce33edb0d3ad\",\n \"scope\": \"historical exact label/schema; check count is not an expected future value\"\n },\n \"source_marker_lines\": [\n {\n \"line\": 149,\n \"text\": \"\\tprint(\\\"Selection lifecycle: %d checks, %d failures\\\" % [_checks, _failures])\"\n }\n ]\n }" + }, + "unchanged_raw_row_count": 172, + "unchanged_raw_row_proof": { + "tests/business/test_business_closure.gd": "72cfd9533569c79d22895d6163e68c64bb03bf9f6890823d86f399dfec4df914", + "tests/business/test_business_operations.gd": "9225c40a46146cfc75b9b65d3f72740b2f4c81df42e47729549221e3904335e5", + "tests/business/test_required_kitchen.gd": "20315f991160ed6604c9e71768e4201ac6a5a86bb6ee8e0b86ed4d39413e7ec7", + "tests/environment/test_cleaning_access.gd": "ad034c6b408b46a10c516e8ded39e25b832fbbaa22d9696ecb2bbec67f592c3e", + "tests/environment/test_facility_cleanliness.gd": "eb81fbf0e8adeca1b91c3b1b83b9ea2a3e8ca3092e7912498848b9e83b569b29", + "tests/environment/test_runtime_cleanliness.gd": "510903bc4cc3ac78dea6ae9a10b5fefebf34eb17537af0c095ab9ded90b11ed0", + "tests/environment/test_runtime_weather.gd": "c966414af96e35287aab86535cfa3dc48b486c6c7f57b7e00f1678d64b83cf6a", + "tests/environment/test_weather_recovery.gd": "4d7f81a0af4f7bd53f0e3210f9bc69f91ed4a47fa46adf141e41eef1e249393e", + "tests/environment/test_weather_timeline.gd": "ca41498de14bfbb4f5b18ab44508808afed9226dddbcffe4211bc86e56ccf286", + "tests/mvp/test_amelia_donations.gd": "779382447c03c92b51633c4b29d2bcc561c048b0a016715fbd202359175d1c86", + "tests/mvp/test_anri_floor_pricing.gd": "417dd0db3e1fe8d49d51fc364cbdfe7bc24d829088addacd0429746bb908eca4", + "tests/mvp/test_approved_free_unique_arrears.gd": "28a53b73051cf23792e21bfa696d8efa6241e2f50fa0ee4a02359fc2ea6c8004", + "tests/mvp/test_chapel_boundaries.gd": "b3ae22c781059764067d658a75f1a7cbf46543e1ef565295b5cae3a323751c3c", + "tests/mvp/test_chapel_service.gd": "77905f0d2383af1c8ce1d822946b9b21d34a01e8c1707c720acd7314b6f7a3fe", + "tests/mvp/test_fine_cleaning_effect.gd": "164ebc4801af85be90967fb6db665c1c4f24da5b1fd5b6226b4191b1ba08278e", + "tests/mvp/test_mvp_content_catalog.gd": "a3213cbbc96b1850395a3cbeb0a5c7af4baa9498060647c634931b7dbf549ff3", + "tests/mvp/test_operations_coordinator.gd": "d599e080fd4643a4fbfefb2ae80b3bad8bbe3013c9598a5773f3ad58936f7c12", + "tests/mvp/test_original_midnight_settlement.gd": "ae0c9c6a029eede1c25cbcb53db870ac15f646a91e81d45ed122af3372dfeb1f", + "tests/mvp/test_original_room_zones.gd": "dc0d658561a40d52bfb322d3868120bc288ebdb80f21a4c4e2537edc5e254678", + "tests/mvp/test_pending_service_pricing_report.gd": "2d864e1e78945ead82152383d66c7dd0596730ad496db31b4b7a958c2116ad60", + "tests/mvp/test_premium_room.gd": "1f3d316277f1383fc8d55fed38f9897ff5a4caba20a13f03606cee193bb9a41d", + "tests/mvp/test_premium_room_guest_flow.gd": "b6bf3e3baedb621844eded72b45420655903390c77dddb42f33830e02a44f9ae", + "tests/mvp/test_progression_service.gd": "dcc9474f6597bc7aad57a76177c17b907613984a38a69da9b5282b5a0e215179", + "tests/mvp/test_runtime_content_progression.gd": "3cf572219416bc1f9635eb7b6ac27e6277e74363a675443c487ae1feafce43e7", + "tests/mvp/test_runtime_mana_depletion.gd": "f395aca11b29d71edaca3a24152639a1d479cb68c20d418a9be4d8cc9c47db87", + "tests/mvp/test_runtime_operations_acceptance.gd": "bdf58844256d6f7be617cf9df18834abcb3f2b4016c6538dbbea1c34b61552c9", + "tests/mvp/test_runtime_operations_integration.gd": "a17015a661808f6ecb4f3830e1c3de546621c1edb47525a096b685df22c684f0", + "tests/mvp/test_runtime_upkeep.gd": "5a2551bc3c20841874fb723ce81c3d61a10838a070be0fb414c1613823865069", + "tests/mvp/test_staff_unique_contract_report.gd": "46e95500abce5310524d510fb2f4a687a0d6d7fdf3229b309f6edadb8a39643d", + "tests/mvp/test_tomari_floor_trouble.gd": "a869a46bd27158f59074cd2f47936c236450287ef8141c90757661ef007e25eb", + "tests/mvp/test_unique_character_validation_policy.gd": "7251db3eb4676125ecb0f1e586071a18b60d17862d9f8f670e4879f46569dc7e", + "tests/mvp/test_upkeep_construction_boundaries.gd": "88afc505b68615ff365936e40ca39288ec83fb58ede96511ac297ef2d834876c", + "tests/mvp/test_upkeep_legacy_midnight.gd": "ade1514874f851d738f3198d31b5cb94969f9623bca26f5eeda11bd3677e7501", + "tests/mvp/test_upkeep_loss_streak.gd": "421c8598d3fd2de5b4e9c561a638e0cc247226d83e729f8c65157ffbea920524", + "tests/performance/test_digest_performance.gd": "8f5f0def8e31088cd29ff3c85d431a09f2cfdca35c0a9d102b1e7871ab118ba2", + "tests/performance/test_facility_reachability.gd": "82763c8e1e8a569d057cc1dc717c94472cc1ad39f64ddfa99af1be34a6ad457a", + "tests/performance/test_lazy_digest.gd": "4d63e6093dfb4cbf7f22a021bf72f0b03cb50b2da09de4b59585d9c0ee5400a6", + "tests/performance/test_mvp_manifest_cache.gd": "1b7bc650ea2879dd582a7dc46bd601b6c1747ec1ebde7bbcffba946a97061281", + "tests/performance/test_path_membership.gd": "d251ef2492cc4480685ee227fd7ee424bdf348eca95bac8f340b7fedfcf27d06", + "tests/performance/test_perf_mvp_001.gd": "7a0ac13aa9ed0286a9ad5ed2b8088424ad14236a8446d4d6d5d1c0e9233a17f0", + "tests/performance/test_snapshot_ownership.gd": "0c9344b64a99ca35d85dacd0db65671dea1c7755384aaf63e334dd9c76bf5383", + "tests/performance/test_system_optimization.gd": "878a30fc0027cfbf28da056a1ec5c0c283f21e611671e83f7a721fbe660e1e16", + "tests/performance/test_world_snapshot_cache.gd": "f5882af31951e9deca2b8f60766ace3bc7cb43e066673c2681aadfdbbf8a49b1", + "tests/run_tests.gd": "3d0e5bee68d4ea183c6a4f5b0bdf899b3290bf079a1987a80ebb376141443590", + "tests/s0/test_command_snapshot_key_order.gd": "fbf97927b76c63b4637374e6e690701a5889ad8143dd221b030d3dab663c27a7", + "tests/s0/test_command_transaction.gd": "2ecd93cbb418d1db1209e8846c71bcff4f1f17331651d73e3263842e0d30e6c4", + "tests/s0/test_definition_registry.gd": "9876d70362d0e9b6402cc5b90acc227e23983a82ff88dbc792026e5c7b7c5304", + "tests/s0/test_determinism.gd": "4dd6ece78e2a806b5c791f2d13c7d701558faec5e65d3d410afc30e7718e6d89", + "tests/s0/test_domain_events.gd": "5c7d9f7df7921f00892155f793ef707a3d57d7f3ad193bf8c9a5df7c96e950af", + "tests/s0/test_runtime_integration.gd": "b436d6fba39f12dfcd95acff0ba2980f2460b77404d937a8ec91d4c5a9ffe188", + "tests/s0/test_stable_id_generator.gd": "f4684fd2d6693ae08441abf120ee941c447e99b2dc6a0c2690f5ab0c98c8d1d5", + "tests/s1/test_construction_service.gd": "c3fbf58740da5045bc3fb7170a016f53dae2ca63e4a54a19c0273fa5b2b6540a", + "tests/s1/test_dimension_batch_save.gd": "9b32174f9ed2b432f988909e54e2ed057b7a34dbf757dc77605b1614e48c3404", + "tests/s1/test_excavation_service.gd": "172f76465bda5ed66aa300b60a9b9c5ef307dc8d172d541049610c8c059b6ea9", + "tests/s1/test_facility_infrastructure_projector.gd": "a39bf71b97e5e16ab798f1381bb51bf6199cff826bdd310fec6d53befcf6b16d", + "tests/s1/test_facility_resize_preview.gd": "7dd9888bfd9977d0d53e88b917d5bb29879f8f5b44b6111678a3da202a881df8", + "tests/s1/test_original_facility_dimensions.gd": "01a4de68f9679b557b6745abd50ce4b43bf41f73650c0995b88ed5edf5d32c27", + "tests/s1/test_path_congestion.gd": "3714841bc64f147c31adff0c9e744162647a369623cabc231f022a98cf0bb074", + "tests/s1/test_path_service.gd": "ecc0d132387f4b488ac8a1ecb841012cc8ed1513563c796bc5d162c49353e0b4", + "tests/s1/test_path_snapshot_transit_guard.gd": "f9f1486d51a2a20eb452a342d39dabba05b1614b97ede04788f915eabd025987", + "tests/s1/test_route_subslot_path_adapter.gd": "fbdc2073e7ae9d295d275a76ada8d44bddbdf5a9020654052012f4639b9ee920", + "tests/s1/test_runtime_infrastructure_integration.gd": "e82fb4117a557cee0cdd3c63f73db9a86d09f44bdce80062362c0ca904fa56c6", + "tests/s1/test_runtime_world_construction.gd": "d2da40c0d11dccac4ce94778ffb07230a63e1cd174f48b348791edffb9812d9e", + "tests/s1/test_spatial_subslot_service.gd": "72a9f8908f748445883feea6629c55f0162031cd5d641d45790a21f2f7c806bd", + "tests/s1/test_weighted_resize_runtime.gd": "cdc5b7a68e10c45c0cb2e83950c39a58e5e461909d40d2935897fb3a8121f437", + "tests/s1/test_world_service.gd": "21e86bf3d1e32403a0b73c927e1f604ccc91d78290c22e1742cd063f5fb9a8fe", + "tests/s2/test_economy_service.gd": "e1409e38e89714a4c761dcd9e0ae8a2babe3b48150cc09e3f66f8345a1ab4410", + "tests/s2/test_facility_pricing.gd": "530df02db6fa460ed665e7449ad4890026a2d87ebef6db4b9acaa9d18a722fe4", + "tests/s2/test_facility_service.gd": "df0023c908f01af85eac9726bb2909cb792d6d4ecd3e6a2a8bbc66c8e1e8be36", + "tests/s2/test_facility_upkeep_accrual.gd": "53d05baadad526053eded75d1f96dba449331f215ac6cb2a61a55be181ca8651", + "tests/s2/test_facility_upkeep_settlement.gd": "fd3241471a704325a469ffe0025f2b7171e267bc87a629c52ad1d40f33152681", + "tests/s2/test_inventory_logistics.gd": "2e5da1c09d0ce660ce564a0c7e2e86baa94f463857d94fb8ad24e5905badfad6", + "tests/s2/test_kitchen_production.gd": "696d1ad18a3dab00e376b69a181afd04cafe1b04e1e4ec85894e601cbf45628a", + "tests/s2/test_ledger_backed_resources.gd": "bf3a4f8cf1b45c25fadb9bbfebce2a618b37ae5a829ed6900b079b8396472443", + "tests/s2/test_mana_network_service.gd": "35c7a903df12562fec091d33d7ec9f338ca16cf7fd059ae608a7ac9f428d9d6d", + "tests/s2/test_mana_power_projection.gd": "c21a8ebe7580f568134d156554ec5fc6546fc7e095c052fb6736f57cc73f9984", + "tests/s2/test_mana_reserve_balance.gd": "bbc62b7a7480c2600eae6291c29344cac41a33ae005320edfd9c695ff8d2c58e", + "tests/s2/test_original_facility_parameters.gd": "5eb473d6a8bcbebf2279aacf28229e2fd80fc17a3a31df7cb8bca13cabf2aa94", + "tests/s2/test_runtime_operations_cycle.gd": "bb7f88e6364d4d844aae1d26156790359b096fbc1f8db421a1a6173639cba167", + "tests/s2/test_service_start_slots.gd": "be9f4027f2a4260b8216ddbadb8857dfde109d393bc27c8de3f1454d8bb447b2", + "tests/s3/test_guest_observation_restore_order.gd": "5d1511cc85f7842b61ea635a4ac2af96628b779eca53e988e38eba09a8af2f70", + "tests/s3/test_guest_service.gd": "2d311228e7098325a3ce2c52fae7330be9b7cb67efd642ce52aaa5300f3d82ec", + "tests/s3/test_runtime_actor_cycle.gd": "11dcb5937962eb0ff7b41e4d8a21c1fe988b659d0024d9bb2b3fec9bd6a6b6d4", + "tests/s3/test_runtime_actor_hardening.gd": "30f1965e79aebf2e2fe592850afacdf443ef07d783883876e77f2857b0e30599", + "tests/s3/test_runtime_path_traffic.gd": "98f0d342a38e51c463372a69025d05107d20ae87817b280d8c1a7527b5ec23a9", + "tests/s3/test_runtime_staff_assignment.gd": "001eca714e0298a953c9c75a5e937da4ecf86e3e2b2bf53ec87b12daaf788115", + "tests/s3/test_staff_payroll_operations.gd": "d2cc0087a0d5e39ea7c72e6ac87f4643dcc83bb41297a4d1bc9035b6a544ea6d", + "tests/s3/test_staff_service.gd": "6635048deca0dc89e704c9738dc654ce8bc8df1397427bd2cf11b3f2e3a06564", + "tests/s4/test_placement_risk_preview_service.gd": "6ca69a7c945a46b6bf7984f078eb7a6694967a1169de04d9208fd84b51541c04", + "tests/s4/test_relationship_event_service.gd": "4a4d5038501ffcdb8ffa4596d7bd4395db19003f869a44ba19c59d0a9886b6b0", + "tests/s4/test_runtime_relationship_events.gd": "b10d90937468deca44e3540f9d66b50ae8ac56038e48e7478e4803a5cefc125d", + "tests/s5/test_authority_service.gd": "854b08f6ea495472b69cadfc70cac545d2e9f948dbb2cad4f45f4161b6f51503", + "tests/s5/test_defense_service.gd": "080a5d291d3540d045d9e07023dee561bdce333467ede3b8b31e9d3d8939bff9", + "tests/s5/test_runtime_authority_cycle.gd": "502641a3d6ac8205f19f862b46f26d6c6c04020d7f069b1a0a73b71e87389734", + "tests/s5/test_runtime_defense_autonomy.gd": "991429baa69b12de16417152f817a224706254a3e71bc4855ea9c63fdf8092be", + "tests/s5/test_runtime_defense_cycle.gd": "33f4a8a7e3d09b50c3bc12bf44532ed49b27ecbdd8fdc7b49597b1970bddb681", + "tests/s5/test_runtime_event_defense.gd": "cd7e7b9ba355983cb9d182eb0ce03309340a3061f6952d2ad8ef6a5e9c3db7b6", + "tests/s6/test_performance_budget.gd": "63fd42ecd5af6b005a79fe676c7cc2390081cf029e945fb44be3c793eefd48c2", + "tests/s6/test_runtime_save_lifecycle.gd": "26d2af83a98e9abbce80c0ff1985de9516ce79611b24b94276468657717b07fa", + "tests/s6/test_runtime_snapshot_serialization.gd": "0494708b7f0fdc4bd3e6228195687474cfac9baef6164f64dce8e7a69675416f", + "tests/s6/test_save_operations.gd": "1614a5122ff9f466aec038f580d63e91c5d1feab8d8f74018fa6b540b75df0e2", + "tests/s6/test_save_preflight.gd": "95c951a981c154348b39c889188deb872ce7e9e2ea0740cd8bb2592c3c853b9b", + "tests/s6/test_save_recovery_preservation.gd": "5c055617493cbd0cd25049cf8315f880cfbdfc52b3c5f1d17281184870197cfc", + "tests/staff/test_dormitory_dimension_migration.gd": "ace438ca3aa97e44db111a5107d630b7fd86eda2fb39f9199ca45eab4a803a71", + "tests/staff/test_dormitory_shift_cycle.gd": "b7c868002e2f385abf4d370a31e1a46521115690f4f4acafba8784ee018b3bea", + "tests/staff/test_rescue_elevator.gd": "c7d0ac22a4816abbe112ae4413a81410c0c5d0d85eadc69b899b999fedde7dc1", + "tests/staff/test_shift_rush.gd": "cfb1c07428bf60f533860d74eeca25c51fd492143b5d598c88b8ff92f2747a57", + "tests/staff/test_staff_commute.gd": "6942c4dfc875596b9ff845a206f146d87d28697bf137ed90000547368738821d", + "tests/staff/test_staff_dormitory.gd": "eb1d121b79de9df77fee00f2635e7d56ba175cc4e9287ed1234f039093eea7b1", + "tests/staff/test_staff_rescue.gd": "7b82618030ea1401b33b7796343aef7894f402fb99d2f26dfb3e5f89fa0e6590", + "tests/staff/test_staff_rest.gd": "e3ce1fc69d4bc241066d22a4c6c276871fc72087c1d94bc73d80ed20b88ef00d", + "tests/staff/test_task_work_clock.gd": "32c833d2fda02cc42b21b458c874e1afbd55e9d509a72df4bb34cd2d9cd33367", + "tests/supply/test_mimi_purchase_quote.gd": "2385b2d9d7a48991e1be5a334195211634d65dcbe5a6aad8abdaa78dce6f575f", + "tests/supply/test_normal_auto_purchase_chain.gd": "a1ae167057d8ad73103902911893f4e55e2cde03cbf8d413930919635a52d418", + "tests/supply/test_normal_supply_chain.gd": "5e1d57c7b8872073f68ad6224c79c8cc1d3282360a7331d0397b6a75e0c908b5", + "tests/supply/test_supply_auto_purchase.gd": "c832d6c871a542050fc90988b4dfc551b8e75002da1dfa406a47ae0d582d147a", + "tests/supply/test_supply_auto_purchase_boundaries.gd": "e73f8c11d24bb6c98e4bf3467e08aba6a1a1c18c1b465ea6e3943ce8ba9ebe4a", + "tests/supply/test_supply_auto_purchase_destruction.gd": "8b91682beecc74db781f55e0d5c6bcf76f3548becf6e5cebb80bc22f1e645543", + "tests/supply/test_supply_logistics_bridge.gd": "6593a850c421f2740cfa50c85055d47c323bc52f1fbd86a1be5b6eec2e550441", + "tests/supply/test_supply_management_service.gd": "b2e6a957fd82e384ec426bc10a72af253b1af2532d7154865d00bb81b11da145", + "tests/supply/test_supply_save_migration.gd": "00840e0c7267f699153dc99253ce1eb2ecaa71b22a4fd096234409fce5a743d9", + "tests/transport/test_elevator_service.gd": "dbfee5c1d581d3ed5414fff0fc8ca2051d12b9f1c8ecfaa44f9bbebc39f10382", + "tests/transport/test_runtime_stairs.gd": "f09a9934bf43a3be7f0071743858be804d6deca652113b30d9cde49969669a77", + "tests/transport/test_runtime_transport.gd": "9b8674b5220f2e49b5ed88db23cda910910ed97d2eccce8c8bd82e27ae45efff", + "tests/transport/test_runtime_transport_comparison.gd": "bc701caacc83a3f110c75538c2d9a97666e90facb4eb84796b407f50f9080417", + "tests/transport/test_transport_boundaries.gd": "e76068fe155c15bccf0be14078740886715b624f7b4e30dcd61a0c885469e806", + "tests/transport/test_transport_comparison.gd": "1b85b9b85f3f3f292cbccf01372d76fb572bb214386ad7014464fa99d4a829d5", + "tests/transport/test_transport_density_migration.gd": "2fa94d1db9135dee7b5253544374d93c535b585d1893bee78d6d072f7a317063", + "tests/transport/test_transport_save.gd": "888da77a548b75025c688593119d14f8db5cabe7a6eda46bf9b44f163285be6f", + "tests/ui/test_actor_selection.gd": "dc368864b7eaf3180b28f0a245ba7602087d8b87403e30ba3427725cf67eb920", + "tests/ui/test_anri_recruitment.gd": "fceed6d7ef285e20972cd50cc17e15baf4ca58ea5ffebdef58884ea9287a7b9f", + "tests/ui/test_approved_free_unique_arrears_ui.gd": "7a0d44a3ea62a3f6005593076ec5d51cc77348ed49443f6b66385e95ceefbcf3", + "tests/ui/test_business_management.gd": "e21190290fc03e7ef8bd5558a00ad42235c5522fc06eac13176df12becbb6ce0", + "tests/ui/test_chapel_gameplay.gd": "8fe9588f68d48884ff0d88ea76018349b618846586fcf6ef0d17be653014709a", + "tests/ui/test_cleaning_gameplay.gd": "6a894199f0aca563533e1de6fda3fbea7b0efa8a7b96ede7f68edc95566978db", + "tests/ui/test_dashboard_coalescing.gd": "06dab550f94b3d86d703c950310cdae752811616786bf34717b867d153da472b", + "tests/ui/test_defense_management.gd": "b2d128234dfd22376bdddcd61bebcfbf9782a5b4a65739a19994bd2df8d2e0d0", + "tests/ui/test_dimension_migration_ui.gd": "5c9b1a484bc4f584aa1d0cbc54f8fa4ae6d176fdd1daaef949ccacc66934b0ec", + "tests/ui/test_elevator_management.gd": "e0f5ad1aa692e39a185e399798b8d2f88773630ce583d257a341e66bc44cb295", + "tests/ui/test_event_log_ui.gd": "46178dc4b1af403597fd60b6280fea723b6ac9277573a0bd7563cf054abdeb26", + "tests/ui/test_first_operating_day.gd": "858b2f24e6b5f446920cc8c4c00ececbbaed7ac4a3dfeaa97ac74495017ffd59", + "tests/ui/test_guest_decision_log.gd": "55f857d99e5c1370c17459110aae63f7826a6b499eda1d38a76b99484344bd3a", + "tests/ui/test_guest_observation.gd": "82d51795bb221c48365459e07e0d2f6569844b256df98b723e8cfa9d04f9187a", + "tests/ui/test_layer_presentation.gd": "a47031252032877c72b6ac9e515bf4d149472884331b1ab8cbd57f0379b263ae", + "tests/ui/test_layer_skin.gd": "264aceab2cf40dfd05121500d899bcfad68888ef3e3b9cb168e142050de8fd32", + "tests/ui/test_main_audio_feedback.gd": "223c187442dea89de78db5b3f55dcfd43e6dade9b8440ab3d1d44ebb2dcb6c7d", + "tests/ui/test_main_dashboard.gd": "a39c850b08e3facdad0ba16220179d5c2dd9b077d7402a5a38112828c743096b", + "tests/ui/test_opening_assignment.gd": "06f220e76d0b28ce85b33bcf9c15bafd992b377ec6ecf6d0326af5fb000d10e2", + "tests/ui/test_original_build_pointer.gd": "4717f53cb0e852287e5b63b1e2bebe0053e27f4e022738a217dc2980cae7858f", + "tests/ui/test_original_facility_controls.gd": "ee4dd88a58a83a32082d4869daf05b8e8138149abc31d4d81126a90bb54edbd3", + "tests/ui/test_paired_bgm.gd": "dec8008198c2f6b7e816b1291f256ee255f115eeedacb21e14dfcc4a22a82135", + "tests/ui/test_pixel_tower.gd": "86ad7cbe417af9ce89e01d4d527e021c2f3d9d862f8df7056f71e5bf018d2a90", + "tests/ui/test_rank_pointer.gd": "0624a369902da897a3f9b1d5b5f8355bdd242a7323dfed663cb6a0ea2746f7e4", + "tests/ui/test_room_presentation.gd": "0232954ebdaa049f32c9071d6b2dd19a41513c9548e76a9ebf9ba4150b8d2cec", + "tests/ui/test_selection_autosave.gd": "3d6bcee63e8e0e3e31b3826998979bfcbf830e21832efb4072cab3153fd76864", + "tests/ui/test_selection_lifecycle.gd": "29a849466fc988ea46313b11b7d49be7468da12f93de9800d25949f21167051e", + "tests/ui/test_staff_management.gd": "67753d75b6158cc54d281ceec9c7b05d384378d1a1fd187b10cc19ab1899ad05", + "tests/ui/test_staff_rescue.gd": "3d583b1e1c9b44a498099cac5186c286d2d3c64a1581dfcc319a29812727d5c2", + "tests/ui/test_staff_rest.gd": "61f8f4b225b212c74f624b6085c261708cd6fe48211fcfc96b3b9b7c9bf424b2", + "tests/ui/test_stair_transport_details.gd": "5b4586f06297756e04848775cb4758cd196cdf5a83367cdb6de084d19117519a", + "tests/ui/test_supply_auto_purchase_ui.gd": "a5c76f923e294ea80cf45c0a7eda616ec778cdf7acf571c501cffbfdb3db8132", + "tests/ui/test_supply_management.gd": "299334b472c3ec30a019063fa532f0a5e33ca47dcd21b38266741aa60e9d4d5f", + "tests/ui/test_ui_audio_feedback.gd": "10025d2af1fd9c6f82424a43689b1b5d7ab6db160f929b0e2acdf043a7aa14eb", + "tests/ui/test_ui_presentation_audio_contract.gd": "51d1b5f81601eabe28ff9ae754a5ac5367b3592b435ed01bcdef7a5a5ba4c504", + "tests/ui/test_upkeep_closed_ui.gd": "4105c6f0318119c768d736360d0b409ede0d6d79c805d6cf2e6051a17c35cd6c", + "tests/ui/test_upkeep_inspector.gd": "9e2b81c45112d90daa59b36f74d88e2d810a89e080d79b221811daa834d4f4ef", + "tests/ui/test_world_tree_rank.gd": "e52baea06e209622e48d129b93fa9ce7ed06533447576aeb17d6710c41c4b147", + "tests/world/test_elevator_topology.gd": "0ba5708900940dfb54cad3f51bb954c79a8bfa2853a7e71965aea88bcaecd66d", + "tests/world/test_legacy_stairs.gd": "ce24c1806847ff742e230cf79fd4eccac35c37b4d41d30fb388e03115f237b47", + "tests/world/test_path_transit_density.gd": "bbcbd525f5fbc555553a45577eb1658dcfad6de509d53970569bd9dae8810f12", + "tests/world/test_path_vertical_policy.gd": "0050cda28f5cd59177993c9bfe9347e5cbce5d08d2f5e993cb9f711653176814", + "tests/world/test_stair_infrastructure.gd": "8e62bfa97e695d49767bb9e8be2d3143e971a5d727557aaf636153f2a0e10dca" + }, + "omitted_current_rows": [ + "tests/business/test_business_closure.gd", + "tests/business/test_business_operations.gd", + "tests/business/test_required_kitchen.gd", + "tests/environment/test_cleaning_access.gd", + "tests/environment/test_facility_cleanliness.gd", + "tests/environment/test_runtime_cleanliness.gd", + "tests/environment/test_runtime_weather.gd", + "tests/environment/test_weather_recovery.gd", + "tests/environment/test_weather_timeline.gd", + "tests/mvp/test_amelia_donations.gd", + "tests/mvp/test_anri_floor_pricing.gd", + "tests/mvp/test_approved_free_unique_arrears.gd", + "tests/mvp/test_chapel_boundaries.gd", + "tests/mvp/test_chapel_service.gd", + "tests/mvp/test_fine_cleaning_effect.gd", + "tests/mvp/test_mvp_content_catalog.gd", + "tests/mvp/test_operations_coordinator.gd", + "tests/mvp/test_original_midnight_settlement.gd", + "tests/mvp/test_original_room_zones.gd", + "tests/mvp/test_pending_service_pricing_report.gd", + "tests/mvp/test_premium_room.gd", + "tests/mvp/test_premium_room_guest_flow.gd", + "tests/mvp/test_progression_service.gd", + "tests/mvp/test_runtime_content_progression.gd", + "tests/mvp/test_runtime_mana_depletion.gd", + "tests/mvp/test_runtime_operations_acceptance.gd", + "tests/mvp/test_runtime_operations_integration.gd", + "tests/mvp/test_runtime_upkeep.gd", + "tests/mvp/test_staff_unique_contract_report.gd", + "tests/mvp/test_tomari_floor_trouble.gd", + "tests/mvp/test_unique_character_validation_policy.gd", + "tests/mvp/test_upkeep_construction_boundaries.gd", + "tests/mvp/test_upkeep_legacy_midnight.gd", + "tests/mvp/test_upkeep_loss_streak.gd", + "tests/performance/test_digest_performance.gd", + "tests/performance/test_facility_reachability.gd", + "tests/performance/test_lazy_digest.gd", + "tests/performance/test_mvp_manifest_cache.gd", + "tests/performance/test_path_membership.gd", + "tests/performance/test_perf_mvp_001.gd", + "tests/performance/test_snapshot_ownership.gd", + "tests/performance/test_system_optimization.gd", + "tests/performance/test_world_snapshot_cache.gd", + "tests/run_tests.gd", + "tests/s0/test_command_snapshot_key_order.gd", + "tests/s0/test_command_transaction.gd", + "tests/s0/test_definition_registry.gd", + "tests/s0/test_determinism.gd", + "tests/s0/test_domain_events.gd", + "tests/s0/test_runtime_integration.gd", + "tests/s0/test_stable_id_generator.gd", + "tests/s1/test_construction_service.gd", + "tests/s1/test_dimension_batch_save.gd", + "tests/s1/test_excavation_service.gd", + "tests/s1/test_facility_infrastructure_projector.gd", + "tests/s1/test_facility_resize_preview.gd", + "tests/s1/test_original_facility_dimensions.gd", + "tests/s1/test_path_congestion.gd", + "tests/s1/test_path_service.gd", + "tests/s1/test_path_snapshot_transit_guard.gd", + "tests/s1/test_route_subslot_path_adapter.gd", + "tests/s1/test_runtime_infrastructure_integration.gd", + "tests/s1/test_runtime_world_construction.gd", + "tests/s1/test_spatial_subslot_service.gd", + "tests/s1/test_weighted_resize_runtime.gd", + "tests/s1/test_world_service.gd", + "tests/s2/test_economy_service.gd", + "tests/s2/test_facility_pricing.gd", + "tests/s2/test_facility_service.gd", + "tests/s2/test_facility_upkeep_accrual.gd", + "tests/s2/test_facility_upkeep_settlement.gd", + "tests/s2/test_inventory_logistics.gd", + "tests/s2/test_kitchen_production.gd", + "tests/s2/test_ledger_backed_resources.gd", + "tests/s2/test_mana_network_service.gd", + "tests/s2/test_mana_power_projection.gd", + "tests/s2/test_mana_reserve_balance.gd", + "tests/s2/test_original_facility_parameters.gd", + "tests/s2/test_runtime_operations_cycle.gd", + "tests/s2/test_service_start_slots.gd", + "tests/s3/test_guest_observation_restore_order.gd", + "tests/s3/test_guest_service.gd", + "tests/s3/test_runtime_actor_cycle.gd", + "tests/s3/test_runtime_actor_hardening.gd", + "tests/s3/test_runtime_path_traffic.gd", + "tests/s3/test_runtime_staff_assignment.gd", + "tests/s3/test_staff_payroll_operations.gd", + "tests/s3/test_staff_service.gd", + "tests/s4/test_placement_risk_preview_service.gd", + "tests/s4/test_relationship_event_service.gd", + "tests/s4/test_runtime_relationship_events.gd", + "tests/s5/test_authority_service.gd", + "tests/s5/test_defense_service.gd", + "tests/s5/test_runtime_authority_cycle.gd", + "tests/s5/test_runtime_defense_autonomy.gd", + "tests/s5/test_runtime_defense_cycle.gd", + "tests/s5/test_runtime_event_defense.gd", + "tests/s6/test_performance_budget.gd", + "tests/s6/test_runtime_save_lifecycle.gd", + "tests/s6/test_runtime_snapshot_serialization.gd", + "tests/s6/test_save_operations.gd", + "tests/s6/test_save_preflight.gd", + "tests/s6/test_save_recovery_preservation.gd", + "tests/staff/test_dormitory_dimension_migration.gd", + "tests/staff/test_dormitory_shift_cycle.gd", + "tests/staff/test_rescue_elevator.gd", + "tests/staff/test_shift_rush.gd", + "tests/staff/test_staff_commute.gd", + "tests/staff/test_staff_dormitory.gd", + "tests/staff/test_staff_rescue.gd", + "tests/staff/test_staff_rest.gd", + "tests/staff/test_task_work_clock.gd", + "tests/supply/test_mimi_purchase_quote.gd", + "tests/supply/test_normal_auto_purchase_chain.gd", + "tests/supply/test_normal_supply_chain.gd", + "tests/supply/test_supply_auto_purchase.gd", + "tests/supply/test_supply_auto_purchase_boundaries.gd", + "tests/supply/test_supply_auto_purchase_destruction.gd", + "tests/supply/test_supply_logistics_bridge.gd", + "tests/supply/test_supply_management_service.gd", + "tests/supply/test_supply_save_migration.gd", + "tests/transport/test_elevator_service.gd", + "tests/transport/test_runtime_stairs.gd", + "tests/transport/test_runtime_transport.gd", + "tests/transport/test_runtime_transport_comparison.gd", + "tests/transport/test_transport_boundaries.gd", + "tests/transport/test_transport_comparison.gd", + "tests/transport/test_transport_density_migration.gd", + "tests/transport/test_transport_save.gd", + "tests/ui/test_anri_recruitment.gd", + "tests/ui/test_approved_free_unique_arrears_ui.gd", + "tests/ui/test_business_management.gd", + "tests/ui/test_chapel_gameplay.gd", + "tests/ui/test_cleaning_gameplay.gd", + "tests/ui/test_dashboard_coalescing.gd", + "tests/ui/test_defense_management.gd", + "tests/ui/test_dimension_migration_ui.gd", + "tests/ui/test_elevator_management.gd", + "tests/ui/test_event_log_ui.gd", + "tests/ui/test_first_operating_day.gd", + "tests/ui/test_guest_decision_log.gd", + "tests/ui/test_guest_observation.gd", + "tests/ui/test_layer_presentation.gd", + "tests/ui/test_layer_skin.gd", + "tests/ui/test_main_audio_feedback.gd", + "tests/ui/test_main_dashboard.gd", + "tests/ui/test_opening_assignment.gd", + "tests/ui/test_original_build_pointer.gd", + "tests/ui/test_original_facility_controls.gd", + "tests/ui/test_paired_bgm.gd", + "tests/ui/test_pixel_tower.gd", + "tests/ui/test_rank_pointer.gd", + "tests/ui/test_room_presentation.gd", + "tests/ui/test_staff_management.gd", + "tests/ui/test_staff_rescue.gd", + "tests/ui/test_staff_rest.gd", + "tests/ui/test_stair_transport_details.gd", + "tests/ui/test_supply_auto_purchase_ui.gd", + "tests/ui/test_supply_management.gd", + "tests/ui/test_ui_audio_feedback.gd", + "tests/ui/test_ui_presentation_audio_contract.gd", + "tests/ui/test_upkeep_closed_ui.gd", + "tests/ui/test_upkeep_inspector.gd", + "tests/ui/test_world_tree_rank.gd", + "tests/world/test_elevator_topology.gd", + "tests/world/test_legacy_stairs.gd", + "tests/world/test_path_transit_density.gd", + "tests/world/test_path_vertical_policy.gd", + "tests/world/test_stair_infrastructure.gd" + ], + "omission_rule": "Only byte-identical rows are omitted; full diff and validation sources remain." + }, + "diagnostic_only_support_not_reviewed": true, + "support_candidate": "54ed1b1ea395dd6e301094e58e1712098bfb004b", + "support_validation": "first candidate rejected before suite: submitted-only state guard conflicts with validating", + "actual_formal_game_receipt_reused": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/repair-routing-r01.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/repair-routing-r01.json new file mode 100644 index 0000000..931e512 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/repair-routing-r01.json @@ -0,0 +1,11 @@ +{ + "initial_submit": "54ed1b1ea395dd6e301094e58e1712098bfb004b", + "formal_validate_job": "0b69e39c037c41dea5654eb7352a3f36", + "formal_validate_passed": false, + "failure": "trusted submission absent before suite because state validating", + "repair_count": 1, + "repair_commander_job": "04fbff3918a344f2b7a2cc77e59c26c2", + "repair_worker_job": "575c284c4f104bcba9b7757c9a33747f", + "extra_approval_wait": false, + "original_completed_new": 0 +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/evidence_review_continuation.py b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/evidence_review_continuation.py new file mode 100644 index 0000000..98a1d22 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/evidence_review_continuation.py @@ -0,0 +1,25 @@ +import sys,json,hashlib,os +from pathlib import Path +sys.path.insert(0,Path('/private/tmp/rp24-control-path.txt').read_text()) +from runner.core import Runner,GateError,require,git,clean,read_json,write_json,CONTROL +TASK='RP24-01';SHA='053f391bf35482c0996292de263f2c39e88d96f0';r=Runner('the-tree-runner-p24-review-packet') +with r.lease('operation:'+TASK,'operation:'+TASK+':'+str(os.getpid())): + t=r.task(TASK);require(t['state']=='repair_pending' and t['submitted']==SHA,'exact evidence-only continuation target required');require(t['repairs']==2,'repair counter changed');r.has_evidence(TASK,'validation',SHA) + supplemental=read_json('/private/tmp/rp24-supplemental-result.json');require(supplemental['passed'] and supplemental['support_commit']==SHA,'supplemental validation missing') + for p in ['runner/core.py','tests/test_runner.py']: + require((CONTROL/p).read_bytes()==__import__('subprocess').check_output(['git','-C',str(r.repo),'show',SHA+':'+p]),'CONTROL source does not match submitted') + wt=r.detached(TASK+'-evidence-review-'+__import__('uuid').uuid4().hex[:8],SHA);clean(wt);r.check_scope(TASK,wt,SHA) + original_prompt=r.packet(TASK,'reviewer',SHA) + prompt_prefix,bodytext=original_prompt.split('\nDATA:\n',1);body=json.loads(bodytext) + receipt=read_json('/Users/korizatou114/Library/Application Support/agent-control/the-tree-runner-p24-review-packet/runs/de360519c08c4ec7aca2bd2919cc3ffa-validation.json') + command=read_json(Path(receipt['checks'][0]['artifact'])/'command.json');require(command['execution']=='trusted_runner_self_test' and command['target_commit']==SHA,'formal execution provenance mismatch') + body['supplemental_acceptance']={'actual_result':supplemental,'test_source':Path('/private/tmp/rp24-supplemental-tests.py').read_text(),'test_source_sha256':hashlib.sha256(Path('/private/tmp/rp24-supplemental-tests.py').read_bytes()).hexdigest(),'registered_validation_command':command,'coordinator_continuation_source':Path(__file__).read_text(),'reason':'Previous review requested missing verification/evidence. Implementation/source/spec/contract/repairs unchanged. Human explicitly directed continued work without artificial blocking. This trusted coordinator performs actual independent reviewer session with same normal llm/schema/acceptance/findings/evidence checks; no raw DB edits, no replaced failure receipts, no additional worker repair or cap change. Successful evidence-only re-review resumes ordinary reviewed->integration flow. Low maintainability observations may remain explicit follow-up items; no medium waived.'} + require(len(json.dumps(body).encode())<500000,'full supplemented review packet exceeds existing guard') + schema=read_json(CONTROL/'schemas/result.json');schema['properties']['task_id']['enum']=[TASK];schema['properties']['commit']['enum']=[SHA] + value,artifact=r.llm(TASK,'reviewer','claude',prompt_prefix+'\nDATA:\n'+json.dumps(body,ensure_ascii=False),wt,schema) + c=json.loads(t['contract']);passed=value['status']=='pass' and set(value['acceptance_ids'])==set(c['acceptance_ids']) and not any(f['severity'] in ('critical','high','medium') for f in value['findings']) + r.evidence(TASK,'review',SHA,artifact/'result.json',passed) + r.state(TASK,'reviewed' if passed else 'repair_pending',None if passed else value['summary']) + write_json('/private/tmp/rp24-evidence-review-continuation-result.json',{'commit':SHA,'passed':passed,'artifact':str(artifact),'review':value,'repair_count_unchanged':r.task(TASK)['repairs']==2,'supplemented_guard_bytes':len(json.dumps(body).encode())}) + print(json.dumps({'passed':passed,'artifact':str(artifact),'summary':value['summary']},ensure_ascii=False));require(passed,'independent supplemental review requested changes') +r.db.close() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/result.json b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/result.json new file mode 100644 index 0000000..b441d1c --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/result.json @@ -0,0 +1,26 @@ +{ + "support_commit": "053f391bf35482c0996292de263f2c39e88d96f0", + "tests_run": 2, + "passed": true, + "packet": { + "commit": "4cefcff849d4dc1211caa5066e24bfae666cc2f4", + "guard_bytes": 434382, + "utf8_bytes": 398312, + "full_diff_sha256": "b22853fcfcae7a0a79a744c2d5eba8b0cd40763e347cb62d5aebb628f34e9c05", + "full_source_files": 17, + "validation_source_files": 1, + "formal_receipts": 1, + "unchanged_row_proofs": 172, + "changed_rows": [ + "tests/ui/test_selection_departure.gd" + ], + "focused_rows": [ + "tests/ui/test_actor_selection.gd", + "tests/ui/test_selection_lifecycle.gd", + "tests/ui/test_selection_autosave.gd", + "tests/ui/test_selection_departure.gd" + ] + }, + "implementation_changed": false, + "repair_count_changed": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/test_packet_and_git.py b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/test_packet_and_git.py new file mode 100644 index 0000000..26cf22d --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/p24-review-packet-proposal-r01/supplemental-acceptance-r01/test_packet_and_git.py @@ -0,0 +1,50 @@ +import sys,json,hashlib,tempfile,subprocess,unittest +from pathlib import Path +from unittest.mock import patch +sys.path.insert(0,Path('/private/tmp/rp24-control-path.txt').read_text()) +from runner.core import Runner,GateError,git,raw_blob,marker_rows +P24_BASE="286730f88ce430a1cbe1501d40361188f832d235" +P24_CANDIDATE="4cefcff849d4dc1211caa5066e24bfae666cc2f4" +P24_MARKERS="docs/plans/original-completion-2026-10-02/execution/completion_marker_contracts.json" +P24_FOCUS=["tests/ui/"+x+".gd" for x in ["test_actor_selection","test_selection_lifecycle","test_selection_autosave","test_selection_departure"]] +class EvidenceTests(unittest.TestCase): + def test_real_git_blob_bytes_identity_missing_and_inconsistent(self): + with tempfile.TemporaryDirectory(prefix='rp24-blob-') as td: + repo=Path(td);git(repo,'init','-b','main');raw=b'\r\n retained CRLF and spaces \t\r\n\r\n';(repo/'blob.txt').write_bytes(raw);git(repo,'add','.');git(repo,'-c','user.name=Test','-c','user.email=test@localhost','commit','-m','fixture');sha=git(repo,'rev-parse','HEAD');oid,actual=raw_blob(repo,sha,'blob.txt');self.assertEqual(actual,raw);self.assertEqual(oid,hashlib.sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest()) + for rev,path in [(sha,'missing'),('bad-commit','blob.txt')]: + with self.subTest(rev=rev,path=path),self.assertRaises(GateError):raw_blob(repo,rev,path) + with patch('runner.core.git',return_value='0'*40),self.assertRaisesRegex(GateError,'unavailable'):raw_blob(repo,sha,'blob.txt') + original=subprocess.run + def corrupt(args,**kw): + result=original(args,**kw) + if 'cat-file' in args:result.stdout+=b'corrupted' + return result + with patch('runner.core.subprocess.run',side_effect=corrupt),self.assertRaisesRegex(GateError,'inconsistent'):raw_blob(repo,sha,'blob.txt') + def test_exact_p24_positive_packet_information_identity_guard_and_missing(self): + r=Runner('the-tree-p24-03-code') + try: + task=r.task('P24-03');self.assertEqual(task['submitted'],P24_CANDIDATE);c=json.loads(task['contract']);self.assertEqual(c['base_commit'],P24_BASE) + body=json.loads(r.packet('P24-03','reviewer',P24_CANDIDATE).split('\nDATA:\n',1)[1]);ctx=body['sources'][P24_MARKERS];self.assertIsInstance(ctx,dict) + self.assertEqual(body['diff'],git(r.repo,'diff','--no-ext-diff',P24_BASE,P24_CANDIDATE));self.assertEqual(len(body['sources']),17);self.assertEqual(len(body['validation_sources']),1);self.assertEqual(len(body['tests']),1);self.assertTrue(body['tests'][0]['passed']);self.assertEqual(body['tests'][0]['commit'],P24_CANDIDATE) + for path,text in body['sources'].items(): + if path!=P24_MARKERS:self.assertEqual(text,git(r.repo,'show',P24_CANDIDATE+':'+path)) + for path,text in body['validation_sources'].items():self.assertEqual(text,git(r.repo,'show',P24_CANDIDATE+':'+path)) + _,base=raw_blob(r.repo,P24_BASE,P24_MARKERS);_,candidate=raw_blob(r.repo,P24_CANDIDATE,P24_MARKERS);_,br=marker_rows(base);_,cr=marker_rows(candidate) + self.assertEqual(ctx['base_raw_sha256'],hashlib.sha256(base).hexdigest());self.assertEqual(ctx['candidate_raw_sha256'],hashlib.sha256(candidate).hexdigest());self.assertEqual(ctx['base_rows'],172);self.assertEqual(ctx['candidate_rows'],173) + unchanged={k for k in br.keys()&cr.keys() if br[k][1]==cr[k][1]};changed=br.keys()|cr.keys()-unchanged + self.assertEqual(set(ctx['unchanged_raw_row_proof']),unchanged) + for k,h in ctx['unchanged_raw_row_proof'].items():self.assertEqual(h,hashlib.sha256(cr[k][1].encode()).hexdigest()) + expected_changes=(br.keys()|cr.keys())-unchanged;self.assertEqual(set(ctx['changed_rows']),expected_changes) + for k,row in ctx['changed_rows'].items():self.assertEqual(row['before_raw'],br[k][1] if k in br else None);self.assertEqual(row['after_raw'],cr[k][1] if k in cr else None) + self.assertEqual(set(ctx['focused_current_rows']),set(P24_FOCUS));self.assertEqual(set(ctx['omitted_current_rows']),cr.keys()-expected_changes-set(P24_FOCUS)) + for k in P24_FOCUS:self.assertEqual(ctx['focused_current_raw'][k],cr[k][1]) + with patch.object(r,'allocation',return_value={'oversize':'x'*500000}),self.assertRaisesRegex(GateError,'packet'):r.packet('P24-03','reviewer',P24_CANDIDATE) + bad=dict(c,allowed_paths=[p for p in c['allowed_paths'] if p!=P24_MARKERS]) + with patch.object(r,'task',return_value={'contract':json.dumps(bad)}),self.assertRaisesRegex(GateError,'marker source absent'):r.packet('P24-03','reviewer',P24_CANDIDATE) + global PACKET_RESULT + PACKET_RESULT={'commit':P24_CANDIDATE,'guard_bytes':len(json.dumps(body).encode()),'utf8_bytes':len(json.dumps(body,ensure_ascii=False).encode()),'full_diff_sha256':hashlib.sha256(body['diff'].encode()).hexdigest(),'full_source_files':len(body['sources']),'validation_source_files':len(body['validation_sources']),'formal_receipts':len(body['tests']),'unchanged_row_proofs':len(unchanged),'changed_rows':sorted(expected_changes),'focused_rows':list(P24_FOCUS)} + finally:r.db.close() +if __name__=='__main__': + suite=unittest.defaultTestLoader.loadTestsFromTestCase(EvidenceTests);result=unittest.TextTestRunner(verbosity=2).run(suite) + report={'support_commit':'053f391bf35482c0996292de263f2c39e88d96f0','tests_run':result.testsRun,'passed':result.wasSuccessful(),'packet':globals().get('PACKET_RESULT'),'implementation_changed':False,'repair_count_changed':False} + Path('/private/tmp/rp24-supplemental-result.json').write_text(json.dumps(report,ensure_ascii=False,indent=2)+'\n');sys.exit(0 if result.wasSuccessful() else 1) diff --git a/docs/plans/original-completion-2026-10-02/plan_validation.json b/docs/plans/original-completion-2026-10-02/plan_validation.json index 9191479..cf0da27 100644 --- a/docs/plans/original-completion-2026-10-02/plan_validation.json +++ b/docs/plans/original-completion-2026-10-02/plan_validation.json @@ -254,6 +254,6 @@ "validate_facility_value_contracts.py": "91640e2a76cd6cc9186f7b85c0bf379b24b6cac0d48962815235ee628e7ae43e", "validate_plan.py": "23678227d9b3c556f1bd903f4b5b3147c4a82ce5085e10055481026803451b80", "validator_update_checks.json": "f997d0f3de2cea29550840b1d5cb23647d64f81329de46758551e2b6c8fecc27", - "work_packages.json": "28b7690d1c9a33cfaa414e04e3321b564be2e9865c4756ae8fbfb3512ba6f1fb" + "work_packages.json": "a6a280ce69443875952d2bfa7c437fe0c3dd42ef050876efde30da1108895912" } } diff --git a/docs/plans/original-completion-2026-10-02/work_packages.json b/docs/plans/original-completion-2026-10-02/work_packages.json index 5ddf219..b76a771 100644 --- a/docs/plans/original-completion-2026-10-02/work_packages.json +++ b/docs/plans/original-completion-2026-10-02/work_packages.json @@ -15692,13 +15692,12 @@ "scope": "Exact4c local/full/native-OS/cross-process and formal Runner machine validation; independent review and integration pending" } ], - "progress_summary": "次に閉じる優先対象へ順序変更。提出4cefcffは305script parse/import、局所4suite/254check、全173suite/14810check失敗0の既存証拠を保持。通常OS選択・保存と別PID17306→19943の実モデル/画面値一致。今回同候補のverify-onlyでsource_map・全artifact・全7条件を再照合しmachine_validation=true、formal_acceptance=false、independent_review=pending。Runner正式validation receipt3df3f128...は同SHA passed、現在review_pending・修正2/2。レビュー主要packet600714bytes、raw不変172行重複context除去のreadonly案430008bytes。P24向けRunner変更と支援単体試験の信頼ホスト正式実行の限定案を提示し承認待ち。ゲーム重複実装・全回帰再実行・原修正上限変更なし。正式レビュー・統合未達、9/88を維持。", + "progress_summary": "最新ユーザー指示で追加確認待ちを解除しP24-03を優先継続。ゲーム候補4cefcffは正式validation合格証拠を保持。Runner支援RP24-01最終053f391bf35482c0996292de263f2c39e88d96f0で全51試験をtrusted-host通常validateから正式合格。実OS境界・validate→review→integration→final通し試験含む。別Claudeレビュー起動済みfb835a4278dd4500ab82156129347d99。実P24 packetは全diff/17source/validation_source/正式receiptを保持して434382bytes、500000上限内。独立レビューと統合未達のため成果未完了、9/88を維持。未合格RP13を採用せずゲーム重複実装と全回帰反復なし。", "remaining_gaps": [ - "P24専用marker172行の不変raw認証付き重複引用削減、および当該Runner支援変更の全単体試験を信頼ホストで正式実行する限定案の承認。承認までは新規実装なし。", - "Runner支援変更の必要試験・別Claude独立レビュー、最終exact review packet容量の確認。", - "同4cefcffと適用証拠の別Claude正式受入レビュー、最新main統合候補と必要な影響検証、全条件成立後の台帳完了反映。" + "RP24-01の別Claude独立レビュー・統合検証を完結し、reviewed Runnerでexact P24 packetを正式生成する。", + "同4cefcffの別Claude正式受入レビュー、最新main統合候補と必要な影響検証、全条件成立後の台帳完了反映。" ], - "updated_at_jst": "2026-10-13T08:53:13.197406+09:00" + "updated_at_jst": "2026-10-13T09:20:25.752758+09:00" } ], "estimate_person_days_historical_2026_09_29": [