test: retain exact Runner validation and P24 packet preservation evidence
This commit is contained in:
+11
@@ -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
|
||||
}
|
||||
+44
@@ -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"
|
||||
}
|
||||
+56
@@ -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
|
||||
+14
@@ -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
|
||||
}
|
||||
+547
@@ -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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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> checks, <failures> 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
|
||||
}
|
||||
+11
@@ -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
|
||||
}
|
||||
+25
@@ -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()
|
||||
+26
@@ -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
|
||||
}
|
||||
+50
@@ -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)
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": [
|
||||
|
||||
Reference in New Issue
Block a user