devcouncil 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +144 -308
  2. package/bin/devcouncil.js +130 -32
  3. package/package.json +22 -19
  4. package/pyproject.toml +0 -66
  5. package/src/devcouncil/__init__.py +0 -0
  6. package/src/devcouncil/__main__.py +0 -4
  7. package/src/devcouncil/app/__init__.py +0 -28
  8. package/src/devcouncil/app/config.py +0 -320
  9. package/src/devcouncil/app/errors.py +0 -23
  10. package/src/devcouncil/app/events.py +0 -44
  11. package/src/devcouncil/app/orchestrator.py +0 -92
  12. package/src/devcouncil/app/project_status.py +0 -29
  13. package/src/devcouncil/app/run_context.py +0 -39
  14. package/src/devcouncil/app/state_machine.py +0 -108
  15. package/src/devcouncil/artifacts/__init__.py +0 -1
  16. package/src/devcouncil/artifacts/coverage.py +0 -96
  17. package/src/devcouncil/artifacts/graph.py +0 -163
  18. package/src/devcouncil/artifacts/migrations.py +0 -20
  19. package/src/devcouncil/artifacts/schemas.py +0 -23
  20. package/src/devcouncil/artifacts/serializer.py +0 -21
  21. package/src/devcouncil/artifacts/validators.py +0 -27
  22. package/src/devcouncil/assets/__init__.py +0 -1
  23. package/src/devcouncil/assets/devcouncil-logo.svg +0 -60
  24. package/src/devcouncil/assets/devcouncil_logo_premium.png +0 -0
  25. package/src/devcouncil/cli/__init__.py +0 -0
  26. package/src/devcouncil/cli/commands/__init__.py +0 -0
  27. package/src/devcouncil/cli/commands/agents.py +0 -292
  28. package/src/devcouncil/cli/commands/artifacts.py +0 -54
  29. package/src/devcouncil/cli/commands/ast.py +0 -22
  30. package/src/devcouncil/cli/commands/baseline.py +0 -35
  31. package/src/devcouncil/cli/commands/check.py +0 -209
  32. package/src/devcouncil/cli/commands/config.py +0 -115
  33. package/src/devcouncil/cli/commands/cost.py +0 -57
  34. package/src/devcouncil/cli/commands/dashboard.py +0 -31
  35. package/src/devcouncil/cli/commands/doctor.py +0 -340
  36. package/src/devcouncil/cli/commands/evidence.py +0 -48
  37. package/src/devcouncil/cli/commands/go.py +0 -656
  38. package/src/devcouncil/cli/commands/handoff.py +0 -69
  39. package/src/devcouncil/cli/commands/hook.py +0 -237
  40. package/src/devcouncil/cli/commands/init.py +0 -289
  41. package/src/devcouncil/cli/commands/integrate.py +0 -1515
  42. package/src/devcouncil/cli/commands/lsp.py +0 -20
  43. package/src/devcouncil/cli/commands/map.py +0 -112
  44. package/src/devcouncil/cli/commands/mcp_server.py +0 -18
  45. package/src/devcouncil/cli/commands/plan.py +0 -488
  46. package/src/devcouncil/cli/commands/prompt.py +0 -61
  47. package/src/devcouncil/cli/commands/repair.py +0 -89
  48. package/src/devcouncil/cli/commands/report.py +0 -137
  49. package/src/devcouncil/cli/commands/reset_demo_state.py +0 -33
  50. package/src/devcouncil/cli/commands/rollback.py +0 -59
  51. package/src/devcouncil/cli/commands/run.py +0 -289
  52. package/src/devcouncil/cli/commands/runs.py +0 -223
  53. package/src/devcouncil/cli/commands/scaffold.py +0 -32
  54. package/src/devcouncil/cli/commands/semantic.py +0 -47
  55. package/src/devcouncil/cli/commands/setup.py +0 -362
  56. package/src/devcouncil/cli/commands/shell.py +0 -73
  57. package/src/devcouncil/cli/commands/show.py +0 -76
  58. package/src/devcouncil/cli/commands/skills.py +0 -88
  59. package/src/devcouncil/cli/commands/status.py +0 -141
  60. package/src/devcouncil/cli/commands/tasks.py +0 -55
  61. package/src/devcouncil/cli/commands/trace.py +0 -88
  62. package/src/devcouncil/cli/commands/verify.py +0 -328
  63. package/src/devcouncil/cli/commands/version.py +0 -20
  64. package/src/devcouncil/cli/commands/watch.py +0 -574
  65. package/src/devcouncil/cli/commands/watch_fs.py +0 -40
  66. package/src/devcouncil/cli/main.py +0 -137
  67. package/src/devcouncil/council/__init__.py +0 -0
  68. package/src/devcouncil/council/prompts/__init__.py +0 -0
  69. package/src/devcouncil/council/prompts/arbiter.md +0 -19
  70. package/src/devcouncil/council/prompts/critic_a.md +0 -10
  71. package/src/devcouncil/council/prompts/critic_b.md +0 -10
  72. package/src/devcouncil/council/prompts/implementation_reviewer.md +0 -16
  73. package/src/devcouncil/council/prompts/planner_a.md +0 -16
  74. package/src/devcouncil/council/prompts/planner_b.md +0 -16
  75. package/src/devcouncil/council/prompts/rebuttal.md +0 -10
  76. package/src/devcouncil/council/prompts/spec_writer.md +0 -12
  77. package/src/devcouncil/domain/__init__.py +0 -0
  78. package/src/devcouncil/domain/assumption.py +0 -17
  79. package/src/devcouncil/domain/critique.py +0 -32
  80. package/src/devcouncil/domain/evidence.py +0 -47
  81. package/src/devcouncil/domain/gap.py +0 -52
  82. package/src/devcouncil/domain/requirement.py +0 -22
  83. package/src/devcouncil/domain/task.py +0 -55
  84. package/src/devcouncil/execution/__init__.py +0 -1
  85. package/src/devcouncil/execution/checkpoints.py +0 -246
  86. package/src/devcouncil/execution/context_builder.py +0 -60
  87. package/src/devcouncil/execution/executor.py +0 -15
  88. package/src/devcouncil/execution/fs_watcher.py +0 -180
  89. package/src/devcouncil/execution/handoff.py +0 -102
  90. package/src/devcouncil/execution/hook_policy.py +0 -253
  91. package/src/devcouncil/execution/patch.py +0 -77
  92. package/src/devcouncil/execution/paths.py +0 -14
  93. package/src/devcouncil/execution/permissions.py +0 -85
  94. package/src/devcouncil/execution/policy_engine.py +0 -343
  95. package/src/devcouncil/execution/prompt_builder.py +0 -671
  96. package/src/devcouncil/execution/shell_session.py +0 -225
  97. package/src/devcouncil/execution/task_runner.py +0 -170
  98. package/src/devcouncil/executors/__init__.py +0 -1
  99. package/src/devcouncil/executors/agent_registry.py +0 -575
  100. package/src/devcouncil/executors/coding_cli.py +0 -736
  101. package/src/devcouncil/executors/mini_swe.py +0 -73
  102. package/src/devcouncil/executors/native/__init__.py +0 -0
  103. package/src/devcouncil/executors/native/agent.py +0 -208
  104. package/src/devcouncil/executors/openhands.py +0 -71
  105. package/src/devcouncil/gating/__init__.py +0 -1
  106. package/src/devcouncil/gating/checks/__init__.py +0 -0
  107. package/src/devcouncil/gating/checks/clean_git.py +0 -52
  108. package/src/devcouncil/gating/checks/planned_files_check.py +0 -32
  109. package/src/devcouncil/gating/checks/requirement_coverage.py +0 -26
  110. package/src/devcouncil/gating/checks/secret_scan_check.py +0 -53
  111. package/src/devcouncil/gating/policy.py +0 -338
  112. package/src/devcouncil/hardware.py +0 -184
  113. package/src/devcouncil/indexing/__init__.py +0 -1
  114. package/src/devcouncil/indexing/ast_matcher.py +0 -168
  115. package/src/devcouncil/indexing/graph_index.py +0 -48
  116. package/src/devcouncil/indexing/lsp.py +0 -161
  117. package/src/devcouncil/indexing/repo_mapper.py +0 -1455
  118. package/src/devcouncil/indexing/semantic_index.py +0 -205
  119. package/src/devcouncil/integrations/actions.py +0 -146
  120. package/src/devcouncil/integrations/check.py +0 -423
  121. package/src/devcouncil/integrations/code_review_graph.py +0 -163
  122. package/src/devcouncil/integrations/github.py +0 -39
  123. package/src/devcouncil/integrations/github_intent.py +0 -142
  124. package/src/devcouncil/integrations/gitnexus.py +0 -62
  125. package/src/devcouncil/integrations/graphify.py +0 -34
  126. package/src/devcouncil/integrations/mcp/__init__.py +0 -0
  127. package/src/devcouncil/integrations/mcp/server.py +0 -2122
  128. package/src/devcouncil/integrations/opencode_devcouncil_plugin.mjs +0 -24
  129. package/src/devcouncil/integrations/pr_comments.py +0 -62
  130. package/src/devcouncil/live/__init__.py +0 -2
  131. package/src/devcouncil/live/cards.py +0 -349
  132. package/src/devcouncil/live/models.py +0 -63
  133. package/src/devcouncil/live/repair_prompt.py +0 -83
  134. package/src/devcouncil/live/reviewer.py +0 -70
  135. package/src/devcouncil/live/signals.py +0 -135
  136. package/src/devcouncil/live/summary.py +0 -34
  137. package/src/devcouncil/live/tasks.py +0 -18
  138. package/src/devcouncil/live/transcripts.py +0 -141
  139. package/src/devcouncil/llm/__init__.py +0 -1
  140. package/src/devcouncil/llm/cache.py +0 -42
  141. package/src/devcouncil/llm/model_defaults.yaml +0 -44
  142. package/src/devcouncil/llm/provider.py +0 -627
  143. package/src/devcouncil/llm/router.py +0 -310
  144. package/src/devcouncil/optimization/__init__.py +0 -1
  145. package/src/devcouncil/optimization/gepa_agent.py +0 -318
  146. package/src/devcouncil/planning/__init__.py +0 -1
  147. package/src/devcouncil/planning/arbiter_service.py +0 -57
  148. package/src/devcouncil/planning/correction_manifest.py +0 -303
  149. package/src/devcouncil/planning/critique_service.py +0 -71
  150. package/src/devcouncil/planning/plan_service.py +0 -60
  151. package/src/devcouncil/planning/prompt_enhancer_service.py +0 -167
  152. package/src/devcouncil/planning/repair_service.py +0 -39
  153. package/src/devcouncil/planning/spec_service.py +0 -70
  154. package/src/devcouncil/repo/__init__.py +0 -0
  155. package/src/devcouncil/repo/ci_scaffold.py +0 -157
  156. package/src/devcouncil/repo/gitignore.py +0 -123
  157. package/src/devcouncil/repo/sca.py +0 -374
  158. package/src/devcouncil/reporting/__init__.py +0 -0
  159. package/src/devcouncil/reporting/github_check.py +0 -32
  160. package/src/devcouncil/reporting/json_report.py +0 -30
  161. package/src/devcouncil/reporting/markdown_report.py +0 -83
  162. package/src/devcouncil/reporting/report_builder.py +0 -14
  163. package/src/devcouncil/skills/__init__.py +0 -19
  164. package/src/devcouncil/skills/library/README.md +0 -46
  165. package/src/devcouncil/skills/library/ai-training.md +0 -50
  166. package/src/devcouncil/skills/library/android.md +0 -50
  167. package/src/devcouncil/skills/library/backend.md +0 -52
  168. package/src/devcouncil/skills/library/core-engineering.md +0 -95
  169. package/src/devcouncil/skills/library/data-engineering.md +0 -47
  170. package/src/devcouncil/skills/library/desktop.md +0 -46
  171. package/src/devcouncil/skills/library/devops.md +0 -48
  172. package/src/devcouncil/skills/library/game-dev.md +0 -46
  173. package/src/devcouncil/skills/library/ios.md +0 -48
  174. package/src/devcouncil/skills/library/mobile-cross-platform.md +0 -46
  175. package/src/devcouncil/skills/library/security.md +0 -48
  176. package/src/devcouncil/skills/library/systems.md +0 -48
  177. package/src/devcouncil/skills/library/web.md +0 -47
  178. package/src/devcouncil/skills/library/windows.md +0 -47
  179. package/src/devcouncil/skills/registry.py +0 -330
  180. package/src/devcouncil/storage/__init__.py +0 -0
  181. package/src/devcouncil/storage/db.py +0 -147
  182. package/src/devcouncil/storage/models.py +0 -204
  183. package/src/devcouncil/storage/native.py +0 -557
  184. package/src/devcouncil/storage/repositories.py +0 -485
  185. package/src/devcouncil/telemetry/__init__.py +0 -0
  186. package/src/devcouncil/telemetry/cost.py +0 -140
  187. package/src/devcouncil/telemetry/model_pricing.yaml +0 -48
  188. package/src/devcouncil/telemetry/pricing.py +0 -28
  189. package/src/devcouncil/telemetry/traces.py +0 -146
  190. package/src/devcouncil/telemetry/tracker.py +0 -52
  191. package/src/devcouncil/ui/__init__.py +0 -1
  192. package/src/devcouncil/ui/dashboard.py +0 -423
  193. package/src/devcouncil/utils/__init__.py +0 -1
  194. package/src/devcouncil/utils/redaction.py +0 -147
  195. package/src/devcouncil/utils/subprocess_env.py +0 -69
  196. package/src/devcouncil/verification/__init__.py +0 -1
  197. package/src/devcouncil/verification/acceptance_compiler.py +0 -125
  198. package/src/devcouncil/verification/ad_hoc_check.py +0 -129
  199. package/src/devcouncil/verification/diff_coverage.py +0 -353
  200. package/src/devcouncil/verification/implementation_reviewer.py +0 -55
  201. package/src/devcouncil/verification/next_actions.py +0 -189
  202. package/src/devcouncil/verification/sandbox.py +0 -178
  203. package/src/devcouncil/verification/test_resolver.py +0 -91
  204. package/src/devcouncil/verification/verifier.py +0 -1548
  205. package/uv.lock +0 -1226
