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.
- package/README.md +144 -308
- package/bin/devcouncil.js +130 -32
- package/package.json +22 -19
- package/pyproject.toml +0 -66
- package/src/devcouncil/__init__.py +0 -0
- package/src/devcouncil/__main__.py +0 -4
- package/src/devcouncil/app/__init__.py +0 -28
- package/src/devcouncil/app/config.py +0 -320
- package/src/devcouncil/app/errors.py +0 -23
- package/src/devcouncil/app/events.py +0 -44
- package/src/devcouncil/app/orchestrator.py +0 -92
- package/src/devcouncil/app/project_status.py +0 -29
- package/src/devcouncil/app/run_context.py +0 -39
- package/src/devcouncil/app/state_machine.py +0 -108
- package/src/devcouncil/artifacts/__init__.py +0 -1
- package/src/devcouncil/artifacts/coverage.py +0 -96
- package/src/devcouncil/artifacts/graph.py +0 -163
- package/src/devcouncil/artifacts/migrations.py +0 -20
- package/src/devcouncil/artifacts/schemas.py +0 -23
- package/src/devcouncil/artifacts/serializer.py +0 -21
- package/src/devcouncil/artifacts/validators.py +0 -27
- package/src/devcouncil/assets/__init__.py +0 -1
- package/src/devcouncil/assets/devcouncil-logo.svg +0 -60
- package/src/devcouncil/assets/devcouncil_logo_premium.png +0 -0
- package/src/devcouncil/cli/__init__.py +0 -0
- package/src/devcouncil/cli/commands/__init__.py +0 -0
- package/src/devcouncil/cli/commands/agents.py +0 -292
- package/src/devcouncil/cli/commands/artifacts.py +0 -54
- package/src/devcouncil/cli/commands/ast.py +0 -22
- package/src/devcouncil/cli/commands/baseline.py +0 -35
- package/src/devcouncil/cli/commands/check.py +0 -209
- package/src/devcouncil/cli/commands/config.py +0 -115
- package/src/devcouncil/cli/commands/cost.py +0 -57
- package/src/devcouncil/cli/commands/dashboard.py +0 -31
- package/src/devcouncil/cli/commands/doctor.py +0 -340
- package/src/devcouncil/cli/commands/evidence.py +0 -48
- package/src/devcouncil/cli/commands/go.py +0 -656
- package/src/devcouncil/cli/commands/handoff.py +0 -69
- package/src/devcouncil/cli/commands/hook.py +0 -237
- package/src/devcouncil/cli/commands/init.py +0 -289
- package/src/devcouncil/cli/commands/integrate.py +0 -1515
- package/src/devcouncil/cli/commands/lsp.py +0 -20
- package/src/devcouncil/cli/commands/map.py +0 -112
- package/src/devcouncil/cli/commands/mcp_server.py +0 -18
- package/src/devcouncil/cli/commands/plan.py +0 -488
- package/src/devcouncil/cli/commands/prompt.py +0 -61
- package/src/devcouncil/cli/commands/repair.py +0 -89
- package/src/devcouncil/cli/commands/report.py +0 -137
- package/src/devcouncil/cli/commands/reset_demo_state.py +0 -33
- package/src/devcouncil/cli/commands/rollback.py +0 -59
- package/src/devcouncil/cli/commands/run.py +0 -289
- package/src/devcouncil/cli/commands/runs.py +0 -223
- package/src/devcouncil/cli/commands/scaffold.py +0 -32
- package/src/devcouncil/cli/commands/semantic.py +0 -47
- package/src/devcouncil/cli/commands/setup.py +0 -362
- package/src/devcouncil/cli/commands/shell.py +0 -73
- package/src/devcouncil/cli/commands/show.py +0 -76
- package/src/devcouncil/cli/commands/skills.py +0 -88
- package/src/devcouncil/cli/commands/status.py +0 -141
- package/src/devcouncil/cli/commands/tasks.py +0 -55
- package/src/devcouncil/cli/commands/trace.py +0 -88
- package/src/devcouncil/cli/commands/verify.py +0 -328
- package/src/devcouncil/cli/commands/version.py +0 -20
- package/src/devcouncil/cli/commands/watch.py +0 -574
- package/src/devcouncil/cli/commands/watch_fs.py +0 -40
- package/src/devcouncil/cli/main.py +0 -137
- package/src/devcouncil/council/__init__.py +0 -0
- package/src/devcouncil/council/prompts/__init__.py +0 -0
- package/src/devcouncil/council/prompts/arbiter.md +0 -19
- package/src/devcouncil/council/prompts/critic_a.md +0 -10
- package/src/devcouncil/council/prompts/critic_b.md +0 -10
- package/src/devcouncil/council/prompts/implementation_reviewer.md +0 -16
- package/src/devcouncil/council/prompts/planner_a.md +0 -16
- package/src/devcouncil/council/prompts/planner_b.md +0 -16
- package/src/devcouncil/council/prompts/rebuttal.md +0 -10
- package/src/devcouncil/council/prompts/spec_writer.md +0 -12
- package/src/devcouncil/domain/__init__.py +0 -0
- package/src/devcouncil/domain/assumption.py +0 -17
- package/src/devcouncil/domain/critique.py +0 -32
- package/src/devcouncil/domain/evidence.py +0 -47
- package/src/devcouncil/domain/gap.py +0 -52
- package/src/devcouncil/domain/requirement.py +0 -22
- package/src/devcouncil/domain/task.py +0 -55
- package/src/devcouncil/execution/__init__.py +0 -1
- package/src/devcouncil/execution/checkpoints.py +0 -246
- package/src/devcouncil/execution/context_builder.py +0 -60
- package/src/devcouncil/execution/executor.py +0 -15
- package/src/devcouncil/execution/fs_watcher.py +0 -180
- package/src/devcouncil/execution/handoff.py +0 -102
- package/src/devcouncil/execution/hook_policy.py +0 -253
- package/src/devcouncil/execution/patch.py +0 -77
- package/src/devcouncil/execution/paths.py +0 -14
- package/src/devcouncil/execution/permissions.py +0 -85
- package/src/devcouncil/execution/policy_engine.py +0 -343
- package/src/devcouncil/execution/prompt_builder.py +0 -671
- package/src/devcouncil/execution/shell_session.py +0 -225
- package/src/devcouncil/execution/task_runner.py +0 -170
- package/src/devcouncil/executors/__init__.py +0 -1
- package/src/devcouncil/executors/agent_registry.py +0 -575
- package/src/devcouncil/executors/coding_cli.py +0 -736
- package/src/devcouncil/executors/mini_swe.py +0 -73
- package/src/devcouncil/executors/native/__init__.py +0 -0
- package/src/devcouncil/executors/native/agent.py +0 -208
- package/src/devcouncil/executors/openhands.py +0 -71
- package/src/devcouncil/gating/__init__.py +0 -1
- package/src/devcouncil/gating/checks/__init__.py +0 -0
- package/src/devcouncil/gating/checks/clean_git.py +0 -52
- package/src/devcouncil/gating/checks/planned_files_check.py +0 -32
- package/src/devcouncil/gating/checks/requirement_coverage.py +0 -26
- package/src/devcouncil/gating/checks/secret_scan_check.py +0 -53
- package/src/devcouncil/gating/policy.py +0 -338
- package/src/devcouncil/hardware.py +0 -184
- package/src/devcouncil/indexing/__init__.py +0 -1
- package/src/devcouncil/indexing/ast_matcher.py +0 -168
- package/src/devcouncil/indexing/graph_index.py +0 -48
- package/src/devcouncil/indexing/lsp.py +0 -161
- package/src/devcouncil/indexing/repo_mapper.py +0 -1455
- package/src/devcouncil/indexing/semantic_index.py +0 -205
- package/src/devcouncil/integrations/actions.py +0 -146
- package/src/devcouncil/integrations/check.py +0 -423
- package/src/devcouncil/integrations/code_review_graph.py +0 -163
- package/src/devcouncil/integrations/github.py +0 -39
- package/src/devcouncil/integrations/github_intent.py +0 -142
- package/src/devcouncil/integrations/gitnexus.py +0 -62
- package/src/devcouncil/integrations/graphify.py +0 -34
- package/src/devcouncil/integrations/mcp/__init__.py +0 -0
- package/src/devcouncil/integrations/mcp/server.py +0 -2122
- package/src/devcouncil/integrations/opencode_devcouncil_plugin.mjs +0 -24
- package/src/devcouncil/integrations/pr_comments.py +0 -62
- package/src/devcouncil/live/__init__.py +0 -2
- package/src/devcouncil/live/cards.py +0 -349
- package/src/devcouncil/live/models.py +0 -63
- package/src/devcouncil/live/repair_prompt.py +0 -83
- package/src/devcouncil/live/reviewer.py +0 -70
- package/src/devcouncil/live/signals.py +0 -135
- package/src/devcouncil/live/summary.py +0 -34
- package/src/devcouncil/live/tasks.py +0 -18
- package/src/devcouncil/live/transcripts.py +0 -141
- package/src/devcouncil/llm/__init__.py +0 -1
- package/src/devcouncil/llm/cache.py +0 -42
- package/src/devcouncil/llm/model_defaults.yaml +0 -44
- package/src/devcouncil/llm/provider.py +0 -627
- package/src/devcouncil/llm/router.py +0 -310
- package/src/devcouncil/optimization/__init__.py +0 -1
- package/src/devcouncil/optimization/gepa_agent.py +0 -318
- package/src/devcouncil/planning/__init__.py +0 -1
- package/src/devcouncil/planning/arbiter_service.py +0 -57
- package/src/devcouncil/planning/correction_manifest.py +0 -303
- package/src/devcouncil/planning/critique_service.py +0 -71
- package/src/devcouncil/planning/plan_service.py +0 -60
- package/src/devcouncil/planning/prompt_enhancer_service.py +0 -167
- package/src/devcouncil/planning/repair_service.py +0 -39
- package/src/devcouncil/planning/spec_service.py +0 -70
- package/src/devcouncil/repo/__init__.py +0 -0
- package/src/devcouncil/repo/ci_scaffold.py +0 -157
- package/src/devcouncil/repo/gitignore.py +0 -123
- package/src/devcouncil/repo/sca.py +0 -374
- package/src/devcouncil/reporting/__init__.py +0 -0
- package/src/devcouncil/reporting/github_check.py +0 -32
- package/src/devcouncil/reporting/json_report.py +0 -30
- package/src/devcouncil/reporting/markdown_report.py +0 -83
- package/src/devcouncil/reporting/report_builder.py +0 -14
- package/src/devcouncil/skills/__init__.py +0 -19
- package/src/devcouncil/skills/library/README.md +0 -46
- package/src/devcouncil/skills/library/ai-training.md +0 -50
- package/src/devcouncil/skills/library/android.md +0 -50
- package/src/devcouncil/skills/library/backend.md +0 -52
- package/src/devcouncil/skills/library/core-engineering.md +0 -95
- package/src/devcouncil/skills/library/data-engineering.md +0 -47
- package/src/devcouncil/skills/library/desktop.md +0 -46
- package/src/devcouncil/skills/library/devops.md +0 -48
- package/src/devcouncil/skills/library/game-dev.md +0 -46
- package/src/devcouncil/skills/library/ios.md +0 -48
- package/src/devcouncil/skills/library/mobile-cross-platform.md +0 -46
- package/src/devcouncil/skills/library/security.md +0 -48
- package/src/devcouncil/skills/library/systems.md +0 -48
- package/src/devcouncil/skills/library/web.md +0 -47
- package/src/devcouncil/skills/library/windows.md +0 -47
- package/src/devcouncil/skills/registry.py +0 -330
- package/src/devcouncil/storage/__init__.py +0 -0
- package/src/devcouncil/storage/db.py +0 -147
- package/src/devcouncil/storage/models.py +0 -204
- package/src/devcouncil/storage/native.py +0 -557
- package/src/devcouncil/storage/repositories.py +0 -485
- package/src/devcouncil/telemetry/__init__.py +0 -0
- package/src/devcouncil/telemetry/cost.py +0 -140
- package/src/devcouncil/telemetry/model_pricing.yaml +0 -48
- package/src/devcouncil/telemetry/pricing.py +0 -28
- package/src/devcouncil/telemetry/traces.py +0 -146
- package/src/devcouncil/telemetry/tracker.py +0 -52
- package/src/devcouncil/ui/__init__.py +0 -1
- package/src/devcouncil/ui/dashboard.py +0 -423
- package/src/devcouncil/utils/__init__.py +0 -1
- package/src/devcouncil/utils/redaction.py +0 -147
- package/src/devcouncil/utils/subprocess_env.py +0 -69
- package/src/devcouncil/verification/__init__.py +0 -1
- package/src/devcouncil/verification/acceptance_compiler.py +0 -125
- package/src/devcouncil/verification/ad_hoc_check.py +0 -129
- package/src/devcouncil/verification/diff_coverage.py +0 -353
- package/src/devcouncil/verification/implementation_reviewer.py +0 -55
- package/src/devcouncil/verification/next_actions.py +0 -189
- package/src/devcouncil/verification/sandbox.py +0 -178
- package/src/devcouncil/verification/test_resolver.py +0 -91
- package/src/devcouncil/verification/verifier.py +0 -1548
- package/uv.lock +0 -1226
package/README.md
CHANGED
|
@@ -1,346 +1,182 @@
|
|
|
1
|
-
# DevCouncil
|
|
1
|
+
# DevCouncil
|
|
2
2
|
|
|
3
|
-
|
|
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
|
+
[](https://devcouncil.vbcr.dev/)
|
|
6
|
+
[](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml)
|
|
7
|
+
[](https://www.npmjs.com/package/devcouncil)
|
|
7
8
|
[](LICENSE)
|
|
8
|
-
[](https://www.python.org/downloads/)
|
|
9
|
-
[](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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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 & Code Graph Showcase (devcouncil.vbcr.dev) →</strong></a>
|
|
12
|
+
</p>
|
|
68
13
|
|
|
69
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
25
|
+
---
|
|
86
26
|
|
|
87
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
39
|
+
### How hosts consume the modules
|
|
99
40
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
|
|
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
|
-
|
|
48
|
+
---
|
|
110
49
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
102
|
+
---
|
|
117
103
|
|
|
118
|
-
|
|
104
|
+
## Get started
|
|
119
105
|
|
|
120
|
-
|
|
106
|
+
Build just DevMap from source, then map a project:
|
|
121
107
|
|
|
122
108
|
```bash
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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
|
-
|
|
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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
135
|
+
## Connect an agent
|
|
141
136
|
|
|
142
137
|
```bash
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
|
|
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
|
-
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
uv sync
|
|
301
|
-
uv run dev --help
|
|
302
|
-
```
|
|
149
|
+
## Verification is opt-in
|
|
303
150
|
|
|
304
|
-
For
|
|
151
|
+
For an existing task in an initialized `.devcouncil/state.sqlite`:
|
|
305
152
|
|
|
306
153
|
```bash
|
|
307
|
-
|
|
308
|
-
dev --help
|
|
309
|
-
devcouncil --help
|
|
154
|
+
devcouncil verify TASK-001 --mode enforce --json
|
|
310
155
|
```
|
|
311
156
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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.
|