P23-03: 生活の観察
This commit is contained in:
+1
-1
@@ -3707,7 +3707,7 @@
|
||||
"template": "P23 life observation: <checks> checks, <failures> failures",
|
||||
"required": true,
|
||||
"fixed_check_count_used": false,
|
||||
"source_sha256_at_schema_audit": "b9afa66ec73d3a5cadf86f9a71f0d13f5b085c3cc9a534dfe29b2bed0e2e76a0",
|
||||
"source_sha256_at_schema_audit": "cc7049e1c3919585caeefd1747be12fbf3fa52141fcdb980929c8a16fd7e2ee1",
|
||||
"authority": {
|
||||
"path": "docs/spec/acceptance/P23-03.json",
|
||||
"scope": "component and read-only observation only; native unexecuted; whole unit blocked"
|
||||
|
||||
@@ -1,3 +1,205 @@
|
||||
# P23-03 worker status — static-complete submission
|
||||
|
||||
Contract base: `860136f7099f5e3aee99da5798a627a77f2d8eea`.
|
||||
This finalization preserves every pre-existing modified and untracked file.
|
||||
Static-complete is supported by the wiring inspection and local checks below.
|
||||
No acceptance claim is made. No Godot, native, OS collector, Runner, full
|
||||
regression, git write, branch change, or other worker was used.
|
||||
|
||||
## Current wiring confirmed by git diff and rg only
|
||||
|
||||
Line numbers refer to the current candidate.
|
||||
|
||||
- Checker `tools/check_p23_life_observation_evidence.py`: `check` at 1189
|
||||
reaches `inspect_native_phases` (1162) at 1215 and `inspect_stream` (950)
|
||||
at 1220/1226. The stream inspection invokes `compare_rest` (531) at 968,
|
||||
`compare_motion` (738) at 974, and `compare_actor_geometry` (800) at 975,
|
||||
alongside actor, room, queue, traffic, goods, badge and cabin checks.
|
||||
- `check` reaches `inspect_os_receipt` (1038), `inspect_os_requests` (1092),
|
||||
and `inspect_resume` (1070) at 1249, 1250 and 1257.
|
||||
Request inspection calls `screenshot_pixels` (184) at 1143, which invokes
|
||||
`inspect_conversion` (158) at 191 for JPEG evidence; rectangle/pixel
|
||||
checking follows at 1154.
|
||||
- `check` builds executed check sets at 1270–1272, then calls `BLOCKERS`
|
||||
at 1273, reaching `condition_matrix` (982) through 1000. All original
|
||||
seven CONDITIONS and six CATEGORIES (room, queue, EV, staff, goods,
|
||||
business state, represented by the key `business`) remain required.
|
||||
Missing executed check names produce pending/deficits; no fixed-true matrix.
|
||||
- Collector `tools/run_p23_life_observation.py`: `collect_os` (110)
|
||||
invokes `collect_screenshots` (26) at 186. JPEG collection invokes
|
||||
`convert_screenshot` (73) at 55; conversion calls `inspect_conversion`
|
||||
at 107. Raw CUA bytes and tool-call bindings are retained separately from
|
||||
converted PNG and conversion receipts. This wiring was inspected, not run.
|
||||
- `diagnostic_stream.gd` captures hash-addressed `rest_audit` and `motion`
|
||||
at 70–78. `rest_audit` (89) records selection inputs, route/cost probes,
|
||||
locks/transit and comparison-only Runtime output. No stored-rest field was
|
||||
introduced. The source-grounded correction supersedes the old stored-state
|
||||
proposal below. MotionObserver retains two draw frames, not whole Runtime
|
||||
state per frame.
|
||||
- Native route: `tests/ui/test_p23_life_observation.gd` at 18–21 invokes
|
||||
`layout_comparison.gd`; the runner invokes that UI test at 309 for A/B.
|
||||
Layout comparison preloads diagnostics at 5 and starts watching at 65.
|
||||
- Normal OS route is separate from the native UI component test: runner
|
||||
RECORDER at 24 is copied/launched at 145/152; `passive_os_recorder.gd`
|
||||
preloads `passive_observation.gd` at 2 and calls its inherited run at 6.
|
||||
`passive_observation.gd` extends `observation.gd` at 1;
|
||||
`observation.gd` preloads diagnostics/layout comparison at 3–4 and
|
||||
watches the real preview at 26. These fixtures are reached through the
|
||||
OS runner, not directly preloaded by the native UI test.
|
||||
- Existing mutation negatives cover conversion provenance, rest operands,
|
||||
motion history, rectangle/pixel transforms, process/source/profile guards,
|
||||
formal members/distinct PID/ACK, and every condition/category matrix cell.
|
||||
No concrete missing call or negative was found; no code hardening was added.
|
||||
|
||||
## Exact local commands and real results
|
||||
|
||||
- `git status --short`, `git diff --stat`, and targeted `git diff --`
|
||||
for the collector, UI test, diagnostic fixture and marker: inspected existing
|
||||
changes without modifying git state.
|
||||
- Targeted `rg -n` / `rg -n -A...` searches for function definitions,
|
||||
calls, fixture preloads/extends, rest_audit/motion, CONDITIONS/CATEGORIES
|
||||
and unittest methods in the three P23 tools and five P23 fixtures/UI test:
|
||||
wiring results recorded above. No Runtime/source audit or Phase0 repetition.
|
||||
- `python3 -m py_compile tools/run_p23_life_observation.py tools/check_p23_life_observation_evidence.py tools/test_p23_life_observation_evidence.py`:
|
||||
initial attempt failed because the interpreter's default cache destination
|
||||
under Library/Caches was not writable; no syntax failure was reported.
|
||||
- `PYTHONPYCACHEPREFIX=docs/plans/original-completion-2026-10-02/execution/p23-03/.finalization-pycache python3 -m py_compile tools/run_p23_life_observation.py tools/check_p23_life_observation_evidence.py tools/test_p23_life_observation_evidence.py`:
|
||||
PASS, exit 0 for all three tools.
|
||||
- `python3 -B tools/test_p23_life_observation_evidence.py`:
|
||||
**27 test methods run, 27 passed**, 0 failures/errors; reported 0.044 seconds.
|
||||
These are synthetic checker tests, not native/OS evidence.
|
||||
- `git diff --check`: PASS, exit 0; repeated after this status rewrite.
|
||||
- Read-only `python3 -B -c` JSON/hash/path assertions using
|
||||
`git show 860136f7099f5e3aee99da5798a627a77f2d8eea:<path>`,
|
||||
`git diff --name-only <base>` and
|
||||
`git ls-files --others --exclude-standard`: PASS.
|
||||
All old marker metadata/rows equal base; exactly one appended P23-03
|
||||
required source-authority entry; test SHA
|
||||
`cc7049e1c3919585caeefd1747be12fbf3fa52141fcdb980929c8a16fd7e2ee1`
|
||||
matches current bytes. suite-policy.json equals base byte-for-byte.
|
||||
All 16 changed/untracked paths relative to base are allowed.
|
||||
- The immutable spec SHA matches
|
||||
`8568457df849ef587c731f072d77244ef5420fc4e1190c5069cfd6cfeea9c89f`
|
||||
using the existing checker's `read_text().strip().encode()` convention.
|
||||
An initial extra raw-byte SHA assertion failed (raw file SHA
|
||||
`1a925e0d7f5c1c9f28670d29dd0fdc5aa48f4d5415946d6de4c15e1d83b5ed66`);
|
||||
normalized verification passed and the spec has no diff against base.
|
||||
- An initial inline validation here-document could not create its shell
|
||||
temporary file; rerun via `python3 -B -c` succeeded.
|
||||
- Removed only the temporary .finalization-pycache tree created by this run.
|
||||
No pre-existing dirty/untracked material was removed.
|
||||
|
||||
## Root work still pending — expected, not worker blockers
|
||||
|
||||
Native Godot execution; actual OS collector with screenshots for both layouts
|
||||
and all six categories, FRONT/BACK and ordinary pan/zoom; formal save and
|
||||
distinct actual PID normal resume; one full exact-candidate **177-suite**
|
||||
regression; independent Opus all-condition review. These must precede any
|
||||
acceptance determination. Constructibility, visual correctness and same-demand
|
||||
improvement have not been claimed from static checks.
|
||||
|
||||
## Superseded history — retained verbatim
|
||||
|
||||
The following earlier blocked statuses (including the 19-method and
|
||||
"not yet wired" claims) describe previous candidates and are superseded by the
|
||||
current wiring and results above.
|
||||
|
||||
# Current RUN continuation — blocked on stored-rest-destination contract
|
||||
|
||||
All seven pre-existing modified files and three untracked fixtures were retained.
|
||||
No git writes, agents, Godot, collector execution, Runner or full regression.
|
||||
This is not a genuine completed submission and makes no acceptance claim.
|
||||
Root native/OS evidence remains **pending**, independently of this source blocker.
|
||||
|
||||
Changes completed in this continuation:
|
||||
- Removed mandatory left-button drag and its pan-change assertion. Camera
|
||||
screenshots now use ordinary-wheel-zoom, pan-mode-button, move-mode-wheel-pan.
|
||||
Existing non-Ctrl event observation is preserved.
|
||||
- Added stdlib PNG decoding with CRC/chunk/end checks, RGB/RGBA and filters 0–4.
|
||||
JPEG dimensions reuse the P08 helper; no JPEG decoder or PIL was added.
|
||||
- Added conversion receipt inspection and Root-only convert_screenshot helper:
|
||||
separate output, original CUA hash/call binding, sips executable SHA/argv,
|
||||
output digests, decoded PNG and magic-derived dimension equality. No actual
|
||||
sips conversion was run here. This helper is not yet wired into collect_os.
|
||||
- Added four image test methods including all filters, CRC corruption, trailing
|
||||
data, converter SHA/argv, raw CUA hash, dimensions and missing-conversion negatives.
|
||||
|
||||
Actually executed: 19 checker unittest methods passed; py_compile passed for
|
||||
the three P23 Python tools. Temporary compilation outputs were removed.
|
||||
Synthetic image tests are checker tests, never native screenshot evidence.
|
||||
|
||||
Concrete contract gap (targeted dependency inspection, not a repeated Phase0 audit):
|
||||
- autoload/simulation_runtime.gd:13109–13125 computes get_staff_rest_report by
|
||||
scanning facilities and selecting a minimum-cost route on every call. The
|
||||
selected facility and eligibility are local variables, not stored state.
|
||||
- autoload/simulation_runtime.gd:8783–8785 calls that query and passes only its
|
||||
cell to advance_staff_commute. At :12656–12690 the movement function either
|
||||
returns without movement or emits a STAFF_MOVED event with a target_cell;
|
||||
it does not persist a selected rest facility ID or eligibility. Movement
|
||||
events cannot supply a current destination for stationary/nonmoving staff.
|
||||
- scripts/staff/staff_runtime.gd:282–315 serializes current_cell, assignment,
|
||||
task and path_handle but no rest destination/eligibility. Runtime snapshot
|
||||
assembly at :511–570 has no stored rest-selection model. PathService's
|
||||
snapshot at scripts/world/path_service.gd:1606 stores path/actor projections,
|
||||
not the selected rest facility and its eligibility.
|
||||
|
||||
Thus recipe (3), "rest destination must equal the typed stored destination and
|
||||
its eligibility; do not re-simulate AI", has no authoritative stored operand.
|
||||
Calling get_staff_rest_report from a fixture would rerun selection, and copying
|
||||
its output into a purported stored-state field would manufacture authority.
|
||||
These Runtime/staff/path files are outside allowed_paths and remain unchanged.
|
||||
|
||||
Read source SHA256:
|
||||
- Runtime: 4696df4a77feb465a5a3ba8b806569f7bcbe1d03c88289acfb78a3928f307d67
|
||||
- StaffRuntime: 807a417bc7866c97cd6d8f5c1368b5480a2d9fd685a2a47a978e81482bf522b5
|
||||
- PathService: 447135729a1106639a6eee6754af3195c8a8b458ca26980ae91fa39d80dcfbd4
|
||||
|
||||
Minimal separate proposal for Root/Opus, not applied: authorize an authoritative
|
||||
rest-decision record at the existing Runtime selection point, including selected
|
||||
facility/cell, eligibility and decision time, with explicit invalidation and
|
||||
snapshot/restore semantics. Alternatively Root must identify an existing typed
|
||||
stored field that has those semantics. No worker relaxation of this gate.
|
||||
|
||||
Remaining source implementation is explicit: collector conversion integration,
|
||||
all row/rectangle bindings, motion history, distinct-PID/formal ACK checker,
|
||||
dynamic matrix and the remaining requested negatives. Existing fail-closed
|
||||
whole-unit behavior remains; no unconditional PASS or new fail stub was added.
|
||||
The 30/88 denominator, seven conditions, six categories and old suite policies
|
||||
are unchanged. Do not begin acceptance assuming only Root evidence is missing.
|
||||
|
||||
---
|
||||
Previous status retained as history:
|
||||
|
||||
# Repair from source 03100be — blocked, implementation incomplete
|
||||
|
||||
Source checkout HEAD confirmed read-only: `03100beabeb55caac03f53db3d1f399b424df517`.
|
||||
Contract base remains `860136f7099f5e3aee99da5798a627a77f2d8eea`.
|
||||
No git writes, Godot, Runner, OS input, regression, or other workers were used.
|
||||
No acceptance or partial credit is claimed. No out-of-scope defect or missing Runtime capability was established.
|
||||
|
||||
Changes in this repair:
|
||||
- Added registered `--verify-only` CLI, concrete missing-index deficits, immutable fixture/spec/contract/baseline/AGENTS pins and a normative P23 plan-section hash. Full-plan SHA is separate provenance only. Existing diagnostic/layout CLI modes retained.
|
||||
- Removed fixture-side begin_leaving/despawn_guest calls; Runtime owns continued guest behavior. Added A/B native entry to the existing component test and updated the existing single marker row SHA.
|
||||
- Added observation.gd extending P08 placement helpers unchanged, with real supply scenario commands/settings, common definition-derived construction budget, seed806042, relocated common cafeteria/kitchen at x6 to avoid declared B elevator footprint, sparse typed captures, normal save/load and whole formal-model comparisons. These construction prechecks have not been executed.
|
||||
- Added passive request/ACK endpoint and recorder for four layout/role combinations, live FRONT/BACK buttons and PanModeButton, ordinary non-Ctrl wheel zoom/pan and ordinary pan drag only. No deferred P23-02 held-gesture credit.
|
||||
- Replaced the collector stub with an adaptation of P08 collect/collect_os using run_all_tests helpers and owned gates, fresh outputs/profiles, native import/parse/layout phases, four OS roles and formal reader copies. Records the current interpreter PIL availability; raw screenshot bytes are left untouched. Collector has not been executed.
|
||||
- Checker now inspects available native/OS streams, comparisons and basic process/source/profile guards, but explicitly fails closed for outstanding whole-unit gates.
|
||||
|
||||
Local verification actually executed: 16 Python unittest cases PASS; ast.parse for the three changed Python tools PASS; one P23 marker row and exact source SHA PASS. No engine or evidence-collector execution.
|
||||
|
||||
Remaining IMPLEMENTATION, separate from missing Root evidence:
|
||||
1. Complete screenshot byte-magic dimensions, stdlib PNG pixel/rect checks, and indexed Root JPEG-to-lossless-PNG conversion binding to raw hash/converter provenance. PIL absence is not waived.
|
||||
2. Add prior-frame visual-position/frame-delta evidence and independent interpolation checks; compare rest destinations with typed stored destination/eligibility without re-simulating AI.
|
||||
3. Bind all request report rows to viewport rectangles/affine and screenshots; current endpoint retains report plus viewport-to-screen transform but does not yet produce every required viewport row rectangle.
|
||||
4. Finish independent distinct-PID/formal-member/resume-state/load-ACK gates. Fixture assertions do not replace checker proof.
|
||||
5. Replace hard failure condition-matrix deficits with exact completed check names only after all seven independent gates exist; finish all requested category and infrastructure negatives. Current check intentionally cannot pass whole-unit integrity.
|
||||
6. Statically review collector lifecycle/failure receipts and fixture category coverage; real constructibility and EV/passenger/queue/goods coverage remain unproved.
|
||||
|
||||
Root native, actual OS for A/B, formal distinct-PID resume, exact-final full regression, independent review, integration/final/ledger: all PENDING. This candidate is blocked on remaining in-scope implementation, not ready for acceptance or a claim that missing Root evidence is the only gap.
|
||||
|
||||
---
|
||||
Previous worker status retained verbatim as history (superseded by the repair status above):
|
||||
|
||||
# P23-03 worker status: submitted static work, implementation incomplete
|
||||
|
||||
Base commit: `860136f7099f5e3aee99da5798a627a77f2d8eea`.
|
||||
|
||||
Reference in New Issue
Block a user