AUTHOR’S WORD — 5 rows here show a completed status that nothing derived The pill on these rows was typed, not measured: gk-05, gk-06, gk-07, gk-09, gk-17. Every other status on this page comes from that row’s own PR, commit or decision links; these name nothing a machine can read, so nothing can contradict them when the work changes. To make the same claim checkable, write one of these on the row and it derives on the next tick: prs (a PR ref — read from GitHub), completion_evidence (owner/repo@<full 40-char sha> — checked against the default branch), shipped_without_pr (why no PR can exist), or decision (the id that settled it). A row that is not owed a build says so with unbuilt; one a decision retired says so with canceled.
Gatekeeper — every gate, one control

Gatekeeper — every gate, one control

Each company gets one control per module (Off / Supervised / Live); customer switches sit under their module or Company-wide; our plumbing stays staff-only; fixes get no switch; unused switches are deleted (ADR-0144).

Status is DERIVED from each row’s own PR, decision and prod-evidence links by bin/refresh-tracker gatekeeper-phases — never typed. Last refreshed 2026-11-02 21:44Z.

Switches — every one re-checked against production on 10-27, plus what merged through 10-28
All 11 leftover pieces done · 3 parked by Gera
On 10-27 every switch still in the code was checked. 26 still broke the one-control rule. Everything else is allowed: a module control, a named emergency stop, a customer’s own setting, or our plumbing. The rows below are pieces of work; one row can cover several switches.
20
Module controls (Off / Supervised / Live)
6
Named emergency stops (2 added 10-27)
83
Customer settings and feature switches
80
Our plumbing, kept staff-only
46
Deleted between 10-19 and 10-27
What the 14 left are
3
In review: the Clara-is-live flag, the after-call tour-request text, and Clara’s email replies at one JPCO building (held for its dry run)
5
Decided, not built yet: the Resident Services module (another session has it), the per-company sync pause, and three unused switches to delete
6
Waiting: three JPCO-only switches (preview to Gera first), vendor emails (Gera: later), two AppFolio writers (question on the bridge), the address-routing flip (Gera: not yet)

Done 10-30 and 11-01 with Gera’s go: unread values left in production by the deleted switches, and the old live flag’s stored values, are removed (backed up). Still owed, no customer change: the retired prototype’s leftover file and a dead vendor-call stub. Not proven yet: the team note for a page that reaches nobody is live, but the 10-28 test call never reached it, so a re-run is owed. For history: the 10-19/20 count read 284 of 360 done.

Overall
—
 
—
Shipped
—
Merged
—
In flight
—
Open
—
Waiting on you
Groups — click to filter
Status
—

Every row opens: when it was added, why it exists, and the links that prove it. Rows waiting on a human carry a Decide → link straight to the answerable question on the decisions page. Statuses are re-derived from live PR, decision and prod-evidence state by bin/refresh-trackers; nothing here is typed by hand. Merged and shipped both count as done (Gera, 2026-10-19); a prod_evidence permalink is what moves a row from Merged to Shipped.

PropFlow Docs