TRUSTWEAVE ? 6 SEPTEMBER 2026 ? LOCAL WORKING TREE

Production-readiness remediation

Release remains blocked.

The four implementation blockers have targeted regression coverage. Hosted CI, release evidence and broader operational gaps remain open. Claude's 6.6/10 is preserved as the last production-readiness assessment; this remediation ledger is not a new score or certification.

Original independent review ? Remediation ledger ? Breaking-change migration notes

Validation

Local validation passed: repository-wide ktlintCheck, test, all 105 checkKotlinAbi tasks, and the separate multiplatform jvmTest task. Across 86 report-bearing modules: 3,769 tests, 3,754 passed, 15 skipped, zero failures or errors. Results include Gradle up-to-date/cache reuse; this is not hosted CI or live-provider certification.

Commands, per-module counts, skipped test names and source hashes

Acceptance behavior and limitations

Federation now verifies a genuine chain from its leaf self-signature through superior endorsements to independently pinned anchor keys. Tests cover an HTTP-resolved three-entity chain, unsigned and wrong-key leaves, wrong anchors, issuer links and temporal claims. The supported chain profile includes the anchor entity configuration. This is not a claim of complete OpenID Federation conformance.

VI requires verifier-controlled audience and nonce expectations for every presented L3. Applications must atomically consume fresh nonces: equality checking is not a replay database. Budget and recurrence constraints now fail closed when external enforcement cannot be established. Autonomous checkout remains unsupported pending line-item matching. The reference Python payment fixture now correctly rejects its unsupported recurrence constraint; supported signed payment round trips remain tested.

The federation constructor and VI facade signatures changed. The two ABI snapshots were updated intentionally; consumers must recompile and follow the migration notes.

Every reported finding

FindingStatusEvidence or remaining work
PR2-B1Local lint corrected; hosted CI openFormatted the affected modules and replaced exposed wildcard imports without changing the lint baseline. A green hosted run of this revision is still required.
PR2-B2Fixed; targeted tests passedCorrected Optimism and ZkSync SPI names. Both modules now exercise real ServiceLoader iteration. All 10 anchor registrations resolve to source classes.
PR2-B3Fixed; targeted tests passedVerify leaf self-signature and superior endorsements in the correct direction, reject unsigned statements, validate issuer links and validity intervals, and require independently configured anchor keys. A genuine HTTP chain resolves successfully. The exchange provider now uses the guarded default client.
PR2-B4Fixed; targeted tests passedDerive all record directories from the normalized absolute wallet path. Regression covers relative and non-normalized paths, listing, recovery and statistics.
PR2-B5Fixed with explicit product restrictionsRequire separate audience and nonce expectations for every presented L3. Reject negative or quoted amounts and missing constraint currency. Open budget/recurrence constraints fail closed because external enforcement is unavailable. Checkout remains unsupported.
PR2-B6OpenNo commit, push, tag, published release or attestation was produced. The intentional federation/VI ABI changes are documented and snapshots updated, but hosted release evidence is still absent.
PR2-N3Code corrected; limited validationPublic status-list failures use a generic message and cancellation propagates. Existing route tests pass; fault-injection coverage has not been added.
PR2-N5Partially addressedFederation traversal now has a shared 64-edge budget and cycle guard, with cancellation propagation. Sibling protocol session-store issues remain open.
PR2-N9Partially addressedDocumentation workflow actions are pinned to the same SHAs as CI and receive read-only contents permission. Restoring the module-name gate remains open.
PR2-N1Open; not remediated in this passrevoked filter throws mid-iteration
PR2-N2Open; not remediated in this passCloud listing aborts on concurrent delete; statistics paths are O(N)
PR2-N4Open; not remediated in this passTransport gate applied inconsistently across anchors and KMS clients
PR2-N6Open; not remediated in this passObservability unchanged
PR2-N7Open; not remediated in this pass26 modules with main code and no test source
PR2-N8Open; not remediated in this passReference wallet flows broken by this diff (demo scope)
PR2-N10Open; not remediated in this passDeployment policy has a bypass and cannot admit any wallet

No commit, push, tag, release or attestation was performed. Original review artifacts are preserved. SaaS was outside this remediation scope.