wulf-pulse/.planning
lorentz a7d6a04110 feat(24-05): CRUD write routes with pending/committed/failed audit lifecycle
- app/api/route53/zones/[zoneId]/records/route.ts: add POST (create)
- app/api/route53/zones/[zoneId]/records/[recordId]/route.ts: PATCH (update), DELETE
- All three write handlers: requireAdmin() first (D-04), validateRecordWrite() before
  any AWS command (D-01), createPendingAuditLog() before submitRecordChange() (D-07/SC-3)
- Committed path: markAuditCommitted -> insertPulseCrudHistory (pulse_crud, SC-4) ->
  mirror refresh; failed path: sanitizeAwsError -> markAuditFailed -> 502, no history row
- DELETE submits the exact mirror-read recordset (name/type/ttl/resourceRecords), never
  client-supplied values, per Route 53's exact-match delete requirement
- recordId zone-prefix mismatch guard (T-24-17): 400 before any audit row or AWS call
- No staged-approval mechanism anywhere (D-03) — mutation executes on first request
- tsc clean; npm test 554/556 passing (2 pre-existing itglue-search failures, unrelated,
  logged in deferred-items.md, already documented by plans 24-01/24-03)
2026-08-05 20:36:54 -04:00
..
codebase fix(04-01): restore phase 2/3 work lost by worktree soft-reset 2026-05-03 18:01:14 -04:00
milestones chore: archive v3.0 milestone files 2026-07-17 06:56:49 -04:00
phases feat(24-05): CRUD write routes with pending/committed/failed audit lifecycle 2026-08-05 20:36:54 -04:00
quick docs(quick-260721-n49): fix classifier to resolve per-company Mimecast tenant instead of the global tenant 2026-07-21 16:48:11 -04:00
reports docs(v3.0): add LLM-context companion doc for phishing triage feature 2026-07-18 11:22:09 -04:00
research docs: capture exploration — PAX8 integration scope 2026-07-10 11:45:11 -04:00
seeds docs: capture exploration — PAX8 integration scope 2026-07-10 11:45:11 -04:00
config.json chore: check in pending work — queue preferences, QBO AR diagnostics, mobile engagement fixes, ops scripts 2026-07-18 06:34:57 -04:00
deferred-items.md docs(10-03): log pre-existing tsc errors as deferred (unrelated to plan) 2026-07-10 17:45:00 -04:00
MILESTONES.md chore: archive v3.0 milestone files 2026-07-17 06:56:49 -04:00
PROJECT.md chore: archive v3.0 milestone files 2026-07-17 06:56:49 -04:00
RETROSPECTIVE.md docs: update retrospective for v3.0 2026-07-17 06:57:43 -04:00
ROADMAP.md docs(phase-24): update tracking after wave 2 (plans 24-02, 24-03, 24-04 complete) 2026-08-05 20:27:11 -04:00
STATE.md docs(phase-24): update tracking after wave 1 (plan 24-01 complete) 2026-08-05 20:17:42 -04:00
v2.0-MILESTONE-AUDIT.md docs(milestone-v2.0): add milestone audit report 2026-07-11 07:56:22 -04:00