P23-03: 生活の観察
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Offline checker repair on 55c29f1
|
||||
|
||||
Source HEAD: 55c29f119234dd6f993c604c4edc6f377fe3951c. Registration base remains
|
||||
860136f7099f5e3aee99da5798a627a77f2d8eea. No git writes or engine execution.
|
||||
|
||||
Read access: MIRROR_INDEX.json and all 2,622 named files were successfully read
|
||||
under `/Users/korizatou114/Projects/TheTree-managed-worktrees/p23-03-code/.runtime/P23-03/offline-evidence-55c29f1-r06`.
|
||||
No mirror bytes were changed. The initial shell heredoc could not create its
|
||||
temporary file; the read check was executed using Python `-c` instead.
|
||||
|
||||
## First defects and production cause
|
||||
|
||||
Both layouts first failed at frame-030, checker line 328, with KeyError:
|
||||
`shaft_id`. State objects:
|
||||
|
||||
- A: `layout-A/objects/ac3ed64a6e6162918e4d44c45b2f78d09e50d473b607f3469350a06074a7efb3.json`
|
||||
- B: `layout-B/objects/97ea43afe3d1b21602ebe2a602e7b7d796ff05f03983cd4d1b3edc9157e39a08.json`
|
||||
|
||||
The exception came from `shaft['shaft_id']`, not `t['shaft_id']`. Every trip in
|
||||
these failing frames has shaft_id. Saved shaft rows have it only in config.
|
||||
There is no evidence of shaft-less QUEUED trips to support accepting that shape.
|
||||
|
||||
`autoload/simulation_runtime.gd:541` writes elevators.create_snapshot().
|
||||
`scripts/transport/elevator_service.gd:362-367` copies the saved cars without
|
||||
flattening config; get_report at 345-359 merges config into each report row before
|
||||
counting queued trips. request at 169-171 assigns shaft_id on creation, and the
|
||||
restore validator at 412-454 requires the exact trip keys and shaft/connector
|
||||
agreement. The connector spelling is defined at 617-618; trips are ordered at
|
||||
707-710. `scenes/main/world_preview.gd:973-975` consumes get_report and sorts
|
||||
trips by enqueue time/actor. The checker now counts using the merged row identity.
|
||||
|
||||
## Reviewable changes
|
||||
|
||||
- `tools/check_p23_life_observation_evidence.py`: replace
|
||||
`t['shaft_id'] == shaft['shaft_id']` with `t['shaft_id'] == row['shaft_id']`;
|
||||
validate exact trip keys, companion identity, shaft/stops/connector attribution
|
||||
and QUEUED/BOARDED state before recomputing. Whole report equality remains strict.
|
||||
- `tests/fixtures/p23-03/queued_elevator.json`: retain one actual frame-030
|
||||
queued trip and its shaft, without a cabin seat. Distilled unit data only.
|
||||
- `tools/test_p23_life_observation_evidence.py`: queued shape positive and
|
||||
shaft attribution, waiting_count, missing/extra key negatives; update two
|
||||
pre-existing abbreviated synthetic fixtures to the actual shaft/trip shape.
|
||||
- This repair report. The complete implementation diff is available through
|
||||
`git diff -- tools/check_p23_life_observation_evidence.py tools/test_p23_life_observation_evidence.py`;
|
||||
the new fixture and this file are untracked submission files.
|
||||
|
||||
## Local results
|
||||
|
||||
`inspect_stream` on each exact absolute mirror directory:
|
||||
|
||||
```
|
||||
layout-A inspect_stream PASS 17 frames
|
||||
layout-B inspect_stream PASS 17 frames
|
||||
```
|
||||
|
||||
For both, labels are frame-000, frame-030, frame-060, frame-090, frame-120,
|
||||
frame-150, frame-180, frame-210, frame-240, frame-270, frame-300, frame-330,
|
||||
frame-360, frame-390, frame-420, frame-450, frame-480. Each returns fields:
|
||||
guests, staff, tasks, elevators, room_service_fields, queues, traffic, goods,
|
||||
cabin_geometry. Every frame also passes the existing two-motion-history-frame
|
||||
check, unchanged. No later schema/semantic mismatch was observed.
|
||||
|
||||
Python syntax AST checks pass. Local checker tests: 32 tests, OK.
|
||||
The initial test run exposed two abbreviated synthetic fixtures; subsequent
|
||||
queue expectations were corrected for actual lift landing exclusion. Tests
|
||||
were preserved. git diff --check passes; changed files are within allowed_paths.
|
||||
completion_marker_contracts retains its one required P23 strict template entry;
|
||||
no marker changes. Seven conditions, six categories and 30/88 remain unchanged.
|
||||
|
||||
Root native results (319 tests, A/B PASS), matched metric values (48 metrics,
|
||||
7153/2585), production data and services were not modified. Root OS evidence
|
||||
remains pending as expected at worker submission; this repair grants no acceptance.
|
||||
Reference in New Issue
Block a user