# B2B 시나리오 갭 — Issue 매핑

4-에이전트 검토 (2026-04-19, `b2b-scenario-gaps.html`)에서 발견한 27개 갭의 GitHub Issue 매핑. PR이 갭을 해결할 때 본문에 `closes #N` 추가.

**Status (2026-04-19): 27 / 27 shipped.** 5 critical + 8 high + 11 medium + 3 fyi 모두 main 머지 + production 적용.

스크립트로 재생성: `scripts/seed-scenario-gap-issues.sh --apply` (idempotent — 동일 제목 issue가 있으면 skip).

## CRITICAL (5)

| ID | Issue | Severity | Area | 제목 |
|---|---|---|---|---|
| SEC-01 | [#14](https://github.com/intelli-bruce/RoomfitV2/issues/14) ✅ shipped | critical | security | sessions immutable trigger — PR #41 (`311a49e`) prod applied |
| SEC-02 | [#15](https://github.com/intelli-bruce/RoomfitV2/issues/15) ✅ shipped | critical | security | invite confirmation — PR #42 (`26d3e1f`) prod + accept_invitation v1 deployed |
| DB-01  | [#16](https://github.com/intelli-bruce/RoomfitV2/issues/16) ✅ shipped | critical | db       | LVP/wellness/rep_run staff path — PR #41 prod applied |
| UX-01  | [#17](https://github.com/intelli-bruce/RoomfitV2/issues/17) ✅ shipped | critical | ux       | BLE disconnect handler — PR #43 (`2713158`) merged |
| UX-02  | [#18](https://github.com/intelli-bruce/RoomfitV2/issues/18) ✅ shipped | critical | ux       | Stage 1 lazy startSupervised — PR #43 merged |

## HIGH (8)

| ID | Issue | Severity | Area | 제목 |
|---|---|---|---|---|
| DOM-01 | [#19](https://github.com/intelli-bruce/RoomfitV2/issues/19) ✅ shipped | high | domain | weight mode picker UI + SetWeightModeCommand — PR #44 + #45 |
| DOM-02 | [#20](https://github.com/intelli-bruce/RoomfitV2/issues/20) ✅ shipped | high | domain | velocityMeaningful gates — PR #44 |
| DOM-03 | [#21](https://github.com/intelli-bruce/RoomfitV2/issues/21) ✅ shipped | high | domain | Side picker for unilateral grips — PR #44 |
| DOM-04 | [#22](https://github.com/intelli-bruce/RoomfitV2/issues/22) ✅ shipped | high | domain | TrainingGoal picker — PR #44 |
| DOM-05 | [#23](https://github.com/intelli-bruce/RoomfitV2/issues/23) ✅ shipped | high | domain | multi-exercise sessions — PR #48 |
| DOM-06 | [#24](https://github.com/intelli-bruce/RoomfitV2/issues/24) ✅ shipped | high | domain | emergency stop + weight trim — PR #46 |
| UX-03  | [#25](https://github.com/intelli-bruce/RoomfitV2/issues/25) ✅ shipped | high | ux     | resumable abandoned sessions — PR #47 |
| UX-04  | [#26](https://github.com/intelli-bruce/RoomfitV2/issues/26) ✅ shipped | high | ux     | B2C 'trainer-recorded' badge — PR #47 |

## MEDIUM (11)

| ID | Issue | Severity | Area | 제목 |
|---|---|---|---|---|
| UX-05  | [#27](https://github.com/intelli-bruce/RoomfitV2/issues/27) ✅ shipped | medium | ux       | invite magic link in response — PR #56 (full email blast still v1) |
| UX-06  | [#28](https://github.com/intelli-bruce/RoomfitV2/issues/28) ✅ shipped | medium | ux       | cross-wire guard before second supervised flow — PR #51 |
| UX-07  | [#29](https://github.com/intelli-bruce/RoomfitV2/issues/29) ✅ shipped | medium | ux       | multi-shop dropdown in ShopHome header — PR #53 |
| UX-08  | [#30](https://github.com/intelli-bruce/RoomfitV2/issues/30) ✅ shipped | medium | ux       | OwnerDashboard with KPIs + per-trainer activity — PR #54 |
| UX-09  | [#31](https://github.com/intelli-bruce/RoomfitV2/issues/31) ✅ shipped | medium | ux       | trainer/member soft-removal + atomic owner handoff — PR #55 |
| DB-02  | [#32](https://github.com/intelli-bruce/RoomfitV2/issues/32) ✅ shipped | medium | db       | centers + address/business_hours/status — PR #52 |
| DB-03  | [#33](https://github.com/intelli-bruce/RoomfitV2/issues/33) ✅ shipped | medium | db       | center_memberships.left_at + helper updates — PR #52 |
| DB-04  | [#34](https://github.com/intelli-bruce/RoomfitV2/issues/34) ✅ shipped | medium | db       | workout_sessions.status enum + trainer delete — PR #52 |
| DOM-07 | [#35](https://github.com/intelli-bruce/RoomfitV2/issues/35) ✅ shipped | medium | domain   | SetExecutor auto-cutoff stream — PR #49 |
| SEC-03 | [#36](https://github.com/intelli-bruce/RoomfitV2/issues/36) ✅ shipped | medium | security | self-session center_id NULL trigger — PR #52 |
| SEC-04 | [#37](https://github.com/intelli-bruce/RoomfitV2/issues/37) ✅ shipped | medium | security | invite rate limit + auth.users direct lookup — PR #56 |

## FYI (3)

| ID | Issue | Severity | Area | 제목 |
|---|---|---|---|---|
| DOC-01 | [#38](https://github.com/intelli-bruce/RoomfitV2/issues/38) ✅ shipped | fyi | docs | scenario dashboard BLE sequence corrected — PR #50 |
| DOC-02 | [#39](https://github.com/intelli-bruce/RoomfitV2/issues/39) ✅ shipped | fyi | docs | data flow box lists 7 tables — PR #50 |
| DOC-03 | [#40](https://github.com/intelli-bruce/RoomfitV2/issues/40) ✅ shipped | fyi | docs | shadow claim trigger note added — PR #50 |