package/README.md CHANGED
@@ -1,346 +1,182 @@
1
- # DevCouncil: The Gated AI Orchestrator
1
+ # DevCouncil
2
2
 
3
- <p align="center">
4
- <img src="https://raw.githubusercontent.com/bharathvbcr/DevCouncil/main/src/devcouncil/assets/devcouncil_logo_premium.png" alt="DevCouncil Logo" width="300">
5
- </p>
3
+ Code intelligence and verification components for AI development.
6
4
 
5
+ [![Website](https://img.shields.io/badge/website-devcouncil.vbcr.dev-10B981?style=flat&logo=safari&logoColor=white)](https://devcouncil.vbcr.dev/)
6
+ [![CI](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml/badge.svg)](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml)
7
+ [![npm version](https://img.shields.io/npm/v/devcouncil)](https://www.npmjs.com/package/devcouncil)
7
8
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
8
- [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
9
- [![uv](https://img.shields.io/badge/managed%20by-uv-purple.svg)](https://github.com/astral-sh/uv)
10
-
11
- **"DevCouncil should not merely generate code. It should make AI-generated work prove that it satisfied the original intent."**
12
-
13
- DevCouncil is a high-integrity command-line orchestration platform for AI-assisted software development. It turns AI implementation from a black-box generation task into a gated engineering workflow where every change is authorized, verified, and traceable back to a requirement.
14
-
15
- DevCouncil does not replace coding agents. It sits beside tools like Codex CLI, Gemini CLI, Claude Code, OpenCode, Google Antigravity CLI, Warp/Oz, Cursor, Aider, and bring-your-own prompt-taking CLIs, then owns the plan, task scope, verification loop, repair prompts, and evidence trail.
16
-
17
- ## Documentation
18
-
19
- - [Quickstart](docs/quickstart.md): shortest install-to-first-task path.
20
- - [Daily workflow](docs/workflow.md): manual sidecar loop, verification, repair, and rollback.
21
- - [Coding CLI integration](docs/coding-cli-integration.md): Codex, Gemini, Claude Code, OpenCode, Antigravity, Cursor, Aider, MCP, hooks, and automated executors.
22
- - [Integration tiers](docs/integration-tiers.md): headless executor vs MCP-only vs sidecar definitions.
23
- - [CLI command reference](docs/cli-reference.md): available `dev` commands.
24
- - [Architecture](docs/architecture.md): components, artifact graph, state machine, and gated execution.
25
- - [Executor adapters](docs/executor-adapters.md): manual, coding CLI, native-preview, Mini-SWE, and OpenHands execution paths.
26
- - [Live review](docs/live-review.md): `dev watch` session review, cards, signals, and blocking behavior.
27
- - [Model routing](docs/model-routing.md): provider selection, role models, OpenRouter, Vertex AI, Doubleword, and Ollama (local) setup.
28
- - [Security model](docs/security.md): redaction, permissions, allowlists, and local state.
29
- - [Project status](docs/project-status.md): current maturity by subsystem.
30
- - [Roadmap](docs/roadmap.md): planned work.
31
-
32
- ## Why DevCouncil Exists
33
-
34
- Standard AI coding agents are good at producing the happy path, but they often fail in expensive ways when complexity grows:
35
-
36
- - **Requirement omission:** agents lose track of original product or PRD constraints across chat turns.
37
- - **Architecture drift:** agents add dependencies or change design patterns without explicit authorization.
38
- - **Unverified success:** agents claim tests passed without proving that the new logic was exercised.
39
- - **Hidden assumptions:** important decisions stay buried in transient chat history instead of durable project artifacts.
40
-
41
- **DevCouncil makes evidence, not model confidence, the final authority.**
42
-
43
- It creates a persistent **Requirement -> Task -> Diff -> Evidence** graph, blocks completion when evidence is missing, detects unauthorized changes, and produces a final report that can be reviewed like an engineering artifact.
44
-
45
- ## Quickstart
46
-
47
- Run DevCouncil commands in a normal terminal from the root of the repository you want DevCouncil to manage. Do not run these commands inside a coding CLI chat.
48
9
 
49
- Install `uv` first if it is missing:
50
-
51
- ```powershell
52
- powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
53
- ```
54
-
55
- On macOS or Linux:
56
-
57
- ```bash
58
- curl -LsSf https://astral.sh/uv/install.sh | sh
59
- ```
60
-
61
- Install DevCouncil from npm:
62
-
63
- ```bash
64
- npm install -g devcouncil
65
- devcouncil --help
66
- dev --help
67
- ```
10
+ <p align="center">
11
+ <a href="https://devcouncil.vbcr.dev/"><strong>Explore the Interactive Architecture &amp; Code Graph Showcase (devcouncil.vbcr.dev) &rarr;</strong></a>
12
+ </p>
68
13
 
69
- Start the first gated workflow from your target repository:
14
+ > **"DevCouncil should not merely generate code. It should make AI-generated work prove that it satisfied the original intent."**
15
+ > *Evidence, not model confidence, is the final authority.*
70
16
 
71
- ```bash
72
- cd path/to/your/project
73
- dev setup
74
- dev plan "Describe the implementation goal"
75
- dev tasks
76
- dev run TASK-001 --executor manual
77
- dev prompt TASK-001
78
- dev verify TASK-001
79
- ```
17
+ DevCouncil is **components and modules** for AI-assisted software development. It ships independently installable binaries and libraries — code intelligence (`devmap`), task and lease state (`dcstore`), deterministic verification (`dcverify`), ignore-aware search (`dcgrep`), and a Go host (`devcouncil` / `dev`) — so a harness or an app can take only the pieces it needs and update them one at a time.
80
18
 
81
- On a fresh interactive setup, DevCouncil can configure supported coding CLI integrations immediately; pass `--skip-integrations` if you want to defer that step.
19
+ See [repository input and verification boundaries](docs/SECURITY_BOUNDARIES.md)
20
+ for executable selection, filesystem protections, resource limits, and the
21
+ difference between unavailable evidence and a passing check.
82
22
 
83
- ### Run locally on macOS (Apple Silicon + Ollama)
23
+ **Manvi wraps these components** into a coding-agent harness (turn loop, providers, policy, TUI, `manvi serve`). **GitPulse** uses Manvi for policy, workbench, and agent hosting, and DevCouncil components for code intelligence and related analysis. DevCouncil does not replace coding agents; it sits beside Claude Code, Codex, Cursor, and others as selectable modules.
84
24
 
85
- DevCouncil runs fully offline against [Ollama](https://ollama.com) — no API key, no per-token cost. It is Apple-Silicon-aware: `dev setup --provider ollama` sizes the default local model to your Mac's unified memory, and `dev doctor` reports the chip/RAM, pings the Ollama server, and flags a too-small context window.
25
+ ---
86
26
 
87
- ```bash
88
- brew install ollama && ollama serve
89
- ollama pull qwen2.5-coder:32b # use the size `dev doctor` recommends for your RAM
90
- export OLLAMA_NUM_CTX=16384 # large planning prompts need a raised context window
91
- dev setup --provider ollama # auto-selects the model for your RAM
92
- ```
27
+ ## Architecture & Components
93
28
 
94
- See [Model routing macOS / Apple Silicon](docs/model-routing.md) for the RAM-to-model table.
29
+ DevCouncil's core runtime is a set of standalone, compiled native modules. Each binary is useful on its own, sits on `PATH`, and can be spawned or linked by a host that wants that one job:
95
30
 
96
- Paste only the output from `dev prompt TASK-001` into Codex, Gemini, Claude Code, OpenCode, Antigravity, Warp, Cursor, Aider, or another coding tool. Keep `dev setup`, `dev plan`, `dev run`, and `dev verify` in the terminal at the repository root.
31
+ | Binary | Language | Role & Ownership |
32
+ |--------|----------|------------------|
33
+ | `devcouncil` / `dev` | **Go** | Host orchestrator: Stdio MCP server (`mcp`), multi-host agent integration (`integrate`), engineering skills distribution (`skills`), task verification (`verify`), and devmap forwarding (`map`, `graph`, `ast`). |
34
+ | `devmap` | **Rust** | Code intelligence engine: Language-aware tree-sitter extraction and explicit fallback/coverage reporting, symbol resolution, blast-radius calculation, dead-code analysis, workspace guides (`AGENTS.md`), and DevMap MCP server (`devmap mcp`). |
35
+ | `dcstore` | **Rust** | State & lease store: SQLite-backed task repository, mutual-exclusion leases for concurrent agent building, evidence records, and gap tracking. |
36
+ | `dcverify` | **Rust** | Deterministic verification: Unified-diff parsing, planned file scope classification, anti-laziness/stub gates, test coverage evaluation, and typed `next_actions` repair signals. |
37
+ | `dcgrep` | **Rust** | Code search: Ripgrep-powered ignore-aware search engine with optional trigram indexing (`tgrep-core`). |
97
38
 
98
- For an automated end-to-end run with a supported coding CLI installed:
39
+ ### How hosts consume the modules
99
40
 
100
- ```bash
101
- dev e2e "Describe the implementation goal" --executor codex
102
- dev e2e "Describe the implementation goal" --executor antigravity
103
- dev e2e "Describe the implementation goal" --executor warp
104
- dev go "Describe the implementation goal" --executor codex
105
- ```
41
+ - **Manvi** wraps the components: it drives the agent loop, provider routing, policy ladder, and TUI, and reaches each binary over JSON on stdio. A host that wants a harness embeds Manvi rather than reimplementing it.
42
+ - **GitPulse** uses both for their respective jobs: Manvi (`manvi serve`) for policy, workbench, and agent hosting; selected DevCouncil crates and the `devmap` CLI for in-process code intelligence. It does not have to take every module.
43
+ - **Other apps** pick the same way `devmap` alone, `dcverify` alone, the Go host MCP, or the full set. Updating one module does not require shipping the rest.
106
44
 
107
- `dev e2e` is the explicit one-command integration target for coding agents. It initializes local DevCouncil state if needed, plans the goal, runs each approved task through the selected executor, verifies the resulting diff, and prints the final report. If `--executor` is omitted, DevCouncil uses `execution.default_executor` from `.devcouncil/config.yaml`. `dev go` is kept as a shorter alias for the same flow.
45
+ > [!NOTE]
46
+ > DevCouncil is built entirely as native compiled Go and Rust binaries; legacy Python orchestration has been retired (see [docs/PHASE7_LONG_TAIL.md](docs/PHASE7_LONG_TAIL.md)).
108
47
 
109
- For machine-readable agent handoff, write the final report to a stable file:
48
+ ---
110
49
 
111
- ```bash
112
- dev e2e "Describe the implementation goal" --executor codex --agent
113
- dev e2e "Describe the implementation goal" --executor codex --json --report-file .devcouncil/reports/latest.json
114
- ```
50
+ ## Benchmarks: DevMap vs Graphify, Gortex, GitNexus, CodeGraph, and codebase-memory-mcp
51
+
52
+ Six code-graph tools plus a ripgrep text baseline, measured on **four
53
+ repositories** (595 to 4,335 files, mixing Rust, Go, TypeScript, Python and
54
+ Swift) on one Apple M5 Pro. Every timing is a minimum or median from a
55
+ reproducible run with the raw evidence committed beside it — not a marketing
56
+ estimate. Head-to-head breakdown:
57
+ **[DevMap vs GitNexus, CodeGraph, Graphify, Gortex, and codebase-memory-mcp](docs/devmap/comparison.md)**.
58
+ Full method, caveats, and raw output:
59
+ **[benchmark report](benchmarks/results/competition/20260914-v0.2.2/REPORT.md)**.
60
+
61
+ **DevMap 0.2.2 was fastest on most of what was measured:** cold indexing and
62
+ unchanged refresh on **all four repositories**, the lowest median in **all six
63
+ symbol-query cells**, and **5/5** source-inspected caller pairs — matched only
64
+ by codebase-memory-mcp.
65
+
66
+ Detailed table on the 1,098-file DevCouncil corpus, where the correctness and
67
+ query campaign also ran:
68
+
69
+ | Tool | Cold index | Unchanged refresh | Single-file edit | Definition lookup | Peak RSS | Caller pairs found |
70
+ |---|---:|---:|---:|---:|---:|---:|
71
+ | **DevMap 0.2.2** | **2.012 s** | **0.089 s** | 0.816 s | **9.7 ms** | **678 MiB** | **5/5** |
72
+ | CodeGraph 1.6.0 | 3.294 s | 0.235 s | **0.512 s** | 101–106 ms | 2430 MiB | 3/5 |
73
+ | codebase-memory-mcp 0.10.8 | 9.357 s | 5.726 s | 8.894 s | ~3.94 s | — | **5/5** |
74
+ | Graphify 0.9.59 | 14.989 s | 5.080 s | 4.883 s | 557–572 ms | 3417 MiB | 3/5 |
75
+ | GitNexus 1.6.9 | 33.689 s | 0.699 s | 31.841 s | 792–808 ms | 3355 MiB | 3/5 |
76
+ | Gortex 0.64.3 | 16.5 s to query-ready | — | — | 92–104 ms | — | 4/5 |
77
+
78
+ **Where DevMap won.** Fastest cold index on all four corpora (**1.6–21×** the
79
+ competitors' time) and fastest unchanged refresh on all four (**2.2–107×**).
80
+ Lowest median in all six query cells — definition lookups at 9.7 ms, **~10×
81
+ faster than CodeGraph** and **~82× faster than GitNexus**. Lowest sampled peak
82
+ memory on three of four corpora. All five source-inspected caller pairs, and a
83
+ clean result on both index-staleness probes.
84
+
85
+ **Where DevMap lost.** CodeGraph re-indexes a single edited file faster **on
86
+ every corpus** — DevMap takes 1.08× its time on the smallest and **3.61×** on
87
+ GitPulse. That is the one stage where a competitor is consistently ahead.
88
+ DevMap's store is 1.6–2.0× CodeGraph's and 2.8–4.7× Graphify's, and Graphify
89
+ used **less memory than DevMap on the largest repository** (1,458 MB vs
90
+ 1,725 MB). Against v0.2.1, unchanged refresh regressed ~12% on the smallest
91
+ corpus.
92
+
93
+ **What these numbers are not.** Four repositories, one machine, three-to-five
94
+ repetitions, three symbols, and five inspected caller pairs. They do not
95
+ establish general graph accuracy, persistent-MCP latency, or coding-agent task
96
+ success. Tool output scopes differ, so equal latency is not equal analysis.
97
+ DevMap itself reports 106,217 unexplained call-attribution sites on this corpus.
98
+ The report states every limit explicitly and keeps the failures in — including
99
+ GitNexus serving a deleted symbol through two ordinary refreshes until a forced
100
+ rebuild.
115
101
 
116
- `--agent` enables JSON output and writes `.devcouncil/reports/latest.json`. Fresh projects default to manual sidecar mode, so pass an automated executor or set `execution.default_executor` before using `dev e2e` without `--executor`.
102
+ ---
117
103
 
118
- See the full [quickstart](docs/quickstart.md) for installation variants, API-key setup, and first-run guidance.
104
+ ## Get started
119
105
 
120
- OpenCode and Google Antigravity CLI are built-in executors and MCP integrations:
106
+ Build just DevMap from source, then map a project:
121
107
 
122
108
  ```bash
123
- dev integrate opencode --apply
124
- dev run TASK-001 --executor opencode
125
- dev agents run TASK-001 --agent opencode --profile default
126
- dev integrate antigravity --apply
127
- dev run TASK-001 --executor antigravity
128
- dev agents run TASK-001 --agent agy --profile default
109
+ git clone https://github.com/bharathvbcr/DevCouncil.git
110
+ cd DevCouncil
111
+ bash scripts/install.sh --only=devmap
112
+ export PATH="$HOME/.local/bin:$PATH"
113
+
114
+ cd /path/to/your/project
115
+ devmap build --manifest --guides
116
+ devmap paths --json
117
+ devmap status --json
118
+ devmap explore MyFunction --json
129
119
  ```
130
120
 
131
- Register any other local CLI that accepts prompts. `dev agents` is the first-class agent hub; `dev integrate cli-agent` remains available for older scripts:
121
+ Git and Rust/Cargo are required. To include the Go host and full analysis suite,
122
+ run `bash scripts/install.sh`; the host needs the toolchain declared in
123
+ [`go.mod`](backend/go_orchestrator/go.mod), currently Go 1.26.6. On Windows use
124
+ `.\scripts\install.ps1 -Components devmap`, or omit `-Components` for the suite.
125
+ The npm package is a lightweight launcher for native binaries, not a bundled
126
+ runtime. [Complete installation guide](docs/quickstart.md).
132
127
 
133
- ```bash
134
- dev agents add myagent --command myagent --arg run --input-mode prompt-file --prompt-arg=--prompt-file --supports-mcp
135
- dev agents
136
- dev agents doctor
137
- dev agents run TASK-001 --agent myagent --profile default
138
- ```
128
+ Use the paths returned by `devmap paths`: new repositories default to `.devmap`,
129
+ existing `.devcouncil` layouts remain supported, and explicit configuration can
130
+ override either. `--guides` requests managed workspace guides separately from
131
+ the map export. Check freshness, coverage gaps and result truncation before
132
+ using graph answers as evidence. If first-time guide creation leaves status
133
+ stale, run `devmap build --manifest` once more to index the new guides.
139
134
 
140
- GEPA prompt-profile optimization is available for the agent hub:
135
+ ## Connect an agent
141
136
 
142
137
  ```bash
143
- dev agents optimize --agent codex --profile yolo --evals .devcouncil/evals/agent-profile.jsonl --dry-run
144
- dev agents optimize --agent codex --profile yolo --evals .devcouncil/evals/agent-profile.jsonl --apply
145
- ```
146
-
147
- ## Feature Set
148
-
149
- DevCouncil is an application layer around coding agents. It does not just emit prompts; it owns the workflow state, validates task scope, records evidence, and produces release-style reports.
150
-
151
- ### Workflow Features
152
-
153
- - **Repository onboarding:** `dev setup` initializes `.devcouncil/`, generates the repo map + `AGENTS.md`/`CLAUDE.md` guides, scaffolds applicable engineering skills, runs environment checks, offers integration setup, and prints the next useful commands. Use `--skip-map` / `--skip-skills` to opt out, or `--scaffold-ci` to also write a starter GitHub Actions workflow.
154
- - **Repository mapping:** `dev map` writes `.devcouncil/repo_map.json`, identifies important files and subsystems, filters generated/temp files, and keeps managed `AGENTS.md` / `CLAUDE.md` workspace guides synchronized. Subsystems, entry points, neighbors, and important surfaces are now inferred generically for **any** repository — grouped from the directory tree and ranked by an import-graph in-degree — so the map (and the structural context it feeds into prompts) is meaningful outside DevCouncil's own tree, not just within it. The map records the git HEAD and tracked-file fingerprint it was built from; when prompts reuse a map that has fallen behind the current code, they flag it as stale (run `dev map` to refresh) rather than silently feeding wrong structure. The map is also generated automatically on first init.
155
- - **Engineering skills:** `dev skills` lists the bundled skills and shows which apply to the repository; `dev skills scaffold` writes them into `.claude/skills/<name>/SKILL.md`. A merged always-on `core-engineering` skill (think-before-coding, simplicity, surgical changes, goal-driven execution, evidence-grounded communication) plus domain skills (Android, iOS, Windows, web, AI training) that brief the agent on current SDKs, deprecations, and tooling before coding. Applicable skills are also embedded into `dev prompt` output.
156
- - **CI scaffolding:** `dev scaffold-ci` writes a starter `.github/workflows/devcouncil.yml` derived from the configured test/lint/typecheck commands, filtered to the detected language stack; it never overwrites existing CI unless `--force`.
157
- - **Planning council:** `dev plan` turns a goal into requirements, acceptance criteria, assumptions, critique findings, and executable tasks.
158
- - **Task graph:** `dev tasks` and `dev show TASK-001` expose requirement links, acceptance-criterion links, planned files, expected tests, allowed commands, forbidden changes, dependencies, and status. Tasks can declare `depends_on`; the plan gate rejects unknown dependencies and cycles, and `dev go`/`dev e2e` run tasks in topological order and skip a task whose prerequisites didn't complete (rather than letting it fail spuriously and burn its repair budget).
159
- - **Scoped task prompts:** `dev prompt TASK-001` creates a constrained implementation prompt for sidecar agents, including file scope, verification expectations, and forbidden changes. The prompt now embeds the current (secret-redacted) contents of each planned file with a top-level symbol outline, structural orientation (from the code-review graph when available, otherwise the generated `repo_map.json`), and a **dependents (blast-radius) list** — the files that import each file being changed, from the map's precomputed reverse-import index — so the agent edits in place and keeps call sites working instead of starting blind. A central prompt budget keeps the core (goal/scope/instructions) always present and fits the optional context sections in priority order (file contents > structural > dependents > skills), dropping the lowest-priority ones with an explicit marker rather than overflowing silently.
160
- - **Execution:** `dev run TASK-001` supports manual sidecar mode, built-in coding CLI executors, external executors, and registered custom CLI agents.
161
- - **One-command flow:** `dev e2e "goal"` and `dev go "goal"` can initialize state, plan, run approved tasks, verify the diff, and generate a report. With an automated executor the run is now a **closed loop**: a task that fails verification is re-driven through a bounded self-repair loop (a correction manifest is written and the executor re-run) until it verifies or the `execution.max_repair_attempts` budget is spent, with no-progress detection that stops early when the same blocking gaps reappear.
162
- - **Verification:** `dev verify TASK-001` captures the diff, runs expected evidence commands, checks planned-file compliance, detects orphan changes, flags unplanned dependency edits, scans for secrets, and links evidence to acceptance criteria. An **empty diff can no longer pass** a task that declares files to create or modify (work that committed earlier is still recognized via the task checkpoint), and the result reports the rigor it ran at (`verification_mode` compiled vs coarse, `diff_empty`, `coverage_measured`/`coverage_skipped_reason`) plus a distinct `advisory_actions` list so an agent never mistakes "passed" for "proven." `dev verify` exits non-zero when a task is blocked so shell-driven agents can gate on `$?`.
163
- - **Repair:** `dev repair` converts blocking gaps into focused follow-up work instead of leaving failures as vague test output.
164
- - **Rollback:** `dev rollback TASK-001` uses task checkpoints to revert scoped work when a task needs to be backed out.
165
- - **Reporting:** `dev report` emits a requirements coverage table, evidence summary, blocking gaps, and live-review blockers; JSON and PR-comment paths are available for automation.
166
-
167
- ### App Surfaces
168
-
169
- - **CLI:** `dev` and `devcouncil` expose the same Typer command surface for local terminal workflows.
170
- - **Agent hub:** `dev agents` lists built-in and custom agents, `dev agents add` registers prompt-taking CLIs, `dev agents doctor` checks wiring, `dev agents run` executes a task through a named agent/profile, and `dev agents optimize` uses GEPA to tune profile preambles from offline eval examples.
171
- - **Integration hub:** `dev integrate all --apply` configures supported coding CLI and MCP integrations; targeted setup exists for Codex, Gemini, Claude Code, OpenCode, Antigravity, Cursor, Warp/Oz, hooks, and custom CLI agents. `dev integrate check` now reports each client's **enforcement posture** — `pre-action` (a native hook blocks unauthorized writes before they happen) vs `verify-only` (forbidden changes are caught only after the fact by verification) — so the containment guarantee isn't overstated for clients without a pre-action gate.
172
- - **MCP server:** `dev mcp-server` exposes DevCouncil context and workflow tools over stdio for MCP-capable clients. `devcouncil_verify_task` now runs DevCouncil's strong compiled per-criterion checks when a provider key is configured (falling back to a clearly-labeled `coarse` mode otherwise), refuses to pass on an empty diff, and returns `verification_mode`, `diff_empty`, `coverage_measured`/`coverage_skipped_reason`, and an `advisory_actions` array alongside the blocking `next_actions`. Cheap, re-verify-free read tools — `devcouncil_get_gaps` and `devcouncil_get_next_actions` — let a reconnecting agent resume outstanding work from persisted gaps (which now carry `file`/`line`/`suggested_command`/`acceptance_criterion_id`). Task leases expire on a config-driven TTL so a crashed agent's task frees itself, with `devcouncil_renew_lease` and `devcouncil_list_leases` for long runs and fleet supervision; a partial-unique DB index enforces a single active lease per task, so concurrent checkouts can't both win the writer slot. A pure-MCP agent can now make the change itself through lease-gated write tools — `devcouncil_write_file` and `devcouncil_apply_patch` — which policy-check every target path *before* it lands (out-of-scope, protected, or escaping paths are rejected; a patch with any out-of-scope target is rejected whole, never partially applied), write atomically, and record a `FileChangeEvent` for provenance. The corpus is also browsable as MCP **resources** (`devcouncil://report`, `devcouncil://tasks`, `devcouncil://gaps`, `devcouncil://cards`, `devcouncil://task/{id}`) so a host can read project state without a tool call. `devcouncil_get_task_provenance` then exposes that audit trail — gated file changes, verification runs, diff-coverage evidence, and the latest correction manifest — so what happened on disk is inspectable. The diff↔coverage proof is now also retained across graph reloads (it was previously dropped), so reports and `dev status` reflect whether the changed lines were actually exercised.
173
- - **Live review:** `dev watch` tracks review cards, signals, blocking feedback, and repair guidance while a session is active.
174
- - **Trace viewer:** `dev trace tail --follow` streams local DevCouncil trace events for execution, verification, and agent handoff.
175
- - **Dashboard:** `dev dashboard --open` serves a local status dashboard and opens it in the default browser for project state and live workflow visibility.
176
- - **Agent-consumable CLI:** machine output for shell-driven agents — `dev prompt --json` (`{ok, task_id, prompt}`), `dev handoff --json` (`{ok, manifest_path, run_id, next_command}` to chain `dev run`), `dev verify` exits non-zero when blocked, and `dev status`/`dev report` accept `--fail-on-blocking` to exit non-zero on outstanding blocking gaps so a loop can gate on `$?`.
177
- - **Config editor:** `dev config` and `dev config models` inspect/update provider, model, executor, and command configuration.
178
- - **Artifact tools:** `dev artifacts validate` checks stored graph integrity.
179
- - **Code intelligence:** `dev lsp inspect` checks optional language-server readiness, and `dev ast match` searches code structurally.
180
- - **Doctor:** `dev doctor` validates local dependencies, commands, and environment prerequisites before a workflow fails deeper in execution.
181
-
182
- ### Agent And Executor Support
183
-
184
- DevCouncil works with human-in-the-loop sidecar sessions and automated prompt handoff:
185
-
186
- - **Manual sidecar:** paste `dev prompt TASK-001` into any agent, then run `dev verify TASK-001`.
187
- - **Built-in coding CLI adapters:** `codex`, `gemini`, `claude`, `opencode`, `antigravity`, `warp`, `cursor`, `aider`, and aliases such as `codex-cli`, `gemini-cli`, `claude-code`, `opencode-cli`, `antigravity-cli`, `agy`, `agy-cli`, `warp-cli`, `oz`, `cursor-agent`, and `cursor-cli`.
188
- - **Custom CLI agents:** register any prompt-taking command with stdin, argument, or prompt-file handoff.
189
- - **Execution profiles:** custom agents can use profiles such as `default`, `yolo`, and `prod` to adjust prompt constraints while DevCouncil still verifies the final diff.
190
- - **External automated adapters:** `mini`, `openhands`, `native-preview`, and `native` are available when the corresponding local executor is configured.
191
- - **Hook-aware clients:** `dev integrate hooks --apply` installs write/shell hooks for Codex, Gemini, Claude, Cursor, and OpenCode so DevCouncil policy can block unauthorized actions before verification. The post-task hook can run deterministic verification of the active task and record gaps (enable `execution.verify_on_post_task`; off by default to keep hooks fast). File-write policy uses one shared path normalizer across the hook and task-policy paths that resolves every target and **denies anything outside the project root** (so the path that's checked is the path that's enforced), and the pre-tool-use hook is fail-closed: an unparseable or error payload is surfaced (and blocked under `--strict`/`DEVCOUNCIL_HOOK_STRICT`) rather than silently allowed.
192
-
193
- ### Gates And Evidence
194
-
195
- DevCouncil blocks completion on concrete gaps rather than model confidence:
196
-
197
- - **Plan approval gates:** requirements must have acceptance criteria, acceptance criteria need verification methods, tasks must map to known requirements and acceptance criteria, high-impact assumptions must be resolved, and high/critical critique findings must be closed.
198
- - **Task readiness gates:** the working tree must be clean for the task, planned files must be declared, and each task needs allowed commands plus expected verification evidence.
199
- - **Diff gates:** verification detects files changed outside the planned task scope, dependency-file edits made without authorization, deleted/added files, and untracked file diffs.
200
- - **Evidence gates:** passing evidence commands are linked back to acceptance criteria; missing passing evidence becomes a blocking gap.
201
- - **Security gates:** secret scanning runs over captured diffs, and command output is redacted before it is written to logs.
202
- - **Live-review gates:** unresolved critical review cards can block task verification and appear in reports.
203
-
204
- ### Providers, Models, And Cost Tracking
205
-
206
- - **Providers:** OpenRouter, Vertex AI, Doubleword, and Ollama (local, no key) are supported through local configuration and secrets.
207
- - **Role models:** planner, critic, arbiter, reviewer, and repair roles can share one model or use per-role overrides.
208
- - **Structured repair:** model routing includes JSON repair paths for structured planning and review outputs.
209
- - **Model defaults:** packaged YAML defaults ship with the tool so installed CLI environments do not depend on source-tree-only files.
210
- - **Telemetry:** local trace and cost data feed `dev status`, reports, and dashboard surfaces.
211
-
212
- ### Reports And Automation Outputs
213
-
214
- - **Markdown reports:** include verdict, coverage summary, requirement/task mapping, blocking gaps, and live-review status.
215
- - **JSON reports:** `--json` and `--report-file` support machine-readable handoff to other automation.
216
- - **Agent preset:** `--agent` writes `.devcouncil/reports/latest.json` for stable downstream consumption.
217
- - **PR comments:** `dev report --github-pr-comment` and `dev report --gitlab-pr-comment` can publish verification summaries to pull/merge requests.
218
- - **GitHub checks:** preview GitHub report/check surfaces are available for repository automation.
219
-
220
- ### Local State And Files
221
-
222
- DevCouncil stores local workflow state in the target repository:
223
-
224
- - `.devcouncil/config.yaml`: provider, executor, command, integration, and workflow settings.
225
- - `.devcouncil/secrets.env`: local provider secrets such as API keys or Vertex AI project/location values. Git-ignored; copy `.devcouncil/secrets.env.example` and fill in real values. Environment variables take precedence over this file.
226
- - `.devcouncil/repo_map.json`: generated repository map and subsystem navigation index.
227
- - `.devcouncil/state.sqlite`: SQLite state for requirements, assumptions, tasks, evidence, gaps, critique findings, and project phase history.
228
- - `.devcouncil/checkpoints/`: task snapshots used by verification and rollback.
229
- - `.devcouncil/logs/`: redacted stdout/stderr from verification commands.
230
- - `.devcouncil/runs/<run-id>/agent-run.json`: prompt, executor, profile, exit status, and run metadata for automated agent executions.
231
- - `.devcouncil/reports/latest.json`: optional machine-readable report generated by `dev e2e --agent`.
232
- - `.devcouncil/integrations/` and `.agents/`: generated integration files such as Warp/Oz MCP JSON and Antigravity MCP config.
233
-
234
- ### Maturity
235
-
236
- The stable daily workflow is planning, manual sidecar execution, verification, repair, rollback, and reporting. Coding CLI executors, MCP, live review, dashboard, PR comments, LSP/AST tools, and GitHub check surfaces are preview features. Native autonomous execution is experimental and still requires DevCouncil verification before work is considered complete.
237
-
238
- ## Core Flow
239
-
240
- DevCouncil's recommended default is **Manual Sidecar Mode**:
241
-
242
- 1. DevCouncil plans the work and creates a task graph.
243
- 2. You ask DevCouncil for one constrained task prompt.
244
- 3. You paste that prompt into your coding CLI or agent.
245
- 4. The agent edits the repository.
246
- 5. DevCouncil verifies the resulting diff against task constraints.
247
- 6. If verification fails, DevCouncil creates a focused repair loop.
248
-
249
- The detailed task-by-task workflow lives in [docs/workflow.md](docs/workflow.md).
250
-
251
- ## How The Repo Runs
252
-
253
- ```mermaid
254
- flowchart TD
255
- user["User runs dev/devcouncil"] --> cli["Typer CLI\nsrc/devcouncil/cli/main.py"]
256
- cli --> config["Config + secrets\n.devcouncil/config.yaml\n.devcouncil/secrets.env"]
257
- cli --> map["Repo map\nsrc/devcouncil/indexing/repo_mapper.py"]
258
- cli --> planning["Planning commands\ndev plan / dev prompt / dev tasks"]
259
-
260
- config --> providers["Model providers\nOpenRouter, Vertex AI, Doubleword, or Ollama"]
261
- providers --> router["ModelRouter\nrole models, cache, telemetry, structured JSON repair"]
262
- router --> planning
263
-
264
- planning --> storage["SQLite + repositories\nrequirements, tasks, gaps, evidence, state"]
265
- storage --> artifactGraph["Artifact graph\nRequirement -> Task -> Diff -> Evidence"]
266
- artifactGraph --> gates["Gate policy\nplanned files, commands, secret checks"]
267
-
268
- gates --> manual["Manual sidecar\ndev prompt + user agent edits"]
269
- gates --> coding["Coding CLI executor\nCodex, Gemini, Claude, OpenCode, Antigravity, Warp, custom CLIs"]
270
- gates --> native["Native preview executor\nLLM router + TaskRunner"]
271
- gates --> external["Mini-SWE / OpenHands adapters"]
272
-
273
- coding --> runlog["Run artifacts\nprompt file, redacted logs, manifest, trace events"]
274
- native --> runlog
275
- external --> runlog
276
- manual --> diff["Repository diff"]
277
- runlog --> diff
278
-
279
- diff --> verify["Verifier\ndev verify / automatic post-run verification"]
280
- verify --> evidence["Evidence + gaps"]
281
- evidence --> storage
282
- evidence --> repair["Repair loop\ndev repair / dev watch repair"]
283
- evidence --> report["Reports\ndev report, JSON, GitHub/GitLab comments"]
284
-
285
- cli --> mcp["MCP server\ndev mcp-server"]
286
- mcp --> storage
287
- mcp --> artifactGraph
288
- mcp --> repair
289
-
290
- cli --> live["Live review\ndev watch"]
291
- live --> cards["Cards + signals\nblocking review feedback"]
292
- cards --> report
138
+ devmap integrate cursor --dry-run
139
+ devmap integrate cursor
140
+ devmap integrate cursor --check
293
141
  ```
294
142
 
295
- ## Install From Source
143
+ Substitute `claude`, `codex`, `antigravity`, `opencode` or `warp` for `cursor`.
144
+ Integration can update user-level MCP settings as well as project assets.
145
+ Inspect the receipt and complete host reload/trust steps. For task tooling,
146
+ add the Go-host integration described in
147
+ [coding CLI integration](docs/coding-cli-integration.md).
296
148
 
297
- For local development inside this checkout:
298
-
299
- ```bash
300
- uv sync
301
- uv run dev --help
302
- ```
149
+ ## Verification is opt-in
303
150
 
304
- For a global install from this repository:
151
+ For an existing task in an initialized `.devcouncil/state.sqlite`:
305
152
 
306
153
  ```bash
307
- uv tool install --force .
308
- dev --help
309
- devcouncil --help
154
+ devcouncil verify TASK-001 --mode enforce --json
310
155
  ```
311
156
 
312
- ## Project Shape
313
-
314
- DevCouncil implements a 7-phase software-team workflow:
315
-
316
- 1. Goal analysis and repository mapping.
317
- 2. Requirements drafting.
318
- 3. Council debate and task arbitration.
319
- 4. Gated execution with scoped files and commands.
320
- 5. Deterministic verification.
321
- 6. Repair-loop generation.
322
- 7. Evidence reporting.
323
-
324
- Read [docs/architecture.md](docs/architecture.md) for the artifact graph, gating state machine, and component layout.
157
+ Read gate mode, skipped reasons and coverage metadata. The Go host invokes
158
+ `dcverify` for rigor checks; changed-line coverage requires a profile supplied
159
+ through `--coverage PATH`. The default gate mode is `off`. Task leases and MCP
160
+ policy results coordinate participating clients; retired lifecycle hooks do
161
+ not intercept arbitrary shell commands or editor writes. The sandbox selector
162
+ does not implement Docker/Nix isolation. See the
163
+ [task loop contract](docs/hero-loop.md).
325
164
 
326
- ## Contributions
327
-
328
- Project ideas and execution patterns come from the open-source ecosystem:
329
-
330
- - [Sage](https://github.com/usetig/sage): peer-review-first model for planning and critique.
331
- - [karpathy/llm-council](https://github.com/karpathy/llm-council): for the multi-LLM peer-review pattern.
332
- - [GPT Pilot](https://github.com/Pythagora-io/gpt-pilot): for role-based software-team concept.
333
- - [astral-sh/uv](https://github.com/astral-sh/uv): for reproducible Python package/runtime workflows.
334
- - [OpenHands](https://github.com/All-Hands-AI/OpenHands): for workspace-aware agent execution patterns.
335
- - [mini-SWE-agent](https://github.com/SWE-agent/mini-swe-agent): for lightweight execution loop inspiration.
336
- - [SWE-agent](https://github.com/SWE-agent/SWE-agent): for full-spectrum autonomous SWE-style tasking patterns.
337
- - [GitNexus](https://github.com/abhigyanpatwari/GitNexus): for structural codebase awareness.
338
- - [graphify](https://github.com/safishamsi/graphify): for knowledge-graph-based coordination concepts.
339
-
340
- ## License
341
-
342
- Licensed under the **Apache License, Version 2.0**. See [LICENSE](LICENSE) for details.
343
-
344
- ---
165
+ ## Documentation
345
166
 
346
- **"Trust the model, but verify the graph."**
167
+ Start at the **[documentation index](docs/README.md)**.
168
+
169
+ | Topic | Guide |
170
+ |---|---|
171
+ | Installation and first query | [Quickstart](docs/quickstart.md) |
172
+ | Components and state ownership | [Architecture](docs/architecture.md) |
173
+ | Symbols, impact and evidence limits | [Code graph](docs/code-graph.md) |
174
+ | Editor setup and hooks | [Integration](docs/coding-cli-integration.md) |
175
+ | Commands and flags | [CLI reference](docs/cli-reference.md) |
176
+ | Task workflow | [Workflow](docs/workflow.md) and [MCP loop](docs/hero-loop.md) |
177
+ | Implementation and migration limits | [Project status](docs/project-status.md) |
178
+ | Native development | [Rust workspace](rust/README.md) |
179
+
180
+ [Apache 2.0](LICENSE). The Python CLI, its release lineage and its historical
181
+ workflow certifications are retired; current native source and installed
182
+ binary identities must be checked separately.