Repository navigation
Receipts v5 (A18): instrument version 5 from the 'Show me the receipts' slides, inactive by default - #5364
Merged
Conversation
… provedown watermarks, and linkml-map transformation receipts
…rument and touchpoint table
…TS_V5_INSTRUMENT and compute in v4/v5
…_INSTRUMENT (A13 R1 F3)
…eipts-v5-upgrade # Conflicts: # src/data_sheets_schema/receipts.py
N1: remove artifact and environment selection; retain validated registration/provenance authority and report format-version discrepancies. Add causal selection and sidecar tests and update obsolete unsafe-selection expectations. Offline focused validation: 189 passed.
N3: cap patterns at 200 characters and sources at 48 Ki characters; compile and count in an isolated stdlib subprocess killed and reaped after 250 ms. Timeout, compile overflow and worker failures refuse coverage. The reviewer pathological pattern is bounded through verify_tool_receipt and check with snapshot coverage. Focused validation: 94 passed.
N4: thread the selected version through receipt-path coverage and completion planning. Preserve A13 v3/v4 numeric-scalar coverage and D37 counts; retain v5 refusal. Causal regressions cover integer, float and boolean snippets at all three versions. Focused validation: 186 passed.
N3: record the offline review portability finding and remove the test subprocess dependency on the developer harness. The child uses the parent dependency paths and measured source tree with site startup disabled.
N1, N3, N4: final causal tests produce 38 failures and 14 controls at 562ca36, then all 52 pass after remediation. The 18-module offline suite passes 894 tests with 19 existing skips. Replayed the reviewer exact slices against A13: 54 receipt records, 335 v7/v8 report records, both CHORUS v10 saved requests, and generic_v10/A21 assembly digest are identical within the documented path normalization. Preserve helper scripts, raw pytest logs/XML, and hashed comparison ledgers; note N11 without changing shared_generation.py. No network, provider calls, push, protected-path edits, or STATUS.md changes.
R4: report receipt_format_version_mismatch without gating v3/v4; retain v5 gating. Causal tests on a copied v3 corpus record and registered v4 fixtures move from 3 failures / 2 controls passing to 5 passing. Keep pytest scratch under TMPDIR/codex-v5r4-pt.
R6: archive pinned A13 into TMPDIR at runtime, recover both CHORUS canaries from pinned git objects, and compare rebuilt outputs with committed baseline hashes. Fresh one-record receipt and report canaries passed in both trees. Qualify worker reaping by parent lifetime per R2; retain the protected ROUTING_CODE concern as an offline issue draft.
R6: macOS TMPDIR uses /var while imports resolve /private/var. Assert that the declared tree resolves to the actual imported tree, then display that caller spelling so path-only normalization remains exact. Record the portability finding as an offline issue draft.
R4/R6: retain the 3-failed/2-passed to 5-passed causal transition, 899 passed and 19 skipped acceptance result, and all four equal inertness slices against a fresh git archive of A13. Record the separate read-only review and offline issue drafts; leave activation blockers and protected paths unchanged.
Resolve the scanner ConfigError at receipts.py:1532 (unsupported effect on model-text local container: projected receiving object) behind #5364's CI shard failures. Replace the any-generator's regex match receiver with an explicit short-circuit loop; preserve matching, evaluation order and results without changing the scanner. The complete specificity module passes 357 tests, the scan matches origin/main's 96 violations with no additions, and v5 acceptance passes 899 tests with 19 skips. Retain the offline serial validation helper for the remaining A13 and related-module checks.
Record verification of the scanner ConfigError behind #5364's CI failures. The final scanner module passes 357 tests; the selected 82 modules pass 4502 tests with 20 skips. Preserve the 899-pass v5 acceptance run, all four established A13 inertness comparisons, and refreshed scans with 96 violations on both head and pinned main and zero new findings. Retain serial offline launchers, per-module checkpoints, raw evidence and hashes. CI tests collection succeeds with 20475 cases and exact shard 4/6 selections. Record the 17 whole-root collection errors as an offline issue draft; complete shard execution and Python 3.12 validation are not claimed. No scanner/configuration changes, provider calls, network, push or protected-file edits.
CI run 41015551110 for PR #5364 failed shard 4 at tests/test_report_original_removal.py::test_unknown_instruments_are_not_mislabelled[9]: DID NOT RAISE ValueError. Version 9 is now supported, so exercise unsupported versions 10 and 99 while retaining 6, string 8, and float 8.0. Add caller-only v9 controls for both explicit opt-ins, unchanged v7/v8 labels, measured artifacts and environment inputs, and AST checks of production callers and the runner report gate. The receipt-v5 unsupported-version test already uses 6. Validation: 167 focused tests passed serially and offline with provider keys unset and external pytest basetemp. No production files changed. Merged-main shard validation remains pending because the upstream merge changes protected evidence paths.
This was referenced Oct 31, 2026
Open
realmarcin
added a commit
that referenced
this pull request
Oct 31, 2026
…135309-20261031 CI: refresh shard timing weights from main run 41148135309 (#5364 shard-6 timeout)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Receipts instrument version 5 (board item A18), built from the "Show me the receipts" slides (JBIMS Workshop, 23 Oct 2026, slides 7, 8, 13 and 14). It is inactive. No current path selects v5:
v3/v4 stay the defaults, and v10/A21 reads v4 (the owner's D64 item 11).
Status
History of the fixes
d64a761a3,30a25af97and851e7cc84.562ca36b2found it fix-first. N1, N3 and N4 blocked even an inactive merge:receipt_format_version, or an environment variable, could select v5 over a registered v4. Fixed in9bf4b8841: the instrument now comes only from the registration and the run's own provenance.4e0b4278a, with bounded patterns and inputs, and a worker subprocess with a 250 ms timeout.4b87bf52d: the guard applies to v5 only.e8e033bf6found it merge-ready as inactive after R4. R4, a new gate on v3/v4, is fixed ine754b790d. claude checked the causal tests in a real checkout: 3 failed and 2 passed before, all 5 pass after. R6's reproduction and wording fixes are in3997aff96,00854fbe2and93edcc76c.Inertness with v5 off
Byte-identical to the A13 base
148c869ddon:codex proved this, rebuilding the base from git, and the re-review independently re-ran the comparison. Acceptance: 899 passed, 19 existing skips.
Activation blockers (filed as issues)
evidence_sourcevalidation, entailment, LinkML-Map verification, and provedown binding.Earlier issues: #5224–#5227.
🤖 Generated with Claude Code