01
📋
Current State — The Naming Conflict
Two different bodies of work share the same "Block F" label
📄 Phase Plan (phase2.html)
Source: /admin/phase2.html sidebar
A
Bug Fixes & Polish ✅ Done
B
Admin & Infra ✅ Done
C
Search Quality ⬜ 0/4
D
Feature Improvements ✅ Done
E
Corpus Expansion ✅ Done
F
Checklist v2 + Deploy ⚡ 0/4
G
User Experience ✅ Done
🚀 Infrastructure Sprint (HANDOVER.md)
Source: HANDOVER.md — infra sprint
Prior blocks not tracked here
 
 
F
Infra Sprint ✅ 3/3
Completed tasks in this sprint:
F1: Custom Domain Research & Prep Doc
F2: Analytics Dashboard (live, deployed)
F3: Backup Runbook + Export Script
These are two different things with the same label
The phase plan's Block F is Checklist v2 + Deploy — PDF export, photo evidence, signed checklists, Docker deploy — none of which has started (0/4). The infrastructure sprint's Block F is Infra Ops work — custom domain research, analytics dashboard, backup runbook — all done (3/3). Both call themselves "Block F." One of them needs to change.
02
The Infrastructure Work — Already Done & Deployed
Real, working, deployed output from the infra sprint
Status: LIVE. This work exists. It is deployed. It works. The only question is whether and how the phase plan should acknowledge it.
📊
Analytics Dashboard
Live admin dashboard showing real-time platform metrics. Deployed to the admin panel.
  • Queries/day chart (7-day rolling, SVG sparkline)
  • Active users count + trend
  • Top domains queried (bar chart)
  • Response time percentiles (p50/p95)
  • Cache hit rate gauge
✅ Live Deployed
🌐
Custom Domain Research
Full research doc prepared. DNS configuration steps documented and ready to execute.
  • Domain options evaluated
  • Cloudflare DNS steps documented
  • SSL/TLS config ready
  • Action: Grant to purchase + configure domain
✅ Research Done ⏳ Awaiting Grant
💾
Backup Strategy
D1 Time Travel documented. Export scripts created. R2 and Vectorize backup procedures written up.
  • D1 Time Travel runbook
  • Export script (JSON/CSV)
  • R2 backup procedure
  • Vectorize index backup
✅ Done Scripts Ready
Analytics Dashboard Preview
QUERIES / DAY 1,247 ↑ 12% ACTIVE USERS 83 ↑ 5 CACHE HIT RATE 76% RESPONSE TIME (P95) 1.4s DAILY QUERIES — 7 DAY Mon Tue Wed Thu Fri Sat Today TOP QUERIED STANDARDS NCC 2022 82% AS 3000 52% DDA 2010 32% AS/NZS 1170 21%
03
F
The Phase Plan's Block F — Checklist v2 (Not Started)
What the phase plan's Block F actually represents — 4 tasks, all pending
Status: 0/4 tasks started. These are the Checklist v2 features originally scoped into Phase 2. No code written yet. Significant UX/backend work ahead.
✅ Grant's call (2026-06-20): Build F1 + F2 + F3 now. F4 (Docker / On-Prem) deferred — do it once everything else is polished.
📄
F1 — PDF Export
Generate compliance reports as PDF from completed checklists. HTML template layout for professional output.
  • HTML-to-PDF template engine
  • Cover page + section breaks
  • Checklist items with pass/fail/NA
  • Footer with sign-off fields
⬜ Not Started
📷
F2 — Photo Evidence Attachment
Attach site photos to checklist items. R2 object storage for uploads, thumbnails in checklist view.
  • R2 presigned upload URLs
  • Photo thumbnails on items
  • Mobile camera capture
  • Include photos in PDF export
⬜ Not Started
🔏
F3 — Signed/Locked Checklists
Digital signatures on checklists. Lock after signing — no edits. Void & unlock escape valve if needed.
  • Sign-off workflow UI
  • Locked state — read-only
  • Void + admin unlock
  • Signature audit trail
⬜ Not Started
🐳
F4 — Docker / On-Prem Deployment Prep
Package Compliance Hub for self-hosted deployment. Docker Compose setup, configuration guide, environment variable documentation. Target market: enterprises that can't use cloud SaaS for data sovereignty reasons.
⏸ Deferred — do last, once everything else is polished
04
🎯
Three Options — Choose One
Click a card to select your preferred approach · Click again to deselect
A
Recommended
Keep F = Checklist v2
Phase plan stays clean — Block F continues to track the four Checklist v2 features (0/4). The infra sprint work is captured in HANDOVER.md but is not represented on the phase plan progress dials.
  • No phase plan restructure needed
  • Checklist v2 stays front-of-mind as upcoming work
  • Phase plan narrative stays coherent
  • Infra work doesn't show on progress dials
  • Sprint's real output is invisible on the plan
Phase plan summary would look like:
A ✅
B ✅
C ⬜
D ✅
E ✅
F ⬜
G ✅
OVERALL COMPLETION 5/7 blocks 71% complete C+F remain
B
Most Transparent
Add Block H for Infra
Keep F = Checklist v2 (unchanged). Add a new Block H — Infrastructure & Ops with H1 (custom domain), H2 (analytics dashboard), H3 (backup runbook) — all marked done. Everything is tracked.
  • All real work is tracked and visible
  • Progress dials show the infra win
  • Checklist v2 stays as upcoming work
  • Phase plan grows to 8 blocks
  • Slight overhead adding new block
Phase plan summary would look like:
A ✅
B ✅
C ⬜
D ✅
E ✅
F ⬜
G ✅
H ✅
OVERALL COMPLETION 6/8 blocks 75% complete C+F remain
C
Highest Progress %
Replace F with Infra, Move Checklist v2 Out
Repurpose Block F as the infra block (done, 3/3). Move Checklist v2 features to Phase 3 or a dedicated separate plan. Phase 2 progress jumps.
  • Phase 2 progress looks great (6/7 done)
  • Infra win is properly credited
  • Phase 2 feels nearly complete
  • Checklist v2 loses visibility as upcoming work
  • Risk: gets deprioritised out of Phase 2 scope
  • Phase plan history becomes confusing
Phase plan summary would look like:
A ✅
B ✅
C ⬜
D ✅
E ✅
F ✅
G ✅
OVERALL COMPLETION 6/7 blocks 86% complete C only
Criterion Option A Option B Option C
Phase plan restructure needed? None Add Block H Replace F, move Checklist out
Infra work credited on dials? No Yes — Block H Yes — Block F
Checklist v2 stays visible? Yes Yes Moved to Phase 3
Phase 2 progress % (blocks done) 5/7 — 71% 6/8 — 75% 6/7 — 86%
Risk level Low Low Medium
My read: Option A is the least-disruption path if Checklist v2 is still a Phase 2 commitment. Option B is the cleanest overall — all work is tracked, nothing is hidden, costs one extra block row. Option C is only right if you've decided Checklist v2 is genuinely not Phase 2 scope.
05
💬
Your Call, Grant
Select your preferred option below — click to pick, click again to change