Skip to main content

Four Enforcement Layers — Two of Them Block

This historical heading describes the reference adapter’s intended roles, not four installed controls or two unconditional guarantees. Actual blocking depends on registration, matched scope, commands and effective server settings.

LayerShipped scopeLimit
Post-edit lint checkRead-only checks on contained Python paths in the reference layoutAdvisory; plain exit-0 output is debug-only
Session-end verification reminderDiff-aware text naming example checksDoes not execute tests or prove model-visible delivery
Pre-push quality gateConfigured checks for an eligible standalone push from the installed rootBounded parser; other clients/transports can bypass it
Required server checks/reviewsEffective branch policy applied to actual candidate evidenceDepends on contexts, visibility, scope and bypass rules

A workflow executes checks; server settings make their result a merge condition. A bot may post findings or emit checks depending on its integration. Verify the actual contract: a silent, skipped or stalled bot is not an approving one. Preserve each finding’s originally reviewed revision when assessing fixes.

Security scanning follows the threat model and applicable obligations, not only whether a project calls itself regulated. Approve source processing, credentials and any external upload. A scanner or AI auto-fix is not a compliance certificate.

Evidence boundary: offline fixtures test supplied script behaviour. They do not establish an adopter’s registration, model-visible feedback, server protections, application-test execution or production safety. Appendix E details the adapter limits.