# P1 Decision Log — {{프로젝트명}}

P0 is non-negotiable: every P0 is fixed before launch (the gate enforces it). **P1 is
where judgement lives** — some P1s get fixed, some get consciously accepted. This log
records *which, by whom, and why*, so an accepted P1 is a decision on the record, not a
silently ignored defect. It is the G3 (테스트) deliverable.

## How to use

1. Open `defect_log.csv`, filter to `severity = P1`.
2. For each P1 (or each group of identical P1s), add a row below.
3. Decision is one of: **Fix** (will correct before launch) / **Accept** (ship as-is,
   with rationale) / **Defer** (post-launch backlog).
4. An `Accept`/`Defer` needs a named approver. `Fix` needs an owner + target date.
5. Re-run the validator after the fixes; confirm the fixed P1s are gone.

## Log

| # | Code | Entry / scope | Summary | Decision | Owner / Approver | Target / Date | Rationale |
|---|---|---|---|---|---|---|---|
| 1 | {{CODE}} | {{entry_id or (dataset)}} | {{one line}} | Fix / Accept / Defer | {{name}} | {{YYYY-MM-DD}} | {{why}} |
| 2 | | | | | | | |
| 3 | | | | | | | |

## Standing decisions (apply to all entries unless overridden)

Record cross-cutting calls once here instead of per row — e.g. "MISSING_RECOMMENDED for
`starRating` is accepted group-wide: not contractually rated." Reduces log noise.

| Code | Standing decision | Approver | Date |
|---|---|---|---|
| {{CODE}} | Accept group-wide — {{reason}} | {{name}} | {{YYYY-MM-DD}} |

## Sign-off

| Stage gate | Condition | Confirmed by | Date |
|---|---|---|---|
| G3 테스트 | All P1 triaged (Fix/Accept/Defer), decisions logged above | {{name}} | {{date}} |
| G4 안정화 | P0 = 0, all "Fix" P1 closed, online validator green on sample | {{name}} | {{date}} |
