# Kade Build — Master Spec

**From:** Larry (orchestrator)
**Date:** 2026-05-21
**Status:** Kade persona LIVE as `/kade`; infra build queued

This is the single source-of-truth document for the Kade build. Points to the role profile, hire package, and the two delegation briefs.

---

## What's Done

| Artifact | Path | Status |
|---|---|---|
| Role profile | `Team Inbox/2026-05-21 - Pax to Larry - Personal Ops Assistant Role Profile.md` | ✅ |
| Hire package | `Team Inbox/2026-05-21 - Nolan to Larry - Kade Hire.md` | ✅ |
| Slash command | `.claude/commands/kade.md` | ✅ live |
| Agent profile | `Team/Kade/profile.md` | ✅ live |
| CLAUDE.md roster | Updated | ✅ |
| Memory: hire entry | `memory/project_kade_hire.md` | ✅ |
| Memory: AI consolidation pref | `memory/feedback_ai_consolidation.md` | ✅ |

---

## What's Queued (next session)

| Workstream | Owner | Brief |
|---|---|---|
| Tasks table + UI in Atlas DB | Atlas | `Team Inbox/2026-05-21 - Larry to Atlas - Kade Tasks Table Brief.md` |
| Slack bridge + scheduler + Qordinate API export | Riv | `Team Inbox/2026-05-21 - Larry to Riv - Kade Infrastructure Brief.md` |

Both briefs are independent — Atlas + Riv work in parallel. Riv depends on Atlas only for the final API contract (schema), which can be locked in within the first hour of Atlas's work.

---

## The Plan in One Picture

```
[Jimmie's Slack DM]
        ↓ text / voice memo / slash command
[Kade — persona, prompt, voice]
        ↓ writes/reads via API
[Atlas DB — tasks table linked to projects table]
        ↑
[Riv-built scheduler]
        ↓ delivers reminders via
[Slack /remind + custom delivery]

One-time bootstrap: Qordinate API → Riv exporter → Atlas seed
```

---

## Burn-In Acceptance Criteria

Kade replaces Qordinate only when ALL of the following hold for 14 consecutive days of parallel operation:

| Criterion | Bar |
|---|---|
| Medication reminder delivery | 100% on time, 0 misses |
| Task capture from Slack DMs | ≥95% correct parse rate |
| Voice memo intake | ≥90% correct parse rate |
| Recurring reminders fire as scheduled | 100% |
| DND/quiet hours respected | 100% |
| Deadline kick-in-the-pants logic (30d/7d/1d/day-of) | Verified on ≥3 real deadlines |
| Cap-the-list discipline | No "List From Hell" surfaced uninvited |
| Voice register adoption | Jimmie's qualitative thumbs-up — "feels like Kade, not a bot" |

If any criterion fails, hold the cutover; iterate; restart the 14-day clock.

---

## Migration Plan

1. **Qordinate API export** (Riv) — pull all open tasks, due dates, recurring rules, completion history
2. **Seed Atlas** — import into the new tasks table with project FK populated where matchable; unmatched tasks flagged for Jimmie review
3. **Parallel run begins** — Qordinate continues; Kade runs alongside
4. **Optional one-way sync** — Riv keeps Atlas updated from Qordinate during the 14 days as a safety net
5. **Cutover day** — Jimmie notifies Qordinate; subscription cancelled; sync stops; Kade is sole task owner

---

## Open Items for Jimmie

1. **Qordinate API credentials** — drop in `Team Inbox/` (or share next session). Not blocking until Riv hits the export step.
2. **Personal context to prime Kade with** (optional) — kids' names, partner, doctor names, family birthdays, anything else Kade should know on day 1. Nolan folds into Kade's profile when received.
3. **Approve burn-in window** — default is 14 days starting first day Kade is fully operational. Adjust if needed.

---

## Risks Tracked

- **Voice register drift** — Mitigated by in-context exemplars pinned in system prompt + Jimmie qualitative check during burn-in
- **Medication reliability** — Mitigated by Slack /remind for fixed schedules (battle-tested) + parallel Qordinate run during burn-in
- **Hyperfocus interruption** — Open; refine after observing Kade's actual nudge cadence in the wild
- **List-cap discipline drift** — Hard-coded in the agent's system prompt as a never-break rule

---

## Next-Action Routing

- **Tomorrow AM:** Larry fires Atlas + Riv with their briefs (linked above)
- **Atlas first hour:** schema lockdown, share API contract with Riv
- **Riv first day:** Qordinate API export tool + scheduler scaffolding (parallel)
- **End of week 1:** infra integration test; first task created via Slack lands in Atlas correctly
- **Start of week 2:** burn-in clock starts (14 days)
- **End of week 4 (target):** Qordinate retired if burn-in passes
