This board implements the Phase-Gated Decision System to transition from "reviewer relay" to structured, priority-driven milestone tracking.
Close Phase 0 Readiness Gaps (Prevent overclaims, secure contract boundaries, ensure safe local verification, and prepare deployment scaffolding).
- Created after committed baseline
78e2a6b Harden deployment preflight and voucher integrity checks. - This board is the control surface for new Phase 0 work once committed.
- Temporary review artifacts and raw prompt files remain outside the board unless explicitly promoted into tracked repo history.
- Start of Slice: 1 no-edits reviewer to challenge the plan.
- Before Commit: 1 no-edits reviewer to check the diff.
- After Push: Optional Grok/Kimi/Zero narrative or disruption pass.
- Rule: Avoid passing every finding to every model. Commit/push the current slice or explicitly abandon it before starting a new reviewer pass.
Work is prioritized only if it:
- Prevents irreversible deployment harm.
- Prevents privacy/security overclaim.
- Protects user funds or governance separation.
- Closes a Phase 0 launch gate.
- Adds regression coverage for already-built behavior. Everything else is parked/backlogged.
- Fix Now: High-priority defects/gaps entering implementation immediately.
- Test Now: Critical validation tasks entering implementation immediately.
- Document: Clarifying language, warning additions, or record-keeping updates.
- Backlog: Valid claims or gates parked for future development phases.
- Reject: False positives or out-of-scope claims.
This table tracks 13 Phase 0 gates mapped from PRODUCTION_READINESS_CHECKLIST.md, including the 2A offline workflow and 3A patient-fund liquidity sub-gates.
| Gate | Current Evidence | Reviewer Claims | Decision | Next Action | Status |
|---|---|---|---|---|---|
| 1. Front End Build Hygiene | Dashboard build tasks exist. Production check script (npm run check:frontend) is configured and passes. Public source maps are disabled. |
Kimi Finding 1 misread the root README as legacy boilerplate. Separately, public labels distinguish synthetic/mock/local status. | Reject (Finding 1) Document (Labels) |
Run npm run check:frontend during frontend slices; keep user-facing labels explicit about synthetic/mock/local status. |
Closed / Monitor |
| 2. Database & Auth Boundaries | Local-only prototype with synthetic/mock data. No database, hosted auth, or API. | None. | Backlog | Conduct trust boundary review when a hosted database or auth provider (e.g. Supabase, Firebase) is proposed. | Open |
| 3. Offline Workflow Safety | continuity-engine.mjs handles offline vouchers with all-key MAC coverage. reconcile-vouchers.mjs provides deterministic offline-receipt reconciliation. ContinuityAndAdversarialTools.test.js covers verification, field mutation, and reconciliation classification. | Console output "Verified Status: TRUE" overclaimed local MAC strength (Kimi Finding 3). Offline MACs are truncated to 16 hex chars (64 bits), representing short local tamper checks, not strong receipt finality or fraud-proofing (Finding 3). Finding 5 flags that full reconciliation remains a launch blocker, not just tabletop polish. | Fix Now (Implemented) Document |
Keep LOCAL INTEGRITY ONLY (NOT A ZK PROOF) wording and enforce 64-bit MAC strength boundaries. Run SMS, paper, proxy, lost-connectivity, and duplicate-receipt tabletop drills before any public non-digital workflow claim. |
Partially Closed |
| 4. Version Control & Handoff Pins | Git initialized. Commits tracked. Obsolete references in committed handoffs were updated during the Kimi reconciliation slice. Untracked raw review artifacts remain intentionally outside history. | Handoff pins obsolete HEAD commit reference (Kimi Finding 2). Branch protection, PR requirements, CI-on-merge, release tags, and rollbacks are not yet operationally configured. | Fix Now (Implemented) Document |
Before promoting any handoff or review artifact, verify git rev-parse HEAD, git status --short. Configure branch protection, PR rules, CI-on-merge, release tags, and rollback procedures before production launch. |
Partially Closed |
| 5. Patient Fund Matching Liquidity | PatientFundParticipatoryBudgeting.sol enforces dryRunFinalize/previewFinalize checks. Tests cover underfunding. |
None. | Document | Keep dryRunFinalize operator runbook steps updated and visible in dashboard/admin docs. |
Closed / Monitor |
| 6. API Security & Hidden Fields | No public APIs yet. Public forms are local. Honeypots, payload limits, XSS, and simulated CSRF/admin field injection checks are tested in PublicFormThreatModel.test.js. | None. | Backlog | Add server-side verification and CSRF token mechanisms when backend integration begins. | Partially Closed |
| 7. Hosting & Deployment Policy | Fail-before-write policy checks in deploy-timelock-and-treasury.js and deployment-policy.js. | Deploy script allowed open timelock executor on non-local "demo" env (Kimi Finding 5). Grok notes that alternate deployment paths still require release discipline. | Fix Now (Implemented) Backlog (Release discipline) |
Keep the deploy script as the authoritative path; add release checklist or CI gates before any testnet/mainnet deployment workflow. | Partially Closed |
| 8. Rate Limiting & Abuse Controls | None present yet. | None. | Backlog | Implement rate limiting in API middleware when backend is built. | Open |
| 9. Caching | No caching layers or API headers exist yet. | None. | Backlog | Set explicit cache-control headers during API design. | Open |
| 10. Scaling | No database exists. Paginated event log history implemented in dashboard via backwards block-chunk scanning (chunkSize 10000n, pageSize 5). | None. | Backlog | Design pagination for event log queries in the dashboard. | Partially Closed |
| 11. Error Tracking & Observability | No hosted tracking SDKs (Sentry, etc.) integrated. | None. | Backlog | Select privacy-compliant logging/tracking provider once backend is selected. | Open |
| 12. ADA / WCAG Accessibility | Semantic HTML landmarks, keyboard reachable elements, ARIA status/live tags, prefers-reduced-motion CSS support, and HSL contrast are configured in index.html. | None. | Document | Run automated accessibility checks and manual screen reader verification before launch. | Closed / Monitor |
| 13. Contract Security & Pause Gates | PBMRebateTreasury.sol contains pause gates. SCANNER_TRIAGE.md is populated. | updateSanction bypassed guardian pause (Kimi Finding 4). |
Fix Now / Test Now (Implemented) Backlog (Scanner refresh) |
Added whenNotPaused modifier to updateSanction and verified passing tests. Rerun Slither/Aderyn/targeted scanner checks before release claims. |
Partially Closed |
- SMS & Paper Workflows: Parked until SMS/paper gateway APIs or trusted-proxy schemas are introduced.
- Hosted Database & RLS: RLS table policy verification is parked until Supabase/Firebase integration starts.
- Server-Side API Rate Limiting: Parked until middleware API endpoints are introduced.
- Error Redaction Logs: Log cleaning is parked until an error tracking provider (e.g. Sentry) is integrated.
- Alternate Deployment Entrypoints: Parked until a release workflow exists; the tracked deploy script remains the authoritative path.
- Scanner Refresh: Parked until the next release/audit-prep slice.