Use DevMap for repository awareness. Add task state and verification when the consumer needs them. Installing an integration does not make every shell command or editor write require a lease. Documentation index
devmap paths --json
devmap status --json
# Build missing/stale state in this worktree:
devmap build --manifest --guides
devmap explore MyFunction --json
devmap impact src/service.go --json
devmap dead --jsonUse the resolved map for navigation, then inspect actual source. Check query freshness, coverage gaps, confidence and truncation. An affected-test list suggests tests to run; it does not record a test result.
Preview and apply standalone code-navigation integration:
devmap integrate cursor --dry-run
devmap integrate cursor
devmap integrate cursor --checkUse the integration guide for supported host names, user-level settings, trust requirements and optional Go-host MCP setup. Skills provide instructions; they do not enforce tool permissions.
Choose the project’s actual build/test commands from its manifests and CI. Review the diff, execute the relevant checks and record what passed, failed or could not run. Refresh the map after structural edits.
For a task already present in .devcouncil/state.sqlite, a participating agent
can check out a lease, implement the declared scope, ask for verification,
repair identified gaps, then release the lease. That workflow is driven by the
agent or consuming harness, not by an autonomous execution loop in DevCouncil.
# TASK-001 must exist; use explicit enforcement for a strict verification run.
devcouncil verify TASK-001 --mode enforce --jsonThe Go host runs scope/expected-command checks and invokes dcverify for rigor.
Inspect skipped reasons, gate mode and coverage metadata. Supplying a coverage
profile through CLI --coverage PATH enables changed-line coverage evaluation;
the MCP verify tool does not take a profile.
A lease coordinates cooperating clients; a release is not itself a successful
verification. The host’s --sandbox flag does not isolate commands. The
task loop contract explains those boundaries and repair signals.
Record the source revision or working-tree scope, changed files, commands run, results and remaining limitations. Keep static graph evidence distinct from executed tests and physical editor/platform qualification. Provider routing, agent execution and multi-turn automation belong to the consuming harness; see architecture and project status.
Nothing enforces a gate on git push, so the gate is a rule: run
npm run ci:local from the repository root before pushing to main. It runs the
script tests, the release-identity gates, the workflow lint, the npm package
checks, gofmt with the toolchain go.mod declares, the Go host and
orchestrator tests against the Gusset engine, and rust/verify.sh --quick. A
step that cannot run is reported as NOT RUN or fails; it is never counted as a
pass, and the final line lists every NOT RUN step. For Rust changes also run
cargo fmt --all -- --check and the clippy command from
.github/workflows/rust.yml in rust/.
ci:local and rust/verify.sh need the Gusset sibling at ../gusset at the
revision pinned in .github/actions/setup-gusset/action.yml, and fail on any
other revision (rust/gusset-engine/check-pin.sh).
- Every workflow is green on the release commit: CI, analysis components, devmap (Rust), CodeQL.
npm run ci:localpasses. The release-tag step is NOT RUN until the tag exists; create the tag at the release commit, then rerun it: it passes only when the local tag is at HEAD and fails for a tag at any other commit.docs/releases/<tag>.mdnames the schema numbers at the release commit (store, extraction, workbench) and the work since the previous notes.- Only the owner creates and pushes the tag and the GitHub Release.
- Rust: edit
channelin the rootrust-toolchain.tomland nothing else names a version exceptrust-version(rust/Cargo.tomlandrust/dc-sparse-encode/Cargo.toml), which moves to the same minor. Runcargo fmt --all -- --checkand clippy with-D warningsfor both package sets in.github/workflows/rust.ymlandanalysis-plane.yml, fix what the new release flags, and commit the bump on its own so a red CI points at it. - Go: edit
toolchaininbackend/go_orchestrator/go.mod(CI'ssetup-goreads it) and rungovulncheck ./...with it. Thegoline is the floor consumers need; raise it only for a language or library need. - Gusset: move the
refin.github/actions/setup-gusset/action.ymlin the same change as the code that needs it, and rebuildrust/gusset-enginewith--locked.