Slice-Completion Loop
Status: Active Scope: Every feature-block slice from prototype-completion onward.
The rigorous per-slice loop for taking a feature/pipeline from "built in the past, partially working, partially hidden" to "functions, behaves, and is presented to users in a canonical flow + UI/UX." It extends the 6-Phase Pipeline in CLAUDE.md by bolting an adversarial audit onto the front (the code already exists — re-verify, don't trust it) and a dev-panel visual check + full-app E2E verification onto the back.
A slice is not "done" until all three gates hold: Function (the mechanism works) · Behave (correct across edge cases + state) · Present (canonical flow + UI/UX, actually reachable by the user).
The 8 stages
| # | Stage | Who / How | Gate |
|---|---|---|---|
| 1 | Adversarial audit | Multi-agent pipeline: facet auditors (parallel) + adversarial verify of each finding against the real code. Returns structured findings — the main thread synthesizes them (do NOT depend on an in-pipeline synthesis agent; one hung mid-run 2026-07-13). | — |
| 2 | Problem analysis | Main (opus): current-vs-target derived from the verified findings — the real problem, not the symptom list. | — |
| 3 | Plan | Main (opus): the approach + slice boundary. | OWNER APPROVAL |
| 4 | Detailed implementation plan | Main (opus): file-level, slice-scoped, blast-radius checked (grep all consumers of shared code first). | — |
| 5 | Execution | Sonnet agents (≤3 parallel, ≤7 files each) per the delegation rules. Opus stays on design/review. | — |
| 6 | Review | Adversarial re-verify of the diff (main + verifier agents): correctness, canon-compliance (AGENTS.md / docs/canon/*), no regressions, self-reported numbers re-checked. | — |
| 7 | Visual check | Dev panel + seeded mock data (node scripts/run-scenario.mjs <chain>, dev-panel scenario chains) — eyeball the real UI/UX with representative data on device/OTA. The dead-theme-file lesson applies to UX: verify what actually renders. | — |
| 8 | E2E verification | yarn check + seeded scenarios (+ hosted Maestro only at release gates) — "all things together" still works. Completing one slice must not regress another. | must pass |
Ship (commit → push → OTA) only after stages 6–8 pass. Migrations follow the cheapest-sufficient verify ladder (CLAUDE.md "EFFICIENT"); OTA discipline per the apps/mobile/ota-compatibility-baseline.json guard.
When to skip the heavy loop
Trivial, clearly-correct pre-fixes (e.g. removing false copy, a one-line config fix) may be done directly — but say so explicitly and still run yarn check. Example: S0 (공지사항 false-copy removal) was done outside the loop.
Current application — prototype-completion slice ledger
Six feature-pipelines, each stuck at a different function → behave → present gate (from the 2026-07-13 gap audit). Sequenced:
- S0 · 공지사항 false-copy — done outside loop (946afb8c).
- Pipeline 1 · 경기 로테이션
- S1 · Rotation correctness (function/behave) — cross-round history bug, format-specific elo, variance-aware team strength, no-op/stub cleanups.
- S2 · Rotation config picker (present) — surface the 7 presets + format + bench in create/add-round.
- S3 · Score-driven formats (new) — Mexicano / King-of-the-Court.
- Pipeline 3 · 알림 — S4 · Core-loop signal emitters (function): RSVP / waitlist / trust / strike / challenge.
- Pipeline 2 · 토너먼트 — S5 · Present the built brackets (present-only, backend done) — or explicitly Hold.
- Pipeline 4 · 신뢰 (Phase 6) — S6 · Recruitment filters · S7 · Admin endorse/demote.
- Pipeline 5 · 결제 (Phase 7, gated) — S8 · Subscription UI + PortOne (when creds land).
- Hygiene (fold in opportunistically): venue-ingest wiring · SECDEF
search_path/ RLS slice-3 / table ACLs · dead-route cleanup.
Full finding detail: the 2026-07-13 gap audit (59 verified findings) — persistable to docs/audits/.