Repository navigation
Record U2 §20 steps 2 and 3 and §17 items 4–7 and 9 - #544
Conversation
Specification (lines after section 16a only): - Section 20 step 2 (implementation, manifests, parameter capture) and step 3 (independent mapping review, invented tests, historical isolation, exact U1 differential evidence) are marked done, each with its evidence. - Section 17 items 4, 6 and 7 are marked done; item 9 is partly checked; item 5 is checked. - Section 19 records the revision. - u1_identity.json re-pins the specification's SHA-256. - test_adjudication_applied.py's D1090_FOLLOWERS move with the item-9 and step-2 lines, so the d1090 record checks still hold whole lines. Section 17 item 5: the code pins the U2 SSI capture by its SHA-256 (parameters.SSI_SHA256, diagnostics.SSI_SHA256), but no test fed its loaders changed bytes of the capture. test_a_changed_ssi_capture_refuses does now: a copy with one added space and equal JSON content refuses both readers. The test fails if either pin comparison is removed. Section 15's sha256 field still reads TO_VERIFY. Section 15 precedes section 16a, so this revision may not edit it; section 20 step 5 writes it when it materializes the final parameter block. The U1 differential at #525's merge (f7a84d0) against 9cee242 is equal in every check, its dry run included. It is committed as docs/design/u2_m2_u1_differential_f7a84d0.json. Tests: tests/track_u2 plus the U2 data, birth-evidence and legacy-manifest files, 1,332 passed, 254 skipped, under a guard refusing any PSID or evidence-directory access (nothing refused). Tiers, recounted by collection: artifact 4,245 (+1), total 16,383. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The independent review of e6a71a3 (Opus 5.5, REQUEST_CHANGES) blocked on one point. Section 20 step 2 called implementation done, yet #525's report still listed the pandas environment as due before step 4: the frame digest hashes pandas' dtype names and CSV text, so the step-4 pass and the one-shot must run under the same pandas. The fix closes it in code, as the review preferred: - cohort.frame_environment() returns the pandas version and the future.infer_string setting. - The pre-registration evidence record moves to schema v2 and freezes that environment with the digest. check_preregistration_evidence requires exactly a nonempty version string and a bool. - loader.check_frame_environment refuses a frozen load (before any PSID path is resolved) and a registered run (before the snapshot) under any other environment. - Tests: the record holds the environment; each malformed environment refuses with its own message; a property over invented versions and both settings shows the registered check passes only under the frozen environment; and a frozen load refuses another version or setting without resolving a PSID path. All 13 fail on master's code. The review's should-fix items, as it worded them: - Section 17's review paragraph no longer says the implementation is incomplete. - Step 3 cites the reviews that ended in agreement: #486's verifier, d1090 round 4 and #524's final review, the d637 delta review and #540's gating review. - Step 2's manifests are 1,766 registry entries plus 26 SSI and Census records, documentary findings, with the right test cited. - Item 4 cites tests that check what it claims. - The SSI test roots identity.ROOT at its copy, so only the pin can refuse. - The section 19 entry gains the blindness line and its exposure pointer. - Items 5, 7 and 9 and step 2 take the informational wording. The spec's SHA-256 is re-pinned. D1090_FOLLOWERS moves with the item-9 and step-2 lines. The milestone-2 report marks the pandas item closed, and the exposure record notes the follow-up. tests/track_u2 plus the U2 data, birth-evidence and legacy-manifest files: 1,345 passed, 254 skipped, under the PSID guard (nothing refused). Tiers, recounted by collection: unit 9,900 (+13), total 16,396. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iers Master gained #525, #534, #538, #543, #544-era changes and #545 since this branch's base (9af5392). Conflicts were the two tier files only; tests/track_u2/test_u2_loader.py, changed on both sides, merged cleanly: the merged file is master's plus exactly this branch's one added test, and this branch's plus exactly master's changes. Every other file equals its one changing side. Tier files rewritten from `pytest --collect-only -q -m <tier>` on the merged tree: unit 9,902, artifact 4,244, integration_psid 1,423, reproduction_legacy 520, oracle_policyengine 308 (16,397), which is master's counts plus this branch's +1 unit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The #544 re-review (Opus 5.5, APPROVE at 97eda90) left informational items, applied here: - loader.check_frame_environment now normalizes its record first (check_preregistration_evidence), so a direct call compares only plain JSON data. A dict subclass whose comparisons always agree is refused. test_check_frame_environment_normalizes_its_record fails without the normalization. - The step-4 structure pass records the interpreter, platform and package versions it ran under (environment in track-u2-structure.json), so the one-shot can be run under the same ones. The registered run's sidecar writes the same record. The pass may not import the runner, so it has its own _environment(), and a test holds the two equal and checks that build returns it. - The binding provably covers the frame environment: a property over invented environments shows binding_sha256 changes exactly when the environment does. - Docstrings of loader.load_u2_inputs, scripts/track_u2_structure.py and the registered preflight (item 8) name the new check. - The two __all__ entries are in order. - The exposure record notes the re-review's reading. tests/track_u2 plus the U2 data, birth-evidence and legacy-manifest files: 1,348 passed, 254 skipped, under the PSID guard (nothing refused). Tiers, recounted by collection: unit 9,901 (+1), artifact 4,247 (+2), total 16,399. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts: - data/external/track_u2/u1_identity.json: both sides re-pinned the specification. The pin is recomputed from the merged specification, which keeps #542's section 19 line and this PR's section 17, 19 and 20 edits. - tests/tier_counts.json and tests/README-tiers.md: recounted by collection on the merged tree. Unit is 9,916 (master 9,902 + 14) and artifact 4,247 (master 4,244 + 3); integration_psid 1,423, reproduction_legacy 520 and oracle_policyengine 308 are unchanged. The total, 16,414, equals the full collection. The specification and tests/track_u2/test_u2_loader.py auto-merged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge audit: merged as Landing slot. The "Microcosm dynamics" coordinator assigned this PR the tier-count slot after #542 landed. Master was Merge with master (
Independent reviews. All four were Claude Opus 5.5 reviewers with a shell, in a standalone clone with the PSID guard; the Codex lanes were held.
The reviews are in Evidence at
CI at What this records:
What remains:
Optional notes from the delta review, left as follow-ups:
INVENTED DATA ONLY: no real PSID record was read, and no restricted file was opened. |
Records U2 specification §20 steps 2 and 3 as complete and §17 items 4–7 and 9 as far as they are done, each with its evidence. It follows the round-3 closeout of milestone 2 (#525, merged as
f7a84d0b). INVENTED DATA ONLY: no real PSID record was read, and no restricted file was opened.Review round 1 and what changed
The first independent review (Claude Opus 5.5, at
e6a71a3c) returned REQUEST_CHANGES with one blocker. §20 step 2 called implementation done, but #525's report still listed one item as due before step 4. The frame digest hashes pandas' dtype names and CSV text, so the step-4 pass and the registered one-shot must run under the same pandas version and string-inference setting.97eda904closes that item in code, as the review preferred:cohort.frame_environment()returns{pandas_version, future_infer_string}.check_preregistration_evidencerequires exactly a nonempty version string and a bool.loader.check_frame_environmentrefuses under any other environment:The review's six should-fix items and its informational wording are applied as it phrased them. Those cover the §17 review paragraph, step 3's citations, step 2's manifest counts and citation, item 4's citations, the SSI test's root patch, and the §19 blindness line. The milestone-2 report marks the pandas item closed.
What changes
The specification changes only after §16a, which the d1090 record tests require.
f7a84d0band runs again at ratification)blocked_byOther files:
u1_identity.json: re-pins the spec SHA-256.D1090_FOLLOWERS: moves with item 9 and step 2.test_u2_parameters.py::test_a_changed_ssi_capture_refuses: refuses a copy of the capture with equal JSON content and one added space. It fails with either pin check removed (DID NOT RAISE).docs/design/u2_m2_u1_differential_f7a84d0.json: the differential at U2 M2 round-3 informational fixes: bind a registered run to its evidence record and rows #525's merge, equal in every check.Tests
All runs used an audit hook refusing any PSID, evidence-directory or REFS access, with HOME and the PSID directory empty. The hook refused nothing.
tests/track_u2plus the U2 data, birth-evidence and legacy-manifest files: 1,345 passed, 254 skipped.-l 79) and ruff are clean.Not in scope
D1090_CLAUSES, so a later revision should update it together with that test.🤖 Generated with Claude Code