--- name: change-readiness description: Verifies that a PaperMiner change is ready to hand over by checking tests, lints, ripple effects, and documentation sync. Use before declaring a feature, refactor, or bug fix complete. --- # Change Readiness ## Goal Do not say a PaperMiner change is done until there is evidence. ## Readiness Checklist ### 1. Scope check State exactly what changed: - behavior - interfaces - configs or profiles - docs or task state ### 2. Verification check Run the smallest sufficient validation: - targeted pytest for local changes - full `python -m pytest -q` if `core`, contracts, shared schemas, or multiple plugins changed - smoke run for CLI/profile changes - `ReadLints` on edited files after substantive edits ### 3. Ripple-effect check Confirm whether the change also required updates to: - plugin contracts - orchestrator wiring - profile configs - docs in `docs/` - project state files in `ai-context/` and `logs/` ### 4. Failure-behavior check Explicitly confirm: - unexpected exceptions are raised, not swallowed - partial failures are either part of the contract or treated as errors - external connector behavior is bounded by timeout/retry/clear errors ## Output Format Use this before closing the task: ```markdown ## Change Readiness - Scope: - Verified by: - Remaining unverified items: - Known risks: - Ready to hand over: yes / no ``` If anything is unverified, say it directly instead of implying the module is fully safe.