Let partners configure a document checklist per case type - #152
Merged
Conversation
Closes #100. The check-documents screen used to tell filers, in so many words, that it could not help: "This list cannot tell you which legal forms your case needs." Partners can now say what a case like this usually needs, in the same jurisdiction YAML that already drives the forms. Configuration matches on names, never on Tyler's numeric codes. The codes differ per court and change without notice -- the research doc's Cook County name change codes are already stale against the live proxy, while the names are not -- so partner config names things the way the court's own lists do, and the codes stay where they belong, fetched live for the filing itself. Matching normalizes case, spacing, and dash style (Cook County spells one dissolution case type with a dash and its pair with a hyphen), then compares exactly. Nothing is fuzzy-matched: a court rename is fixed by adding an alias, not by hoping a heuristic catches it. Guidance is advisory. "always", "usually", and "sometimes" set which group an item appears in; none of them blocks a submission. A checklist resolves case type first, then case category as a fallback, and the two are never merged -- a specific list replaces a broad one. Court overrides deep merge into the item dictionary, so cook:cd1 adds its County Division cover sheet, cook:dr1 raises the financial affidavit to "always", and either could drop an inherited item with "include: false", without restating the list. Items can be tied to the lead filing type by name, which is how a minor name change asks for the child's consent and an eviction shows the tenant an appearance instead of a complaint. The filer's progress lives on a new FilingPlan -- their matter -- not on the draft. A plan holds the semantic names, a snapshot of the checklist, and a complete flag per item, so: - editing partner YAML later does not rewrite a checklist someone is already working through; - ticking off "I have the birth certificate" survives the filing it was started with; - one filer can keep several plans, including two of the same case type; - another filing from a plan resolves the stored names against today's code lists rather than trusting yesterday's numbers. draft.document_checklist_acknowledged still means what it meant -- this envelope is ready -- and is kept separate from plan progress. Checked against the live proxy across the eleven Illinois courts in the research doc: every configured name matches a name the courts publish, all nine name change courts and both dissolution namings resolve, and 545 of 2239 live case types now get guidance. Case types nobody configured are unchanged, disclaimer and all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nonprofittechy
marked this pull request as draft
August 16, 2026 20:05
…e borders - things are too different to be useful to inherit here, I think!
nonprofittechy
marked this pull request as ready for review
August 17, 2026 20:45
…duce number of migrations, combine some tests that have repetitive setups
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.
Closes #100.
Adds a new layer to the jurisdiction YAML files that lets you specify a checklist of forms that typically go along with a particular filing type, to help filers verify they've uploaded all of the documents that they are supposed to upload.
Configuration matches on names, never on Tyler's numeric codes. The codes differ per court and change without notice -- the research doc's Cook County name change codes are already stale against the live proxy, while the names are not -- so partner config names things the way the court's own lists do, and the codes stay where they belong, fetched live for the filing itself. Matching normalizes case, spacing, and dash style (Cook County spells one dissolution case type with a dash and its pair with a hyphen), then compares exactly. Nothing is fuzzy-matched: a court rename is fixed by adding an alias, not by hoping a heuristic catches it.
Guidance is advisory. "always", "usually", and "sometimes" set which group an item appears in; none of them blocks a submission.
A checklist resolves case type first, then case category as a fallback, and the two are never merged -- a specific list replaces a broad one. Court overrides deep merge into the item dictionary, so cook:cd1 adds its County Division cover sheet, cook:dr1 raises the financial affidavit to "always", and either could drop an inherited item with "include: false", without restating the list. Items can be tied to the lead filing type by name, which is how a minor name change asks for the child's consent and an eviction shows the tenant an appearance instead of a complaint.
The filer's progress lives on a new FilingPlan -- their matter -- not on the draft. A plan holds the semantic names, a snapshot of the checklist, and a complete flag per item, so:
draft.document_checklist_acknowledged still means what it meant -- this envelope is ready -- and is kept separate from plan progress.
Checked against the live proxy across the eleven Illinois courts in the research doc: every configured name matches a name the courts publish, all nine name change courts and both dissolution namings resolve, and 545 of 2239 live case types now get guidance. Case types nobody configured are unchanged, disclaimer and all.
Example - landlord filing an eviction case in Cook County (Chicago municipal court)
Illinois E-Filing Document Requirements by County
Research and Live EFSP Proxy Validation for High-Volume Filing Needs
This document provides a comprehensive analysis and empirical validation of the documents, filing codes, party requirements, and court-specific rules for five high-volume Illinois civil court filing needs.
The findings are validated directly against the live development e-file proxy server (
https://efile-test.suffolklitlab.org/ Tyler Technologies Illinois ECF 4.01/5.0 system) across 11 court jurisdictions representing urban, suburban collar, and downstate circuits:cook:dr1)cook:cd1)cook:cvd1)dupage)lake)will)kane)champaign)sangamon)peoria)stclair)Executive Summary & Document Hierarchy
Document requirements are organized into three standard operational groups:
Part 1: The 5 High-Volume Filing Needs (Statewide Standard Framework)
1. Divorce with Children (Dissolution of Marriage with Minor Children)
Petitioner(Required),Respondent(Required). Additional allowed:Child,Guardian Ad Litem,Intervenor.2. Divorce without Children (Dissolution of Marriage without Minor Children)
Petitioner(Required),Respondent(Required) orCo-Petitioner(in joint filings).3. Eviction Answer / Defense (Residential Eviction Response)
Defendant / Tenant(Responding party),Plaintiff / Landlord.cook:cvd1).4. Small Claims Answer (Especially Debt Collection Defense)
Defendant(Consumer / Alleged Debtor),Plaintiff(Original Creditor or Debt Buyer like Midland Credit, LVNV, Portfolio Recovery, Velocity).5. Name Change (Adult and Minor)
Petitioner / Applicant(Adult or Parent on behalf of Minor),Respondent / Non-Petitioning Parent(for Minor Name Change).Part 2: Live Proxy Server Validation Across 11 Illinois Jurisdictions
Below is the verified code configuration, party structure, filing codes, filing components, document security rules, and optional services queried directly from the development proxy server (
EFSP_URL = "https://efile-test.suffolklitlab.org").1. Cook County – Domestic Relations Division (
cook:dr1)172833:Domestic Relations - General Proceedings172831:Domestic Relations - Parentage/Child Support172835:Domestic Violence - Civil Protection Orders253965(Petition for Legal Separation or/Alternate Dissolution - Children),254020(Petition for Dissolution of Marriage – Children),253961(Civil Union - Children).253962(Petition for Dissolution of Marriage - No Children),172859(Petition For Dissolution),253960(Civil Union - No Children).Petitioner(Required),Respondent(Required).172899:Certificate Of Representation By Civil Legal Services Provider Filed172859:Petition For Dissolution172868:Praecipe For Dissolution172854:Appearance172851:Answer172887:Financial Affidavit Filed172891:Parenting Plan Filed172879:Application For Waiver Of Court Fees Fileddisplayorder: 0,allowmultiple: false,code: 332).Non-Confidential(Public),Confidential,Impounded.Alias Summons($5.00)Certified Copy Fee($9.00+)Certified Mail - Return Receipt($15.54)Alias Citation($5.00)Child Support Administrative Fee($36.00/yr)2. Cook County – County Division (
cook:cd1)78345:Miscellaneous78346:Name ChangeApplicant(Required),Petitioner(Required).78347:Petition For Change Of Name78348:Order For Change Of Name(Proposed Order)78351:Notice Of Motion / Hearing78354:Publisher's Certificate / Certificate of Publication78359:Motion To Waive Publication3. Cook County – Municipal Civil Division (
cook:cvd1)174140:Civil174214:Eviction - Possession - Non-Jury174216:Eviction Joint Action - Possession And Rent - Non-Jury184153:Eviction - Possession - Jury184154:Eviction Joint Action - Possession And Rent - Jury174196:CHA Eviction - Non-Jury186078:Breach Of Contract - Small Claims $0 to $10,000 - Non-Jury - Self-Represented Litigant186074:Breach Of Contract - Small Claims $0 to $10,000 - Non-Jury - Blitt & Gaines186076:Breach Of Contract - Small Claims $0 to $10,000 - Non-Jury - Non Blitt & Gaines Bulk184139:Breach Of Contract - Small Claims $0 to $10,000 - Non-Jury184140:Breach Of Contract - Small Claims $0 to $10,000 - JuryPlaintiff(Required),Defendant(Required).174542:Appearance174543:Appearance - Fee Waiver (No Fee)174540:Answer174545:Answer - Eviction (Possession Only)174546:Answer - Eviction (Joint Action)174550:Jury Demand(Separate filing code: 6-person or 12-person jury)174560:Application For Waiver Of Court Fees174570:Early Resolution Program Form Filed4. DuPage County Circuit Court (
dupage)192291:Dissolution (Divorce) with Children192300:Dissolution (Divorce) without Children152110:Law: Damages over $50,000129550:Law Magistrate: Damages over $10,000 up to $50,000129530:Small Claims(Damages up to $10,000)129610:Miscellaneous Remedy(Name Changes)192292(Dissolution with Children),192301(Dissolution without Children).152111(Eviction - Rent over $50k),129555(Eviction - Possession Only),129535(Eviction Joint Action).129531(Small Claims - Non-Jury),129557(Contract $10K to $15K).129618(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).148587:Petition for Dissolution148590:Summons (Issued)148600:Answer148605:Appearance148620:Financial Affidavit148625:Parenting Plan148630:Application for Waiver of Court Fees5. Lake County Circuit Court (
lake)242450:Dissolution (Divorce) with Children242460:Dissolution (Divorce) without Children124280:Law: Damages over $50,000242520:Law Magistrate: Damages over $10,000 up to $50,00050650:Miscellaneous Remedy242452(Dissolution with Children),242461(Dissolution without Children).124290(Eviction),242522(Eviction - Possession).242524(Contract - Debt Collection),55460(Small Claims).50660(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).6. Will County Circuit Court (
will)203850:Dissolution (Divorce) with Children203860:Dissolution (Divorce) without Children184490:Law: Damages over $50,000189470:Law Magistrate: Damages over $10,000 up to $50,000189350:Arbitration / Miscellaneous203853(Dissolution with Children),203854(Dissolution without Children).184499(Eviction - Rent over $50k),189472(Eviction Possession Only).189475(SMALL CLAIM),189478(Contract Debt Collection).189360(Name Change).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).7. Kane County Circuit Court (
kane)7405:Adoption & Family/Dissolution137510:Law10580:Miscellaneous Remedy192292(Dissolution with Children),192301(Dissolution without Children).137522(Eviction Possession Only),137525(Eviction Joint Action).137520(Contract - Debt Collection),10660(Small Claims).10589(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).8. Champaign County Circuit Court (
champaign)217620:Dissolution (Divorce) with Children217630:Dissolution (Divorce) without Children150720:Law Magistrate: Damages over $10,000 up to $50,00040080:Miscellaneous Remedy217626(Dissolution with Children),217635(Dissolution without Children).150721(Eviction - Possession Only).159492(Contract - Debt Collection $10K to $15K),40370(Small Claims).40086(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).9. Sangamon County Circuit Court (
sangamon)215570:Dissolution (Divorce) with Children215571:Dissolution (Divorce) without Children154750:Law: Damages over $50,000154760:Law Magistrate: Damages over $10,000 up to $50,00067190:Miscellaneous Remedy215575(Dissolution with Children),215576(Dissolution without Children).154757(Eviction - Damages over $50k),154765(Eviction Possession Only).154768(Contract Debt Collection),67180(Small Claims).67195(Name Change).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).10. Peoria County Circuit Court (
peoria)7580:Small Claims192290:Dissolution (Divorce) with Children192300:Dissolution (Divorce) without Children126930:Miscellaneous Remedy192292(Dissolution with Children),192301(Dissolution without Children).7587(Forcible Entry & Detainer).7589(Small Claims > $500 No Jury),7590(Small Claims Jury).126935(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).11. St. Clair County Circuit Court (
stclair)312790:Dissolution (Divorce) with Children312795:Dissolution (Divorce) without Children312900:Law: Damages over $50,000312830:Law Magistrate: Damages over $10,000 up to $50,000312780:Miscellaneous Remedy312791(Dissolution with Children),312792(Dissolution without Children).312906(Eviction - Commercial),312835(Eviction - Residential).312832(Contract Debt Collection),312840(Small Claims).312785(Change of Name).Petitioner(req),Respondent(req),Plaintiff(req),Defendant(req).314506:Complaint316354:Petition317636:Summons (Issued)313802:Answer313828:Answer - Eviction (Possession Only)313956:Appearance (No Fee: fee exempted by rule/statute)313989:Appearance (No Fee: fee previously paid)315073:Entry of AppearancePart 3: Cross-County Comparison Matrix
The table below summarizes document requirements, local court quirks, and filing variations across the 11 surveyed jurisdictions:
Part 4: Implementation Guidance for LITEFile Workflow
To ensure seamless e-filing across all Illinois circuits, the LITEFile application workflow should implement the following logic:
Intelligent Division & Court Code Routing:
cook:dr1for Divorce / Parentage.cook:cd1for Name Change.cook:cvd1for Eviction / Small Claims / Debt Collection.dupage,lake,will,kane,champaign,sangamon,peoria,stclair).Automated Document Checklist Validation:
has_children == Trueon Divorce, automatically append Parenting Plan, Financial Affidavit, and county-specific Parent Education Notice to the document checklist.cook:cvd1, automatically inject the Cook County Early Resolution Program (ERP) information packet.Dynamic Tyler Fee Calculation & Stand-in PDF URLs:
FilingReviewService.calculateFilingFees), ensuredata_urlpoints toEFSP_TEST_DOCUMENT_URLin development.Appearancefiling codes to the correct fee exemption code (fee exempted by rule/statuteorfee previously paid) when aCivil 298 Fee Waiveris attached.Report generated and validated against the Tyler Technologies Illinois ECF Proxy Server (
https://efile-test.suffolklitlab.org).