GLTron analysis publication order repair — 2026-10-28

The original recovery candidate a80fd96b969a2ac80f30fdf6793d92f23ed9a860 published inventory.json during payload inspection, before validating PE headers, parsing import tables and resolving the bundled DLL closure. The independent rejection 6c1c7d2d0ee129ffee80287661efec4d60c85940 demonstrated an actual production analyze exit 1 with unresolved DLLs and a success-looking inventory already on disk.

Analysis now requests an unpublished in-memory inventory and publishes it only after all static analysis validation succeeds. Extraction retains its existing inventory publication behavior. Rejected analysis preserves a preexisting inventory and unrelated output. closure.json remains the causal unresolved import diagnostic, with the same nonzero CLI status. Archive hashes, extraction limits, PE validation and the independent experiment are unchanged.

Evidence is retained at scratch/usage-watch/gltron-closure-publication-order-repair-oct28/:

The existing original 92-file and 95-artifact recovery receipts and the independent 119-artifact receipts are inherited evidence, not repackaged or requalified here. Only the relevant publication delta was changed and tested. The original installer and executable were never run; no redownload, extraction, Wine, browser, build or Boat operation occurred. This is source/static qualification only. Fresh independent acceptance is still required before candidate integration; there is no main push or public deployment.

The standing root messageboard exceeds the assigned 12 MiB file-size cap. COORDINATOR-NOTE.txt hands publication reporting to the coordinator; this worker does not attempt an append or raise the cap. The shared root tree, index and refs and all donor inputs remain read-only. No test box was assigned; the coordinator retains lifecycle ownership.