# Blacksite verification matrix | Changed area | Fast loop | Slice gate | Candidate impact | |---|---|---|---| | Markdown only | docs audit | docs audit | Rust gates remain valid | | `AGENTS.md`, Skills, workflow scripts | script self-tests/dry run | docs audit and workflow acceptance | No Rust gate unless Rust changed | | `crates/content_pipeline/**` | pipeline check and focused tests | pipeline tests and strict Clippy; processing if output changed | Full gate later | | `crates/shared/**` schemas/types | shared check and focused tests | shared tests, dependent checks, migration dry run if needed | Full gate later | | `crates/editor/src/ui/**` | editor library check; focused wiring tests | editor tests/Clippy and named native scenario | Full gate later | | `crates/blacksite_surface/**`, shaders | surface check/tests | surface Clippy and relevant renderer scenarios | Full gate later | | `xtask/**` packaging | focused xtask/package test | repeat package test and package dry run | Package candidate required | | Registry/catalog inputs | processing check | validators and deterministic write/check | Package/native as relevant | | Migration/schema versions | focused migration tests/dry run | fixture apply, idempotence, rollback | Full gate later | | Gitea only | No Cargo | Tracker readback | No code gate | | Session/evidence only | No Cargo | Evidence integrity | No code gate | Fast checks normally use the `dev` lane. Candidate, package, hot-reload, and full-debug work use their named disposable lanes. A docs-only edit never invalidates a code gate whose recorded input digest is unchanged. Rust gate digests fingerprint the owning package and its local dependency closure, relevant Cargo and workflow configuration, the exact gate/lane, tool versions, and build-affecting environment. Documentation and unrelated packages are excluded, so their edits preserve valid focused Rust evidence; changes to a dependency, relevant configuration, toolchain, or environment invalidate it.