accelerando.wiki ↗ app ↗ github

Litigation Flow + Deadline Guardian

Big-law quality. Solo-law price.

The Sciolto-flavored solo-litigator copilot's *first* slice — the load-bearing one. Solos don't sink from bad strategy; they sink from missed deadlines and untracked phase transitions. This module ships the phase stepper (intake → pleadings → discovery → motions → trial-prep → trial → post-trial → closed), the per-phase task templates, the court-rule library, and the killer view: the Deadline dashboard.

Later slices ship the Evidence Analyzer (Document / ReviewCoding / PrivilegeLog with AI-augmented review) and the Case Theory + Auto-drafting engine. This slice is deliberately deterministic — nothing hallucinates at scan time, ever.


The three views

Deadline dashboard — every open deadline across every case, sorted by urgency. Four counter cards (Overdue / Imminent / Warn / Fresh), then the table. Overdue = past due_at. Imminent = ≤ 3 days. Warn = ≤ 14 days. Fresh = > 14 days. *One screen, every deadline.* That's the pitch.

Cases — active caseload with phase pill + case metadata. Click a row to open the drawer: current phase, task checklist, deadlines inline, and an *Advance to \<next phase\>* button in the footer.

Court rules — the library the calculator dispatches on. FRCP 12(a) answer, FRCP 26 disclosures, FRAP 4(a) notice of appeal, and typical local-rule motion timing. *Install standard rules* is idempotent.


The phase stepper

intake → pleadings → discovery → motions → trial_prep → trial → post_trial → closed

advance_case_phase refuses backward transitions (that path is reserved for reopening, which happens through a different tool). Each phase has a task template that generate_phase_tasks unpacks into concrete CaseTask records:

| Phase | Template highlights | |---|---| | intake | Conflict check, engagement letter, fact-gathering interview, initial research, preservation letter | | pleadings | Draft complaint/answer, file, serve, calendar answer deadline (FRCP 12(a) — 21 days) | | discovery | Initial disclosures (FRCP 26(a)(1)), interrogatories, RFPs, depositions, expert disclosures (FRCP 26(a)(2)(D) — 90 days before trial), discovery close | | motions | Draft dispositive motion, file + serve, calendar opposition (14d) + reply (7d), hearing | | trial_prep | Trial brief, witness list, exhibit list, motions in limine, jury instructions, voir dire outline | | trial | Opening → direct → cross → closing → verdict | | post_trial | Fees motion, notice of appeal (FRAP 4(a) — 30 days), judgment enforcement | | closed | Client closing letter, archive matter |

The template list is the "what a mid-level associate would put on the checklist" version — comprehensive enough that a solo starting from scratch has a real system, small enough to fit on one screen per phase. Attorneys add case-specific tasks on top.


The deadline calculator

due_at = anchor_date + rule.days_forward

A CourtRule references a source (FRCP 12(a)(1)(A)), an anchor event (service_of_summons), and a signed days-forward offset. Negative offsets go backward from anchor (expert disclosures are 90 days *before* trial). Optional business_days skips Sat/Sun; federal holidays are not modeled — attorney reviews the calendar.

FRCP-12A-ANSWER          service_of_summons     +21
FRCP-26F-CONFERENCE      scheduling_conference  -21
FRCP-26A1-DISCLOSURES    rule_26f_conference    +14
FRCP-26A2-EXPERTS        trial_date             -90
FRCP-56A-MSJ             trial_date             -90
LOCAL-MOTION-RESPONSE    motion_filed           +14
LOCAL-MOTION-REPLY       opposition_filed        +7
FRAP-4A-NOTICE-APPEAL    judgment_entered       +30

The library is small on purpose: enough for a solo attorney's first federal case, plus placeholders for the state-specific rules they'll add themselves. Bar associations publish 100+ patterns per jurisdiction — the module is designed for one-rule-at-a-time expansion, not exhaustive coverage.


The urgency band

Same three-band shape as the radiology 60-min clock, the STAT-order SLA, and the safety-dashboard signals. One consistent language across every clock in the system:

| Band | Rule | |---|---| | overdue | due_at < now | | imminent | due_at ≤ now + 3 days | | warn | due_at ≤ now + 14 days | | fresh | due_at > now + 14 days | | completed | completed_at IS NOT NULL |


What's wired

| Entity | Purpose | |---|---| | LitigationCase | The case itself — caption, court, opposing counsel, phase, status | | CaseTask | Per-phase task with optional due_at + is_deadline flag | | Deadline | Case-scoped deadline with optional rule + anchor for computed dates | | CourtRule | Rule library dispatched by create_deadline |

Tools (13): list_cases, open_case, advance_case_phase, close_case, list_case_tasks, generate_phase_tasks, complete_case_task, list_deadlines, create_deadline, complete_deadline, deadline_dashboard, list_court_rules, seed_standard_court_rules.


What's NOT in this slice

Deliberately out of scope for slice H:

And out of scope for the vertical entirely (bar rules):