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:
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"kind": "PLAN ONLY: fresh unqualified development handoff; no commands executed",
|
||||
"cwd": "/home/jakub/devel/escapistsrereintroduced",
|
||||
"parameters": {
|
||||
"TAG": "choose a new unique tag after guide fix and source freeze, e.g. 20261002-ground-depot-guide",
|
||||
"PACKAGE_SESSION": "/tmp/erri-package-${TAG}",
|
||||
"PACKED_SESSION": "/tmp/erri-packed-chat-${TAG}",
|
||||
"BUILD": "/home/jakub/devel/escapistsrereintroduced/.build/playtest-${TAG}",
|
||||
"PACKAGE_EVIDENCE": "/home/jakub/devel/escapistsrereintroduced/docs/evidence/package-${TAG}",
|
||||
"PACKED_EVIDENCE": "/home/jakub/devel/escapistsrereintroduced/docs/evidence/packed-${TAG}",
|
||||
"SOURCE_ZIP": "/tmp/erri-source-${TAG}.zip",
|
||||
"ROUTE_EVIDENCE": "fresh matching frozen-source native normal route evidence directory",
|
||||
"CHECK_LOG": "completed full regression log for the exact final source freeze",
|
||||
"COMPAT": "/tmp/erri-headless-compat",
|
||||
"EXTERNAL": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons"
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"stage": "process preflight",
|
||||
"argv": [
|
||||
"python3",
|
||||
"tools/headless_game.py",
|
||||
"--compat",
|
||||
"${COMPAT}",
|
||||
"--inspect-processes"
|
||||
],
|
||||
"rule": "Read-only. Tool still repeats its strict guards under owned prefix lock."
|
||||
},
|
||||
{
|
||||
"stage": "development source archive after source freeze",
|
||||
"argv": [
|
||||
"python3",
|
||||
"tools/source_bundle.py",
|
||||
"--mode",
|
||||
"development",
|
||||
"--output",
|
||||
"${SOURCE_ZIP}"
|
||||
],
|
||||
"rule": "New zip outside checkout, no existing/symlink destination; /tmp quota must permit this. Do not weaken canonical packaging session guards."
|
||||
},
|
||||
{
|
||||
"stage": "native single combined-addon packaging",
|
||||
"argv": [
|
||||
"python3",
|
||||
"tools/native_package.py",
|
||||
"--project",
|
||||
"core",
|
||||
"--session",
|
||||
"${PACKAGE_SESSION}",
|
||||
"--compat",
|
||||
"${COMPAT}",
|
||||
"--external-addons",
|
||||
"${EXTERNAL}",
|
||||
"--timeout",
|
||||
"300"
|
||||
],
|
||||
"rule": "Root serializes hidden/muted launch. Capture stdout/stderr and exact exit code. Nonzero result is retained; never make candidate_created true after cleanup."
|
||||
},
|
||||
{
|
||||
"stage": "ordinary packed-only startup after verified handoff assembly",
|
||||
"argv": [
|
||||
"python3",
|
||||
"tools/headless_game.py",
|
||||
"--project",
|
||||
"chat",
|
||||
"--packed-addons",
|
||||
"${BUILD}/packages",
|
||||
"--packed-session",
|
||||
"${PACKED_SESSION}",
|
||||
"--external-addons",
|
||||
"${EXTERNAL}",
|
||||
"--compat",
|
||||
"${COMPAT}",
|
||||
"--timeout",
|
||||
"180",
|
||||
"--settle",
|
||||
"15",
|
||||
"--failure-grace",
|
||||
"120"
|
||||
],
|
||||
"rule": "Omit --profile: schema4 requires default CLI profile and creates its own session profile. No input/smoke/observer flags. failure-grace extends diagnostic collection only inside timeout and never changes failed verdict."
|
||||
}
|
||||
],
|
||||
"assembly_between_package_and_startup": {
|
||||
"existing_helper": "docs/evidence/package-2026-10-01-convoy-stock/assemble-handoff.py",
|
||||
"adapt_only_parameters": [
|
||||
"package",
|
||||
"build",
|
||||
"e",
|
||||
"route",
|
||||
"zip_path",
|
||||
"runner-output source path",
|
||||
"startup evidence destination"
|
||||
],
|
||||
"mandatory_checks": [
|
||||
"authored-before.json == current source_bundle.inventory(root) == matching route source-sha256.json; never reuse old route after guide source change",
|
||||
"one core project, copied authors/profile/external unchanged, native child exit0, cleanup confirmed; record strict candidate result unchanged",
|
||||
"pak_inventory unique entry path->sha256 exactly equals authored core payload excluding meta and addon.gproj; package addon.gproj matches exact authored digest",
|
||||
"source ZIP has canonical duplicate-free case-insensitive unique names, exact manifest membership and every member digest; addon subset equals authored freeze",
|
||||
"route completion and no script/runtime failures; runner cleanup/unchanged source and console hash; preserve resource errors",
|
||||
"create BUILD and PACKAGE_EVIDENCE with exist_ok=False; copy only mission packages and source, never external RHS/WCS/BMP content",
|
||||
"verify extracted source byte membership and runtime inventory after copy"
|
||||
],
|
||||
"metadata_corrections": [
|
||||
"Set original_packaging_failure_retained to not attempt.candidate_created; old helper hardcodes false despite archived failure. This is description only, never upgrade package verdict.",
|
||||
"Label UNQUALIFIED DEVELOPMENT CANDIDATE, release_qualified=false,published=false, startup pending until independent proof."
|
||||
]
|
||||
},
|
||||
"archive_and_finalize": {
|
||||
"existing_schema4_helper": "docs/evidence/packed-2026-10-01-convoy-stock/verify-and-finish.py",
|
||||
"do_not_use": "tools/archive_packed.py currently accepts schemas1/2, not combined external schema4",
|
||||
"adapt_only_parameters": [
|
||||
"build",
|
||||
"startup",
|
||||
"pe",
|
||||
"se",
|
||||
"runner-output source path",
|
||||
"CHECK_LOG and matching freeze evidence"
|
||||
],
|
||||
"mandatory_checks": [
|
||||
"schema4 kind/project/addon_order exactly packed-chat-external-runtime-input/chat/core",
|
||||
"runner cleanup/input/external unchanged; no input_error/runner_error; manifest hash+launchUUID+timestamps bind exact run",
|
||||
"native log/session under exact fresh startup session; console hash and native/root JSON copies identical",
|
||||
"recompute packed_external.evidence from raw console with manifest input/external aliases and exact profile; each recomputed field must equal report",
|
||||
"ordinary normal modules, no WORKBENCH, no smoke, correct complete loaded/mount/database paths, mission ready and local participant, zero script/runtime failures and input violations",
|
||||
"compare normalized resource error set with prior retained packed report; any new error is a new limitation, not silently accepted or rewritten",
|
||||
"runtime inventory BUILD/packages == startup/input/addons == manifest artifacts == handoff runtime_files",
|
||||
"archive raw native logs, reports, provenance and dependency descriptors; no dependency assets",
|
||||
"bind successful full-suite log to exact final freeze; compute current test count, do not reuse historical source-equality assertion",
|
||||
"keep strict_packed_consumption_verified equal actual strict report; failed resource gate remains false even if readiness proved",
|
||||
"write archive hashes and reverify all archived bytes; update both handoff copies consistently; prior candidate remains untouched"
|
||||
]
|
||||
},
|
||||
"previous_helpers_sha256": {
|
||||
"docs/evidence/package-2026-10-01-convoy-stock/assemble-handoff.py": "2c7597f228cdd2b7aecc7fa3e6247b4fbd6b882afb1d7a29b18e63f2b882f1c8",
|
||||
"docs/evidence/packed-2026-10-01-convoy-stock/verify-and-finish.py": "f293ef29aa905e326fa42d1d8255ff1ad25106922c04e48abcab6982c97eb3be"
|
||||
},
|
||||
"nonclaims": [
|
||||
"No release qualification",
|
||||
"No native physical depot loading qualification",
|
||||
"No human/MP escape or measured FPS qualification",
|
||||
"No clean packaging claim from payload hashes or cleanup"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user