30 lines
5.4 KiB
Markdown
30 lines
5.4 KiB
Markdown
# Exact September runtime notice mapping and synthetic validation
|
|
|
|
The accepted integration appends one runtime entry to `scripts/windows-notices/manifest.json`. It preserves the old August mapping and all25 existing supplemental files. The manifest now recognizes the actual September LLVM-MinGW x86_64 `libunwind.dll` SHA256 `aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a`. Its exact upstream component license is byte-identical to the existing supplement, so no license payload change or collector change is necessary.
|
|
|
|
Integrated manifest SHA256: `ec0a106d22ab2985712abe44323bbaaebbc61aa37de37d73f7170087896c915d`. The direct verification checked that the complete parsed manifest equals its old value plus exactly the accepted [runtime-entry.json](proposal/runtime-entry.json), every actual referenced supplemental file matches its digest, and the installed DLL matches the new row. No package, compiler or native application was executed. Parent owns tracked commit, full notice/dependency preflight and later package acceptance.
|
|
|
|
## Primary provenance
|
|
|
|
The [original proposal report](proposal/README.md) and adjacent raw API/build-source responses retain the official asset/source chain. Official release asset551256712 has SHA256 `1bcf74d06b724aeecaa6412ca85f5b26fb1da770e7cdcefa9263c9c5c3ad34b6`, matching the entire local190,677,197-byte ZIP. Selected archive DLL members match both installed copies. Distribution tag resolves to030097eeee87fcfd0f3bfe536b21cbd6e5d3b324; release build scripts select LLVM23.1.1, commit6dfe1677ab8dffbc6ec13d53a1e0215d75147689. The freshly retrieved libunwind license hashes to b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d, equal to the existing tracked component supplement. The successful official push-build metadata is corroborative, not a reproduced compilation or binary attestation.
|
|
|
|
Original proposal/inventory bytes remain unchanged. Its report's earlier “no root mutation/test” statements describe that original preparation phase; the integration and test evidence here is a later, separately authorized action.
|
|
|
|
## Actual synthetic contract run
|
|
|
|
The unchanged `scripts/test-windows-notices.ps1` was inspected first. It defines local cargo/rustc mocks, creates a GUID-named synthetic temporary fixture and **retains** it; no recursive deletion or move occurs. Linux-target assertions in this test exercise mock selection only, not a resumed Linux environment/build. Its source hash is bb78a76faea3b4b04b389e5c5005a0747748675211844284d1fba06602350386; collector hash9116913dc5328c89b51e764be7b7c4cedc1d376f1c1304fd115a4f40d8021fd3.
|
|
|
|
First [attempt](integration/result.json): Windows PowerShell5.1, exit1 in39.312s, before collector assertions because Get-FileHash was unavailable. Raw stdout/stderr and exact inputs are retained. No test expectation was changed.
|
|
|
|
Corrected [attempt](integration/module-isolated-r1/result.json): same unmodified script, with child-only PSModulePath set to Windows PowerShell5.1's own Modules directory and its Utility module imported explicitly. Actual PowerShell5.1.26100.8457 resolved Get-FileHash from Microsoft.PowerShell.Utility. Exit0 in45.562s; stderr empty; all stamped inputs unchanged. The test's actual PASS line covers normal/build and server-only graph selection, cross-target runtime refusal, Rust reports, actual source hashes, stale archive refusal, doc-comment font exclusion, production font path/mapping refusals, exact font mapping/changed-byte refusal, unsupported source/traversal/altered supplement refusal.
|
|
|
|
The correction isolates module initialization. Although the launcher receipt describes avoiding inherited PowerShell7 selection, its captured prior_PSModulePath is null; a specific inherited cross-version module collision was **not established**. The supported conclusion is narrower: the initial process lacked the command and explicit standard5.1 module initialization resolved it. No machine/user environment was changed. The synthetic fixture remains at its exact path printed in the log.
|
|
|
|
This synthetic suite does not load the new gnullvm row against the entire real dependency cache; the separate direct semantic/digest checks cover that row. A future real locked/offline collector and package run remains necessary.
|
|
|
|
## Portable contents and verification
|
|
|
|
[archive-manifest.json](archive-manifest.json) lists every payload except itself. The archive excludes all25 unchanged supplement copies and also the duplicate freshly downloaded component license bytes. [supplement-bindings.json](supplement-bindings.json) records26 logical bindings to the exact existing files under `scripts/windows-notices/`, including sizes and SHA256s; the component license shares the same tracked file. Thus the original56-payload proposal can be inspected without duplicating notices, but does require those identified tracked files for complete logical reconstruction.
|
|
|
|
The original proposal inventory is retained; archived paths add the `proposal/` prefix, and omitted original paths resolve through supplement-bindings.json. Large ZIP/DLL inputs remain external hash-bound evidence, not payloads. All stored bytes and external supplement bindings were read back; the original local proposal's56 rows and its inventory hash were rechecked unchanged. The create-new archival helper and actual integration/rerun helpers are preserved in `tools/`. Exact byte attributes apply only to this archive prefix. No stage, commit, tag, upload or release was created by this worker.
|