Checklists
requirements.md
Requirements Checklist — sync-diagnose-canonical-allowlist
Verify each functional requirement before submitting the PR.
Functional
- □ FR-001 — diagnose recognises every type in
_EVENT_TYPE_TO_MODEL. - □ FR-002 — diagnose continues to recognise CLI-internal types not in registry.
- □ FR-003 — diagnose rejects truly unknown types with a clear error.
- □ FR-004 — drift-detector test: monkeypatched-registry case is recognised without diagnose code changes.
- □ FR-005 — no remaining hardcoded event-type list in
diagnose.py. - □ FR-006 — existing
tests/sync/test_diagnose.pycases all pass. - □ FR-007 —
emitter.VALID_EVENT_TYPESis unchanged; outbound gate tests still pass.
Non-functional
- □ NFR-001 — comment explains the
_EVENT_TYPE_TO_MODELimport precedent. - □ NFR-002 —
git diff main...HEAD pyproject.tomlis empty. - □ NFR-003 — only
diagnose.py,test_diagnose.py, and mission dir are touched. - □ NFR-004 — fixtures use canonical pydantic models for payload-shape construction.
Operating rules
- □ C-001/002/003 — no SaaS DB mutation, no new pip deps, no out-of-scope edits.
- □ C-004 —
unset GITHUB_TOKENused beforeghwrites. - □ C-005 — PR opened (not pushed direct-to-main).
- □ C-006 — Renata persona invoked.
- □ C-007 — canonical pydantic models used in fixtures.
Acceptance
- □
pytest tests/sync/test_diagnose.py -vgreen. - □
pytest tests/sync/test_forward_compatibility.py tests/contract/test_handoff_fixtures.py -vgreen. - □ Diff scope: only the three locations listed in NFR-003.
- □ PR body cites
Closes Priivacy-ai/spec-kitty#1222. - □
mission-review.mdlists any other hardcoded allowlists spotted (follow-ups for#1198).