Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,35 @@
{
"complete": true,
"mode": "Read-only classification; no compiler/native or live writes.",
"launch_manifest": "/tmp/erri-workbench-crash-prison-default-20261003-1922/logs/logs_2026-10-03_19-23-27/launch-source-sha256.json",
"launch_manifest_sha256": "513004bc879f0850f5ffb6959725b5958df1ad737635d6b3b47be43ea35c9f5e",
"recorded_authored_count": 437,
"unchanged_recorded_paths": 435,
"changes": {
"addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": {
"launch_sha256": "487f1d004aa4f7a5f58c12c37724b26fcd54fc62b4096d48f3a7436d9958274c",
"observed_sha256": "e4585f70f193878169a3f0566d03610143ecb94682d78c9a91cfd816c64be6fd",
"matching_saved_baseline": "/tmp/erri-optional-identity-1509/test-root/addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c"
},
"addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": {
"launch_sha256": "5b7661a5617b7124a10d3c18e087a4e2363a967eecc5c87ecc94573f2abc07f2",
"observed_sha256": "64cbad8fada3630132d3fc6ee5ad63d698e6ef204c3ca7199a9c51d870ac4a19",
"matching_saved_baseline": "/tmp/erri-optional-identity-1509/test-root/addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c"
}
},
"observed_diff_sha256": "267ff10372224f18d8252f6153bb711b04396edb16b04bdc21b770d4bbd01cf8",
"classification": "Only non-Everon terrain takeover editor lifecycle wiring changed: surviving SCR_EditorManagerCore detaches six callbacks from old mode before drain and attaches those callbacks to new mode after replication link. New helper is server guarded and does not restart editor core.",
"crash_implementation_changed": false,
"crash_scope": "All other435 recorded authored files match launch bytes, including new start policy/setup/resources, GameMode/Scenario integration, settings/guidance and native crash fixtures. This comparison covers the launch manifest paths.",
"runner": {
"sha256": "1c26279b66262b53d134c517f15c280ebbf527d33c05febdfa6497c35aea951e",
"result": "source-changed",
"result_before_cleanup": "smoke-completed",
"source_unchanged_after_run": false,
"external_addons_unchanged_after_run": true,
"cleanup_confirmed": true
},
"console_sha256": "47e7dc614f91d460865062709589f61b55a20f727647e3f03a6ce34756f5b3a7",
"pass_rows": 64,
"provenance_limit": "Keep source-changed diagnostic evidence. Completed assertions do not qualify current complete source snapshot; source read/compile timing cannot be reconstructed by the end-state hashes. Do not relabel this as an unchanged-source run. Peer files preserved."
}
@@ -0,0 +1,48 @@
{
"approved": true,
"concrete_blockers": [],
"read_only": true,
"compiler_or_native_runs": false,
"patch_sha256": "7b0af4235f773ae035ea9b27eec2e9f2d3afbd6ddb8ac51554fa6331c9cbeefc",
"manifest_sha256": "9295723e6653bea750b438f22366e3a9f3bc62e1645766ba42047bc1337cb5ee",
"file_hashes": {
"addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "47fb9c34d31bffc892b18d6d6c4e7500d10b0a681bfa73e6476a761ed3375f0d",
"addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "e8f778bfe56a91a1c761968261dcd7a5f5daa7f4983752d818a5443385fac049",
"addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "8e8233a1c9000901e3a48141d59a55584099fc3b319f87c1589461b975ac9221",
"addons/core/UI/layouts/ERR/AdminMenu.layout": "5583b018cabbebd7b4398b36bdca26c75c3437bcefed482dae9ed2a619bb7cf4",
"tools/import_settings.py": "a35ec5adf2c177f4daf2e3be5f97131b83a9920e765ee3e2c845b0d54c00af37",
"tests/test_admin_menu.py": "789f88da25bbd57bb7923065fc718f70c8a18c50681dd90079931a18993b9729",
"tests/test_settings_migration.py": "eee1f5c598f5875816d89a4bc46a9e6cc0f770557abde3d264c09dc2ded27523",
"addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "2e2a880e68c9384698f9df21334d27e1aceaf3b59166d00eaabb802f19f61a13",
"tests/test_rough_intel_feedback.py": "a7c5a956d65a1a4d4f4aca6ddb47ba07fe70d07e2f0f99030058ba67e9246422",
"tests/test_radio_waiting_text.py": "2acd7ebf18766c8436b998b57f06fcf07ec9e42a28b686e0bd95ede570a9a5d9",
"tests/test_start_settings.py": "8b4dcc9e786c5fc00a1e88f1c364fd8e9a1bf8f6fa73f1d5aebbaeb5da444cd7"
},
"findings": [
"Saved choice is Settings.Get(startMode); current round is separate replicated GameMode.StartMode. Show/settings/menu snapshot retain this distinction; setter persists next round only and never mutates frozen mode/anchor/participants.",
"Aliases prison/crash and0/1 use existing server-authorized dispatcher. Displayed capitalized names remain usable because Execute lowercases the full command before Selection. No random mode offered or accepted. Failed settings Save preserves in-memory selection.",
"Existing profile keys may omit startMode and receive default0. import_settings has matching default/bounds. No direct or transitive external dependency changes.",
"Crash salvage guidance only prepends ordinary unknown-radio text; identified/rough-radio guidance retains precedence. Extraction wording accurately refers to starting area. Existing prisoner wording remains consistent with retained canonical participant prefab/role.",
"Layout reuses former settings-help area, starts ordinary radio row at80 as before, and exposes Apply without Random; native rendering remains unqualified."
],
"core_adapter_assessment": {
"already_updated_in_settings_proposal": [
"tests/test_admin_menu.py new settings field/layout/Command mapping",
"tests/test_settings_migration.py additional default key",
"tests/test_rough_intel_feedback.py and test_radio_waiting_text.py add StartMode double for actual PhaseDescription"
],
"no_extra_required_identified": [
"test_mission_rules.py extracts new optional third CanTransition parameter, so its ordinary two-argument transition matrix remains valid",
"test_native_end_lifecycle.py extracts StartScenario guard only up to faction preparation; new FreezeStartMode occurs later and does not alter extracted prefix",
"test_native_memory_deadlines.py extracts historical selector conditions; added crash-start exclusion introduces no new helper dependency in that extracted expression; existing patrol helper retained",
"test_generated_sites.py/test_field_sites.py extract unchanged scheduler/separation logic; TerrainSites shared Site call remains same public signature",
"test_prison_escape_policy.py extracts unchanged pure crossing rules, not new GameMode-dependent service guards",
"test_admin_setting_policy.py fixed option matrix does not enumerate start; new explicit start setting test supplies corresponding coverage"
],
"new_registration_required": [
"tests/test_crash_start.py",
"tests/test_start_settings.py"
],
"limit": "Read-only adapter assessment; full integrated suite still required. Does not qualify native resources, replicated UI timing or full crash gameplay."
}
}