Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1068 commits
Select commit Hold shift + click to select a range
8cc7358
fix: pair committee reports for every manifested version, not only XM…
willhea Aug 4, 2026
7bb6700
Merge pull request #526 from AgoraDMV/issue-282-csp-header
willhea Aug 4, 2026
848f01f
test: assert both account and agency survive catchline suppression (#…
willhea Aug 4, 2026
513b001
test: close the shell-version fail-open and sharpen the prose gate (#7)
willhea Aug 4, 2026
d2b5ed1
Merge pull request #532 from AgoraDMV/fix-530-test-xfail
willhea Aug 4, 2026
4688a98
feat(report): collapse the Financial Summary table by default
willhea Aug 4, 2026
bc03daa
style(report): size the Financial Summary caret against its heading
willhea Aug 4, 2026
50d95de
style(report): size every disclosure caret against the text it opens
willhea Aug 4, 2026
5a18158
refactor(report): one CSS rule for every disclosure caret
willhea Aug 4, 2026
084bb39
fix(web): show a diff-in-progress placeholder in the report tab
willhea Aug 4, 2026
d3ee5b1
test(corpus): stop the sweep carrying baselines no run can keep current
willhea Aug 4, 2026
098cb97
fix(tree): walk appropriations children of body-level sections (#485)
willhea Aug 4, 2026
98f2b3a
test(tree): pin the untitled-bill account shape with a committed fixt…
willhea Aug 4, 2026
cc8b0f7
test(corpus): declare 118-hr-9468's amount-gate skip (#485)
willhea Aug 4, 2026
89a6fff
test(corpus): scope the section stand-in to sections with no body of …
willhea Aug 4, 2026
60d575e
test(pdf): derive the subsection parity fixture set from the corpus (…
willhea Aug 4, 2026
73e1202
test(xml): widen the subsection-node gate to the same derived pair se…
willhea Aug 4, 2026
2a55543
test: record the corpus pairs added since the branch was cut (#488)
willhea Aug 4, 2026
55f1689
refactor: give the two text-similarity cutoffs one home (#492)
willhea Aug 4, 2026
9bf6419
refactor(pdf): retire the `For necessary expenses` account trigger (#…
willhea Aug 4, 2026
401449b
docs(adr): record text-triggers-are-financial-only, with an enforcing…
willhea Aug 4, 2026
28384e6
docs: add ADR 0018 to the generated AGENTS.md index; refresh stale tr…
willhea Aug 4, 2026
e4caaea
docs(adr): point ADR 0018 at the real trimodal issue (#508)
willhea Aug 4, 2026
b973c23
fix(#114): correct the degrade contract, close two gate bypasses, pin…
willhea Aug 4, 2026
cbd0f75
test(corpus): commit a PDF beside every XML the gates can check (#126)
willhea Aug 4, 2026
679f15e
docs(corpus): state the real parity invariant, 51 of 57 dual-format
willhea Aug 4, 2026
1de957b
Resolved merge conflicts with develop branch
willhea Aug 4, 2026
f1767df
Fix conflict-resolution regressions from merging develop into #520
willhea Aug 4, 2026
be517a8
Rebase #517 onto develop: regenerate committee_report pairings with -…
willhea Aug 5, 2026
bbb0631
Merge develop into #517: regenerate committee_report pairings on top …
willhea Aug 5, 2026
931d607
Fix test assertions: corpus no longer has PDF-only version since #434
willhea Aug 5, 2026
8d0e7a3
test: exercise the offline pairing guard through production code
willhea Aug 5, 2026
5b47614
Merge pull request #520 from AgoraDMV/worktree-issue-126-format-parity
willhea Aug 5, 2026
27d4e16
merge: bring develop into #517 after #126 landed
willhea Aug 5, 2026
876658c
fix: mirror test's shell logic in calibration script to prevent fail-…
willhea Aug 5, 2026
47b5d86
test(ci): keep develop's stronger slow-module coverage gate
willhea Aug 5, 2026
a3e63f1
Merge pull request #517 from AgoraDMV/worktree-issue-295-corpus-repor…
willhea Aug 5, 2026
0833e4d
Merge remote-tracking branch 'origin/develop' into worktree-issue-7-p…
willhea Aug 5, 2026
f2e08ef
test: key prose floors on print layout, not on named bills (#7)
willhea Aug 5, 2026
614a29b
test: fail a version that yields no prose, not just a starved corpus …
willhea Aug 5, 2026
8c8da4e
docs(agents): name all three fail-open reads of the org issue fields
willhea Aug 5, 2026
06a549f
docs: point the prose gate's floors at the defects they accommodate (#7)
willhea Aug 5, 2026
6663a5a
Merge pull request #531 from AgoraDMV/worktree-issue-7-prose-recall
willhea Aug 5, 2026
26ca457
Merge pull request #538 from AgoraDMV/docs/issue-field-fail-open-reads
willhea Aug 5, 2026
16670a7
docs: write down the develop-to-main promotion sequence
willhea Aug 5, 2026
4f7845b
Merge remote-tracking branch 'origin/develop' into worktree-docs-rele…
willhea Aug 5, 2026
d4aaf5b
docs: correct the CI trigger claim in the release runbook
willhea Aug 5, 2026
781252a
docs: correct the Pages model and rollback semantics in the runbook
willhea Aug 5, 2026
48587e5
docs: watch main's own post-merge runs, and correct the examples gate
willhea Aug 5, 2026
07f7e20
spike(pdf-bakeoff): neutral PdfPage seam and six backend adapters
willhea Aug 5, 2026
b0b252a
spike(pdf-bakeoff): pre-register metrics, materiality and pass thresh…
willhea Aug 5, 2026
b075e7d
spike(pdf-bakeoff): Phase 4 zero-egress harness, and it found a real gap
willhea Aug 5, 2026
9263bd5
spike(pdf-bakeoff): Phase 3 browser execution, with native parity
willhea Aug 5, 2026
344a90c
spike(pdf-bakeoff): Phase 1 results (N=52) and the reporting script
willhea Aug 5, 2026
4fd7c12
spike(pdf-bakeoff): Phase 5 perf, licensing memo, and two harness cor…
willhea Aug 5, 2026
2e9b6a9
spike(pdf-bakeoff): Tier B probe and the results document
willhea Aug 5, 2026
4e70428
spike(pdf-bakeoff): Phase 2 final, gates re-scored over the accepted …
willhea Aug 5, 2026
5f45c17
spike(pdf-bakeoff): Tier B results and the spec's stale status line
willhea Aug 5, 2026
c71be3a
spike(pdf-bakeoff): make the conclusion falsifiable, and name what wa…
willhea Aug 5, 2026
820b878
redteam(pdf-bakeoff): adversarial audit of the PDFium-WASM conclusion
willhea Aug 6, 2026
dec2874
docs(pdf-bakeoff): retract the "best backend" conclusion, correct RES…
willhea Aug 6, 2026
ed01ff7
docs(pdf-bakeoff): restore original conclusions, layer the audit on top
willhea Aug 6, 2026
a6f8ae5
docs(pdf-bakeoff): close reproduction gaps; gate 9 does not reproduce
willhea Aug 6, 2026
be07b71
docs(pdf-bakeoff): freeze the confirmatory protocol
willhea Aug 6, 2026
37f6be8
docs(pdf-bakeoff): amend the frozen protocol on four controls
willhea Aug 6, 2026
003cf8c
spike(pdf-bakeoff): freeze holdout membership and the Concern B harness
willhea Aug 6, 2026
96862d2
spike(pdf-bakeoff): Concern A scorer and the Concern B statistics
willhea Aug 6, 2026
2fd85cc
spike(pdf-bakeoff): Concern C probes, per-vector and environment-level
willhea Aug 6, 2026
8d241b1
spike(pdf-bakeoff): Concern F release readiness, checked at source
willhea Aug 6, 2026
2442310
spike(pdf-bakeoff): Concern E, and it inverts the bundle-size assumption
willhea Aug 6, 2026
3634638
spike(pdf-bakeoff): Concern C result, and a false negative caught by …
willhea Aug 6, 2026
033198f
spike(pdf-bakeoff): environment isolation passes, with both controls
willhea Aug 6, 2026
0f1d947
spike(pdf-bakeoff): Concern D harness that can void its own run
willhea Aug 6, 2026
416c162
spike(pdf-bakeoff): generate every confirmatory table from raw JSON
willhea Aug 6, 2026
20bab50
spike(pdf-bakeoff): confirmatory results document, C/E/F sections filled
willhea Aug 6, 2026
17d2738
spike(pdf-bakeoff): distinguish "identical" from "indistinguishable"
willhea Aug 6, 2026
28ece69
spike(pdf-bakeoff): P1 Concern B results, and the mode changes the an…
willhea Aug 6, 2026
5ee2227
spike(pdf-bakeoff): Concern A on P1, and "13/13" needed qualifying
willhea Aug 6, 2026
c160be1
spike(pdf-bakeoff): holdout Concern B, and what the holdout cannot say
willhea Aug 6, 2026
afdc6c9
spike(pdf-bakeoff): holdout migration parity, 30/30, thinly evidenced…
willhea Aug 6, 2026
667dd51
spike(pdf-bakeoff): write the A and B readings
willhea Aug 6, 2026
a6f6ac0
spike(pdf-bakeoff): P3 safe failure -- gate S-1 FAILS on image-only PDFs
willhea Aug 6, 2026
c1b00f2
spike(pdf-bakeoff): P3 section and what the run did not settle
willhea Aug 6, 2026
4ebe845
spike(pdf-bakeoff): sensitivity sweep, and the lead is not a tuning a…
willhea Aug 6, 2026
ff1c4ac
spike(pdf-bakeoff): Concern D is void, twice, and says so
willhea Aug 6, 2026
930ce1d
spike(pdf-bakeoff): the glyph layer is not production, and it matters
willhea Aug 6, 2026
b609266
spike(pdf-bakeoff): apply the frozen decision rules, and name the nex…
willhea Aug 6, 2026
9a5f17d
docs(pdf-bakeoff): reproduction commands for the confirmatory run
willhea Aug 6, 2026
d89b24e
docs(pdf-bakeoff): warn at Concern A that its reference is not produc…
willhea Aug 6, 2026
c8522a7
spike(pdf-bakeoff): B8 built not adjudicated, and two prose numbers c…
willhea Aug 6, 2026
b5cc19d
docs(pdf-bakeoff): stop asserting an arithmetic identity that is a co…
willhea Aug 6, 2026
cb262f9
spike(pdf-bakeoff): freeze the gold sample, 99 of 100, unadjudicated
willhea Aug 6, 2026
1e24e34
spike(pdf-bakeoff): make the #550 reproduction regenerable from the repo
willhea Aug 6, 2026
daea760
spike(pdf-bakeoff): the hybrid seam, and the word space was never mis…
willhea Aug 6, 2026
2bd85da
spike(pdf-bakeoff): corpus parity, and a stratum that cannot discrimi…
willhea Aug 6, 2026
945486c
spike(pdf-bakeoff): check normalize_raw's retirement where it would fail
willhea Aug 6, 2026
8dd1f31
docs(pdf-bakeoff): answer the fitting objection, and scope the PDF.js…
willhea Aug 6, 2026
9cb3cb5
spike(pdf-bakeoff): the canonical diff, and a metric that could be sa…
willhea Aug 6, 2026
bf2c978
spike(pdf-bakeoff): normalize_raw does not retire in full, and produc…
willhea Aug 6, 2026
3a67b03
docs(pdf-bakeoff): stop crediting the hybrid for a fix both seams give
willhea Aug 6, 2026
dc791ed
spike(pdf-bakeoff): PDFium's word-space rule is geometry, and it is r…
willhea Aug 6, 2026
0678a8f
spike(pdf-bakeoff): freeze the blinded word-boundary sample before sc…
willhea Aug 6, 2026
799075b
spike(pdf-bakeoff): adjudicate the 72 boundaries, before opening the key
willhea Aug 6, 2026
e55da35
spike(pdf-bakeoff): the engine is better than the glyph rule, and it …
willhea Aug 6, 2026
a1cdf3a
spike(pdf-bakeoff): the origin is exactly right; the hyphen flag adds…
willhea Aug 6, 2026
8638770
spike(pdf-bakeoff): the line half of the seam is justified, on the en…
willhea Aug 6, 2026
c8608cb
spike(pdf-bakeoff): bound the display-split defect, and check the fla…
willhea Aug 6, 2026
8eee45c
docs(pdf-bakeoff): the falsification pass, and what it does and does …
willhea Aug 6, 2026
8f9e1ee
spike(pdf-bakeoff): the extended-glyph feasibility gate PASSES, with …
willhea Aug 6, 2026
70451e9
spike(pdf-bakeoff): extended glyph fixes the failure cases, and ties …
willhea Aug 6, 2026
f8a84ec
docs(pdf-bakeoff): accuracy stops discriminating, so recommend on arc…
willhea Aug 6, 2026
5c3592e
spike(pdf-bakeoff): keep the phase-1 tree byte-for-byte, resolve node…
willhea Aug 6, 2026
e17a091
spike(pdf-bakeoff): restore the per-character sequence the WASM compa…
willhea Aug 6, 2026
2b454ba
research(provision-matching): adversarially test Study 1 and the Stud…
willhea Aug 6, 2026
edcbb1a
docs(pdf-bakeoff): an entry point for the validation, for an outside …
willhea Aug 6, 2026
e3a98ae
research(provision-matching): confirm the label drift from the repo's…
willhea Aug 6, 2026
8dff4c5
spike(pdf-bakeoff): the advance is the same number in every engine, s…
willhea Aug 6, 2026
ad949be
docs(pdf-bakeoff): mark what phase 3 replaced, and soften a recommend…
willhea Aug 6, 2026
d40e600
docs(pdf-bakeoff): spend the empty-diff guarantee on a route into the…
willhea Aug 6, 2026
38c50a3
research(provision-matching): second adversarial pass, on the review …
willhea Aug 6, 2026
95fc412
docs(review): stop quoting test counts that will drift
willhea Aug 6, 2026
50b4550
spike(pdf-bakeoff): the advances are equivalent at the contract's pre…
willhea Aug 6, 2026
55cec02
research(provision-matching): third adversarial pass, on rounds 1 and…
willhea Aug 6, 2026
b7716d3
spike(pdf-bakeoff): the origin counts were binned at 5e-5 and labelle…
willhea Aug 6, 2026
85b00af
research(provision-matching): fourth adversarial pass, on the new mac…
willhea Aug 6, 2026
5419c1c
spike(pdf-bakeoff): a distance below half a step does not make two va…
willhea Aug 6, 2026
79e6123
research(provision-matching): fifth adversarial pass, on the human tr…
willhea Aug 6, 2026
036f6f1
research(provision-matching): sixth adversarial pass, on whether v4 e…
willhea Aug 6, 2026
397cff8
build(deps-dev): update uvicorn[standard] requirement
dependabot[bot] Aug 6, 2026
04994c2
research(provision-matching): close the round 6 follow-up -- verify p…
willhea Aug 6, 2026
c5e9809
docs(adr): propose observation identity, and measure why text cannot …
willhea Aug 7, 2026
26ca34a
docs(adr): make the observation address an ordinal, not the XML eleme…
willhea Aug 7, 2026
adbb0f4
Change status to 'Accepted' in observation identity decision
willhea Aug 7, 2026
f21177e
docs(adr): trim 0019 to the decision, and move its evidence into the …
willhea Aug 7, 2026
9c66bec
docs(adr): hold 0019 at Proposed until it merges
willhea Aug 7, 2026
f4080ed
Merge pull request #554 from AgoraDMV/worktree-provision-matching-review
willhea Aug 7, 2026
2b96fd3
Merge pull request #544 from AgoraDMV/worktree-docs-release-runbook
willhea Aug 7, 2026
2f5b7ff
Change status to 'Accepted' in decision document
willhea Aug 7, 2026
72fe6d2
Merge pull request #561 from AgoraDMV/docs/adr-0019-observation-identity
willhea Aug 7, 2026
7eca635
hygiene(pdf-bakeoff): fetch the holdout corpus instead of committing it
willhea Aug 7, 2026
48fd9c5
hygiene(pdf-bakeoff): make the preservation check state its own expec…
willhea Aug 7, 2026
92a0cf3
hygiene: exclude research markdown from ruff format
willhea Aug 7, 2026
ef78415
fix(pdf-bakeoff): reconstruct the missing g07 probe
willhea Aug 7, 2026
7a25d5e
fix(pdf-bakeoff): the lockfile exception has two legitimate states
willhea Aug 7, 2026
b10b564
docs(adr): propose four matching stages, and size what fusing them costs
willhea Aug 7, 2026
4db0bfd
docs(adr): let retrieval be bounded, and scope thresholds to correspo…
willhea Aug 7, 2026
09c9c23
docs(adr): move retrieval rank and score onto the proposal, not the c…
willhea Aug 7, 2026
e124494
docs(adr): trim 0020 to the decision and its durable rationale
willhea Aug 7, 2026
a452d89
docs(adr): the 27 split-with-money cases are exposure, not confirmed …
willhea Aug 7, 2026
b7fbe8f
docs(adr): #368 is a traced failure mode, not an observed instance
willhea Aug 7, 2026
1c4f66c
Update multi-round retrieval explanation
willhea Aug 7, 2026
9042adb
Change status from Proposed to Accepted
willhea Aug 7, 2026
bdd8fb0
Merge remote-tracking branch 'origin/develop' into spike/pdf-backend-…
willhea Aug 7, 2026
1901f6c
docs(pdf-bakeoff): state g07's page limit as a reconstruction, and di…
willhea Aug 7, 2026
5f710b7
Merge pull request #562 from AgoraDMV/docs/adr-0020-matching-stages
willhea Aug 7, 2026
98d5ed5
Merge pull request #553 from AgoraDMV/spike/pdf-backend-bakeoff
willhea Aug 7, 2026
484df9a
docs(research): naming architecture spike -- authority, discoverabili…
willhea Aug 7, 2026
6c8d1e0
Merge pull request #559 from AgoraDMV/dependabot/uv/develop/dev-depen…
willhea Aug 7, 2026
13b1eab
docs(research): separate normative authority from corpus observation
willhea Aug 7, 2026
c58d705
test(matching): pin canonical XML output byte for byte across the corpus
willhea Aug 7, 2026
b3e068a
feat(matching): introduce the ADR 0020 stage contracts, wired to nothing
willhea Aug 7, 2026
3c390e4
build(deps-dev): bump the python-minor-patch group across 1 directory…
dependabot[bot] Aug 7, 2026
77901c8
docs(research): ground the vocabulary findings in normative sources
willhea Aug 7, 2026
723e46e
docs(research): scope the govinfo result to the acquisition register
willhea Aug 8, 2026
07db5f7
fix(matching): require per-link evidence, canonicalise in the type, o…
willhea Aug 8, 2026
eb05776
docs(adr): propose ADR 0021, naming authority and boundaries
willhea Aug 8, 2026
b0f4f16
fix(matching): close three constructor holes in the contract types
willhea Aug 8, 2026
eeb68b4
Merge pull request #558 from AgoraDMV/dependabot/uv/develop/python-mi…
willhea Aug 8, 2026
3544701
docs(research): split the decision out into its own pull request
willhea Aug 8, 2026
5e08a21
Merge pull request #565 from AgoraDMV/docs/naming-architecture-spike
willhea Aug 8, 2026
9d89fa5
docs(adr): propose ADR 0021, naming authority and boundaries
willhea Aug 8, 2026
b8c088e
docs(adr): three wording corrections to ADR 0021
willhea Aug 8, 2026
5fbe6dc
Merge pull request #570 from AgoraDMV/docs/adr-0021-naming-authority
willhea Aug 8, 2026
c7c0e0d
docs(adr): mark ADR 0021 Accepted
willhea Aug 8, 2026
55af307
refactor(matching): name the contracts against ADR 0021, behaviour un…
willhea Aug 8, 2026
40ed599
Merge pull request #572 from AgoraDMV/docs/adr-0021-accepted
willhea Aug 8, 2026
48d9e56
test(gate): stop the vocabulary probe writing into the checkout
willhea Aug 8, 2026
91b57b4
Merge pull request #571 from AgoraDMV/fix/gate-probe-race
willhea Aug 8, 2026
33d516e
docs(adr): an accepted record describes the architecture as it stands…
willhea Aug 9, 2026
bbad486
ci: stop one matrix leg cancelling the other's verdict
willhea Aug 8, 2026
3dfd582
Merge pull request #574 from AgoraDMV/docs/adr-governance-current-dec…
willhea Aug 9, 2026
1bac071
Merge pull request #573 from AgoraDMV/ci/matrix-fail-fast-false
willhea Aug 9, 2026
1d9f27b
docs(adr): rewrite 0011, 0014 and 0017 as current-state records
willhea Aug 9, 2026
3e7d1b2
Merge remote-tracking branch 'origin/develop' into feat/adr-0020-matc…
willhea Aug 9, 2026
c822cd3
docs(adr): harmonise ADR 0020's vocabulary with ADR 0021
willhea Aug 9, 2026
b94842a
test: make archive_bytes() a pure function of its argument (#480)
willhea Aug 9, 2026
620ad78
test: keep the determinism gate's control valid on Python 3.13+
willhea Aug 9, 2026
b3e07b4
docs(adr): drop 0011 deployment status; state 0014 rollup boundary di…
willhea Aug 9, 2026
1548e56
Merge pull request #567 from AgoraDMV/feat/adr-0020-matching-contracts
willhea Aug 9, 2026
47a3dfe
test: pin the fixture's non-timestamp ZIP metadata, and correct a ver…
willhea Aug 9, 2026
b87e937
Merge pull request #577 from AgoraDMV/docs/adr-0020-harmonize-vocabulary
willhea Aug 9, 2026
0ea487a
Merge pull request #576 from AgoraDMV/docs/adr-575-current-state-a
willhea Aug 9, 2026
89577eb
docs(adr): rewrite 0004 as a current-state record
willhea Aug 9, 2026
a5b3c07
Merge pull request #578 from AgoraDMV/fix/deterministic-archive-fixture
willhea Aug 9, 2026
66d776b
refactor(matching): say what ADR 0020 says, after its vocabulary harm…
willhea Aug 9, 2026
6776b97
docs(adr): tighten 0004 on rate limits and the per-bill fetch path
willhea Aug 9, 2026
a329a98
Merge pull request #582 from AgoraDMV/refactor/adr-0020-vocabulary
willhea Aug 9, 2026
b29c324
Merge pull request #579 from AgoraDMV/docs/adr-575-current-state-0004
willhea Aug 10, 2026
2036041
docs(adr): rewrite 0015 as a current-state record
willhea Aug 10, 2026
4216c46
docs(adr): three wording corrections to 0015's contract
willhea Aug 10, 2026
f2b674a
Merge pull request #583 from AgoraDMV/docs/adr-575-current-state-0015
willhea Aug 10, 2026
bd02344
docs(adr): rewrite 0006 as a current-state record
willhea Aug 10, 2026
3b9215e
Merge pull request #584 from AgoraDMV/docs/adr-575-current-state-0006
willhea Aug 11, 2026
ed5b0b3
docs(adr): rewrite 0016 as a current-state record
willhea Aug 11, 2026
72237b0
test(scripts): make the ADR 0020 slice-2 measurements reproducible
willhea Aug 10, 2026
ae90289
test(scripts): measure where observation provenance is lost, and when…
willhea Aug 10, 2026
1fd4e00
test(scripts): prove the duplicated loop agrees exactly, and say what…
willhea Aug 11, 2026
80832b1
test(scripts): say in-place revision, not unrepresentable
willhea Aug 11, 2026
0d9b5d6
Merge pull request #587 from AgoraDMV/docs/adr-575-current-state-0016
willhea Aug 11, 2026
f0d4f93
docs(adr): rewrite 0009 and 0019 as current-state records
willhea Aug 11, 2026
06af803
Merge pull request #586 from AgoraDMV/spike/adr-0020-slice2-prerequisite
willhea Aug 11, 2026
af83c28
Merge pull request #588 from AgoraDMV/docs/adr-575-current-state-0009…
willhea Aug 11, 2026
5753875
docs: reconcile active documentation with current architecture
willhea Aug 11, 2026
97f91ba
Merge pull request #589 from AgoraDMV/docs/reconcile-active-docs
willhea Aug 11, 2026
8e36512
refactor(diff): decide the similarity revocation before classification
willhea Aug 11, 2026
adca887
docs(research): restore the staffer-delivery study as it was written
willhea Aug 11, 2026
0f07dc4
Merge pull request #591 from AgoraDMV/feat/581-split-to-assignment
willhea Aug 11, 2026
f901da7
docs(research): say what has moved under the delivery study since it …
willhea Aug 11, 2026
eda207d
docs(research): the parity harness reproduces, so say so instead of c…
willhea Aug 11, 2026
b00633b
Merge remote-tracking branch 'origin/develop' into docs/restore-staff…
willhea Aug 11, 2026
1c4b255
docs(research): the restore note claimed a merge that has not happened
willhea Aug 11, 2026
53ced53
docs(research): separate the answered PDF component questions from th…
willhea Aug 11, 2026
95fc805
fix: remove tomlkit from the engine's install dependencies (#533)
willhea Aug 11, 2026
2227b1d
test: two-sided calibration for archive extraction ceilings (#447)
willhea Aug 11, 2026
4c2b032
Merge pull request #592 from AgoraDMV/docs/restore-staffer-delivery-r…
willhea Aug 11, 2026
3223556
Merge pull request #596 from AgoraDMV/worktree-issue-533-tomlkit-dep
willhea Aug 11, 2026
dbabeed
fix: hard error when --bills-dir conflicts with an absolute compare t…
willhea Aug 11, 2026
417911c
docs(web-compare): add the per-IP rate-limit cap and its CDN caveat
willhea Aug 11, 2026
b253e43
test(scripts): measure ordinal recoverability, round-2 migration cost…
willhea Aug 11, 2026
bc3be88
test(scripts): re-aim two probes at the post-#591 architecture
willhea Aug 11, 2026
4ca77de
test(scripts): measure the availability claim instead of asserting it
willhea Aug 11, 2026
95331a2
docs(scripts): stop counting the fail-closed guards in prose
willhea Aug 11, 2026
8a08e18
docs(scripts): cite the SHA the figures were actually measured at
willhea Aug 11, 2026
63c3876
fix: derive the engine-install absence gate from the actual dependenc…
willhea Aug 11, 2026
c14b056
docs(release): note branch-protection claims are externally configured
willhea Aug 11, 2026
34cf13a
test(workflow): pin security.yml runs on pushes to main (#547)
willhea Aug 11, 2026
13273c5
test(docs): pin release runbook against the machinery it describes (#…
willhea Aug 11, 2026
f1f50bd
Merge pull request #594 from AgoraDMV/docs/394-rate-limit-cap
willhea Aug 11, 2026
a867984
fix: member ceiling calibration must exclude #306's exhaustion case
willhea Aug 11, 2026
a49d1e7
test(scripts): close the false-green gaps in the three #581 probes
willhea Aug 11, 2026
6bbb6e2
fix: derive group coverage from config, not a cardinality heuristic
willhea Aug 11, 2026
a0d43ac
test: drop redundant extraction companions from ceiling calibration
willhea Aug 11, 2026
10bb3b1
Merge pull request #590 from AgoraDMV/worktree-plan+581-prereq-planning
willhea Aug 11, 2026
97db5fa
Merge pull request #602 from AgoraDMV/worktree-issue-454-bills-dir-ab…
willhea Aug 11, 2026
1498478
Merge pull request #595 from AgoraDMV/worktree-issue-447-ceiling-cali…
willhea Aug 11, 2026
17073fc
test(workflow): route the security-on-main guard and its negative con…
willhea Aug 11, 2026
fa62ec4
fix: check installed distribution metadata, not importability
willhea Aug 11, 2026
2cefae3
test(docs): route the publish-only and action-role gates through shar…
willhea Aug 11, 2026
422ad69
Merge pull request #597 from AgoraDMV/worktree-issue-593-engine-insta…
willhea Aug 11, 2026
35c72dc
Merge pull request #604 from AgoraDMV/docs/547-release-runbook-consis…
willhea Aug 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
# Optional. fetch_bills.py downloads from keyless govinfo bulk data by default;
# a Congress.gov API key is only needed for `--source api` or `download-all`
# year-range discovery. Get a free key at https://api.congress.gov/sign-up/
CONGRESS_API_KEY=your_key_here
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated rendered diffs — regenerate via `uv run python render_examples.py`.
# Generated rendered diffs — regenerate via `uv run python scripts/render_examples.py`.
# linguist-generated hides them from GitHub diff views by default and excludes
# them from language stats.
examples/*.html linguist-generated=true
30 changes: 17 additions & 13 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
---
name: Bug report
about: Something isn't working as expected
labels: bug
type: Bug
---

**What happened?**
A clear description of the bug.
A clear description of what went wrong.

**What did you expect?**
What should have happened instead.
**What did you expect instead?**

**Steps to reproduce**
1. Bill and versions compared (e.g., 118 hr 4366, v1 vs v6)
2. Command you ran
3. Any relevant flags (--financial, --filter, etc.)
**How can we reproduce it?**
Whatever you can give us helps:
- Which bill and which two versions you were comparing (e.g. 118 hr 4366, "reported in house" vs "engrossed")
- If you used the **website**: what you clicked, typed, or uploaded
- If you used the **command line**: the command and any flags (`--financial`, `--filter`, …)

**Error output**
Paste any error messages or unexpected output.
**Anything else?**
Screenshots, error messages, or anything that looked off.

**Environment**
- OS:
- Python version:
**How are you using DeltaTrack?** (optional)
- [ ] The website
- [ ] Installed on my own computer — if so, your OS (and Python version, if you know it)

<!-- That's all we need to get started. The team adds acceptance criteria,
scope, and a pointer to where to start when the issue is groomed for pickup
(see "Grooming an issue for pickup" in CONTRIBUTING.md). -->
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Questions / where to start
url: https://civictechdc.slack.com/archives/C0AT13U25V2
about: Ask in the #congressional-tech Slack channel, or come to the biweekly meetup.
- name: Biweekly meetup (Civic Tech DC)
url: https://luma.com/civic-tech-dc
about: The fastest way to get oriented and pick up a first issue alongside someone.
9 changes: 6 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
---
name: Feature request
about: Suggest an improvement or new capability
labels: enhancement
type: Feature
---

**What problem does this solve?**
Describe the use case or pain point.
**What problem does this solve? For whom?**
Describe the use case or pain point. Who is the user/who experiences the pain?

**What would the solution look like?**
How you imagine it working (CLI flags, output format, behavior, etc.).

**Alternatives considered**
Any other approaches you've thought about.

<!-- Don't worry about scoping or sizing this — the team works that out during
grooming (see "Grooming an issue for pickup" in CONTRIBUTING.md). -->
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Task / chore
about: Internal work — tooling, refactor, docs, repo admin, validation
type: Task
---

**What needs doing?**
The task in a sentence or two.

**Why**
What this unblocks or improves. Link related issues/epics if part of a larger effort.

<!-- This template is mainly for the team filing its own work. If you already
know the acceptance criteria / scope / where to start (and a rough size, if
useful), add them now — otherwise they get filled in at grooming
(see CONTRIBUTING.md). -->
33 changes: 33 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Dependabot version updates (#47). Complements the pip-audit gate in
# security.yml rather than duplicating it: pip-audit BLOCKS merges on known CVEs
# in the production set; Dependabot opens fix PRs and keeps versions current —
# including GitHub Actions, which nothing else watches.
#
# target-branch matters: without it Dependabot targets the default branch's
# releases against `main`-style flow. This repo's PRs land on `develop`, so both
# ecosystems point there explicitly.
#
# Grouping keeps the noise to roughly one PR per ecosystem per week; majors stay
# ungrouped so a breaking bump gets its own review.
version: 2
updates:
- package-ecosystem: "uv"
directory: "/"
target-branch: "develop"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
python-minor-patch:
update-types: ["minor", "patch"]
dev-dependencies:
dependency-type: "development"

- package-ecosystem: "github-actions"
directory: "/"
target-branch: "develop"
schedule:
interval: "weekly"
groups:
actions:
patterns: ["*"]
23 changes: 19 additions & 4 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
## Related issue

<!-- Link the issue this addresses so the issue and its board card resolve on merge.
Repeat the keyword per issue (Closes #1, closes #2); it does not distribute across a list. -->
Closes #

## What does this change?

<!-- Brief description of what you changed and why. -->

## How to test

<!-- How can a reviewer verify this works? -->
<!-- How can a reviewer verify this works? Note what you ran or eyeballed, not just "tests pass." -->

## Checklist

- [ ] Fast tests pass (`uv run pytest -m "not slow"`)
- [ ] Linting passes (`uv run ruff check .`)
- [ ] New code has tests (if applicable)
- [ ] Linked the issue above (`Closes #...`)
- [ ] Ran the CI gates locally and they pass (see [What CI checks](CONTRIBUTING.md#what-ci-checks))
- [ ] New or changed behavior has tests
- [ ] For a bug fix: the test fails without the fix, and I ran it both ways to check
- [ ] Disclosed AI assistance below, if any

## AI assistance

<!-- Used an AI coding assistant? Name it. It's welcome and it isn't held against the
change; it just tells a reviewer where to look harder. Delete this section if not.
See CONTRIBUTING.md#ai-assisted-contributions. -->

Loading
Loading