Verification for momotor-bundles issue 40 at revision 9a918c2.

Commands ran from the package checkout using the workspace's version-specific
Python environments. Source compilation, tests and CLI used this checkout.

Python 3.11.17: python -m pytest -q --no-cov
1151 passed, 8 warnings in 9.30s

Python 3.14.8: python -m pytest -q --no-cov
1151 passed, 8 warnings in 7.73s

The eight warnings were present in the unchanged baseline of 987 tests.
Configured Ruff reported All checks passed.
Configured Pyright with --pythonpath pointing at .venv314/bin/python reported
0 errors, 0 warnings, 0 informations.

make -C docs check PYTHON=<workspace>/.venv311/bin/python
Strict Sphinx build succeeded. 15 documentation/source examples passed.
make -C docs check PYTHON=<workspace>/.venv314/bin/python
Strict Sphinx build succeeded. 15 documentation/source examples passed.
Generated signing.html and cli.html contain the expected content and all their
local linked pages exist. Browser preview could not start because the host
lacks libasound.so.2. No visual-browser pass is claimed.

A fresh version-specific Python 3.11 environment installed only .[test].
The pre-fix signing suite passed all 118 tests there, confirming the test extra
already includes cryptography. The suspected dependency gap was dismissed.
The installation generated build/lib in the parent checkout. That generated
copy caused duplicate collection and type errors. It was moved outside the
checkout before the successful final checks above. No source fix was needed.

Independent real-artifact verifier, codex/gpt-6.1-sol, reported pass on Python
3.11.17 and 3.14.8. It constructed separate fixtures and invoked the module CLI.
Observed results:
- XML, ZIP and directory signing with two keys succeeded.
- ANY, ALL_PRESENT and required-signer checks matched policy.
- Verification exits were 0 verified, 1 failed, 2 operational and 3 unsigned.
- Comment-only edits preserved full consumed inline file and option values.
- Output collisions were refused without changing XML or attachment bytes.
- Bytes and memoryviews respected aggregate size limits before copying.
- Unsigned acceptance did not override mandatory signer IDs.
- Unparseable signature inspection reported unknown presence as JSON null.
- Lazy reads retained captured bytes after original XML, ZIP and files changed.

Committed regression coverage is under tests/signing. It includes the fixed
OpenSSL-generated protocol fixture and RFC8032 vector, five root types and
three formats, policy matrices, resource bounds, publication failures,
source mutation, strict parsing and pre-signing-reader compatibility.
Old-reader subprocess checks used development revision b9ea675 and observed
schema rejection of signed XML, ZIP and directory bundles. Set
MOMOTOR_OLD_READER to a checkout of that revision to repeat those three checks.

Whole-change review ran on codex/gpt-6-astra, codex/gpt-6.1-sol and
muse/muse-wonder-1.0. The first Astra attempt returned a provider safety error
and was not counted. Its replacement completed a valid review. Required
findings were reproduced before fixing them. Fix round 1 added 46 tests;
35 of those failed against the previous production code. Seven accepted
corrections are in commit 9a918c2.

The two Codex reviewers found no remaining findings in the fix diff. The
cross-family fix review and final audit-trail review are recorded separately
in the decision log when they finish.

Evidence index and audit corrections.
- bundles40-tests311.log and bundles40-tests314.log are the final parent-suite outputs.
- bundles40-baseline311.log and bundles40-baseline314.log repeat the unchanged
  b9ea675 baseline in a separate checkout, confirming 987 passes and 8 warnings.
- bundles40-quality.log records the final parent Ruff and Pyright results.
- bundles40-old-reader.log records all three actual compatibility subprocess tests.
- check-signing-docs.py repeats the rendered-text and local-link checks from
  the package directory. Its output is bundles40-html.log.
- bundles40-browser.txt preserves the actual failed browser tool response.
- bundles40-runtime-report.md preserves the independent verifier's full report.

The runtime verifier was a fresh agent process on the same model family as the
parent. Its checks used recipe fixtures across the three formats. They were not
a full acceptance audit. The five-root matrix and other cases are covered by
the committed package tests. The code reviewers reviewed only the fix diff and
ran 108 targeted tests each; the 1151 counts belong to parent/full-suite runs.

