P24-03: 選択と保存の受入
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@
|
||||
"template": "Selection departure: <checks> checks, <failures> failures",
|
||||
"required": true,
|
||||
"fixed_check_count_used": false,
|
||||
"source_sha256_at_schema_audit": "a9a2ec8dbcb096da7356e8ea29f6bdb6e014e4d9f95e645c84bfea1e4f423701",
|
||||
"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"
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"read_only_review_report": true,
|
||||
"candidate": "c2b8772e237597930e67f1329d8b61143614a244",
|
||||
"local_result": "import and 304 parse passed; departure37checks2failures; guards and cleanup pass; other3notrun",
|
||||
"evidence_root": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p24-03-local-native-r02",
|
||||
"failure": "construction start/complete; message prints RefCounted identity, not actual CommandResult",
|
||||
"diagnosis": "Possible fixture ordering interference: test creates then removes ordinary employee with43 unpaid wages, deliberately preserving departed debt. Runtime _operations_construction_investment_gate lines7988-8001 correctly rejects construction if _operations_total_arrears()>0. Build/demolish should precede unpaid-wage departure boundary or use independently fresh runtime/Main via ordinary cleanup. Do not bypass legitimate debt gate. Print build_result.to_dictionary for actionable true error. Verify this rather than merely changing coordinates again.",
|
||||
"required_remaining_implementation": "Add allowed tests/ui/fixtures/selection_cross_process.gd passive, separate-process normal-Main collector; lacking independently read actual model fields/screen widgets prevents root preparing truthful exact-current cross-process and OS proof. Existing Main has no external introspection endpoint. Fixture should instantiate ordinary Main, prepare boundary target via actual commands for producer if needed, pause clock for unchanged observations, expose actualPID/model/screen/selected layer/highlights via JSON and rawlog plus frames; source map supplied by rootcontroller; save/load and selection for OS proof MUST be actual native CUA user-facing controls, not injected Godot engine events. Consumer uses same immutable formalpackage in distinct process/private-profile, source/project guards stay unchanged. No manufactured accepted index or reviewer. Provide documented env/control/paths, passive poll output and ordinary owned teardown. No testunit denominators added.",
|
||||
"root_product_source_edits": 0
|
||||
}
|
||||
@@ -56,6 +56,20 @@ indexのキー:
|
||||
|
||||
## 今回の提出で残る実行
|
||||
|
||||
別process fixtureは追加しない。既存通常Mainの正式save/loadとRunner所有の実OS観察を使用し、上記producer/consumer protocolで同一package・別PID・実画面値を採取する。局所suiteはOS入力の代用にしない。source_mapと正式manifest/worldのSHAを添えた観察、CUA stepと画面、全回帰、正式レビューはいずれも未取得でpending。作成者はgit書込み、Runner操作、試験実行を行っていない。
|
||||
別process fixtureとして `tests/ui/fixtures/selection_cross_process.gd` を追加した。通常Mainをinstantiateする受動観察器であり、選択・保存・読込・Clock変更・command・入力注入を行わない。局所suiteはOS入力の代用にしない。source_mapと正式manifest/worldのSHAを添えた観察、CUA stepと画面、全回帰、正式レビューはいずれも未取得でpending。作成者はgit書込み、Runner操作、試験実行を行っていない。
|
||||
|
||||
## SECOND_LOCAL記録に対する修正(正式再実行pending)
|
||||
|
||||
実建設/撤去をguest/staff離脱境界より前へ移動した。意図的に43Gの離職給与債務を保持した後の建設は正規債務ガードに阻まれるためであり、経済ルールは変更しない。assertは維持し、建設失敗messageは `CommandResult.to_dictionary()` を表示する。変更した新suiteだけのSHAをpolicy/markerへ更新した。これは追加のfixture修正であり、既存suiteのSHA/marker/cleanupは変更しない。
|
||||
|
||||
### 受動別process collectorの実行契約
|
||||
|
||||
Runnerは同候補project、別PID、専用private user-data環境で `--script res://tests/ui/fixtures/selection_cross_process.gd` をGUI起動する。`P24_OBSERVER_OUTPUT` はそのprocess専用の既存絶対ディレクトリ、`P24_OBSERVER_SOURCE_MAP` は現候補のpath→raw SHA256 map JSONの絶対パス。別worktreeは入力にしない。入力とsource guardは既存Runner側で照合する。
|
||||
|
||||
通常Mainの画面操作で必要対象の準備・選択・pause・正式保存・別process読込を行う。observerは1秒間隔で変化した観察を、実PID/連番付きJSONとPNG、stdout `P24_PROCESS` / `P24_RAW_OBSERVATION` として保存し、既存artifactの上書きを拒否する。不要なprocessの終了は通常MainのOSウィンドウcloseに従い、終了強制や外部PID操作を追加しない。追加のtest suiteではなく、roster/成果分母を増やさない。
|
||||
|
||||
JSONの `raw_observation` はモデル側facility snapshot、guest observation、staff management reportを、実Labelのheading/detail/priority/decision・need bar・editor可視性・地図highlightとは独立に採取する。表示を再生成してscreen値と称しない。未選択/不存在は空modelとして残し、成功とは判定しない。PNGとJSONはraw証拠であり正式save SHAやOS traceを自己申告しない。
|
||||
|
||||
Runner collectorはこのraw証拠と実画面・正式packageを突合し、既存index protocolの `model_values` / `screen_values` を独立に抽出する。表示されていないモデル値をscreen側へコピーしてはならない。`P24_RAW_OBSERVATION` は既存検証器が要求する正規化済み `P24_OBSERVATION` と区別する。正式manifest/worldのSHA、元raw report/frame、OS入力traceへの由来を保持し、未取得はpending。collectorのparseと同一package別PID復元はRunnerの局所/影響範囲検証に含める。
|
||||
|
||||
読取専用の静的確認としてPython検証器のAST parseと、新suiteのraw SHAがpolicy/markerの両方と一致することを確認した。Godot parse、局所suite、証拠検証器そのものの実行結果は未取得であり、静的確認を正式試験の合格として扱わない。
|
||||
|
||||
Reference in New Issue
Block a user