diff --git a/BUILD_STATUS.md b/BUILD_STATUS.md new file mode 100644 index 0000000..1025b80 --- /dev/null +++ b/BUILD_STATUS.md @@ -0,0 +1,59 @@ +# Build Status — Active Blue Family Law (`activeblue_familylaw`) + +**All 14 roadmap steps are implemented, statically validated, and committed.** +Module version `18.0.14.0.0`. Built on Odoo 18 Community. + +> ⚠️ **Tests have NOT been run in a live Odoo here** (no Odoo runtime/DB in the build +> environment). Every step was validated statically (`scripts/validate_module.py`: +> Python compile, XML well-formed, no Odoo-18-forbidden constructs, button→method +> mapping, manifest/ACL integrity, view-field resolution, duplicate-id + action-ref +> + load-order checks). **Run the tagged suites in your Odoo stack to confirm green.** + +## Run the tests +```bash +# whole module (install + all tests) +odoo -d -i activeblue_familylaw --test-enable --stop-after-init + +# one step +odoo -d -u activeblue_familylaw --test-enable --test-tags familylaw_step7 --stop-after-init + +# all family-law tests +odoo -d -u activeblue_familylaw --test-enable --test-tags familylaw --stop-after-init +``` +Re-run static checks any time: `python3 scripts/validate_module.py` + +## Steps +| Step | Slice | Tag | +|---|---|---| +| 1 | Case spine + lifecycle + attorney gates | `familylaw_step1` | +| 2 | Parties/children/issues + proceeding + conflict screening + intake | `familylaw_step2` | +| 3 | Documents + **review gate (Gate 1)** | `familylaw_step3` | +| 4 | Deadline engine (per-proceeding, weekend roll, overdue cron, calendar mirror) | `familylaw_step4` | +| 5 | Mandatory disclosure (12.285) — checklist + financial affidavit | `familylaw_step5` | +| 6 | Claude client + `ai.task` ledger + drafting agent + citation ledger (Tier 3) | `familylaw_step6` | +| 7 | **Citation gate (Gate 2)** — fail-closed verify + filing block + research loop | `familylaw_step7` | +| 8 | Discovery + Rule 12.351 subpoena (objection window + routing) | `familylaw_step8` | +| 9 | Child-support modification (new proceeding, 15%/$50, 20-day, DOR, prior-judgment) | `familylaw_step9` | +| 10 | Emergency workflow (12.941) — fork + attachment block + fast-path | `familylaw_step10` | +| 11 | DocuSeal e-signature (approved-only, webhook) | `familylaw_step11` | +| 12 | File archive (SHA-256) + retention lifecycle + calendar layers | `familylaw_step12` | +| 13 | Miami-Dade auto-seed (AO 14-13) + course-before-judgment guard | `familylaw_step13` | +| 14 | Comms (never auto-send) + AI-assist billing flag + matter-scoped access | `familylaw_step14` | + +## The two sacred gates (verify these first) +- **Gate 1 (review):** AI/draft documents are born `ai_draft`; only an attorney can + approve; nothing files/sends unapproved. `familylaw.document._ensure_approved`. +- **Gate 2 (citation):** every citation is born `unverified`; verification is + fail-closed (down/no-record → stays blocked); filing is blocked on any unverified + cite. `familylaw.document._ensure_citations_verified` + `familylaw.citation.verifier`. + +## Tier 3 caveat (unchanged from design) +Steps 6/7/9 build the **structure**; the legal **content** they produce is born +unapproved/unverified and is **not authoritative** until a licensed Florida attorney +validates the legal logic and approves the output. All external APIs (Claude, +CourtListener, DocuSeal) are mocked in tests and isolated behind single methods. + +## Volatile legal values to confirm before production (search `VERIFY`) +Deadline day-counts (20/45/30/10), disclosure income threshold ($50k → 12.902(b)/(c)), +15%/$50 support-modification presumption, Rule 12.410 subpoena amendment (eff. Oct 1 +2025), AO 14-13 obligations, retention periods. None are baked in as permanent.