4.3 KiB
Prepared repair-union package adapters
Prepared by /root/repair_review, 2026-09-12; root owns execution, native interaction and publication. Version accepted by root: 0.2.0-preview.canvas-repair.20260912. No Cargo metadata, compiler, packaging, extraction or application launch was performed during preparation. Existing source and evidence were not modified.
Entry points
From C:/Users/User/Documents/Git/ARCADIA-Studio using PowerShell 7:
# Read-only complete source/build preflight; refuses active compiler or missing gates.
& .local/package-preview-repair-union.ps1
# Only after compiler lease release, root review and explicit dispatch:
& .local/package-preview-repair-union.ps1 -Package
# Only after successful new package-result.json:
& 'C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe' -I .local/extract-preview-repair-union.py
# Only after extraction and root launch review. Keep this shell alive as the logger:
& .local/native-repair-union-33e30c1/launch-packaged.ps1
These are future execution commands, not completed actions. The package adapter defaults to read-only preflight; only -Package creates a claim/attempt and invokes the existing production packager. It reads the matching immutable gate bin, never mutable target outputs. Fresh package inputs/evidence/result/dist names are required. Failure transcripts and exclusive claim/output files remain for diagnosis; no retry overwrites them. The extraction helper uses exclusive creation and explicit exceptions rather than optimization-sensitive assertions.
The generated build evidence contains the mandatory source/profile/compiler/target/lowercase binary hashes, gate statuses, immutable GUI manifest, exact530 source freeze and separately attributed server321897f manifest. It expressly records the desktop-only Cargo.lock edge instead of claiming the whole lock unchanged. No guessed GUI hash or old build result is embedded.
The native logger accepts the extraction helper's actual files schema, verifies the full package inventory, and pins GUI/runtime to the preserved gate binary manifest and bin files. It reserves fresh profile/cwd/log/receipt paths without requiring the entire evidence root to be empty. PATH and LOCALAPPDATA change only in child ProcessStartInfo; normal Windows environment is inherited and WindowStyle is Hidden. Raw stdout and stderr are pumped concurrently; normal close records the original bound process's exit code and rechecks all package files. A post-launch failure preserves the bound PID/start identity and exit state when obtainable without killing the app. Root's native fixtures are untouched.
Checks performed and limits
- Package and launch PowerShell syntax parsed without errors; both Python scripts parsed via
ast.parse, without bytecode or import execution. - Source-only preflight actually passed at
2026-09-12T11:11:49.399213+00:00: all530 files /9,727,025 bytes matched working source, exact33e30c1 raw Git objects and current documentation checkpoint HEAD60f7148. The old source manifest SHA matched0F21B9A8; ABA server bytes/provenance and sole desktop lock delta matched. - Full preflight actually refused absent
studio-build-status.jsonbefore any packaging metadata invocation. The complete build-dependent happy path cannot be executed until the compiler owner preserves its matching binary manifest. - Read-only actual Windows path comparison confirmed launcher Join-Path and the extraction-shaped GetFullPath are ordinal-equal at the intended package path. Launcher catch retains guarded bound process exit state even if package readback fails after termination.
- After that source-only readback, preflight gained four fixed reviewed packager hashes and reordered the default path to reject absent/failed gates before the expensive source inventory. These additions do not weaken the exact530 checks. The four expected script hashes were independently read from the current files before insertion.
- No archive/native helper was invoked; their parse checks do not establish runtime acceptance. No extra duplicate packager suite or server launch was introduced.
Authoritative plan and acceptance scope remain in ../repair-union-package-plan.md; root should retain compact final evidence rather than relabeling this preparation as a package or runtime pass.