# Dependency checklist — v3, after Codex's review · pictures of private build v36-b11

**DRAFT. Private. Demo data throughout.** This is the list of what still stands between the demonstration build and a system the owner can run the company on. It replaces the v2 reading that "only the real data and a place to put it" remained. Each row names an owner, a state and what it needs; nothing here is a promise.

**State values.** `built-demo` — exists in this build on demo data, demonstrated, not production evidence · `unbuilt` — not built; engineering, deployment and verification still to do · `blocked` — cannot start until a named human input lands · `unverified` — claimed or drafted somewhere, not independently proven on this box.

| Item | Owner | State | What it needs | Evidence |
|---|---|---|---|---|
| **AI implementation — the agent seats** (Chief of Staff, Collector, Ticket Keeper, Daily, the builders that follow) | Makki / the hive | built-demo (Chief of Staff, Collector, Ticket Keeper, Daily) · unbuilt (every seat in BUILD_PLAN §4 after them) | Engineering per seat on Omar's say-so; each one wired to real data only after the workbook lands; none of them sends anything under RULE #1 | `tools/` prints exact demo figures; `BUILD_PLAN.md` lists the open seats; no seat is on real data |
| **AI — the portal's own assistant / the office that never closes, on Makki's real books** | Makki / the hive | blocked | The owner's workbook and his decisions (below), then engineering, then pilot testing | nothing on real data exists; `MEMORY.md`: "Migrating the owner's real workbook is unspecced" |
| **Integration — QuickBooks** (the number-one gap) | Owner authorises · Makki implements and tests | unbuilt · unverified | The owner authorises a supported connection on the QuickBooks side and **never shares** a password or credential with anyone. Makki implements and tests the integration — engineering, not a login. Provider and setup details are **pending validation**; the drafted QBO route has not been verified on this box. The CSV import works today without any link | portal QuickBooks page: red "not connected"; deck slide 23; `projects/Fieldflo`: "a login is not an integration" |
| **Integration — Fieldflo** (the competitor's product shown on the sales call) | Makki | unbuilt | A decision first: Fieldflo is the reference the call notes describe, not a system to connect to. If a data import is ever wanted it is engineering against an export nobody has yet | `profile/` Fieldflo call notes; the frozen build still names Fieldflo in twelve user-facing strings (NOTES.md, finding a) |
| **Integration — outbound texts and emails** (schedule texts, day links by text, invoices out, renewal reminders, end-of-day by text) | Makki engineering · Omar's decision to switch on · the owner's phone number / mailbox | unbuilt | **Deferred, unbuilt engineering scope**: a sending service, a phone number or mailbox the company owns, the logging of replies, and testing — then Omar's explicit OK under RULE #1. Today every message is drafted and shown, marked not sent | deck slide 28; walkthrough Q&A "Can it text my crew"; app copy "nothing is texted or sent by the portal" |
| **Security — server-side sign-in and authorisation** | Makki engineering · the owner's hosting decision | unbuilt · unverified | A server that checks a password and enforces each seat's projection on the server side. In this build the role views are browser-side projections — demonstrated, not a security guarantee. Needs engineering, deployment and verification | deck slides 6, 29; walkthrough 0:39 and the planned table; no server exists on this box or anywhere for this app |
| **Security — database** | Makki engineering · the owner's hosting decision | unbuilt | A data store behind that server; today the data is `data.js` and the browser's localStorage on one machine. Engineering, deployment, verification | `MEMORY.md`: "No backend, no server auth, no git, no off-box backup" |
| **Security — off-machine backup** | Makki engineering · the owner | unbuilt | A backup that leaves the machine, tested by restoring it. Today losing the laptop loses the demo | walkthrough Q&A "What happens if I lose this laptop"; deck slide 26 |
| **Security — The owner's name and the competitor's / agency's names in app copy** | Makki (the Builder, on Omar's word) | built-demo (present, unedited) | Omar's decision, then a `portal/` edit: fifteen Fieldflo/EazyLife occurrences and ~fifty owner-name strings in the frozen build | NOTES.md findings (a) and "Also worth a decision" |
| **Pilot testing — one crew, one week, on the owner's real jobs** | The owner · Makki | blocked | Real data (below), a server (above), and the owner picking a crew and a week. Until then every "working" claim is a demonstration on demo data | nothing has been piloted; every gate so far is a browser suite on this box |
| **Pilot testing — the one-hour demonstration in front of the owner** | Omar presents · the owner | unverified | The v3 deck and walkthrough, a frozen copy of v36-b11 served locally (the private-demo zip), one laptop and one phone. Nothing reaches the owner until Omar sends it | this handoff folder; `vault/current/presentation.md` |
| **Human input — The owner's workbook (real jobs, quotes, people, tickets, receivables)** | The owner | blocked | The workbook itself, in whatever form he keeps it. Migration is **not specced**: shape, cleaning and the cut-over are engineering that cannot start without the file | `MEMORY.md`; GL-044 blocked on it |
| **Human input — The owner's decisions** (completion rule before billing; cost codes per man; per-diem and signature policy; who is on which crew; whether his name prints on documents; which pages each person gets) | The owner | blocked | A sitting with Omar, answers written into `BUILD_PLAN.md` §4 | the app labels each of these a synthetic fixture on its own row |
| **Human input — Omar's authorisations** (any send, publish, schedule or config change; release of a build to live) | Omar | blocked by design | An explicit word per action; a previous yes is not this yes. Live is still v32-nb6 | AGENTS.md RULE #1 / #1B; `decisions/implementation now, on your runtime` |
| **The pictured build itself** | Makki | built-demo | Nothing — v36-b11 is frozen and photographed; v37-b5 (one batch newer, graded) is on disk and not pictured | NOTES.md "Built since this build"; `_tree/v36-b11/portal/roles.js` md5 `a3cdce0e…` |

**Read it as a whole.** Three kinds of thing are on this list and they are not interchangeable: engineering Makki has to do (the server, the database, the backup, every integration, every further AI seat), decisions and inputs only the owner can give (his workbook, his rules, his authorisation of a QuickBooks connection — never his password), and testing nobody has done yet (a pilot with a real crew, and the integrations once they exist). Nothing on it is a hosting choice alone.

**Status of this document.** A draft for Omar, written from the frozen build, `MEMORY.md`, `BUILD_PLAN.md`, NOTES.md and the v3 deck. It has not been reviewed by Codex or by the owner. Every state above is this seat's reading and is **unverified** until the Checker's grade and Omar's read.
