# Phase 4 — Deferred Items

Out-of-scope discoveries logged during plan execution. These are NOT auto-fixed
because they fall outside the current task's directly-caused scope.

## From Plan 04-11 (SRV-12 anti-port)

### `pnpm protocol-doc:verify` — pre-existing drift
- **Discovered:** While running `pnpm verify:phase-4` for SRV-12 closure check.
- **Symptom:** `verify failed: protocol.json drift: re-run pnpm protocol-doc:catalog and commit`
- **Verified pre-existing:** Reproduced on `git stash` of all 04-11 changes — drift exists at HEAD (e5dd0da) before plan 04-11 work.
- **Origin:** Likely a Phase-3 artifact-regen step that wasn't re-committed when the protocol catalog was last changed; not caused by any Phase-4 plan that has shipped so far.
- **Owner:** Plan 04-13 (final composite-gate audit) per its mandate to close `pnpm verify:phase-4` end-to-end.
- **Action:** Run `pnpm protocol-doc:catalog`, commit the regenerated `docs/extracted-server/protocol.{ts,json}`, re-run `pnpm verify:phase-4`.

### `pnpm trace:check` — broad parse_error / undeclared_id findings
- **Discovered:** While running `pnpm trace:check` for SRV-12 closure check.
- **Symptom:** Multiple `parse_error` (regex literals like `'\[<unit>->REQ-SRV-12\]'` inside plan-MD action examples) and `undeclared_id REQ-SRV-XX` (placeholder tokens in scaffolding plans 04-01 / 04-13) entries surface every run. Independent of SRV-12 evidence.
- **Verified pre-existing:** Same set fires on stashed HEAD. Multiple plans contribute (04-01, 04-02, 04-03, 04-05, 04-06, 04-07, 04-08, 04-09, 04-10, 04-11, 04-12, 04-13).
- **Owner:** Plan 04-13 (final composite gate). CLAUDE.md acknowledges trace:check as a non-blocking baseline gate until Phase 5 (DEP-04) wires it as a CI hard-gate.
- **Action:** Plan 04-13 sweeps all plan/SUMMARY md files for backslash-escaped tag literals (rewrap as code spans) and replaces `REQ-SRV-XX` placeholder rows with concrete IDs.

### traceable-reqs 0.1.0 does NOT scan `apps/**`
- **Discovered:** While verifying that `[impl->REQ-SRV-12]` in `apps/server/src/admin-stubs.ts` and `[int->REQ-SRV-12]` in `apps/server/test/admin-stubs.integ.test.ts` would close the SRV-12 stage table.
- **Symptom:** Even though `[scan].roots` includes `"apps"`, the trace tool's evidence list contains zero `apps/**` paths for any requirement (verified on REQ-SRV-09 — every plan-4-shipped impl tag in `apps/server/src/*.ts` is invisible to the tool; trace evidence is satisfied via `.planning/.../*-PLAN.md` and `*-SUMMARY.md` line citations only).
- **Workaround in use across Phase 4:** All previous plans (04-05, 04-07, 04-08, 04-09, 04-10) close their stages by tagging the SUMMARY.md, not the source/test files. SRV-12 follows the same convention — `[int->REQ-SRV-12]` lives in `04-11-SUMMARY.md` (in addition to the actual integ test file, which is the real evidence the tag attempts to denote).
- **Owner:** Plan 04-13 + Phase 5 DEP-04 (CI gate). Either upgrade traceable-reqs or add a sidecar tag-collator. Tracked here so future maintainers don't re-discover.
- **Action:** Phase 4 plans 04-12 / 04-13 keep using SUMMARY.md tagging. Phase 5 DEP-04 evaluates a traceable-reqs version bump or sidecar.
