# Handover pack

The final deliverable of professional work is your own replaceability. This
list is what "delivered" means; until every line is ticked, the parish has a
dependency rather than a system.

## The matatu test

If the person who built this is unreachable for a month starting tomorrow, can
the parish still:

- [ ] **Run the daily work?** — the how-do-I sheets are inside the system under
      *How do I…*, printable, filtered to each role.
- [ ] **Restore a backup?** — `php tools/backup.php --drill` restores the newest
      backup and checks it. Somebody other than the developer has done this at
      least once.
- [ ] **Pay for and receive support?** — a named second line: a colleague, a firm,
      or a written freelance arrangement. Not a phone number in one person's head.
      The response times and what each tier includes are in
      `deploy/SUPPORT-TIERS.md` — the fee is still to be set.
- [ ] **Hand a new developer the code?** — see the pack below.

## What the parish must hold, in the parish's own name

- [ ] The **hosting account** — in the parish's name, with the parish holding the
      password. Not the developer's account with the parish as a guest.
- [ ] The **domain**, same.
- [ ] Every **release zip** ever supplied, kept somewhere other than the office PC.
- [ ] The **final workbook** file, after the parallel run retires it.
- [ ] A **credentials sheet** — the template below, filled in by them, kept where
      the session keeps its other valuables. Never emailed.

## The second-developer pack

What a competent stranger needs to take this over in a week:

- [ ] `README.md` — the architecture decisions **and the refusals**, with reasons.
      Refusals that are not written down get re-litigated by the next developer.
- [ ] `php tools/test.php` — executable truth. All green means safe to ship.
- [ ] `deploy/DEPLOY.md`, `deploy/LOCALHOST.md`, `deploy/PARALLEL-RUN.md`,
      `deploy/SUPPORT-TIERS.md`, `deploy/HUMAN-TASKS-DRAFTS.md`,
      `deploy/CPANEL-GOLIVE-CHECKLIST.md` (the short, printable version —
      `deploy/DEPLOY.md` has the full reasoning).
- [ ] `tools/regen_schema.php` — how `sql/install.sql` is produced. It is never
      written by hand.
- [ ] The data dictionary lives in the migration comments: why fund gifts are
      excluded from district totals, what a tombstone member is, why the
      brought-forward chain matters.

## Training

- [ ] **Train the trainer**, 90 minutes: the trainer performs each core task
      once, watches a volunteer perform it, then the volunteer *teaches it back*.
      Teaching back is the test — not nodding.
- [ ] The how-do-I sheets **printed and taped beside the computer**.
- [ ] At least **two** people who have entered a real Sunday.
- [ ] At least **two** administrator accounts. A voucher needs approval by
      somebody other than the person who raised it, and a single locked-out
      account cannot be rescued from inside.

## Still needing a person, not code

These cannot be finished by the developer and should be named at the session
meeting with an owner and a date:

- [x] **Confirm the financial year** — October to September, confirmed
      directly from the parish's own 2026-2027 budget workbook header:
      "BASED ON REPORT FROM 1ST OCT 2025 TO 2ND SEPT 2026." The one thing
      still open: whether that is the parish's own practice or a
      presbytery-wide rule — worth a word with an elder if it's ever cited
      in a printed return, but it no longer blocks anything in the system.
- [ ] **Swahili review** — Settings → *Swahili awaiting review*. Print it, sit
      with an elder, mark it up. The SMS wordings matter most: members read those
      with no English beside them.
- [ ] **Vocabulary** — return vs report, office bearers, kirk session. Confirm
      with an elder before the words reach a printed return.
- [ ] **SMS sender ID** registration — has lead time. Start before it is needed.
- [ ] **ODPC registration** as a data controller — has lead time and a fee.
- [ ] **Consent for receipts** — every member is `unknown` until asked. Nobody is
      opted in by default, and receipts do nothing until the congregation is asked.
- [ ] **Meta / WhatsApp business verification**, if WhatsApp is wanted.
- [ ] **The four-week parallel run** — `deploy/PARALLEL-RUN.md`. This is the gate
      before the workbook is retired.

## Credentials sheet (template — fill in, print, keep with the session records)

| What | Where | Who holds it |
|---|---|---|
| Hosting control panel | | |
| Database name and user | | |
| System administrator 1 | | |
| System administrator 2 | | |
| SMS provider account | | |
| M-Pesa paybill portal | | |
| Domain registrar | | |

**Do not write passwords in a file on the office computer.** This sheet is for
naming where each thing lives and who is responsible for it.
