Skip to content

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

#StageWho / HowGate
1Adversarial auditMulti-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).
2Problem analysisMain (opus): current-vs-target derived from the verified findings — the real problem, not the symptom list.
3PlanMain (opus): the approach + slice boundary.OWNER APPROVAL
4Detailed implementation planMain (opus): file-level, slice-scoped, blast-radius checked (grep all consumers of shared code first).
5ExecutionSonnet agents (≤3 parallel, ≤7 files each) per the delegation rules. Opus stays on design/review.
6ReviewAdversarial re-verify of the diff (main + verifier agents): correctness, canon-compliance (AGENTS.md / docs/canon/*), no regressions, self-reported numbers re-checked.
7Visual checkDev 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.
8E2E verificationyarn 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/.

Markdown remains the source of truth. Run yarn docs:check before handoff.