Skip to contentSaltar al contenidoAle nan kontni anПерейти к содержимомуדלג לתוכן
EstateDraftFL

For Florida law firms

Firm playbook: the firm's own clause text, approved version by version — never over the client's instructions

firm lane · Deterministic — no model call

Current availability

ShippedConfigured and enabled: a firm's administrators, attorneys and paralegals propose; only the firm's attorneys approve and retire.

Where it lives
/firms/manage/playbook · /api/firm/playbook · the firm's estate-plan generation (/api/estate-plan/full, the firm's lane)
What unlocks it
the firm's staff propose the firm's own text for the clauses a document template lets a firm vary; one of the firm's attorneys approves each version; the firm's documents are drafted with the current approved versions

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

  • ShippedEach version is proposed with its reason; its text, its SHA-256 and the tokens it uses are fixed by the database for good — a change is a new version.
  • ShippedOne of the firm's attorneys approves a version by naming the hash of the text they read. Approving a newer version supersedes the older without touching it; retiring the current version reinstates the one before (or, with none, the clause library's own text).
  • ShippedA variant replaces a clause only where the template lets a firm change it: a clause of fixed text, or one written in the template's own tokens that keeps every token carrying the client's instructions — names, fiduciaries, dispositions, elections, dates. Checked when it is proposed, again at approval, and again whenever it compiles; a variant that fails is not applied and the section says why.
  • ShippedNo relational or gendered term about an identified person: pronouns only through the template's own tokens, filled from each client's own answers.
  • ShippedEach section a variant shaped carries the version and the hash of its text; each document records every version its drafting was given, and a sealed plan pins them.
  • ShippedA version newly approved or retired reaches every matter whose sealed plan used that clause's variant through the firm's source-change review — kept or updated, item by item.

Limits

  • Never a clause composed from the client's answers, an execution block, an exhibit, a statutory certificate or form (the whole HIPAA release, Lady Bird deed and pre-need guardian designation), the Schedule A or the General Assignment — they take no variant.
  • A model engine may reword a variant within its bounds: the document then records that the version was given to a model draft, not that its exact text was kept.
  • The playbook decides the firm's wording; whether a variant is sound law stays the approving attorney's judgment.
  • The clause library's reference clauses (the asset-protection lens) are kept as before and never compile.

What EstateDraftFL refuses

Reason codeHTTPWhat it means
unauthorized401The playbook needs a signed-in member of the firm's staff.
forbidden403The firm's administrators, attorneys and paralegals keep the playbook.
not-attorney403Only one of the firm's attorneys approves or retires a version.
invalid400A field could not be read — the document, the clause, the name, the text, the reason, the version or its hash — nothing was recorded.
variant-refused400The text cannot be proposed as written — each check it fails is named (a load-bearing or answer-built clause, a token the template does not have, a client instruction dropped, a person's terms hardcoded).
unknown-version404That version is not in the firm's playbook.
already-open409A proposal for this clause already waits for an attorney — approve or retire it first.
already-approved409That version is already approved.
stale409The text approved is not the version's — read it again.
closed409That version is retired — it takes nothing more.
template-changed409The clause library changed since the version was proposed and it no longer passes its checks — retire it and propose again.
unavailable503The playbook could not be read — or the step could not be written — just now; nothing was recorded.

Evidence

  • supabase/migrations/20261001180000_phase13_playbook_versions.sql
  • src/lib/clauses/variant.ts
  • src/lib/clauses/variant.test.ts
  • src/lib/clauses/firm-playbook.test.ts
  • src/lib/firm/playbook.ts
  • src/lib/playbook/request.ts
  • src/app/api/firm/playbook/route.ts
  • src/app/firms/manage/playbook/page.tsx
  • src/components/playbook/FirmPlaybook.tsx
  • src/lib/impact/core.ts

Last reviewed 2026-10-01

← All surfaces