בס״ד

FME — Definition of Done (LOCKED)

docs/FME_DEFINITION_OF_DONE.md · last changed (pre-VM history) · rendered from GitHub master

FME — Definition of Done (LOCKED)

No phase is "done" until its gate passes. Locked 2026-06-05 (ZW-ENGINE-V9). Discipline: one rail, prove it, then the next.

Phase 1A — Two-way messaging + mirror (Telegram ↔ KV ↔ Portal)

DONE only when ALL hold:
- ✓ 50/50 messages mirrored Telegram → KV → Portal (both directions)
- ✓ sync stable
- ✓ zero message loss
- ✓ < 3 seconds round-trip
- ✓ failure-grid handling tested (kill KV/Telegram → still captured raw)
- ✓ Family_Event_Log recording every event
- ✓ 7 days of real family usage

Only THEN does 1B (voice) begin. Same discipline cascades to 1B / 1C / 1D — each ships, proves, then the next starts.

Phase 2 — Organizer + Retrieval

DONE only when ALL hold:
- ✓ the Family Search Test passes (see FME_PHASE_1A_TEST_PLAN.md → Phase 2 section)
- ✓ 100 filed objects (incl. ≥10 PDFs, ≥10 photos, ≥10 links, ≥30 messages)
- ✓ ZERO manual hunting — if Sam can still find something faster by hand than through the system, Phase 2 failed.

Build order (do NOT violate)

1A → 1B(voice) → 1C(media) → 1D(grocery) → 2(classify) → 2(retrieval) → 2.5(timeline) → 3(digest) → 3(assistant) → 4(Mildred, +90d) → 4(clients, +90d).
🔴 The remaining risk is no longer design — it's violating this order.

Source trail · docs/FME_DEFINITION_OF_DONE.md @ master · rendered 2026-07-02 7:23 PM EDT by scripts/build-docs.py · the .md in the repo is the truth; this page is the phone-readable view