Skip to content

Filter invalid filing destinations and allow review after fee errors - #287

Merged
nonprofittechy merged 7 commits into
mainfrom
fix/court-eligibility-and-fee-review
Oct 8, 2026
Merged

nonprofittechy merged 7 commits into
mainfrom
fix/court-eligibility-and-fee-review

Conversation

@nonprofittechy

@nonprofittechy nonprofittechy commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Code search offered Cook County – Municipal Civil (cook:cvd) as a filing destination because it publishes filing codes, although the EFSP refuses filings there; filings go to a district location such as cook:cvd1. This PR keeps such division headings out of the court lists, code search, and the check made when a search result is chosen.

If a fee quote fails after a payment method is selected, filers can continue to Review and use its change links. Confirmed fees remain required for submission. The note saying so appears only with fee quote errors. Search also reuses index metadata instead of joining and decoding it for every result, and defers the large court snapshots until needed.

Change from the first version

The first version filtered courts with the EFSP's fileable flags (fileable_only=true / fileable_type). Checked against efile-test, those lists leave out courts that publish categories and take filings: about 130 Massachusetts courts (nearly every District Court, every Probate and Family Court, every BMC court) and several Cook divisions. That commit is reverted.

Instead, a court is dropped only when the fileable list leaves it out and a court the list does include hangs off its code (cook → cook:cvd1; cook:cvd → cook:cvd1; a bare number such as Massachusetts 1 is not a prefix). Against efile-test this drops Cook County and its six division parents in Illinois, and the Appeals Court and SJC parent rows in Massachusetts; Massachusetts offers 145 courts instead of 38. heading_court_codes is cached for ten minutes. A failed read drops nothing and is cached for a minute, so search never waits on the court service.

Validation

  • Full Python suite and JS tests pass on this branch.
  • Live check against efile-test: cook:cvd is not offered; cook:cvd1, cook:eld1, Massachusetts 490 (District Court – Cambridge) and 344 (Middlesex Probate and Family) are.
  • End-to-end run against a local server: see the comment below.

This PR is independent of #284, #285, and #286. Existing drafts keep their saved court until the filer changes it.

🤖 Generated with Claude Code

nonprofittechy and others added 7 commits October 7, 2026 21:56
This reverts commit 106bde7.

The EFSP court list's fileable filters (fileable_only=true and every
fileable_type) leave out courts that publish case categories and take
filings. Checked against efile-test on 2026-10-07: they drop about 130
Massachusetts courts, including nearly every District Court, every
Probate and Family Court and every BMC court, and Cook County's
Chancery, Law, Probate, County and Domestic Relations divisions. With
the filter, those courts disappeared from the court picker, search
results and path validation.

Go back to the full named list with heading-only rows dropped, which
the existing comments and tests already describe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The note sat in the shared payment error box, so it also appeared for
errors like a failed payment-method removal or an expired sign-in,
where continuing to Review is not the answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cook County - Municipal Civil ("cook:cvd") publishes filing codes but
the EFSP refuses filings there; filings go to a district location such
as "cook:cvd1". The fileable filter cannot be used to drop it, because
it also leaves out courts that take filings.

Drop a court only when the fileable list leaves it out and a court the
list does include hangs off its code: "cook" -> "cook:cvd1", or for a
code that already has a colon, "cook:cvd" -> "cook:cvd1". A bare number
is not a prefix, so Massachusetts court "1" does not head "1036:BA".
Against efile-test this drops Cook County and its six division parents,
plus the Massachusetts Appeals Court and SJC parent rows, and keeps
every court that publishes categories without a fileable location
under it.

The court picker, the court dropdown API, code search and path
validation share heading_court_codes. It is cached for ten minutes; a
failed read drops nothing and is cached for a minute, so search never
waits on the court service.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nonprofittechy

Copy link
Copy Markdown
Member Author

End-to-end check against a local server running this branch together with #285 and #286 (real Tyler test sign-in, real Illinois fee quote). Screenshots: https://gist.github.com/nonprofittechy/80259c2d4c6db7e103bae9780597fce3

  • /api/dropdowns/courts/: Illinois offers 200 courts, without cook, cook:cvd or cook:chd and with cook:cvd1, cook:chd1 and cook:eld1. Massachusetts offers 145 courts, including 490 (District Court – Cambridge) and 344 (Middlesex Probate and Family), without sjc.
  • Search against freshly built Illinois and Massachusetts indexes: 12,053 previously indexed Illinois paths at Cook division headings (6,541 at cook:cvd) are excluded. "mortgage foreclosure" returns cook:chd1 and the Municipal Civil districts, and Massachusetts "small claims" returns 81 courts, with no headings in either.
  • Fees: with the court's fee response simulated as a rejection, the error shows the continue-to-Review note and Review stays available. The real quote ($256.00 + $0.25 = $256.25) shows no note, and Review shows the same confirmed total.
  • Submission reached Tyler, which answered "Payment declined" for the test account's E-Check method, so no filing was created. That is a test-account payment issue, not a change here.

🤖 Generated with Claude Code

@nonprofittechy
nonprofittechy merged commit ff58feb into main Oct 8, 2026
8 checks passed
@nonprofittechy
nonprofittechy deleted the fix/court-eligibility-and-fee-review branch October 8, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant