P04-01: 同時発生の更新規約

This commit is contained in:
Agent Control Runner
2026-10-15 23:15:15 +09:00
parent a19737b160
commit 9767b0a28c
6 changed files with 664 additions and 38 deletions
@@ -113,14 +113,29 @@
"missing_map_paths": [],
"task_id": "P04-01",
"base_commit": "deb1bcb2374eb378b840ca345db952bd8572cb6e",
"status": "blocked",
"status": "submitted",
"original_unit_complete": false,
"counted_units_added": 0,
"tests_executed": false,
"authority": {
"original": "docs/traceability/original/BASELINE.txt:64,67,71,72",
"approved": "A01: ownership-time apportioned upkeep at midnight; retained without reconfirmation",
"pending": "D05: started service after closure, final shift interval at 18:00, unresolved EV/transport stopping/cost/day crossing rules; no invented policy"
"owner_approved": {
"artifact": "D05_OWNER_APPROVAL.json",
"sha256": "4583ee9aad45c4db183d72df4420df48aa8e0897e3b5efda13016f0b5cdbd68e",
"bytes": 2073,
"origin": "direct_user_reply",
"formal_acceptance": false,
"conditions": [
"D05-P04-DEPENDENCY",
"D05-P04-SHIFT-1800"
],
"approval_is_not_test_pass": true
},
"existing": [
"BASELINE:64/67/71/72/183",
"D-034 docs/DESIGN_DECISIONS.md:252-258",
"A01 already approved; not reopened"
],
"remaining_pending": "Cost/day attribution remains pending; do not infer new policy. Required safety counts remain mandatory; no blanket D05 rejection."
},
"phase_order": "scripts/core/simulation_kernel.gd:123-153: APPLY_COMMANDS, clock increment/calendar boundary signals, TIME_BOUNDARIES, MANA, CONSTRUCTION, LOGISTICS, FACILITY_COMPLETION, VITALS_AND_ENVIRONMENT, INCIDENTS_AND_EVENTS, FACILITY_QUEUES, AI_DECISIONS, PUBLISH_SNAPSHOT. Handler IDs sorted lexically within phase at line242.",
"domains": [
@@ -132,9 +147,9 @@
"simulation_runtime._release_closed_business_queues",
"simulation_runtime._release_closed_business_request"
],
"order": "Facility completion precedes queue closure release; release occurs before patience spending. Started-service closure semantics remain D05 pending.",
"order": "Direct closure follows D-034: release waiting requests, continue started services. Dependency closure pauses progress/payment and preserves reservation/service IDs until recovery under D05-P04-DEPENDENCY.",
"old_evidence": "Historical phases 001/002: business closure/operations; midnight open-service proof cannot establish closure behavior.",
"missing": "Approved started-service closure rule and exact-version boundary raw proof."
"missing": "Exact-version direct/dependency closure evidence; approval is supplied, not a pass."
},
{
"domain": "停電",
@@ -192,9 +207,9 @@
"StaffService.advance_one_minute",
"simulation_runtime._sync_facility_staffing"
],
"order": "Facility completion precedes staff AI, commute and staffing projection. Final18:00 interval design meaning is D05 pending.",
"order": "Approved D05-P04-SHIFT-1800: [17:59,18:00) belongs to day shift, completion/payment once at 18:00 before switching; night shift begins [18:00,18:01).",
"old_evidence": "Historical phase083 hardening includes shift-end interruption; draft retains diagnostic1080 predicate failure without claiming original violation.",
"missing": "Approved final-interval rule then exact-version1080 boundary including nonzero cost where required."
"missing": "Applicable 1080 completion/replay, 1081 WAITING_FOR_STAFF with no night staff, and existing overtime task evidence."
},
{
"domain": "00:00決算",
@@ -212,23 +227,24 @@
],
"old_evidence_applicability": {
"raw_available_for_reuse": false,
"assessment": "Only local summaries/maps/draft read; original artifact paths remain provenance. No approved reuse asserted.",
"assessment": "39 references in supplied recheck retain old Runtime 2d7e2cea provenance; raw artifacts not supplied here. 20 function bodies independently rehashed in this checkout, matching supplied historical hashes, not the old 29-function count. No blanket boundary reuse.",
"source": "14 byte differences, zero missing mapped paths; six immutable current pins match.",
"config_input_environment": "Not established by raw local evidence; each required proof must pin these independently.",
"runtime_git": "Verified supplied old SHA2d7e2cea; git diff --no-index compared exact raw old/current Runtime. Four hunks affect _project_guest_candidates batching, _find_facility_access_path cost selection, _estimated_actor_path_minutes and extracted connector-credit helper. Completion/phase registration unchanged in this file; callees PathService changed, therefore reachability, choice, arrival and staff estimates require finite applicability evidence.",
"known_difference_impact": "Runtime/PathService may alter infrastructure, movement, staffing, guest selection and recovery boundary reachability; UI/main/preview and performance budget changes prevent blanket whole-full reuse. Two changed tests cannot supply old exact-version evidence. Seven additional Kenney metadata/sample byte differences require applicability classification, not product edits."
},
"blockers": [
"D05 closure service and final shift interval remain unapproved.",
"Raw historical boundary proofs/config/input/environment not supplied; summary pass claims cannot establish original acceptance.",
"Initial checker validates structural/hash predicates but intentionally rejects unsupported semantic coverage/native provenance; passing machine gate unavailable in pending-D05 dispatch."
"D05 dependency closure and 18:00 interval are approved; approval is not test success.",
"Raw 39 historical artifacts, settings/input/environment and engine receipts are not mirrored here. Their hashes in recheck are provenance, not verified current evidence.",
"Nonzero-payroll midnight, paused midnight, replay/separate-PID save restoration and reachable EV reservation safety need applicable raw evidence.",
"Root must independently assess affected power/destruction/exit paths and production Runtime 4696df4a versus checkout d52a995 before integration."
],
"validation_plan": [
"Runner supplies exact-version raw boundary evidence using CHECKER_PROTOCOL.md; no worker engine/test execution.",
"Confirm finite reachability/arrival/staff path impacts for affected Runtime and PathService; retain 14 raw differences and classify 7 metadata-only differences separately.",
"After D05 approval verify only affected closure/18:00 boundaries; retain failed diagnostics and approved A01.",
"Verify applicable stop/recovery, early/late destruction, public/patience/overdue exit, midnight/replay/reload evidence with raw hashes and source/config/input/environment pins; request fresh finite proofs only where reuse fails.",
"Runner executes p04-acceptance and independent all-condition review/integration; native Windows conditions individually pending only if applicable. No engine/all-regression run here."
"Runner runs p04-acceptance; worker only py_compile and synthetic negative fixture checks.",
"Root verifies source/config/input/environment applicability for power, destruction, exit cases affected by four Runtime hunks and PathService changes; fresh finite boundaries only if reuse fails.",
"Require nonzero payroll midnight, stop crossing midnight, same-minute resend, formal save and different PID restore, no-night-staff 18:01, existing overtime task, and reachable reserved-staff EV safety evidence.",
"Do not reopen A01 or invent cost/day attribution. Pending unrelated D05 does not fail the whole gate.",
"Root rechecks production Runtime 4696df4a against immutable checkout d52a995, then independent review in separate session and normal integration. Formal credit remains zero."
],
"repair_support": {
"hashes": {
@@ -240,5 +256,265 @@
"production_differences": 7,
"managed_differences": 14,
"additional7_classification": "Runner support reports CRLF to LF only; current raw hashes checked. Old raw metadata absent, normalization not independently reproduced; no acceptance equivalence claim."
},
"repair3": {
"space_available": "1.8 GiB before work; bounded source reads and ~small text changes, no raw archive copies needed",
"approval_material_verification": [
{
"file": "D05_OWNER_APPROVAL.json",
"bytes": 2073,
"sha256": "4583ee9aad45c4db183d72df4420df48aa8e0897e3b5efda13016f0b5cdbd68e",
"manifest_matches": true
},
{
"file": "README.md",
"bytes": 1029,
"sha256": "7b1c8992a8c5298d3ad416a5ff667a49f6e1eafea149fb6abb9e91e517e47c0f",
"manifest_matches": true
},
{
"file": "recheck.json",
"bytes": 46479,
"sha256": "44b32fa297c3c8f81691505878232756b3d63e0d5a801a6ae15173b84894bd22",
"manifest_matches": true
},
{
"file": "OPUS_D05_CANDIDATE.json",
"bytes": 6653,
"sha256": "54cd83971467744b1009e72c56e7b5d558c97073540d027640e486f7b5b5a34b",
"manifest_matches": true
}
],
"ordering_functions": [
{
"path": "scripts/core/simulation_kernel.gd",
"function": "advance_one_minute",
"line": 122,
"sha256": "b9587ef722d8c8640248025462819374ae5eca1c3d8bbe600b6bc9c328567777",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/core/simulation_kernel.gd",
"function": "_run_phase",
"line": 236,
"sha256": "52461eeb288892a4bb4b6a99570185af08a30758ef88b0046a911baaa6f318e1",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/core/simulation_kernel.gd",
"function": "_handle_time_boundaries",
"line": 254,
"sha256": "2ced47a2911b36def9d89de82a43afc69148ead44d19db6a2a6c7bce5a910ae9",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/core/command_queue.gd",
"function": "_comes_before",
"line": 409,
"sha256": "21f7f9f7c0923121fd0a022a2f7546b7bb7117a9979c1ed25d0b33b96e28ab28",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_process_tick_commands",
"line": 5736,
"sha256": "9de66a4bb84b12304300d49085f44546412319bd4aee91e67b61becf97e50294",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_operations_time",
"line": 1894,
"sha256": "511580d1fac3d2785072e94c2981065fa47ba18b1c97122922645dac5c0d94ab",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_run_operations_deferred_suffix",
"line": 1683,
"sha256": "12075307b12cbb66ffda47a26097194a07fad9d6467e3e557bd7269315c98982",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_mana",
"line": 10633,
"sha256": "05c54626ce6e355acd92994ab80aaf2177c5cf194885e66934552139e087599e",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_facilities",
"line": 8421,
"sha256": "f1efd0c23bdd60d1ef19a21879640b53b8b4d88844c0c881fe7cd724387ec274",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_guest_vitals",
"line": 8427,
"sha256": "8226ca18c983ac576a74e772cc3088e9fe52b362ffba1b71255bd1d7623c1234",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_staff_ai",
"line": 8597,
"sha256": "0e222987f7c5e25583dbaba8fe63784aa563715067396e8d31d10bd191e7179b",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_guest_ai_decisions",
"line": 8677,
"sha256": "e33b41294e88dba840affd5cc0a5c58fe5d46f5d98a80a8d5f4e907a3b9a7b93",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_release_closed_business_queues",
"line": 12562,
"sha256": "3a05fbe94877eeb750fb0d692501954555ab6a8005448ab3b6023dab9bad816b",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_release_closed_business_request",
"line": 12580,
"sha256": "6dbde3a3d425e47a049dcc4f05eae6f01fe9784f473c0fb1019a0633c239d83b",
"matches_supplied_historical_body_hash": true
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_complete_service_transaction",
"line": 11707,
"sha256": "f2b6e96a8eeef3dd3f8419b4d9d5ef4e1d13241600ce970bdd78a924428cac6c",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/facility/facility_service.gd",
"function": "advance_one_minute",
"line": 544,
"sha256": "59c0e89b4dca291e3ec02601b3f7c5544dba7c823fc137e0e7a50e7d5319e0ed",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_prepare_service_for_tick",
"line": 853,
"sha256": "b35c2c0fb23a04258b71995dd7c3b6dfacbbcdf36106e2e3348acef0e18d21cc",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_complete_service",
"line": 895,
"sha256": "494edfd11cb3e896d73c2c6fdbe7c1193efce6d869b105e526d2f1dfd1168142",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_fail_service",
"line": 933,
"sha256": "56f61b255217bddb4c8a6ad3af6ed1f9edc3b6a6e928dacf2105be6698936de5",
"matches_supplied_historical_body_hash": true
},
{
"path": "scripts/operations/operations_coordinator.gd",
"function": "_process_minute_boundaries",
"line": 882,
"sha256": "1312166dc17aee0ef470069a73ff3fe6b86d11d04ca7de76f3d04f1d2d14674e",
"matches_supplied_historical_body_hash": true
}
],
"ordering_function_count": 20,
"historical_29_not_combined": true,
"nativeWindows": {
"power_stop": "pending",
"destruction_stop": "pending",
"dependency_stop": "pending",
"shift_completion": "pending",
"recovery_completion": "pending",
"same_minute_replay": "pending",
"closure_release": "pending",
"exit_release": "pending",
"patience_release": "pending",
"paused_midnight": "pending",
"midnight_settlement": "pending",
"midnight_replay": "pending",
"save_restore": "pending",
"night_staff_absent": "pending",
"overtime_task": "pending",
"EV": "pending"
},
"spec_representation": {
"raw_sha256": "d28aadb044633f7d804de5a92c8d4c4a7438dfbf44c3243dca978951f4def25f",
"contract_sha256": "9ec722e7dfb0bee178d291624a026420c08412574e238bba1fde012c7a6f7881",
"difference": "exactly one final LF; no spec edits"
},
"worker_validation": {
"py_compile": "passed",
"negative_fixture_count": 10,
"negative_results": "all exit 1 with intended error; synthetic control exit 0/formal_acceptance=false",
"engine_runs": 0,
"runner_operations": 0,
"formal_acceptance": false
},
"runtime_diff_hunks": 5,
"reachability": {
"guest_EV": {
"reach": false,
"scope": "normal guest automatic service reservation before arrival",
"source_refs": [
"Runtime:8898-8922 arrival -> queue -> create_service_request",
"Runtime:7421-7445 reserve -> create request"
]
},
"staff_EV": {
"reach": true,
"scope": "public create_staff_task required_items can reserve before EV travel",
"source_refs": [
"Runtime:329,6733-6742 public task creation",
"task_dispatcher.gd:256-261,293-294,309-314 reserve before assignment",
"Runtime:5320,9141-9170 inventory callback",
"Runtime:12009-12013 begin_moving",
"Runtime:8755-8763,8946-8987 EV travel",
"elevator_service.gd:279-284 set_powered"
],
"required": "power-stop case with reserved-before-travel items; orphan_reservations=0; nativeWindows pending"
},
"transport": {
"reach": false,
"scope": "rescue transport payment/reservation only; physical movement is reachable",
"source_refs": [
"Runtime:12023-12030 completion heals only",
"Runtime:12976-13050 rescue pickup/transport creation, no required_items/reservation/payment"
],
"counted_domain_added": false
},
"opening_hours": {
"reach": false,
"scope": "production time-of-day closure",
"source_refs": [
"facility_instance.gd default [0,1440)",
"set_opening_hours: definitions/service wrapper only; no autoload caller"
],
"direct_closure_remains_required": true
}
},
"path_applicability": {
"source_refs": [
"scripts/world/path_service.gd:1055-1101",
"scripts/world/path_service.gd:1302-1319",
"Runtime:9222-9268,9296-9300,12798-12812,12838-12848"
],
"power": "Stop/resume core unchanged, but if fixture reaches a facility through guest candidate/connector routes or staff arrival, pins/function equality alone do not prove the same stopped-service boundary. Root must inspect route and arrival observations.",
"destruction": "Command-before-completion and incident-after-completion order unchanged; infrastructure/connector destruction can alter selected/access path and arrival, so only those route-dependent cases need current applicability confirmation.",
"exit": "Release callbacks unchanged; MOVING target selection/arrival/overdue exit can use the changed paths, so confirm their raw state and arrival minute before reuse.",
"path_service": "Batch only with connectors, default layers and empty access; settled tree path/cost, fallback on unusable tree/wrapped cost. Caller estimate can affect arrival even though phase functions match.",
"verdict": "No affected case accepted from summaries alone; raw source/config/input/environment evidence remains a Root prerequisite."
},
"runtime_logical_change_groups": 4,
"runtime_diff_note": "Default git diff emits 5 textual hunks: batch begin/end split into two; four logical change groups in commander direction."
}
}