For Florida law firms
Every computed date shows how it was reached
firm lane · Deterministic — no model call
Current availability
ShippedConfigured and enabled: a firm's matter — the firm's staff; a walled matter's derivations never appear.
- Where it lives
- The firm's matter (/admin/matter/[id]) → How each date was reached · recorded when the firm recomputes the deadlines (/api/admin/recompute-deadlines), saves the matter's facts (/api/matter/facts) or seeds a plan (/api/tasks/seed, /api/admin/probate-tasks) · confirmed through /api/deadlines/confirm · the trustee's steps (/matter/[id]) · the Command center (/admin) · the calendar feed (/api/calendar/ics, its switch at /api/calendar/ics-token)
- What unlocks it
- the firm's staff read, for every step whose date EstateDraftFL computes, the rule and the edition it was read in, the event the count starts from, the counting rule, the closed days applied and the ones missing, and whether two independent calculators agree
Status is evaluated against this deployment's configuration by the capability-status service at build time; the catalogue's facts were last reviewed on the date shown.
Capabilities
- ShippedA date counted under Fla. R. Gen. Prac. & Jud. Admin. 2.514: a period of 7 days or more begins on the next day that is not a Saturday, Sunday or legal holiday, and a last day that is one moves to the next day that is none of those; a shorter period counts only those days. Legal holidays are Florida's statutory holidays (§ 110.117, computed for each year — one on a Saturday moves to the Friday before, one on a Sunday to the Monday after, the next year's New Year's Day included) and, for a court filing, the days the circuit's chief judge designated, read from the circuit's own published schedule.
- ShippedTwo independent calculators count every such period — one walks the calendar day by day, the other counts by day numbers — and a date on which they disagree is marked and cannot be calendared.
- ShippedWhere a rule's own event is not recorded, the date standing in for it is named (the date of death for the day the trustee learned the trust became irrevocable — the earliest the duty can fall); a step whose event is not recorded shows no date rather than a guess.
- ShippedA trustee's out-of-court notice proposes the earlier of the Rule 2.514 count and the plain count — acting early is never late — and says both.
- ShippedA period in months or years shows the plain calendar date (the same day of the month; the month's last day when it has none), marked as a starting point an attorney sets — never counted automatically.
- ShippedThe probate inventory counts 60 days after the issuance of letters (Fla. Prob. R. 5.340(a)) — a date the matter now records — never from the date of death.
- ShippedEvery derivation is kept: a changed fact records a new one, and the earlier one stays on the record, marked replaced.
- ShippedTwo lanes on every calendar surface — the firm's matter page and Command center, the trustee's steps, the calendar feed: a PROPOSED date (computed, not yet confirmed; shown dashed, the step keeps its own date) and a CALENDARED one (confirmed, by whom and when; the step takes the date).
- ShippedAn attorney of the firm, not walled off the matter, puts a calendarable proposal on the calendar; the paralegal, the administrator and the client cannot. On the direct service, where no firm stands behind the date, the client confirms their own date, with the line that EstateDraftFL is not a law firm.
- ShippedThe calendar feed carries calendared dates; the dates no one has confirmed only when the subscriber switches them on — labelled "Proposed — not calendared", on the step's own date, the computed date in the description. A feed made before the lanes kept every event it had.
- ShippedA recompute that finds a calendared date's facts unchanged keeps it as it stands. When the facts changed, the new count stands beside the calendared date — never in its place — until someone with the same authority confirms it; the confirmation replaces the calendared date, which stays in the record, marked replaced.
- ShippedA confirmed date whose facts changed is marked — never moved: the step keeps the date someone confirmed, and the firm's agenda raises it under Needs you (it cannot be muted) until an attorney confirms the newer count. A step that is done keeps its record as it stands.
- ShippedEvery standing date is counted again each day with the legal days as they stand — a chief judge's amended order, a new year's court calendar, a statute's new edition — through the same record door: an unchanged count records nothing, a changed confirmed date is marked for the one who may confirm it.
- ShippedA computed date that passes while still proposed — no one with the authority confirmed it — is raised once, loudly: the firm's staff who can open the matter get a bell and the agenda carries it under Needs you, right after the conflict rows, until someone decides; on the direct service, the client's own notice says it in their language (master plan Phase 12 part 4, M-1205).
- ShippedA reminder already given for a date that later moved is given again for the new date: the reminder stamps re-arm when a step's date changes, and a daily sweep re-arms any stamp outside its window.
- ShippedEvery dated step on the trustee's page says why its date is what it is, in the reader's language: the period, the event it counts from and that event's date (and when an earlier recorded date stands in for it), the counting rule, a last day moved past a weekend or holiday, and the citation; a date no rule sets says it is a reminder (M-1206).
Limits
- A proposal moves no date: the step keeps its own until an attorney (or, on the direct service, the client) confirms the proposal — then the step takes the confirmed date, and the reminders, the agenda and the feed follow it.
- The connected-calendar push (a firm's own Google or Microsoft calendar) is dormant until a firm connects its own; it carries confirmed dates only, and an event changed or removed in that calendar stays as its owner left it.
- The why line is composed from the stored derivation in fixed wording per language (the citation stays as written); it explains the count and is not advice about the deadline.
- The silence sweep raises a passed proposal once; the agenda row stays until someone decides it.
- The daily re-count takes up to 500 matters a run, in turn: when more matters carry standing dates, each is reached every few days (the run records that it was partial), and a matter's own facts save counts its dates at once.
- A closure ordered after a circuit's schedule was read (a storm closure, a chief justice's extension) is not counted; the derivation names the schedule it applied and the day it was read.
- A court holiday list the platform does not hold for a circuit and year is not counted, and the derivation says so; a period counted backward across such a gap is not calendarable.
- Days added for service by mail (Rule 2.514(b)) are not added: the matter does not record how a paper was served.
What EstateDraftFL refuses
| Reason code | HTTP | What it means |
|---|---|---|
| not-authorized | 403 | An attorney of the firm confirms a date into the calendar; on the direct service, the client confirms their own — nothing was changed. |
| not-calendarable | 409 | The two calculators disagree, or the date is a starting point an attorney sets — it cannot be confirmed as it stands. |
| not-proposed | 409 | The date is no longer a proposal (replaced, confirmed or closed). |
| no-feed | 409 | Create the calendar link first — the switch belongs to a feed. |
| unavailable | 503 | The matter, its rules or its steps could not be read (nothing was changed), or the dates were updated but how each was reached could not be recorded — the message says which; recompute again in a moment. |
Evidence
- supabase/migrations/20260930140000_phase12_deadline_derivations.sql
- src/lib/deadline-count/statutory-days.ts
- src/lib/deadline-count/count.ts
- src/lib/deadline-count/count-b.ts
- src/lib/deadline-count/circuit-schedules.ts
- src/lib/deadline-count/derive.ts
- src/lib/deadline-count/rules.ts
- src/lib/deadline-count/record.ts
- src/components/deadlines/DerivationsPanel.tsx
- src/components/deadlines/ConfirmDerivation.tsx
- src/lib/deadline-count/lanes.ts
- src/app/api/deadlines/confirm/route.ts
- supabase/migrations/20260930170000_phase12_calendared_lane.sql
- docs/DEADLINE-RULES.md
- docs/security/MASTER-PLAN-PHASE12-PART1-2026-09-30.md
- docs/security/MASTER-PLAN-PHASE12-PART2-2026-09-30.md
- supabase/migrations/20260930200000_phase12_drift.sql
- src/app/api/cron/deadline-rederive/route.ts
- docs/security/MASTER-PLAN-PHASE12-PART3-2026-09-30.md
Last reviewed 2026-09-30