Golden Maintenance Workflow
One work order, intake → close, agent-driven. No owner comms. Each numbered stage is also a measured section of the scoreboard. 2026-05-31.
Auto now — agent acts, no human
Visible — agent surfaces, Andrew acts
Flag — escalate to UI
The path
-
Intakeauto
WO lands from AppFolio. Agent summarizes, classifies trade + urgency, texts Jose the summary + suggested vendor.
Measures: classification correct · summary faithful · suggested vendor accepted.
-
Triage with Joseauto
Parse Jose's reply. Two forks run automatically: yes → proceed, or different vendor → swap. Anything else → flag.
Measures: reply parsed correctly · right fork chosen · false-auto rate (acted when it should've flagged).
-
Dispatch handoffauto
Send WO + tenant's phone to the vendor: "schedule directly with the tenant." Tell the tenant: "sent to {vendor}, expect a call from {vendor phone}." Agent steps out — vendor & tenant coordinate directly.
Measures: both messages sent · correct vendor/tenant numbers · no wrong-person leak.
-
Follow-up loopvisible
Nightly cron sweeps open issues (work-day aware — skips weekends). 2 work-days after dispatch the issue surfaces in the web UI: agent checks AppFolio status and drafts a tenant check-in. Andrew sends it. Re-surfaces 1–2 more times if the tenant goes quiet, then → flag.
Why manual first: brand-new behavior the agent has never run. Start visible — agent computes the queue + drafts, Andrew approves/sends. Approve-rate is the eval that graduates this stage to auto.
Measures: right issues surfaced at right time · draft approve-rate · no premature/late nudges.
-
Completionauto
AppFolio status = done → agent marks Closed / Ready to bill. Tenant confirms fixed (still pending in AppFolio) → same. Not fixed, or no response after the nudges → flag.
Measures: correct close decision · no premature close · ready-to-bill accuracy.
-
Memoryauto
Observation + belief update on every fork (vendor choice, tenant behavior, property quirks). Logged to the issue.
Measures: right facts captured · beliefs reused on next WO.
Boundaries
Off the happy path → flag in the UI. Ambiguous Jose reply, stray tenant/vendor inbound, vendor gone silent, low-confidence anything. Flag + log; Andrew handles it.
Out of scope (next version): owner communication. If Jose says "contact owner," the agent acks and flags — Andrew handles owner comms manually for now.
Automation order
Race stages 1, 2, 3, 5, 6 to auto as fast as possible. Keep stage 4 (follow-up) visible until its approve-rate earns graduation. That's the "get Andrew out of the loop" plan, applied per-stage.