56 lines
7.8 KiB
Markdown
56 lines
7.8 KiB
Markdown
# Five-addon native packaging snapshot
|
||
|
||
All five successor addons produced native package files in the bounded **11:17:31–11:18:40, 19 September 2026** packaging sequence. Each invocation reported `Packaging done. Result: 1`, `Packaging project successful` and native child exit zero, then emitted the same UI resource-leak errors reproduced by the empty-addon control. **Every runner result remains `validation-failed`; no package build or release is qualified.** `--continue-on-failure` deliberately allowed the diagnostic sequence to inspect every addon; it did not change any failure into success.
|
||
|
||
The complete evidence is preserved in [package-2026-09-19-111731-all](evidence/package-2026-09-19-111731-all/package-report.json), with a separate [source/content/error comparison](evidence/package-2026-09-19-111731-all/review.json). The original temporary session is `/tmp/erri-native-package-all-20260919-1115`. No engine was launched while preparing this archival review.
|
||
|
||
| Addon | Native start | PAK bytes | Verified PAK entries | Runner result |
|
||
| --- | --- | ---: | ---: | --- |
|
||
| Core | 11:17:31 | 194,081 | 107 | validation-failed |
|
||
| AI | 11:17:41 | 65,724 | 26 | validation-failed |
|
||
| Intel | 11:18:00 | 1,141 | 1 | validation-failed |
|
||
| Map | 11:18:20 | 5,751 | 5 | validation-failed |
|
||
| Chat | 11:18:40 | 14,469 | 8 | validation-failed |
|
||
|
||
Core, AI, Intel, Map and Chat were invoked in dependency order, each against its private copied project, with `-wbSilent` and backend disabled. Each recorded native child exit and owned display/prefix cleanup completed. All outputs use their existing successor identities and depend on installed vanilla; no Workshop publication or identity replacement occurred.
|
||
|
||
## Captured input and exact PAK comparison
|
||
|
||
The 179-entry authored source maps in `authored-before.json`, `repository-after.json`, every project-specific `launch.json` and every `authored-after.json` are identical. Every archived authored source file was rehashed against that map. This establishes equality at the captured boundaries, not the impossibility of an unobserved transient mutation and restoration.
|
||
|
||
`tools/pak_inventory.py` inspected all five PAKs read-only, validating the observed FORM/PAC1 structure, indexed data ranges, bounded decompression and actual decompressed content hashes. Across **147 entries**, each addon's complete PAK path/hash mapping exactly equals the corresponding captured authored files after excluding `.meta` files and the separate `addon.gproj`. No expected payload file is missing, no additional payload file appears and no content hash differs. Each separate output project descriptor also matches its captured authored source. The remaining 32 authored files are the five project descriptors and 27 `.meta` files; each project's omissions are listed explicitly in `review.json`.
|
||
|
||
Full per-entry details are retained in `review/core-pak-inventory.json`, `ai-pak-inventory.json`, `intel-pak-inventory.json`, `map-pak-inventory.json` and `chat-pak-inventory.json`. The inspector implementation is archived alongside them and its SHA-256 is recorded. This proves structural/content identity for these exact bytes; it does not establish compiled platform-resource semantics, resource database correctness in the engine, gameplay or compatibility of the companion package closure.
|
||
|
||
PAK SHA-256 values:
|
||
|
||
- Core: `68b0f6888bee3fc97585fd663e265e12da934369ce835454995ef92a31eeb065`
|
||
- AI: `c37670234ac68d0ea71265365a29a5b0727685adc8db5423b132c96138ba8b98`
|
||
- Intel: `362b381f7ec0825613ca985d124c988072bcbf52af1c98b27d2bcaf9f755f404`
|
||
- Map: `be5b2966e695a6b144b57dec520e8d418eb93994d87c105c0f7d8e0034a3be67`
|
||
- Chat: `19989c1f41a5c53696b46b99f021070ed71b12168b64bd164b6b595456b3b506`
|
||
|
||
## Shutdown-error comparison
|
||
|
||
Each of the five raw consoles has **25 error lines: one resource-leak header and 24 distinct resource entries**. Removing only the leading timestamp and adjacent whitespace produces exactly the same sorted lines and counts as the [empty-addon control](native-packaging-control.md). The normalized set's SHA-256 is `0cb40e173c7a02f72123cfc568016556f05fe80457f06cabf6423cc6ce309c60` in every case. Severity, resource-path case, trailing counts and error text are preserved for comparison; archived logs remain byte-exact.
|
||
|
||
Each project report's 51 aggregate error entries represent the 25 lines repeated in console/error logs plus the runner's `Nonempty native error.log` check. They are not 51 distinct leaked resources. The empty control establishes that these same failures do not require successor scripts/resources; it does not identify whether Workbench, Proton, the hidden display or their interaction causes them. No line is filtered, downgraded or waived.
|
||
|
||
## Archived payload and remaining qualification
|
||
|
||
The archive retains all 179 captured authored files, before/after inventories, all five launch/native-exit/environment records and reports, raw console/script/error logs, log-local resource databases, and **all fifteen runtime files** under `packages/{core,ai,intel,map,chat}`. Those `.gproj`, `.pak` and `.rdb` bytes total **292,361 bytes**. Compressed build caches, profile UI state/profile-local databases, source-adjacent generated databases and the installed-vanilla discovery symlinks are excluded and documented in the review. No installed vanilla package is copied.
|
||
|
||
[archive-sha256.json](evidence/package-2026-09-19-111731-all/archive-sha256.json) hashes every retained evidence file other than itself. All 259 indexed files were re-read and verified after copying; the archive contains 260 files including this hash inventory. The runtime payload hashes also agree with each original project report. This archive does not substitute today's checkout for the launch source.
|
||
|
||
The earlier [packed Core 110729 pass](evidence/packed-core-2026-09-19-110729/report.json) consumed a **different Core PAK**, whose hash begins `90b9be4f`; it cannot qualify this new Core PAK or the five-addon closure. A separate ordinary packed-only Chat startup with all five exact artifacts plus vanilla is still required. Full ordinary escape, manual input, multiplayer, FPS and clean packaging/release qualification remain separate. All reports retain their original failed/unqualified flags.
|
||
|
||
When the parent copies this archive into the actual repository, Git's generated-file rules can ignore `.pak` files and profile subtrees. Explicitly force-add this exact successor-owned archive directory if committing it; do not broaden ignore rules or add installed vanilla assets. This review neither stages nor commits files and makes no acceptance-ledger change.
|
||
|
||
## Current-source refresh — 13:17
|
||
|
||
The [new package snapshot](evidence/package-2026-09-19-1317-all/package-report.json) and [independent review](evidence/package-2026-09-19-1317-all/review.json) retain the same unqualified build verdict: all five native exits are zero, while every runner reports `validation-failed` with exactly the same 25 UI error lines as the empty-addon control. No build or release flag was promoted.
|
||
|
||
All 183 captured authored files are unchanged across the five launches and final repository snapshot. Every one of the 151 PAK entries matches its captured authored path and decompressed hash (Core 107, AI 29, Intel 1, Map 6, Chat 8). All fifteen runtime artifact hashes match their native reports. The archive preserves 257 files plus its checksum manifest, excluding installed-vanilla symlinks, generated source databases and compressed build caches.
|
||
|
||
Those exact artifacts subsequently pass [ordinary packed Chat startup 131942](evidence/packed-chat-2026-09-19-131942-current/report.json): real canonical prisoner, expected header, fifteen-second readiness interval, zero captured errors and owned cleanup. The same artifacts also [compile and prepare the empty Linux server 132456](evidence/dedicated-2026-09-19-132456-packed-chat/review.json), with four vanilla asset errors retained. Successful consumption does not repair or qualify packaging, full gameplay or multiplayer.
|