Repository navigation
Conversation
pipeline/diff_uk_event_runs.py compares two complete replay namespaces after re-verifying each side's staging, comparison and artifact receipts. It flags, at source-row, measure-year and PE-head level: numerical moves above max(£1m, 1% of the larger magnitude); sign reversals and zero crossings; coverage, mapping, support, inertness and construction changes regardless of size. A year one side cannot support is a support flag, never coverage, and only on rows that could carry a counterpart. Ratio bins are reported as transitions. Flags are investigation prompts; nothing passes or fails. Each flagged (event, measure, year) gets a packet with the OBR source cells, both execution identities, artifact digests, executed reform dictionaries, focused rerun commands and the sources the registry cites. --check re-renders and compares bytes for CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
3 tasks
…ruction On the first real premise diff (2.89.2 to 2.125.1) every reversal's reform world, which is current law, moved with current law: the employer-NIC secondary threshold (96 to 96.153846), the Class 2 small-profits threshold, float noise in the blended CGT rates. Those were raised as construction flags, which release qualification proposes to fail on. A baseline or reform world value change is now a construction flag only where one side's world overrides that side's current law; otherwise the move is recorded in current_law_changed context. Premise-check changes (the CGT annualisation premise) still flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: GPT-6.1 Sol (Subfleet lane) <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol (Subfleet lane) <noreply@openai.com>
…-uk-event-runs-fix
After #160, staging checks a manifest's variant against its record in a variants document, and the diff re-stages each run to revalidate it. The diff now takes --variants-file (default data/uk/replay_variants.json) and passes it to staging, so a qualification run can diff a candidate whose record lives only in its work file. The diff tests build synthetic variants (several share an id with different data years), so they stand in a record derived from each manifest; staging's variant checks are tested in test_uk_replay_variants.py, and a new test checks the file reaches staging. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
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.
Stacked on #160. WIP: W6 of the Autumn Budget 2026 CI plan.
What this adds
pipeline/diff_uk_event_runs.pycompares two complete replay namespaces (the legacyresults/uk/eventsor a variant'sresults/uk/replays/<variant_id>). It re-verifies each side's staging, comparison and artifact receipts before reading anything.It flags at three levels: source row, measure-year total, and PE head. Spec:
docs/uk_replay/RELEASE_REPLAY.md, "Release differences".abs(head − base) > max(£1m, 1% × max(abs)), strictlyabs ≤ £0.50), artifact schema or construction orientation changedFlags are investigation prompts. Nothing passes or fails, and the PE/OBR ratio bins appear unchanged, as transitions.
Each flagged
(event, measure, year)gets a packet (packets/*.json|md) containing:minimal_case/statutory_evidencesections for the investigating lane.The pipeline files no issues.
--checkre-renders and compares bytes, for CI's no-drift gate.Invariants (tests/test_uk_event_diff.py)
diff(a, a)has no row flags, including on the committed legacy namespace end to end.Status
pe6.2.6_uk2.125.1_policyengine-uk-data-1.58.0: 304 numerical, 15 structural, 34 support flags; no coverage, mapping, inertness or construction flags. That result lands in its own PR with the 6.2.6 namespace.axiom: n/a: replay comparison tooling in scorecard, no policy encoding.
🤖 Generated with Claude Code