Skip to main content

Adaptive chore decomposition

Status: ⭐ Differentiator · 🧭 Proposed (design agreed; nothing built)

Full decision record: docs/decisions/2026-07-29-adaptive-chore-decomposition-ai.md.

Scope

Present each chore at the granularity a member actually needs — the same "strip the bed" as one line for one member and pillow off bed → blanket off bed → sheet off bed → sheet into hamper for another. Granularity is a fade dial: scaffold with micro-steps, thin the scaffold as competence grows (North Star — fade to intrinsic motivation).

Four layers, cheapest-first, so a model is invoked only at the novelty edge:

  1. Canonical heads — a controlled vocabulary of chore intents (clean_bedroom, strip_bed, …). Free-text is resolved to a head first (alias → pgvector embedding → LLM fallback → novel).
  2. Cache — each head × granularity level has a stored, evidence-based, human-authored breakdown. Known chores are a DB read: $0, offline, zero hallucination.
  3. Fine-tuned Gemma 4 E2B, on-device — free tier generates novel breakdowns locally (MediaPipe .task; Android + iOS + Web from one conversion).
  4. Server-side Gemma 4 (larger variant) — paid tier and all TV clients; scale-to-zero inference, never an always-on GPU.

Generated breakdowns are written back to the cache, which doubles as the cross-device sync mechanism.

Data foundation (Phase 0)

Seed content is grounded in peer-reviewed literature applied by a qualified expert: developmental-psychology chore-by-age work, special-ed task analysis / chaining, and OT activity analysis & grading (see Clinical OT framework). Literature yields the rules; an OT / special-ed / developmental-psychology collaborator authors the concrete breakdowns; every recommendation carries an evidence_source citation. Sourcing is weighted toward affirming, strengths-based, autistic-led scholarship.

Data model (sketch)

chore_head (canonical_name, embedding, aliases, scope) · chore_steps (head_id, granularity_level, steps, authored_by, reviewed_by, evidence_source_id[]) · evidence_source (citation + license note) · chore_recommendation (head × age_band × cognitive_profile → evidence). Personalization is an editable profile field passed at inference, never baked into weights.

Open questions

  • Inference-port wiring: on-device generation is platform I/O and cannot live in the pure-Dart client_sdk — resolve against "config-driven, never inject an adapter" in a follow-up ADR. The resolver + cache belong in the SDK; the generation fallback needs a home.
  • Granularity vocabulary: enum (chunks/steps/micro-steps) vs 1–5 scale — align with the OT grading model chosen in Phase 0.
  • Global vs household head boundary and the curation workflow for promoting a household custom chore to a reviewed global head.
  • Quantization quality: evaluate the quantized E2B artifact on target devices, not the fp16 fine-tune.
  • TV runtime: Android TV rides the Android path; Apple TV / smart-TV OSes fall back to cache + cloud rather than embedding.

Relationship

  • Clinical OT framework — the evidence basis (activity analysis & grading) and Phase-2 clinical adjacency.
  • Today (chore surface) — where a resolved, granularity-adjusted breakdown is rendered and completed.
  • Routines — a decomposed chore executes as an ordered step sequence.