Triad-aware single-URL approve surface. Written under user directive "i approve your recommendation" — Option A. Closes the gap between SO #5/#6 policy and the pre-Sprint-33 approve endpoints, which recorded HA5 as a single-reviewer act.
ha_approval so far9344: new ha_approval D1 table. Append-only. UNIQUE constraint on (artefact_kind, artefact_id, tier, human_id) makes clicks idempotent.POST /api/ha-approve: writes a triad or Board seat click for a given artefact + tier. Validates artefact + human + tier; captures role_snapshot at time of click so future role changes don't corrupt the audit trail.GET /api/ha-queue: single JSON dump of everything in the HA2/HA3/HA4 pipeline, enriched with per-tier per-seat approval state (triad + CFO-frame at HA4; triad + Board at HA5)./ha4-ha5-console: single-URL human page. Row per artefact. Clickable seat per approver per tier. Live refresh after each click. Marker-gated before catch-all per Sprint 26 route-order lesson.
HA4 complete = 3-of-3 triad approvals (Laurence + Lisa + Corrina). Carla holds a CFO-frame seat that only gates artefacts with a financial claim.
HA5 complete = 3-of-3 triad + ≥1 Board seat (Deen today; Board seats expand as the Board grows).
Related: /ha4-ha5-console · /sprint32 · /board-pack-2026-08-25