devcouncil 0.2.0 → 0.2.1

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 +191 -253
  2. package/bin/devcouncil.js +130 -32
  3. package/package.json +6 -17
  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,284 @@
1
- # DevCouncil: The Gated AI Orchestrator
1
+ # DevCouncil: Components and Modules for AI Development
2
+
3
+ [![Website](https://img.shields.io/badge/website-devcouncil.vbcr.dev-10B981?style=flat&logo=safari&logoColor=white)](https://devcouncil.vbcr.dev/)
4
+ [![CI](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml/badge.svg)](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml)
5
+ [![npm version](https://img.shields.io/npm/v/devcouncil)](https://www.npmjs.com/package/devcouncil)
6
+ [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
2
7
 
3
8
  <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">
9
+ <a href="https://devcouncil.vbcr.dev/"><strong>Explore the Interactive Architecture &amp; Code Graph Showcase (devcouncil.vbcr.dev) &rarr;</strong></a>
5
10
  </p>
6
11
 
7
- [![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)
12
+ > **"DevCouncil should not merely generate code. It should make AI-generated work prove that it satisfied the original intent."**
13
+ > *Evidence, not model confidence, is the final authority.*
10
14
 
11
- **"DevCouncil should not merely generate code. It should make AI-generated work prove that it satisfied the original intent."**
15
+ 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.
12
16
 
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.
17
+ See [repository input and verification boundaries](docs/SECURITY_BOUNDARIES.md)
18
+ for executable selection, filesystem protections, resource limits, and the
19
+ difference between unavailable evidence and a passing check.
14
20
 
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.
21
+ **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.
16
22
 
17
- ## Documentation
23
+ ---
18
24
 
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.
25
+ ## Architecture & Components
31
26
 
32
- ## Why DevCouncil Exists
27
+ 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:
33
28
 
34
- Standard AI coding agents are good at producing the happy path, but they often fail in expensive ways when complexity grows:
29
+ | Binary | Language | Role & Ownership |
30
+ |--------|----------|------------------|
31
+ | `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`). |
32
+ | `devmap` | **Rust** | Code intelligence engine: 36+ tree-sitter language extractors, symbol resolution, blast-radius calculation, dead-code analysis, workspace guides (`AGENTS.md`), and DevMap MCP server (`devmap mcp`). |
33
+ | `dcstore` | **Rust** | State & lease store: SQLite-backed task repository, mutual-exclusion leases for concurrent agent building, evidence records, and gap tracking. |
34
+ | `dcverify` | **Rust** | Deterministic verification: Unified-diff parsing, planned file scope classification, anti-laziness/stub gates, test coverage evaluation, and typed `next_actions` repair signals. |
35
+ | `dcgrep` | **Rust** | Code search: Ripgrep-powered ignore-aware search engine with optional trigram indexing (`tgrep-core`). |
35
36
 
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.
37
+ ### How hosts consume the modules
40
38
 
41
- **DevCouncil makes evidence, not model confidence, the final authority.**
39
+ - **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.
40
+ - **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.
41
+ - **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.
42
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.
43
+ > [!NOTE]
44
+ > 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)).
44
45
 
45
- ## Quickstart
46
+ ---
46
47
 
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
+ ## Installation
48
49
 
49
- Install `uv` first if it is missing:
50
+ DevCouncil supports macOS, Linux, and Windows. Requires a Go toolchain (`>=1.22`), Rust/`cargo`, and Git.
50
51
 
51
- ```powershell
52
- powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
53
- ```
52
+ ### 1. Build and Install Native Binaries
54
53
 
55
- On macOS or Linux:
54
+ From a clone of this repository:
56
55
 
57
56
  ```bash
58
- curl -LsSf https://astral.sh/uv/install.sh | sh
59
- ```
57
+ # macOS & Linux: builds Go host and all Rust analysis binaries into ~/.local/bin
58
+ bash scripts/install.sh
60
59
 
61
- Install DevCouncil from npm:
60
+ # Standalone DevMap (no Go host)
61
+ bash scripts/install.sh --only=devmap
62
62
 
63
- ```bash
64
- npm install -g devcouncil
65
- devcouncil --help
66
- dev --help
63
+ # Analysis suite only (devmap dcstore dcverify dcgrep)
64
+ bash scripts/install.sh analysis
65
+
66
+ # Windows (PowerShell):
67
+ .\scripts\install.ps1
68
+ .\scripts\install.ps1 -Components devmap
67
69
  ```
68
70
 
69
- Start the first gated workflow from your target repository:
71
+ To build and install the analysis components (`devmap`, `dcstore`, `dcverify`, `dcgrep`):
70
72
 
71
73
  ```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
- ```
74
+ # Build & install all analysis components to ~/.local/bin
75
+ bash scripts/install-components.sh
80
76
 
81
- On a fresh interactive setup, DevCouncil can configure supported coding CLI integrations immediately; pass `--skip-integrations` if you want to defer that step.
77
+ # Or install specific components
78
+ bash scripts/install-components.sh devmap
79
+ bash scripts/install-components.sh dcstore dcverify dcgrep
82
80
 
83
- ### Run locally on macOS (Apple Silicon + Ollama)
81
+ # Build the Go host binary
82
+ go -C backend/go_orchestrator build -o ~/.local/bin/devcouncil ./cmd/devcouncil
83
+ ln -sf devcouncil ~/.local/bin/dev
84
+ ```
84
85
 
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.
86
+ Ensure `~/.local/bin` is in your `PATH`:
86
87
 
87
88
  ```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
89
+ export PATH="$HOME/.local/bin:$PATH"
92
90
  ```
93
91
 
94
- See [Model routing → macOS / Apple Silicon](docs/model-routing.md) for the RAM-to-model table.
95
-
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.
92
+ ### 2. Optional Global npm Shim
97
93
 
98
- For an automated end-to-end run with a supported coding CLI installed:
94
+ If you prefer to dispatch through npm, install the lightweight Node.js wrapper (Node 18+). The npm package ships a shim that resolves and executes the native binaries:
99
95
 
100
96
  ```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
97
+ npm install -g devcouncil
105
98
  ```
106
99
 
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.
108
-
109
- For machine-readable agent handoff, write the final report to a stable file:
100
+ ### 3. Verify Environment
110
101
 
111
102
  ```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
103
+ devcouncil --help
104
+ dev --help
105
+ devmap --version
106
+ dcverify health
107
+ dcstore --db .devcouncil/state.sqlite health
108
+ dcgrep health
114
109
  ```
115
110
 
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`.
117
-
118
- See the full [quickstart](docs/quickstart.md) for installation variants, API-key setup, and first-run guidance.
111
+ ---
119
112
 
120
- OpenCode and Google Antigravity CLI are built-in executors and MCP integrations:
113
+ ## Core Capabilities & Workflows
121
114
 
122
- ```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
129
- ```
115
+ ### 1. Coding Agent Integration (`devcouncil integrate`)
130
116
 
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:
117
+ Connect DevCouncil's MCP server to Cursor or Claude Code. `--write-gate` has been removed: it named a pre-tool-use gate that only the retired lifecycle hooks installed, and nothing enforced it. Use `dev hook status` to inspect old registrations and `dev hook disable --dry-run` to preview cleanup.
132
118
 
133
119
  ```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
- ```
120
+ devcouncil integrate cursor --apply
121
+ devcouncil integrate claude --apply
139
122
 
140
- GEPA prompt-profile optimization is available for the agent hub:
123
+ # Stub receipt only not a working installer:
124
+ # devcouncil integrate antigravity --apply
141
125
 
142
- ```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
126
+ # Verify existing integration configuration
127
+ devcouncil integrate cursor --check
145
128
  ```
146
129
 
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.
130
+ ### 2. Engineering Skills Delivery (`devcouncil skills`)
150
131
 
151
- ### Workflow Features
132
+ Deliver verified engineering practices and code-intelligence skills directly into agent skill folders (`.agents/skills`, `.claude/skills`, `.cursor/skills`):
152
133
 
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.
134
+ ```bash
135
+ # List available skills embedded in the binary
136
+ devcouncil skills list
166
137
 
167
- ### App Surfaces
138
+ # Scaffold all applicable skills into the repository
139
+ devcouncil skills scaffold
168
140
 
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.
141
+ # Scaffold a specific skill (e.g. core-engineering or devmap)
142
+ devcouncil skills scaffold --skill core-engineering
143
+ devcouncil skills scaffold --skill devmap
144
+ ```
181
145
 
182
- ### Agent And Executor Support
146
+ ### 3. Repository Mapping & Code Intelligence (`devmap` / `dev map`)
183
147
 
184
- DevCouncil works with human-in-the-loop sidecar sessions and automated prompt handoff:
148
+ Build and query deep semantic relationships across your codebase without an LLM:
185
149
 
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.
150
+ ```bash
151
+ # Build the repository map (.devcouncil/repo_map.json) and code graph
152
+ devmap build --manifest
192
153
 
193
- ### Gates And Evidence
154
+ # Shorthand via the Go host:
155
+ dev map
194
156
 
195
- DevCouncil blocks completion on concrete gaps rather than model confidence:
157
+ # Query symbol blast radius & reverse dependents before editing
158
+ devmap impact path/to/file.go
196
159
 
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.
160
+ # Trace dependency paths between two symbols
161
+ devmap trace SymbolA SymbolB
203
162
 
204
- ### Providers, Models, And Cost Tracking
163
+ # Find dead code with confidence tiers (extracted | inferred | ambiguous)
164
+ devmap dead
205
165
 
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.
166
+ # Launch the interactive HTML visualizer
167
+ devmap view
168
+ ```
211
169
 
212
- ### Reports And Automation Outputs
170
+ ### 4. Task Leases & Gated Verification (`devcouncil verify`)
213
171
 
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.
172
+ Prevent multi-agent file trampling and verify diff correctness against deterministic criteria:
219
173
 
220
- ### Local State And Files
174
+ ```bash
175
+ # Run deterministic verification against a task's diff
176
+ devcouncil verify TASK-001
221
177
 
222
- DevCouncil stores local workflow state in the target repository:
178
+ # Machine-readable output for agent loops
179
+ devcouncil verify TASK-001 --json
223
180
 
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.
181
+ # Sandbox flag is recorded only; docker/nix do not isolate (TASK-P7-2)
182
+ devcouncil verify TASK-001 --sandbox local
183
+ ```
233
184
 
234
- ### Maturity
185
+ Verification today (Go `verify.Run()`) enforces:
186
+ - **Planned file scope:** Rejects unauthorized edits outside declared task boundaries.
187
+ - **Orphan diffs / dependency-risk:** Flags files changed that were not planned.
188
+ - **Expected tests / allowed commands:** Runs the task's command list via `/bin/sh -c` in the project root.
189
+ - **Typed `next_actions`:** Structured repair instructions when those gates fail.
235
190
 
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.
191
+ Stub detection, secret scanning, and coverage intersection live in the **`dcverify`** binary. `devcouncil verify`, MCP `devcouncil_verify_task`, and **Manvi** `runRigor` all spawn it. When `dcverify` is not installed the report carries an empty `rigor_applied` **and** a `rigor_skipped_reason` naming what to install never a silent clean pass. Diff↔coverage runs only when a profile is supplied (`devcouncil verify --coverage PATH`); otherwise `coverage_skipped_reason` says so.
237
192
 
238
- ## Core Flow
193
+ ### 5. MCP Servers for AI Agents
239
194
 
240
- DevCouncil's recommended default is **Manual Sidecar Mode**:
195
+ DevCouncil provides two complementary Model Context Protocol (MCP) servers:
241
196
 
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.
197
+ - **Host MCP Server (`devcouncil mcp`)**: Eight tools — checkout / renew / release / next_task / get_diff / verify_task / get_gaps / policy_check_write. `verify_task` runs Go `verify.Run()`, which spawns `dcverify` for the stub and secret gates; diff↔coverage needs a profile this tool has no field for, so use `devcouncil verify --coverage PATH`.
198
+ - **DevMap MCP Server (`devmap mcp`)**: Eleven query tools (status, search, dependencies, impact, trace, neighbors, dead_symbols, clones, preview, explore, affected_tests). Always pass `repo_path`.
248
199
 
249
- The detailed task-by-task workflow lives in [docs/workflow.md](docs/workflow.md).
200
+ ---
250
201
 
251
- ## How The Repo Runs
202
+ ## Architecture Flow
252
203
 
253
204
  ```mermaid
254
205
  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
206
+ subgraph Agents["Harnesses, hosts, and coding agents"]
207
+ Claude["Claude Code"]
208
+ Cursor["Cursor"]
209
+ Codex["Codex"]
210
+ AGY["Antigravity"]
211
+ Warp["Warp"]
212
+ Manvi["Manvi (wraps these components)"]
213
+ GitPulse["GitPulse (selects modules)"]
214
+ end
215
+
216
+ subgraph Host["Go Host Orchestrator (devcouncil / dev)"]
217
+ CLI["Host CLI\ncmd/devcouncil"]
218
+ MCP["Host MCP Server\ndevcouncil mcp"]
219
+ Integ["Integrator\ndevcouncil integrate"]
220
+ Skills["Skills Engine\ndevcouncil skills"]
221
+ VerifyCmd["Verify Command\ndevcouncil verify"]
222
+ end
223
+
224
+ subgraph RustAnalysis["Rust Analysis & State Suite"]
225
+ DevMap["devmap\nCode Graph & 36+ Language ASTs"]
226
+ DCStore["dcstore\nAtomic Task Leases & SQLite Store"]
227
+ DCVerify["dcverify\nUnified Diff Parser & Rigor Gates"]
228
+ DCGrep["dcgrep\nRipgrep Engine & Trigram Index"]
229
+ end
230
+
231
+ Agents <-->|MCP Protocol| MCP
232
+ Agents <-->|Direct / Tool Calls| CLI
233
+ Manvi -->|Wraps: imports Go, spawns binaries| Host
234
+ Manvi -->|Spawns selected modules| RustAnalysis
235
+ GitPulse -->|Vendors selected crates| DevMap
236
+ GitPulse -->|manvi serve| Manvi
237
+
238
+ CLI -->|Execs| DevMap
239
+ CLI -->|Integrates| Integ
240
+ CLI -->|Scaffolds| Skills
241
+ VerifyCmd -->|Scope, orphan, expected tests| DCStore
242
+ Manvi -->|Spawns dcverify rigor| DCVerify
243
+
244
+ MCP -->|Leases and tasks| DCStore
245
+ MCP -->|verify_task → Go Run| VerifyCmd
293
246
  ```
294
247
 
295
- ## Install From Source
248
+ ---
296
249
 
297
- For local development inside this checkout:
250
+ ## Repository Layout
298
251
 
299
- ```bash
300
- uv sync
301
- uv run dev --help
302
252
  ```
303
-
304
- For a global install from this repository:
305
-
306
- ```bash
307
- uv tool install --force .
308
- dev --help
309
- devcouncil --help
253
+ DevCouncil/
254
+ ├── backend/go_orchestrator/ # Go host orchestrator binary and packages
255
+ │ ├── cmd/devcouncil/ # Main entrypoint for devcouncil and dev
256
+ │ ├── devcouncil/ # MCP server, integrate, skills, verify implementations
257
+ │ ├── dc/store/ # Interop client for dcstore binary
258
+ │ └── policy/ # File-write containment & security policies
259
+ ├── rust/ # Analysis and verification engine crates (dcstore, dcverify, dcgrep, devmap)
260
+ ├── bin/ # Node.js npm shim (bin/devcouncil.js)
261
+ ├── scripts/ # Platform installers (install.sh, install-components.sh)
262
+ └── docs/ # Architecture, releases, and integration guides
310
263
  ```
311
264
 
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.
265
+ ---
325
266
 
326
- ## Contributions
267
+ ## Documentation
327
268
 
328
- Project ideas and execution patterns come from the open-source ecosystem:
269
+ - [Release Notes (v0.2.0)](docs/releases/v0.2.0.md): Native orchestration and analysis migration.
270
+ - [Native cutover follow-ups](docs/TODO.md): Open wiring and honesty work after Phase 7.
271
+ - [Architecture Decisions & Python Retirement](docs/PHASE7_LONG_TAIL.md): Background on the transition to native Go and Rust binaries.
272
+ - [Archived ledgers](docs/archive/README.md): Pre-cutover DevMap plans, audits, and qualification dumps.
273
+ - [Code Graph & DevMap Guide](docs/code-graph.md): Symbol resolution, dead code, and blast radius.
274
+ - [DevMap competitor benchmarks](docs/devmap/README.md#benchmark-comparison): Measured strengths, weaknesses, speed, memory, storage, and correctness against Graphify, Gortex, GitNexus, CodeGraph, codebase-memory-mcp, and ripgrep, with scope limits and raw evidence.
275
+ - [Hero Loop (MCP Closed Loop)](docs/hero-loop.md): Autonomous task loop with deterministic gates.
276
+ - [Coding CLI Integration](docs/coding-cli-integration.md): Configuring Claude, Codex, Cursor, Warp, and Antigravity.
277
+ - [Security Model](docs/security.md): Redaction, write isolation, and containment rules.
278
+ - [Project Status](docs/project-status.md): Subsystem maturity ledger.
329
279
 
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.
280
+ ---
339
281
 
340
282
  ## License
341
283
 
342
284
  Licensed under the **Apache License, Version 2.0**. See [LICENSE](LICENSE) for details.
343
-
344
- ---
345
-
346
- **"Trust the model, but verify the graph."**