Practice Registry
Use the Practice Registry MCP server for Scala, Python, TypeScript, JavaScript, and Rust code work.
- Before non-trivial code generation or edits, call
preflightwhen intent or files are known. - Call
check_planwith the intent, files, language, framework, dependencies, and planned approach before writing code. - After edits, call
scan_diffwith the final diff for concrete changed-line findings. - Use
check_difffor advisory practice guidance when the code shape is broader than a concrete Semgrep finding. - Before the final response, call
finalize_changewith the final diff and pass the matchingcheck_planobservation id when available. - Trust the
passedfield. Treat onlyallowedandfollow_guidanceas pass decisions. - Use
explain_practicebefore overriding adiscouraged,legacy_accepted, orneeds_reviewresult. - Treat
bannedfindings as blockers. Change the code before finishing. - Treat
legacy_acceptedas allowed only for the recorded context. Do not add new handwritten uses of legacy patterns. - Use
propose_practicefor repeated uncovered decisions andrecord_exceptionfor scoped exception requests. - Resolve
needs_reviewthrough the named owner orrecord_approval. Research approval requires an indexed practice plus at least two directly supporting HTTPS sources from independent publishers and domains. - Do not use research approval to approve an exception. Exceptions still require the recorded owner decision.
If hooks or CI report a practice finding, fix the code and rerun the same check before summarizing the work.