P08-03: 配置の通常操作受入

This commit is contained in:
Agent Control Runner
2026-10-14 03:52:45 +09:00
parent 7dd450c64c
commit c2b59f04f9
13 changed files with 409 additions and 53 deletions
@@ -31,6 +31,32 @@ and a budget report explicitly tagged diagnostic. No production costs,
services, balance values or definitions are changed. New art is unnecessary;
the demolition button reuses Main's existing styling and audio.
## r01 fixture repair (current candidate)
The only failure authorities used are `NATIVE_R01_FAILURE_AND_SCOPE.json`
and `native-r01-writer-stderr.log`. The r01 writer failed 13 expectations;
its full SaveService return Dictionaries were not captured and remain absent.
No past Dictionary was reconstructed and no historical raw evidence was edited.
The handler now changes a toggle button's pressed state, emitting the real
production `toggled` connection before `pressed`. Repeated `choose(id)` leaves
an already selected ID active. Production wiring is unchanged.
Initial and normal saves use private `user://saves/p08_initial` and
`user://saves/manual_ui`; separate handler readers SHA-copy the exported input
into their own private profile before normal-menu load. The initial diagnostic
package seeds the normal slot, so the actual normal save creates its backup.
Exports retain all four members, the backup, and verbatim manifest slot
metadata with SHA/byte lengths and actual paths. An absent initial backup is
explicitly recorded. Every observed Runtime save/load result and direct
SaveService diagnostic return is recorded as typed JSON and SHA-pinned raw
Variant, with PID, requested/absolute paths and user-data directory.
The 35 local checker tests remain synthetic controls. Their negative cases
also cover missing backup members, slot metadata SHA, failed actual returns,
and saves outside private profiles. The mock collector supplies a controlled
disk-space input; the production disk-admission gate is unchanged.
Current native/OS/full regression/review/integration remain pending.
## Evidence boundary
`placement.gd` contains the shared finite scenario and handler endpoints.
@@ -0,0 +1,63 @@
{
"unit": "P08-03",
"submitted_commit": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af",
"actual_local_final": {
"source_input_hash_mismatches": 0,
"synthetic_checker_tests": 35,
"passed": true,
"native_acceptance": false
},
"native_output": "artifacts/original-completion-2026-10-02/p08-03-native-os-r01",
"phases": [
{
"phase": "import",
"pid": 45015,
"passed": true
},
{
"phase": "parse",
"pid": 45110,
"passed": true
},
{
"phase": "writer",
"pid": 45149,
"passed": false,
"assert_failures": 13
}
],
"failure": "strict writer diagnostics; fixture methods do not match actual toggle/save API",
"observed": {
"build_report": "can_build=false with cells/error_codes/reasons empty",
"status": "initial UI help, no build results",
"formal_member_hashes": "empty because no formal save was created"
},
"source_diagnosis": [
{
"fixture": "button() only emits pressed",
"production": "build buttons connect toggled to _on_build_button_toggled",
"scope": "repair fixture; no evidence to change production button wiring"
},
{
"fixture": "formal and initial-formal paths outside private user://",
"production": "SaveService only accepts paths under current user://",
"scope": "use legitimate private profile saves and SHA-copy formal members; preserve SaveService protection",
"certainty": "UNSAFE_PATH is source/path inference; full returned save Dictionary must be recorded next"
}
],
"cleanup_errors": [],
"all_owned_children_ended": true,
"OS_input_performed": false,
"full_regression_performed": false,
"registered_copy": {
"files": 2047,
"whole_file_hashes_match": true
},
"registered_validation": {
"passed": false,
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p08-03-code/runs/ac8ca67c94324f719a327d98b5e833c3-validation.json"
},
"acceptance_credit": 0,
"next": "Actual Opus request-repair judgment for same worktree, narrow fixture fixes",
"updated_utc": "2026-10-13T18:33:26.998526+00:00"
}
@@ -31,6 +31,16 @@ All four formal members are copied and SHA-checked. The staged project gets
only private-profile settings and is restored in finally. Only captured
Popen children are cleaned by `owned_outer.finish_captured`.
The repaired handler also saves only inside its private `user://` profile,
then exports `initial-formal` and `formal` to the evidence directory.
`formal.bak`, `*-slot-metadata.json` (verbatim manifest), and `*-export.json`
retain backup/metadata bytes, source paths and SHA pins. Initial backup absence
is recorded explicitly. Each role's `*-save-results.json` references actual
typed result JSON and SHA-pinned raw Variant files, including failed returns.
Inspect the full returned dictionaries and paths on the next native run.
The r01 dictionaries were never captured; do not reconstruct them or append
new results to the historical r01 raw evidence.
Actual argv is `[engine, --path, stage, --script, passive_os.gd]`, with no
headless flag or headless proof gate. `started.json`, `process-started.json`,
`ended.json`, raw engine log, actual profile/engine report, source/stage/default
@@ -5,7 +5,7 @@
"P08-03"
],
"base_commit": "12430ba89970bda349781e51157e72e48a4ac06f",
"actual_worktree_HEAD": "12430ba89970bda349781e51157e72e48a4ac06f",
"actual_worktree_HEAD": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af",
"worker_committed": false,
"final_commit": null,
"final_commit_note": "Root must freeze and record the submitted candidate; worker git writes are prohibited.",
@@ -18,27 +18,27 @@
},
"final_local_files_sha256": {
"docs/plans/original-completion-2026-10-02/execution/completion_marker_contracts.json": "f59f01f65c795057117fda753706a6200928d4954af901fc965cf1a7c09232b5",
"docs/plans/original-completion-2026-10-02/execution/p08-03/CONDITION_MATRIX.md": "656400d0f9028ff7cf272b8e02be9c329f25adb6ff2039708ca04d0251be611c",
"docs/plans/original-completion-2026-10-02/execution/p08-03/ROOT_COLLECTION.md": "d2a0da74c3b469350e9130fbd8a024be49b4c8cc9ed09154c3966bf7642c38cc",
"docs/plans/original-completion-2026-10-02/execution/p08-03/CONDITION_MATRIX.md": "3cbdc2bd8eccb8cf1f060fb237072dc5b935e8cd147c74884c8c1abb2c810c81",
"docs/plans/original-completion-2026-10-02/execution/p08-03/ROOT_COLLECTION.md": "ed1d3978bba78a9ffe68808ec1f1f1990ae180630b5eace9587b8dd1719b43ef",
"docs/plans/original-completion-2026-10-02/execution/p08-03/passive_os_placement_recorder.gd": "21855e3b32263eb98127202467b770cb1334fa70c6b357825a122db385ffa8d6",
"docs/plans/original-completion-2026-10-02/execution/p08-03/passive_os_placement_recorder.gd.uid": "d7f97560c8bbdfdaed173b2b48261e65b92847bd0493dd1cc2ebb309d0622314",
"scenes/main/main.gd": "e015e18fee8c114ddce39e46a04be139e694a4e3569855065576c0c909b94fc6",
"scenes/main/world_preview.gd": "2f0e417ae2ff1745062bdbdcec74b3b058cfcffbbd9001ca3e6a62cd23efb47d",
"tests/fixtures/p08-03/checker_fixture.py": "56f80f0e8a44a707c2c59e385c2fa5bd3949f1dd95d4cbf40f480870aca08d45",
"tests/fixtures/p08-03/passive_placement.gd": "f070c93000d0eceef8cc9e518fefa2ba9c7608883ab5bf9198dff224b60d4da1",
"tests/fixtures/p08-03/checker_fixture.py": "c6dd2471f408a790f174e5ab73bbdbd899838f51a0dcde91bd0655da63238c46",
"tests/fixtures/p08-03/passive_placement.gd": "c17a1874fa585ec1ea892b51860f0997176df084b08751ea41e27ea5bc1189e8",
"tests/fixtures/p08-03/passive_placement.gd.uid": "f75e3f2d9555c30cee3a1de882f32225fc624565a78a7ef3f5c604325c578ce3",
"tests/fixtures/p08-03/placement.gd": "95d46b329d5b08954915a4f80b06b7774eeaf4976ef9c687e8c61433bf0d14eb",
"tests/fixtures/p08-03/placement.gd": "84296f340e26daff3e7cff50ae6e1d5ef8f717a39d9dfa9ff1b590059fa00a81",
"tests/fixtures/p08-03/placement.gd.uid": "5caca08c1e627e0ca07e2ab7b13bd82b24a22f77513fe87e30b79023568e1987",
"tests/ui/test_p08_normal_placement_ops.gd": "734f4f85d0b0fc45dc31fc23502425b911635667dabc0341ba0d88b0107f4405",
"tests/ui/test_p08_normal_placement_ops.gd.uid": "7d168ac50ca82ae1979da31c467f9a5020ca5ec7616b5bf99294413d85b3b299",
"tools/check_p08_normal_placement_evidence.py": "d79df59d4434afd5219aca9aeb4581119859d08a71c9df73ae25f01e70ab59f5",
"tools/check_p08_normal_placement_evidence.py": "9805c595b95172926f515e5600aaa14e19c83f0e9a2f88406b17656076b0e82c",
"tools/regression/suite-policy.json": "e875e6b05bbac8dfb98c2af007221436fa558ddb8806b6214689830295b32e8d",
"tools/run_p08_normal_placement.py": "191831b4f684bdd7e99b3be6038c15a6830f544d17c941869b1c2a8fbe4a2aa3",
"tools/test_p08_normal_placement_evidence.py": "5a4a859817b7764a07d215c4811d2912c7f502de7219d57b11c3e3158dc177eb"
"tools/test_p08_normal_placement_evidence.py": "2c493349de1d72d1eae383356f8bf3904096c810550f9de373816a25d5ae54c8"
},
"executed_source_manifest": {
"path": "local-source-manifest.json",
"sha256": "63cd7079a4e9fb4966d829b5edcccdaedd82154c3afa2ea715622cb3d0b437b5",
"sha256": "f3b5d4edb152c685bd10efa4ccbdb87fda5e3bdbb26a60c66bc12c1780a41003",
"source_file_count": 1326,
"contains": "Complete local execution source map and immutable/fixture input map; no material-size omission"
},
@@ -50,19 +50,21 @@
"docs/plans/original-completion-2026-10-02/execution/p08-03/passive_os_placement_recorder.gd.uid": "d7f97560c8bbdfdaed173b2b48261e65b92847bd0493dd1cc2ebb309d0622314",
"docs/spec/acceptance/P08-03.json": "37a6a581b5a9bbe03c07a3a266b03df1f740ff488da33ecd9bd60f5b32f1efe1",
"docs/traceability/original/BASELINE.txt": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a",
"tests/fixtures/p08-03/checker_fixture.py": "56f80f0e8a44a707c2c59e385c2fa5bd3949f1dd95d4cbf40f480870aca08d45",
"tests/fixtures/p08-03/passive_placement.gd": "f070c93000d0eceef8cc9e518fefa2ba9c7608883ab5bf9198dff224b60d4da1",
"tests/fixtures/p08-03/checker_fixture.py": "c6dd2471f408a790f174e5ab73bbdbd899838f51a0dcde91bd0655da63238c46",
"tests/fixtures/p08-03/passive_placement.gd": "c17a1874fa585ec1ea892b51860f0997176df084b08751ea41e27ea5bc1189e8",
"tests/fixtures/p08-03/passive_placement.gd.uid": "f75e3f2d9555c30cee3a1de882f32225fc624565a78a7ef3f5c604325c578ce3",
"tests/fixtures/p08-03/placement.gd": "95d46b329d5b08954915a4f80b06b7774eeaf4976ef9c687e8c61433bf0d14eb",
"tests/fixtures/p08-03/placement.gd.uid": "5caca08c1e627e0ca07e2ab7b13bd82b24a22f77513fe87e30b79023568e1987"
"tests/fixtures/p08-03/placement.gd": "84296f340e26daff3e7cff50ae6e1d5ef8f717a39d9dfa9ff1b590059fa00a81",
"tests/fixtures/p08-03/placement.gd.uid": "5caca08c1e627e0ca07e2ab7b13bd82b24a22f77513fe87e30b79023568e1987",
"docs/plans/original-completion-2026-10-02/execution/p08-03/NATIVE_R01_FAILURE_AND_SCOPE.json": "afc8dada6451e7e61d6d57abb0d7d040f5abcdb93432c8431c1c920dc4984515",
"docs/plans/original-completion-2026-10-02/execution/p08-03/native-r01-writer-stderr.log": "07fe6cccad7305b2ec88cb91fa79fa22ec9269d7c99d62a1f69971f7c5d22686"
},
"actual_local_validation": {
"path": "local-validation.json",
"sha256": "09701dcb7ef6a6da695f1c9b1060107e64666a8f8f0256c3caf1da9cf2d8f487",
"python_syntax": "pass: four changed/new Python sources compiled in memory",
"sha256": "531616ae3151b7a506978e43b754e1d6a372508515510da65c0fccffbbfff1c0",
"python_syntax": "pass: four final Python sources compiled in memory",
"checker_mock_tests": 35,
"checker_mock_exit_code": 0,
"log_sha256": "c542a3079ac31374dd3fce5bc96ccb44ca8ccfc765f78fe9f18413c259c5f67b",
"log_sha256": "0779ddd3305f3a2c6c719240e036bb1d7f0d10f97ce21854a0f946feefcace93",
"git_diff_check": "pass"
},
"conditions": {
@@ -138,5 +140,20 @@
},
"whole_P08_complete": false,
"P08_01_all30_claimed": false,
"formal_acceptance": false
"formal_acceptance": false,
"repair": {
"prior_submitted_commit": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af",
"failure_authorities": [
"NATIVE_R01_FAILURE_AND_SCOPE.json",
"native-r01-writer-stderr.log"
],
"changes": [
"fixture toggled signal and idempotent choose",
"private user:// formal and initial saves; SHA exports of members/backup/slot metadata",
"actual returned Dictionaries and paths captured prospectively"
],
"production_changes": false,
"historical_r01_dicts": "absent; not reconstructed or appended",
"worker_git_writes": false
}
}
@@ -3678,20 +3678,20 @@
"sha256": "8f150654767de0c66329d7d9e84d306c4fa5a65c918e04fb520b626b39f68334"
},
"tests/fixtures/p08-03/checker_fixture.py": {
"bytes": 20189,
"sha256": "56f80f0e8a44a707c2c59e385c2fa5bd3949f1dd95d4cbf40f480870aca08d45"
"bytes": 22311,
"sha256": "c6dd2471f408a790f174e5ab73bbdbd899838f51a0dcde91bd0655da63238c46"
},
"tests/fixtures/p08-03/passive_placement.gd": {
"bytes": 9121,
"sha256": "f070c93000d0eceef8cc9e518fefa2ba9c7608883ab5bf9198dff224b60d4da1"
"bytes": 8799,
"sha256": "c17a1874fa585ec1ea892b51860f0997176df084b08751ea41e27ea5bc1189e8"
},
"tests/fixtures/p08-03/passive_placement.gd.uid": {
"bytes": 20,
"sha256": "f75e3f2d9555c30cee3a1de882f32225fc624565a78a7ef3f5c604325c578ce3"
},
"tests/fixtures/p08-03/placement.gd": {
"bytes": 13792,
"sha256": "95d46b329d5b08954915a4f80b06b7774eeaf4976ef9c687e8c61433bf0d14eb"
"bytes": 17684,
"sha256": "84296f340e26daff3e7cff50ae6e1d5ef8f717a39d9dfa9ff1b590059fa00a81"
},
"tests/fixtures/p08-03/placement.gd.uid": {
"bytes": 20,
@@ -5218,8 +5218,8 @@
"sha256": "928353233bf85436a5aaf8c4f77f3f82472d94b8ad2646cb1b030baf92b3b5dc"
},
"tools/check_p08_normal_placement_evidence.py": {
"bytes": 31120,
"sha256": "d79df59d4434afd5219aca9aeb4581119859d08a71c9df73ae25f01e70ab59f5"
"bytes": 34820,
"sha256": "9805c595b95172926f515e5600aaa14e19c83f0e9a2f88406b17656076b0e82c"
},
"tools/check_p24_selection_evidence.py": {
"bytes": 14622,
@@ -5298,8 +5298,8 @@
"sha256": "fd9ef7ec63f53dfd5e04e261606c9303d01a2e6590e22a35fef2e35df1429280"
},
"tools/test_p08_normal_placement_evidence.py": {
"bytes": 12374,
"sha256": "5a4a859817b7764a07d215c4811d2912c7f502de7219d57b11c3e3158dc177eb"
"bytes": 13526,
"sha256": "2c493349de1d72d1eae383356f8bf3904096c810550f9de373816a25d5ae54c8"
},
"tools/verify_exported_opening.py": {
"bytes": 1519,
@@ -5314,10 +5314,12 @@
"docs/plans/original-completion-2026-10-02/execution/p08-03/passive_os_placement_recorder.gd.uid": "d7f97560c8bbdfdaed173b2b48261e65b92847bd0493dd1cc2ebb309d0622314",
"docs/spec/acceptance/P08-03.json": "37a6a581b5a9bbe03c07a3a266b03df1f740ff488da33ecd9bd60f5b32f1efe1",
"docs/traceability/original/BASELINE.txt": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a",
"tests/fixtures/p08-03/checker_fixture.py": "56f80f0e8a44a707c2c59e385c2fa5bd3949f1dd95d4cbf40f480870aca08d45",
"tests/fixtures/p08-03/passive_placement.gd": "f070c93000d0eceef8cc9e518fefa2ba9c7608883ab5bf9198dff224b60d4da1",
"tests/fixtures/p08-03/checker_fixture.py": "c6dd2471f408a790f174e5ab73bbdbd899838f51a0dcde91bd0655da63238c46",
"tests/fixtures/p08-03/passive_placement.gd": "c17a1874fa585ec1ea892b51860f0997176df084b08751ea41e27ea5bc1189e8",
"tests/fixtures/p08-03/passive_placement.gd.uid": "f75e3f2d9555c30cee3a1de882f32225fc624565a78a7ef3f5c604325c578ce3",
"tests/fixtures/p08-03/placement.gd": "95d46b329d5b08954915a4f80b06b7774eeaf4976ef9c687e8c61433bf0d14eb",
"tests/fixtures/p08-03/placement.gd.uid": "5caca08c1e627e0ca07e2ab7b13bd82b24a22f77513fe87e30b79023568e1987"
"tests/fixtures/p08-03/placement.gd": "84296f340e26daff3e7cff50ae6e1d5ef8f717a39d9dfa9ff1b590059fa00a81",
"tests/fixtures/p08-03/placement.gd.uid": "5caca08c1e627e0ca07e2ab7b13bd82b24a22f77513fe87e30b79023568e1987",
"docs/plans/original-completion-2026-10-02/execution/p08-03/NATIVE_R01_FAILURE_AND_SCOPE.json": "afc8dada6451e7e61d6d57abb0d7d040f5abcdb93432c8431c1c920dc4984515",
"docs/plans/original-completion-2026-10-02/execution/p08-03/native-r01-writer-stderr.log": "07fe6cccad7305b2ec88cb91fa79fa22ec9269d7c99d62a1f69971f7c5d22686"
}
}
@@ -1,14 +1,14 @@
{
"task_id": "P08-03",
"started_at": "2026-10-13T18:21:21.344634+00:00",
"ended_at": "2026-10-13T18:21:42.345749+00:00",
"started_at": "2026-10-13T18:51:54.296622+00:00",
"ended_at": "2026-10-13T18:52:13.521432+00:00",
"syntax": {
"method": "compile(source, filename, exec); no pyc",
"files": {
"tools/run_p08_normal_placement.py": "191831b4f684bdd7e99b3be6038c15a6830f544d17c941869b1c2a8fbe4a2aa3",
"tools/check_p08_normal_placement_evidence.py": "d79df59d4434afd5219aca9aeb4581119859d08a71c9df73ae25f01e70ab59f5",
"tools/test_p08_normal_placement_evidence.py": "5a4a859817b7764a07d215c4811d2912c7f502de7219d57b11c3e3158dc177eb",
"tests/fixtures/p08-03/checker_fixture.py": "56f80f0e8a44a707c2c59e385c2fa5bd3949f1dd95d4cbf40f480870aca08d45"
"tools/check_p08_normal_placement_evidence.py": "9805c595b95172926f515e5600aaa14e19c83f0e9a2f88406b17656076b0e82c",
"tools/test_p08_normal_placement_evidence.py": "2c493349de1d72d1eae383356f8bf3904096c810550f9de373816a25d5ae54c8",
"tests/fixtures/p08-03/checker_fixture.py": "c6dd2471f408a790f174e5ab73bbdbd899838f51a0dcde91bd0655da63238c46"
},
"passed": true
},
@@ -19,13 +19,13 @@
"tools/test_p08_normal_placement_evidence.py"
],
"exit_code": 0,
"log": "local-checker-tests.log",
"log_sha256": "c542a3079ac31374dd3fce5bc96ccb44ca8ccfc765f78fe9f18413c259c5f67b",
"log": "repair-local-checker-tests.log",
"log_sha256": "0779ddd3305f3a2c6c719240e036bb1d7f0d10f97ce21854a0f946feefcace93",
"synthetic_only": true,
"test_count": 35
},
"local_source_manifest": "local-source-manifest.json",
"local_source_manifest_sha256": "63cd7079a4e9fb4966d829b5edcccdaedd82154c3afa2ea715622cb3d0b437b5",
"local_source_manifest_sha256": "f3b5d4edb152c685bd10efa4ccbdb87fda5e3bdbb26a60c66bc12c1780a41003",
"source_and_inputs_unchanged_during_tests": true,
"native_engines_started": 0,
"OS_operations": 0,
@@ -0,0 +1,89 @@
ERROR: P08 placement: diagnostic initial formal save
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] save_initial_fixture (res://tests/fixtures/p08-03/placement.gd:306)
[2] writer (res://tests/fixtures/p08-03/placement.gd:208)
[3] run (res://tests/fixtures/p08-03/placement.gd:261)
[4] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: unsupported preview refusal
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:115)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: out_of_bounds preview refusal
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:115)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: supported_connected accepted
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:111)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: overlap preview refusal
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:115)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: missing_connection domain refusal
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:113)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: lower_stair accepted
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:111)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: upper_stair accepted
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:111)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: refused_demolition result code
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] demolish (res://tests/fixtures/p08-03/placement.gd:145)
[2] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: refused_demolition result reason
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] demolish (res://tests/fixtures/p08-03/placement.gd:146)
[2] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: demolition result code
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] demolish (res://tests/fixtures/p08-03/placement.gd:145)
[2] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: rebuild accepted
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] build (res://tests/fixtures/p08-03/placement.gd:111)
[2] click (res://tests/fixtures/p08-03/placement.gd:94)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
ERROR: P08 placement: normal save
at: push_error (core/variant/variant_utility.cpp:1023)
GDScript backtrace (most recent call first):
[0] expect (res://tests/fixtures/p08-03/placement.gd:33)
[1] writer (res://tests/fixtures/p08-03/placement.gd:223)
[2] button (res://tests/fixtures/p08-03/placement.gd:73)
[3] frames (res://tests/fixtures/p08-03/placement.gd:65)
@@ -0,0 +1,5 @@
...................................
----------------------------------------------------------------------
Ran 35 tests in 18.245s
OK