Design comparison reused Muse as judge after all configured judge models had
produced a candidate. Muse judged its own candidate too. This was disclosed;
its candidate C was rejected, and design A was selected with details from B.
The judge was cross-family, but not independent of candidate generation.

The writer's fix commit 0573d45291e74fede2e9f0a25c4792eb3ff7791d was imported
by cherry-pick as 9a918c280348801366ad3e5acf6e161958260c20. Both commit trees
are exactly 31600997e33a4b60fcc9259c8a8b8a05c28d675a. Parent checks and the
independent verifier used the imported revision. The code fix diff reviewed was
4765160532cfb62b4c4d49015c55f86303fde3b0..9a918c280348801366ad3e5acf6e161958260c20.

The 14:42 decision-log row records the parent's interim comparison with the
transcript. It is not completion of cross-family review or GitLab approval.
Cross-family code review was still running at that point. The audit review
returned eight evidence/scope flags, which this evidence index and the appended
log corrections address. No MR approval is claimed in this record.

Final independent review outcome.
All three fix reviewers returned no findings. Codex/Astra and Codex/Sol each
ran 108 targeted tests on both Python 3.11 and 3.14. Muse ran all 164 signing
tests on Python 3.11 and additional ZIP, path and source-boundary probes.
Their fix review scope was 4765160..9a918c2. No production changes followed
those verdicts. All child tasks were stopped and confirmed terminal before
the evidence commit and merge-request delivery.

External review path compatibility corrections.
The GitLab reviewer found that signing rejected XML source spellings accepted
by the ordinary loader. Commits 6b2b7fc and 5e830f3 normalize XML source
candidates with PurePosixPath before confinement. The committed regression
matrix covers trailing separators, dot prefixes, repeated separators, source
name fallback, basesrc, repositories, expected files and unsafe controls.
It produced 34 expected failures before the fix, then 74 focused passes.
Full suites passed 1225 tests each on Python 3.11 and 3.14. These outputs are
bundles40-paths311.log and bundles40-paths314.log. All three delta reviewers
returned no findings. A fresh runtime verifier exercised 96 assertion groups
and 34 CLI calls per interpreter, including copies of the original fixture.

A subsequent root reproduction found neutral basesrc='./' still rejected.
Commits 892f4ed and f805163 skip only empty PurePosixPath.parts at the raw
component precheck. Complete resolved source confinement remains mandatory.
The expanded direct/scoped-reference and directory/ZIP matrix produced 40
expected failures with the former production code, then 128 focused passes.
The parent full suites passed 1279 tests each on Python 3.11.17 and 3.14.8,
with the same eight baseline warnings. Outputs are bundles40-final311.log
and bundles40-final314.log. Ruff and explicit-interpreter Pyright passed.
No documentation source changed in these two path corrections, so the strict
Sphinx results above belong to the earlier documented feature revision.
Final delta review and runtime verification are recorded when complete.

Final independent runtime verification used f805163. A fresh Codex/Sol process
ran a separate script importing production APIs, without package test helpers.
Each interpreter passed 233 cases, comprising 63 positive and 170 rejection
cases, with 265 real CLI invocations per interpreter. Neutral components,
direct and scoped occurrences, name fallback and inherited directory sources
worked across XML, ZIP and directory formats. Original recipe fixtures also
passed. Exact lazy bytes survived source replacement. Complete neutral sources,
unsafe paths and noncanonical ZIP members remained rejected. The script and
full outputs are retained locally at /tmp/bundles40-independent-verifier3.
Codex/Astra and Codex/Sol final delta reviews both returned no findings for
5e830f3..f805163. Cross-family final review is still pending at this record.

Final cross-family reviewer muse/muse-wonder-full-1.0 found no behavior defect.
It independently confirmed file:-stripped neutral components are accepted
under a safe base and rejected when the complete source remains neutral.
Its one nit requests dedicated file:-neutral matrix cases in addition to the
existing file:-prefix tests. Lead judgment is Noted, nonblocking coverage
suggestion, because the reviewer reproduced correct behavior and the existing
suite separately covers prefix stripping and neutral component resolution.
No required correctness or security findings remain in the final delta panel.
The three reviewers agree on current behavior. Only Muse raised the test nit.
The final review scope was 5e830f3..f805163. No production changes followed.
