dotbrain 0.7.0__tar.gz → 0.9.0__tar.gz
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.
- {dotbrain-0.7.0 → dotbrain-0.9.0}/PKG-INFO +16 -6
- {dotbrain-0.7.0 → dotbrain-0.9.0}/README.md +15 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/agent-team.md +2 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/architecture.md +32 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/cli-reference.md +3 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/configuration.md +23 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/glossary.md +6 -4
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/prompts.md +7 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/session-context.md +10 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/skills.md +24 -3
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/troubleshooting.md +3 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/wiring.md +4 -6
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/workflow.md +22 -9
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/agent-team.md +2 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/architecture.md +24 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/cli-reference.md +2 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/configuration.md +20 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/glossary.md +5 -3
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/prompts.md +6 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/session-context.md +10 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/skills.md +19 -3
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/troubleshooting.md +2 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/wiring.md +3 -5
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/workflow.md +18 -7
- {dotbrain-0.7.0 → dotbrain-0.9.0}/pyproject.toml +1 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/__init__.py +1 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/_cli_reference.py +3 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/adopter_repos.py +42 -11
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/asset_cli.py +1 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/brainspaces.py +5 -31
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/cli.py +1 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/doctor.py +11 -4
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/hooks.py +3 -4
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/paths.py +5 -3
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/presentation.py +11 -9
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/projects.py +1 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/researcher.toml +5 -2
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/worker.toml +4 -3
- dotbrain-0.9.0/src/dotbrain/resources/templates/brain/AGENTS.md +12 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/DOTBRAIN.md +48 -50
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/docs/README.md +1 -1
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/project.yaml +7 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/workflows.py +31 -52
- dotbrain-0.7.0/src/dotbrain/resources/templates/brain/AGENTS.md +0 -9
- {dotbrain-0.7.0 → dotbrain-0.9.0}/.gitignore +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/LICENSE +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/config.mts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/Mermaid.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/index.ts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/style.css +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/AGENTS.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/CLAUDE.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/README.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/beads-backend.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/brain-site-configuration.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/brain-site.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/getting-started.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/index.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/learning.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/package-lock.json +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/package.json +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/apple-touch-icon-light.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/banner-dark.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/banner-light.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/favicon-dark-32.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/favicon-light-32.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-dark.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-dark.svg +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-light.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-light.svg +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/lockup-horizontal-dark-1024.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/lockup-horizontal-light-1024.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-dark-512.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-dark.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-light-512.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-light.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-dark.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-dark.svg +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-light.png +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-light.svg +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/why-dotbrain.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/beads-backend.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/brain-site-configuration.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/brain-site.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/getting-started.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/index.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/learning.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/why-dotbrain.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/assets.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/beads.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/bootstrap.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/config.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/migrate.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/options.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resource_loader.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/__init__.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/reviewer.toml +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/verifier.toml +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/config.yaml +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/core.yaml +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/package-lock.json +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/package.json +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/config.mts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/DocsOverview.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/HomeTiles.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/LearnOverview.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/Mermaid.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/PageStatus.vue +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/base.ts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/custom.css +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/empty.css +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/empty.ts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/index.ts +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/adr/README.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/designs/README.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/site/configure.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/site/index.md +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/gitignore +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/results.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/site.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/skills.py +0 -0
- {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/subagents.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: dotbrain
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Wires project Brainspaces and skills into coding agents.
|
|
5
5
|
Project-URL: Homepage, https://github.com/arminzou/dotbrain
|
|
6
6
|
Project-URL: Repository, https://github.com/arminzou/dotbrain
|
|
@@ -159,9 +159,14 @@ and `.codex/`. Skills and Claude agents use symlinks; Codex agents use generated
|
|
|
159
159
|
TOML files. Wiring a Git worktree connects it to the main checkout's existing Brainspace, so
|
|
160
160
|
both use the same knowledge and tracker.
|
|
161
161
|
|
|
162
|
-
At session start, the plugin hook supplies `DOTBRAIN.md`, the shared convention.
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
At session start, the plugin hook supplies only `DOTBRAIN.md`, the shared convention.
|
|
163
|
+
Public `AGENTS.md` routes making or reviewing changes to tracked root `RULES.md`, usable
|
|
164
|
+
without a Brain. The lead or sole agent searches private retrospective findings for the task
|
|
165
|
+
and passes relevant findings through assignments; the notebook is never injected.
|
|
166
|
+
Fresh Brains seed private `AGENTS.md` for a small set of personal preferences and project
|
|
167
|
+
rules, with `CLAUDE.md` as its alias. The agent reads it before substantial work; it is
|
|
168
|
+
never injected. Wiring and refresh preserve user-owned context and existing pointers.
|
|
169
|
+
Public `RULES.md` holds repository requirements; private preferences stay private.
|
|
165
170
|
See [Session context](https://arminzou.github.io/dotbrain/session-context) for the loading sequence.
|
|
166
171
|
|
|
167
172
|
Use `dotbrain projects list` to discover registered projects. Inside a wired checkout,
|
|
@@ -192,14 +197,19 @@ The loop closes in two places:
|
|
|
192
197
|
- **During the work:** discoveries feed back into the active design and affected issues. An
|
|
193
198
|
unexpected API constraint becomes a design question; once you settle it, the design and issues
|
|
194
199
|
capture the decision before implementation continues.
|
|
195
|
-
- **After
|
|
200
|
+
- **After human merge and manual closeout:** closing the design records the evidence and preserves useful decisions and
|
|
196
201
|
vocabulary in the Brain. The next initiative starts with that knowledge already available.
|
|
197
202
|
|
|
198
203
|
The Brain holds durable knowledge, the design holds current intent, and Beads holds execution
|
|
199
204
|
state. Each handoff lives in a document or tracker entry that another session or agent can
|
|
200
205
|
consult to continue the work.
|
|
201
206
|
|
|
202
|
-
You own
|
|
207
|
+
You own success criteria, PR approval, merge, and release. Settle foreseeable decisions and the
|
|
208
|
+
execution contract upfront; agents reuse complete applicable approval without another routine
|
|
209
|
+
sign-off and work through checks, acceptance/UAT, and required reviews to a ready PR requesting
|
|
210
|
+
your review. New scope, authority, or criteria decisions stop affected work with evidence and a
|
|
211
|
+
recommendation. Limits survive resume. The design stays active until you invoke closeout;
|
|
212
|
+
a PR closed without merge does not establish shipment. Use the full loop when work spans
|
|
203
213
|
sessions or carries open questions; small changes can use just the steps they need.
|
|
204
214
|
|
|
205
215
|
See [The workflow](https://arminzou.github.io/dotbrain/workflow) for a walkthrough and
|
|
@@ -136,9 +136,14 @@ and `.codex/`. Skills and Claude agents use symlinks; Codex agents use generated
|
|
|
136
136
|
TOML files. Wiring a Git worktree connects it to the main checkout's existing Brainspace, so
|
|
137
137
|
both use the same knowledge and tracker.
|
|
138
138
|
|
|
139
|
-
At session start, the plugin hook supplies `DOTBRAIN.md`, the shared convention.
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
At session start, the plugin hook supplies only `DOTBRAIN.md`, the shared convention.
|
|
140
|
+
Public `AGENTS.md` routes making or reviewing changes to tracked root `RULES.md`, usable
|
|
141
|
+
without a Brain. The lead or sole agent searches private retrospective findings for the task
|
|
142
|
+
and passes relevant findings through assignments; the notebook is never injected.
|
|
143
|
+
Fresh Brains seed private `AGENTS.md` for a small set of personal preferences and project
|
|
144
|
+
rules, with `CLAUDE.md` as its alias. The agent reads it before substantial work; it is
|
|
145
|
+
never injected. Wiring and refresh preserve user-owned context and existing pointers.
|
|
146
|
+
Public `RULES.md` holds repository requirements; private preferences stay private.
|
|
142
147
|
See [Session context](https://arminzou.github.io/dotbrain/session-context) for the loading sequence.
|
|
143
148
|
|
|
144
149
|
Use `dotbrain projects list` to discover registered projects. Inside a wired checkout,
|
|
@@ -169,14 +174,19 @@ The loop closes in two places:
|
|
|
169
174
|
- **During the work:** discoveries feed back into the active design and affected issues. An
|
|
170
175
|
unexpected API constraint becomes a design question; once you settle it, the design and issues
|
|
171
176
|
capture the decision before implementation continues.
|
|
172
|
-
- **After
|
|
177
|
+
- **After human merge and manual closeout:** closing the design records the evidence and preserves useful decisions and
|
|
173
178
|
vocabulary in the Brain. The next initiative starts with that knowledge already available.
|
|
174
179
|
|
|
175
180
|
The Brain holds durable knowledge, the design holds current intent, and Beads holds execution
|
|
176
181
|
state. Each handoff lives in a document or tracker entry that another session or agent can
|
|
177
182
|
consult to continue the work.
|
|
178
183
|
|
|
179
|
-
You own
|
|
184
|
+
You own success criteria, PR approval, merge, and release. Settle foreseeable decisions and the
|
|
185
|
+
execution contract upfront; agents reuse complete applicable approval without another routine
|
|
186
|
+
sign-off and work through checks, acceptance/UAT, and required reviews to a ready PR requesting
|
|
187
|
+
your review. New scope, authority, or criteria decisions stop affected work with evidence and a
|
|
188
|
+
recommendation. Limits survive resume. The design stays active until you invoke closeout;
|
|
189
|
+
a PR closed without merge does not establish shipment. Use the full loop when work spans
|
|
180
190
|
sessions or carries open questions; small changes can use just the steps they need.
|
|
181
191
|
|
|
182
192
|
See [The workflow](https://arminzou.github.io/dotbrain/workflow) for a walkthrough and
|
|
@@ -218,11 +218,11 @@ delivery. The final integration review can supply it only with explicit coverage
|
|
|
218
218
|
branch diff, all scoped items, interactions, and the active design at the exact final revision.
|
|
219
219
|
Approval of only the latest group is insufficient. The reviewer must have authored none of the
|
|
220
220
|
reviewed changes, but need not be fresh. Otherwise arrange a whole-branch review. Mechanical
|
|
221
|
-
checks, the final human review
|
|
221
|
+
checks, the final human PR review, and your merge gate remain.
|
|
222
222
|
A single-item branch reuses its item review only if it covers the whole final diff; otherwise it
|
|
223
223
|
also needs a whole-branch review.
|
|
224
224
|
A handoff also gets a non-blocking simplification pass when an independent reviewer is available;
|
|
225
|
-
|
|
225
|
+
the lead records finding dispositions within approved scope and returns new consequential decisions to you.
|
|
226
226
|
|
|
227
227
|
## When Something Stops
|
|
228
228
|
|
|
@@ -65,10 +65,11 @@ Each element of a Brain has one purpose:
|
|
|
65
65
|
treeView-beta
|
|
66
66
|
accTitle: The files and folders of a Brain
|
|
67
67
|
.brain/
|
|
68
|
+
AGENTS.md ## private preferences and project rules
|
|
68
69
|
CONTEXT.md ## domain vocabulary
|
|
69
70
|
adr/ ## decision records
|
|
70
71
|
designs/ ## one design doc per initiative
|
|
71
|
-
|
|
72
|
+
RETRO.md ## optional private retrospective findings
|
|
72
73
|
DOTBRAIN.md ## shared convention, owned by dotbrain
|
|
73
74
|
project.yaml ## runtime, tracker, skill selection
|
|
74
75
|
docs/ ## derived runbooks and reference
|
|
@@ -77,10 +78,11 @@ treeView-beta
|
|
|
77
78
|
|
|
78
79
|
| Element | Holds | Changes when |
|
|
79
80
|
| --- | --- | --- |
|
|
81
|
+
| `AGENTS.md` | Private preferences and project rules; `CLAUDE.md` is its alias | Working rules change |
|
|
80
82
|
| `CONTEXT.md` | Domain vocabulary: the names issues, plans, and code use | A concept is named or sharpened |
|
|
81
83
|
| `adr/` | Architecture Decision Records, one per decision | A hard-to-reverse choice with a real trade-off is made |
|
|
82
84
|
| `designs/` | Design docs, one initiative per file | An initiative is planned, built, or closed |
|
|
83
|
-
| `
|
|
85
|
+
| `RETRO.md` | Optional private retrospective findings and evidence | A retrospective pass records findings |
|
|
84
86
|
| `DOTBRAIN.md` | The shared convention, owned by dotbrain | `dotbrain refresh` updates it |
|
|
85
87
|
| `project.yaml` | Runtime, tracker, skill, and subagent selection | You change what the project uses |
|
|
86
88
|
| `docs/` | Derived runbooks and reference | Anytime; never authoritative |
|
|
@@ -91,8 +93,36 @@ real trade-off. An **active** design is the living authority for its initiative;
|
|
|
91
93
|
**shipped**, **abandoned**, or **superseded** it freezes as a record, and what should outlive it
|
|
92
94
|
moves to `adr/` and `CONTEXT.md`. [The workflow](workflow.md) walks through that lifecycle.
|
|
93
95
|
|
|
96
|
+
Design authoring settles scope, acceptance/UAT and execution authority with the human.
|
|
97
|
+
Decomposition investigates prerequisites and foreseeable decisions before unattended work; a
|
|
98
|
+
settled graph may be entirely autonomous and needs no second routine task-set approval.
|
|
99
|
+
Iteration validates and reuses the complete approved contract without repeat approval, retaining
|
|
100
|
+
narrower instructions and remaining limits on resume. Missing or changed scope, authority or
|
|
101
|
+
criteria decisions stop affected work with evidence and a recommendation; credentials being
|
|
102
|
+
available never grants permission. Agents check provider permissions at execution entry without
|
|
103
|
+
exposing secrets.
|
|
104
|
+
|
|
105
|
+
Agent delivery completes with agreed work, required reviews and acceptance/UAT complete at the
|
|
106
|
+
integrated revision, and a ready PR requesting human review. PR approval, target-branch merge and
|
|
107
|
+
release stay human. The design and epic remain active until manually invoked `close-design`
|
|
108
|
+
checks actual merge evidence for shipment; a closed-unmerged PR never proves shipment.
|
|
109
|
+
REFLECT keeps design discoveries in the design and execution facts in Beads. It adds no
|
|
110
|
+
retrospective checkpoint, second reflection report or merge polling.
|
|
111
|
+
|
|
94
112
|
Brain writes are commits in the dotbrain home, so every change can be reviewed and reverted.
|
|
95
113
|
|
|
114
|
+
Public repository `AGENTS.md` routes making or reviewing changes to tracked root `RULES.md`.
|
|
115
|
+
These instructions remain usable without a Brain. Shared `DOTBRAIN.md` owns private retrieval:
|
|
116
|
+
the lead or sole agent searches relevant retrospective findings during implementation or review
|
|
117
|
+
preparation and passes them through existing assignments. Workers and reviewers reuse supplied
|
|
118
|
+
findings; a missing notebook blocks nothing and triggers no scaffolding. Session start injects
|
|
119
|
+
only shared conventions, never the notebook.
|
|
120
|
+
|
|
121
|
+
Fresh Brains seed private `AGENTS.md` for a small set of personal preferences and project
|
|
122
|
+
rules, with `CLAUDE.md` as its alias. The agent reads it before substantial work; it is
|
|
123
|
+
never injected. Wiring and refresh preserve user-owned context and existing pointers.
|
|
124
|
+
Public `RULES.md` holds repository requirements; private preferences stay private.
|
|
125
|
+
|
|
96
126
|
## Execution Lives in the Tracker
|
|
97
127
|
|
|
98
128
|
Plans and tasks do not live in markdown checklists that go stale. They live in an **execution
|
|
@@ -8,7 +8,9 @@ for catalogs and project inspection. Empty lists, previews, and skipped work are
|
|
|
8
8
|
Doctor shows problems and warnings first; use `doctor -v` to include every healthy check.
|
|
9
9
|
Runtime activation and session uncertainty are informational, shown with `doctor -v` and in
|
|
10
10
|
JSON; they do not count as passed checks. Missing registered hook files and failed plugin
|
|
11
|
-
checks remain warnings.
|
|
11
|
+
checks remain warnings. With `--all`, a project whose shared `.repo` checkout is absent on this
|
|
12
|
+
machine is reported as skipped, not failed; a missing `.repo.local` checkout or an explicit
|
|
13
|
+
`--project` still fails.
|
|
12
14
|
Colors follow terminal capabilities; redirected output stays plain.
|
|
13
15
|
|
|
14
16
|
Finite reports support `--json`: stdout contains one result with command, overall status,
|
|
@@ -94,7 +96,6 @@ dotbrain wire [OPTIONS]
|
|
|
94
96
|
| --- | --- | --- |
|
|
95
97
|
| `--repo` *path* | — | Checkout to attach; defaults to the current Git checkout. |
|
|
96
98
|
| `--project` *text* | — | Select a named Brainspace. |
|
|
97
|
-
| `--no-repo` | — | Create a Brain-only project; requires `--project`. |
|
|
98
99
|
| `--skip-beads` | — | Create without a tracker. |
|
|
99
100
|
| `--remote` *text* | — | Dolt remote for initial tracker creation. |
|
|
100
101
|
| `--server-host` *text* | — | Dolt server host; defaults to config. |
|
|
@@ -94,10 +94,33 @@ skills: # extra skills for this project's workspaces
|
|
|
94
94
|
| `beads.database` | project name | Server database name |
|
|
95
95
|
| `skills` | `[]` | Skills linked into this project's workspaces |
|
|
96
96
|
| `subagents` | `[]` | Project-only subagents in addition to the packaged subagents |
|
|
97
|
+
| `retro.promotion.auto-deliver` | `false` | Skill-read setting: allow unattended commit/push/PR delivery of rule proposals |
|
|
98
|
+
| `retro.promotion.destinations` | `[]` | Allowed existing public guides as repo-relative paths; a nonempty array is required for auto-delivery |
|
|
97
99
|
|
|
98
100
|
`public-tracker` sets up public issue intake and contributor collaboration. It never mirrors the
|
|
99
101
|
private work graph or turns private work into public issues; see the `triage-public` skill.
|
|
100
102
|
|
|
103
|
+
`run-retro` reads its settings directly; they add no CLI delivery command. With auto-delivery
|
|
104
|
+
disabled or unset, it updates private findings, discovers the repository's guidance conventions,
|
|
105
|
+
and suggests a destination and rule for your decision. You can authorize an individual PR or
|
|
106
|
+
enable standing delivery to an agreed destination, for example:
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
# project.yaml — opt in only after agreeing on this repository's destination
|
|
110
|
+
retro:
|
|
111
|
+
promotion:
|
|
112
|
+
auto-deliver: true
|
|
113
|
+
destinations:
|
|
114
|
+
- CONTRIBUTING.md
|
|
115
|
+
- docs/code-standards.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Each destination must exist inside the repository. The skill selects the best fit per finding,
|
|
119
|
+
amending existing guidance without copying a rule into every file. If scope is ambiguous or no
|
|
120
|
+
allowed file fits, it suggests the choice to you. A new rules file needs explicit agreement;
|
|
121
|
+
the skill never assumes a repository should adopt `RULES.md`. Approval and merge remain human-owned.
|
|
122
|
+
Disabling auto-delivery leaves private capture and read-only reconciliation available.
|
|
123
|
+
|
|
101
124
|
::: info
|
|
102
125
|
`dotbrain refresh` preserves project declarations byte-for-byte. Intentional Beads configuration
|
|
103
126
|
updates preserve unrelated keys, unknown nested values, and explicit empty selections; YAML
|
|
@@ -33,9 +33,11 @@ agent-facing conventions. In dotbrain terms, the Brain is narrower than the full
|
|
|
33
33
|
|
|
34
34
|
### Brain-only project
|
|
35
35
|
|
|
36
|
-
A project
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
A retired kind of project with no code checkout. `dotbrain wire --no-repo` no longer exists: every
|
|
37
|
+
project has a repository as its working home. That repository can be private and hold only
|
|
38
|
+
documents. To migrate a Brain-only Brainspace, run `dotbrain wire --project <name>` from its new
|
|
39
|
+
repository, or move the Brainspace out of `brainspaces/` to archive it. Add `--skip-beads` to
|
|
40
|
+
create a project without a tracker.
|
|
39
41
|
|
|
40
42
|
### ADR
|
|
41
43
|
|
|
@@ -104,7 +106,7 @@ request you review. See [The workflow](workflow.md#_5-work-the-issues).
|
|
|
104
106
|
|
|
105
107
|
### Handoff workflow
|
|
106
108
|
|
|
107
|
-
The workflow in which an agent continues within a contract you approved with an explicit `GO
|
|
109
|
+
The workflow in which an agent continues within a contract you approved, with an explicit `GO` or by reusing an approved contract,
|
|
108
110
|
until it finishes, reaches a human gate, or hits a hard stop. `iterate-design` runs it and delivers
|
|
109
111
|
the work through a pull request that becomes ready for your review.
|
|
110
112
|
|
|
@@ -9,8 +9,8 @@ can send as they are, or adapt, for the common jobs. Each one says when to use i
|
|
|
9
9
|
triggers, and where the step is explained.
|
|
10
10
|
|
|
11
11
|
You do not have to name a skill: describing the job is usually enough for the agent to pick it.
|
|
12
|
-
Naming the skill makes the choice certain.
|
|
13
|
-
never start on their own; invoke them explicitly, for example `/dotbrain:iterate-design` in Claude
|
|
12
|
+
Naming the skill makes the choice certain. The skills `iterate-design`, `review-architecture`, `run-retro`,
|
|
13
|
+
and `close-design` never start on their own; invoke them explicitly, for example `/dotbrain:iterate-design` in Claude
|
|
14
14
|
Code.
|
|
15
15
|
|
|
16
16
|
## Set Up
|
|
@@ -139,7 +139,9 @@ execution is unavailable, the agent reports that and falls back to sequential ex
|
|
|
139
139
|
|
|
140
140
|
**When:** the design is active, the work has a mechanical check, and you want the agent to carry
|
|
141
141
|
on without you. It proposes a contract (scope, branch, checks, worker count, pull request
|
|
142
|
-
delivery
|
|
142
|
+
delivery, acceptance/UAT, reviews, provider/auth and finite limits) if approval is missing.
|
|
143
|
+
It validates and reuses a complete applicable approved contract without repeat `GO`.
|
|
144
|
+
PR approval, merge and release stay with you. **Skill:**
|
|
143
145
|
`iterate-design`, explicit only. See [The workflow](workflow.md#_5-work-the-issues).
|
|
144
146
|
|
|
145
147
|
### Handoff: parallel execution
|
|
@@ -232,11 +234,11 @@ are `code` (correctness), `simplify`, and `readiness` (is a subsystem sound enou
|
|
|
232
234
|
### Close a design
|
|
233
235
|
|
|
234
236
|
```text
|
|
235
|
-
The orders-pagination work is merged. Close the design: record the evidence and promote what should outlive it to ADRs and CONTEXT.md.
|
|
237
|
+
/dotbrain:close-design The orders-pagination work is merged. Close the design: record the evidence and promote what should outlive it to ADRs and CONTEXT.md.
|
|
236
238
|
```
|
|
237
239
|
|
|
238
240
|
**When:** an initiative ships, is abandoned, or is superseded. Also for sweeping designs that
|
|
239
|
-
never closed out. **Skill:** `close-design
|
|
241
|
+
never closed out. **Skill:** `close-design`, explicit only. See [The workflow](workflow.md#_7-close-the-design).
|
|
240
242
|
|
|
241
243
|
## Learn
|
|
242
244
|
|
|
@@ -13,8 +13,10 @@ sequenceDiagram
|
|
|
13
13
|
participant B as .brain/
|
|
14
14
|
A->>D: Session starts
|
|
15
15
|
D-->>A: dotbrain convention (wired repos only)
|
|
16
|
-
A->>B: Read AGENTS.md
|
|
17
|
-
B-->>A:
|
|
16
|
+
A->>B: Read AGENTS.md before substantial work
|
|
17
|
+
B-->>A: Private project rules and preferences
|
|
18
|
+
A->>B: Lead searches task-relevant retrospective findings
|
|
19
|
+
B-->>A: Relevant findings for existing assignments
|
|
18
20
|
```
|
|
19
21
|
|
|
20
22
|
The plugin registers one `SessionStart` hook that runs `dotbrain hook session-start`. It fires on
|
|
@@ -31,7 +33,9 @@ The project's own files are not injected:
|
|
|
31
33
|
| File | Loaded how |
|
|
32
34
|
| --- | --- |
|
|
33
35
|
| `.brain/DOTBRAIN.md` | Injected by the hook |
|
|
34
|
-
| `.brain/AGENTS.md` | Read
|
|
36
|
+
| `.brain/AGENTS.md` | Read before substantial work for private rules and preferences; never injected |
|
|
37
|
+
| Public `AGENTS.md` and root `RULES.md` | Repository entry point routes making/reviewing changes to tracked rules, usable without a Brain |
|
|
38
|
+
| `.brain/RETRO.md` | Lead or sole agent searches relevant findings during implementation or review preparation; passes them through assignments |
|
|
35
39
|
| `.brain/CONTEXT.md`, `adr/`, `designs/` | Read by the agent when the work needs them |
|
|
36
40
|
| `.brain/docs/` | Searched by the agent before it answers how the project works |
|
|
37
41
|
| Beads workflow primer | Not injected by dotbrain; the agent runs `bd prime` when it needs it |
|
|
@@ -43,7 +47,7 @@ To have the Beads primer injected too, add Beads' own hook with `bd setup claude
|
|
|
43
47
|
Dotbrain tests its session-start payload against a 10,000-byte budget. This budget comes from
|
|
44
48
|
measured Claude Code behavior: 9,961 bytes reached the model, while 10,010 bytes were written to
|
|
45
49
|
a file instead. It is not a verified limit for every runtime. `DOTBRAIN.md` has a bounded size;
|
|
46
|
-
|
|
50
|
+
repository rules and retrospective notebooks grow with the project. Injecting only the convention keeps the payload
|
|
47
51
|
within that budget.
|
|
48
52
|
:::
|
|
49
53
|
|
|
@@ -69,7 +73,8 @@ example prompts, and how the lead coordinates their results.
|
|
|
69
73
|
dotbrain ships packaged subagents. Claude Code receives them from the plugin as
|
|
70
74
|
`dotbrain:<role>`, for example `dotbrain:worker`. Codex has no plugin agents, so `dotbrain wire`
|
|
71
75
|
generates them into each wired checkout as `dotbrain-<role>`, for example `dotbrain-worker`.
|
|
72
|
-
Each
|
|
76
|
+
Each loads the authority relevant to its assignment; workers and reviewers reuse supplied findings
|
|
77
|
+
without reading the whole retrospective notebook. A missing notebook blocks nothing and is not scaffolded:
|
|
73
78
|
|
|
74
79
|
| Subagent | Does |
|
|
75
80
|
| --- | --- |
|
|
@@ -65,7 +65,8 @@ declaration stays unchanged. Removed owned links are pruned, while foreign entri
|
|
|
65
65
|
durable results into `CONTEXT.md` and `adr/`.
|
|
66
66
|
- **`find-unknowns`** — surface blind spots and tacit assumptions in unfamiliar territory before
|
|
67
67
|
committing to a design.
|
|
68
|
-
- **`close-design`** — drive a design doc to a terminal state:
|
|
68
|
+
- **`close-design`** — manually drive a design doc to a terminal state: check actual PR merge
|
|
69
|
+
evidence for shipment, record evidence, promote residue to
|
|
69
70
|
`adr/` and `CONTEXT.md`, close the epic.
|
|
70
71
|
|
|
71
72
|
## Execution
|
|
@@ -80,9 +81,29 @@ declaration stays unchanged. Removed owned links are pruned, while foreign entri
|
|
|
80
81
|
|
|
81
82
|
## Triage And Review
|
|
82
83
|
|
|
84
|
+
- **`run-retro`** — explicitly review new or changed evidence, retaining private retrospective
|
|
85
|
+
findings, successful practices, and bounded progress. Invoke manually or through an external
|
|
86
|
+
agent-host job; scheduling belongs to the host. Public auto-delivery is off by default:
|
|
87
|
+
it discovers repository rules, standards, or contributor guidance and suggests a destination
|
|
88
|
+
and rule for your decision. Set `retro.promotion.auto-deliver: true` and an existing
|
|
89
|
+
repo-relative `destinations` array in private project configuration to authorize unattended
|
|
90
|
+
commit/push/PR delivery. Otherwise authorize individual proposals. It reads PR/merge state
|
|
91
|
+
read-only to reconcile acceptance; approval and merge remain human-owned.
|
|
92
|
+
Findings use plain Markdown entries in private `RETRO.md`, with a short review-progress
|
|
93
|
+
header and no duplicated YAML ledger. Evidence review is scoped, not an exhaustive audit
|
|
94
|
+
of every historical record edit. An adopted `RULES.md` uses `Rule` / `What to check` tables; other guides retain
|
|
95
|
+
their conventions. Rule proposals have run-retro's own
|
|
96
|
+
PR process and body, independent of the `pr` skill used for ordinary changes.
|
|
97
|
+
First use reads existing root guidance and referenced standards, records current HEAD as
|
|
98
|
+
a baseline, and stops without reviewing history. In repository scope with no rules or
|
|
99
|
+
standards file, it offers once, on the first pass until answered, to create `RULES.md` from requirements existing guidance
|
|
100
|
+
already states and delivers it as a PR; contributor scope never creates a file in the repo.
|
|
101
|
+
Later runs review forward within explicitly
|
|
102
|
+
selected contribution branches/PRs or a maintainer-selected integration branch, reusing shared
|
|
103
|
+
progress and current applicable guidance. Missing scope is reported instead of assumed.
|
|
83
104
|
- **`review-gate`** — run a durable review gate (code, simplification, or readiness) and record the
|
|
84
|
-
outcome on the issue;
|
|
85
|
-
|
|
105
|
+
outcome on the issue; the lead closes accepted reviews before PR merge after required exact-revision
|
|
106
|
+
evidence and finding dispositions. Human PR approval, merge and release remain separate
|
|
86
107
|
- **`curate-project-context`** — find and repair stale, duplicated, misplaced, unreachable, or
|
|
87
108
|
leaking context across the public project and private Brain
|
|
88
109
|
- **`triage-public`** — classify public tracker items and promote ready work into private execution
|
|
@@ -94,7 +94,9 @@ Yes. Set `DOTBRAIN_HOME` to the directory you want.
|
|
|
94
94
|
|
|
95
95
|
### Can I use dotbrain without a code repo?
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
Not anymore. Every project needs a repository as its working home, but it can be a private
|
|
98
|
+
repository that holds only documents. To move an older Brain-only project onto one, run
|
|
99
|
+
`dotbrain wire --project <project>` from that repository.
|
|
98
100
|
|
|
99
101
|
### How do I stop using dotbrain on a repo?
|
|
100
102
|
|
|
@@ -72,10 +72,6 @@ dotbrain wire
|
|
|
72
72
|
dotbrain wire --repo ~/repos/my-app
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
```bash [Brain only]
|
|
76
|
-
dotbrain wire --no-repo --project research
|
|
77
|
-
```
|
|
78
|
-
|
|
79
75
|
:::
|
|
80
76
|
|
|
81
77
|
`wire` creates or repairs:
|
|
@@ -146,8 +142,10 @@ tracker state. Named selection and `--all` use registered checkouts rather than
|
|
|
146
142
|
## Selection and reports
|
|
147
143
|
|
|
148
144
|
Project commands default to the current wired checkout, including its subdirectories. Outside
|
|
149
|
-
one, use `--project <name>`. Named selection respects `.repo.local` before `.repo
|
|
150
|
-
|
|
145
|
+
one, use `--project <name>`. Named selection respects `.repo.local` before `.repo`. A Brainspace with
|
|
146
|
+
no registered checkout, such as an older Brain-only one, stays valid for operations that do not need
|
|
147
|
+
a checkout; `doctor` warns about it, and `--all` asset linking skips it. Run
|
|
148
|
+
`dotbrain wire --project <name>` from a repository to register one. Use `dotbrain projects list` and
|
|
151
149
|
`dotbrain projects show` to inspect identities and resolved settings without remote probes.
|
|
152
150
|
|
|
153
151
|
`--all` conflicts with `--project` and `--repo`. Applicable leaf commands accept `--home <path>`
|
|
@@ -99,6 +99,10 @@ criteria and `blocks` dependencies. "What can I work on next" is then a query in
|
|
|
99
99
|
bd ready
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
+
It investigates prerequisites and surfaces foreseeable human decisions with evidence and
|
|
103
|
+
recommendations before unattended work. A settled design needs no second task-set sign-off;
|
|
104
|
+
an entirely autonomous implementation graph is valid. Unresolved decisions block affected work.
|
|
105
|
+
|
|
102
106
|
## 5. Work the Issues
|
|
103
107
|
|
|
104
108
|
`manage-work-graph` keeps the work graph: it files, links, and claims issues and closes them when
|
|
@@ -122,20 +126,23 @@ share no build outputs, databases, or ports. When you are directing the work, it
|
|
|
122
126
|
split before starting, and you can change it.
|
|
123
127
|
|
|
124
128
|
Either way, the work happens on a dedicated branch and reaches `main` through a pull request you
|
|
125
|
-
review. The agent
|
|
129
|
+
review. The agent reuses complete applicable delivery approval, asks only for missing or changed
|
|
130
|
+
authority before pushing or opening that pull request, and lands work directly on
|
|
126
131
|
`main` only when you tell it to.
|
|
127
132
|
|
|
128
133
|
**Or hand it off.** For an unattended run against an active design, `iterate-design` drives the
|
|
129
134
|
agent's loop mode with a mechanical verifier and a hard stop. You approve a contract first: the
|
|
130
135
|
scope, the branch, the checks, how many workers may run at once, and how the pull request is
|
|
131
|
-
delivered.
|
|
136
|
+
delivered, provider/auth and PR authority, acceptance/UAT, reviews, and finite limits. A complete
|
|
137
|
+
approved contract is validated and reused without repeat `GO`; an execution request alone grants
|
|
138
|
+
no missing authority. Remaining limits and narrower instructions survive resume. Then:
|
|
132
139
|
|
|
133
140
|
- At its first push it opens a draft pull request, and it pushes again after each accepted integration group.
|
|
134
141
|
- When an issue fails its checks three times in a row, or needs your decision, only that issue and
|
|
135
142
|
the issues waiting on it stop. Independent issues continue.
|
|
136
143
|
- When the run stops blocked, it mentions you on the pull request, so you are notified.
|
|
137
144
|
- When everything is done and reviewed, it marks the pull request ready and requests your review.
|
|
138
|
-
|
|
145
|
+
PR approval, target-branch merge, and release stay with you.
|
|
139
146
|
|
|
140
147
|
## 6. Review
|
|
141
148
|
|
|
@@ -156,17 +163,23 @@ Reviews happen at two levels:
|
|
|
156
163
|
The final integration review can supply this only with explicit whole-branch coverage at the
|
|
157
164
|
exact final revision; approval of the latest group alone is insufficient. Otherwise arrange a
|
|
158
165
|
whole-branch review. Later changes affecting coverage need refreshed evidence. A handoff
|
|
159
|
-
also runs a simplification pass. Its suggestions never block the pull request;
|
|
160
|
-
|
|
166
|
+
also runs a simplification pass. Its suggestions never block the pull request; the lead records
|
|
167
|
+
dispositions within approved scope and returns new consequential decisions to you.
|
|
161
168
|
|
|
162
169
|
`review-gate` runs these reviews in focused modes (correctness, simplification, or readiness) and
|
|
163
|
-
records each outcome in the tracker.
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
records each outcome in the tracker. Within approved authority, the lead closes accepted work and
|
|
171
|
+
reviews before PR merge: required independent verdicts and acceptance/UAT evidence cover the exact
|
|
172
|
+
integrated revision, blocking findings are resolved, and other findings have recorded dispositions.
|
|
173
|
+
Simplify stays non-blocking and closes once every finding is applied, filed, or declined with a reason.
|
|
174
|
+
Reviews gain no automatic human gate. Genuine human decisions still block affected work; review
|
|
175
|
+
closure grants no PR approval, merge, or release authority.
|
|
166
176
|
|
|
167
177
|
## 7. Close the Design
|
|
168
178
|
|
|
169
|
-
`close-design`
|
|
179
|
+
You manually invoke `close-design` to move the design to a terminal state. For shipped work it
|
|
180
|
+
checks the actual PR, target branch, merge commit and merge date; closed-unmerged never establishes
|
|
181
|
+
shipment. A ready PR leaves the design and epic active. Work/review closure never invokes closeout
|
|
182
|
+
automatically, and no merge polling is added. It records the evidence that the success
|
|
170
183
|
criteria were met, promotes what should outlive the initiative into `adr/` and `CONTEXT.md`, and
|
|
171
184
|
closes the epic. The next initiative starts with those decisions already in the Brain.
|
|
172
185
|
|
|
@@ -174,9 +174,9 @@ Worker 自己的测试是过程中的检查证据,不是独立验收。Lead
|
|
|
174
174
|
HITL 中,lead 可以提出小改动的审阅豁免建议,问你是否同意。包含多个任务的分支,交付前需要独立的全分支代码审阅。
|
|
175
175
|
最后一次集成审阅只有明确覆盖最终版本的整个分支 diff、所有范围内任务、交互和 active 设计,才能兼作最终代码审阅。
|
|
176
176
|
只批准最后一组改动不够。Reviewer 必须没有编写任何被审阅的改动,但不必换新人;覆盖不全时另做全分支审阅。
|
|
177
|
-
|
|
177
|
+
机械检查、最终人工 PR 审阅和你的合并门槛保持不变。
|
|
178
178
|
只有一个任务的分支,也只有在单任务审阅覆盖最终完整 diff 时才能复用;否则仍需全分支审阅。
|
|
179
|
-
Handoff 在有独立 reviewer
|
|
179
|
+
Handoff 在有独立 reviewer 可用时还会做一轮不阻塞交付的简化审阅;lead 在已批准的范围内记录处理结果,新的重大决策交给你。
|
|
180
180
|
|
|
181
181
|
## 工作停下时 {#when-something-stops}
|
|
182
182
|
|
|
@@ -61,10 +61,11 @@ Brain 里的每个部分各有一个用途:
|
|
|
61
61
|
treeView-beta
|
|
62
62
|
accTitle: The files and folders of a Brain
|
|
63
63
|
.brain/
|
|
64
|
+
AGENTS.md ## private preferences and project rules
|
|
64
65
|
CONTEXT.md ## domain vocabulary
|
|
65
66
|
adr/ ## decision records
|
|
66
67
|
designs/ ## one design doc per initiative
|
|
67
|
-
|
|
68
|
+
RETRO.md ## optional private retrospective findings
|
|
68
69
|
DOTBRAIN.md ## shared convention, owned by dotbrain
|
|
69
70
|
project.yaml ## runtime, tracker, skill selection
|
|
70
71
|
docs/ ## derived runbooks and reference
|
|
@@ -73,19 +74,40 @@ treeView-beta
|
|
|
73
74
|
|
|
74
75
|
| 部分 | 内容 | 何时变化 |
|
|
75
76
|
| --- | --- | --- |
|
|
77
|
+
| `AGENTS.md` | 私有偏好和项目规则;`CLAUDE.md` 是它的别名 | 工作规则变化时 |
|
|
76
78
|
| `CONTEXT.md` | 领域术语:任务、计划和代码里用的名字 | 一个概念被命名或定义得更精确时 |
|
|
77
79
|
| `adr/` | 架构决策记录(ADR),每个决策一条 | 做出一个难以撤回、有真实取舍的选择时 |
|
|
78
80
|
| `designs/` | 设计文档,每项工作一个文件 | 一项工作被规划、实现或结束时 |
|
|
79
|
-
| `
|
|
81
|
+
| `RETRO.md` | 可选的私有复盘发现和证据 | 复盘记录新发现时 |
|
|
80
82
|
| `DOTBRAIN.md` | 共享约定,由 dotbrain 维护 | `dotbrain refresh` 更新它时 |
|
|
81
83
|
| `project.yaml` | 运行时、任务跟踪、技能和子 Agent 的选择 | 你改变项目使用的东西时 |
|
|
82
84
|
| `docs/` | 派生的操作手册和参考资料 | 随时;从不作为权威依据 |
|
|
83
85
|
| `learning/` | 可选的个人学习工作区 | 你用 `teach-me` 学习项目时 |
|
|
84
86
|
|
|
87
|
+
公开的仓库 `AGENTS.md` 会指引 Agent 在修改或审阅代码时读取根目录下、由 Git 跟踪的
|
|
88
|
+
`RULES.md`;没有 Brain 也能照常使用。共享约定 `DOTBRAIN.md` 负责私有上下文的检索:
|
|
89
|
+
lead 或独立工作的 Agent 在实现或审阅准备时搜索复盘笔记,把相关发现随任务分派传递。
|
|
90
|
+
worker 和 reviewer 复用这些发现,不必通读笔记;笔记缺失不会阻塞工作,也不会因此自动创建。
|
|
91
|
+
会话开始时只注入共享约定,不会注入复盘笔记。
|
|
92
|
+
|
|
93
|
+
新建 Brain 会生成私有的 `AGENTS.md`,保存少量个人偏好和项目私有规则,
|
|
94
|
+
`CLAUDE.md` 是它的符号链接。Agent 在开始实质工作前读取它,会话启动时不注入。
|
|
95
|
+
wire 和 refresh 保留已有内容和上下文指针。仓库要求放在公开的 `RULES.md`,个人偏好保持私有。
|
|
96
|
+
|
|
85
97
|
ADR 记录的是难以撤回、没有上下文会让人意外、并且经过真实取舍的决策。**active** 的设计是这项工作的
|
|
86
98
|
权威依据;一旦变成 **shipped**、**abandoned** 或 **superseded**,它就冻结为一份记录,需要长期保留的内容
|
|
87
99
|
转移到 `adr/` 和 `CONTEXT.md`。[工作流程](workflow.md)介绍了这个生命周期。
|
|
88
100
|
|
|
101
|
+
写设计时,先与你敲定范围、验收/UAT 和执行权限。拆分任务前调查前置条件和可预见的决策;
|
|
102
|
+
设计已定,就不必再为任务拆分单独确认,实现任务也可以全部自主完成。执行时核实并复用完整授权,
|
|
103
|
+
恢复时保留更窄的指令和剩余次数、预算。遇到新的范围、权限或验收标准问题,先停下相关工作,
|
|
104
|
+
带上证据和建议交给你决定。执行入口检查 provider 权限,不暴露凭据;有凭据不等于有授权。
|
|
105
|
+
|
|
106
|
+
Agent 完成约定的工作、必要审阅和验收/UAT,证据覆盖准确的集成版本,再把 PR 标为 ready 并请求你审阅。
|
|
107
|
+
PR 批准、合并到目标分支和发布仍由你决定。设计和 epic 保持 active,直到你手动调用 `close-design`;
|
|
108
|
+
认定已交付前要核实真实合并证据,关闭但未合并的 PR 不算交付。REFLECT 仍把设计发现写回设计、执行事实
|
|
109
|
+
写入 Beads,不增加复盘检查点、第二份反思报告或合并轮询。
|
|
110
|
+
|
|
89
111
|
对 Brain 的写入都是 dotbrain 主目录里的提交,所以每次改动都可以审阅和撤回。
|
|
90
112
|
|
|
91
113
|
## 执行状态放在任务跟踪里 {#execution-lives-in-the-tracker}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
面向人的输出会按目标对改动和问题分组,把主目录路径缩写成 `~`,并用表格展示目录和项目信息。空列表、预览和
|
|
6
6
|
被跳过的操作都会明确显示。doctor 先显示问题和警告;用 `doctor -v` 可以包括所有健康的检查项。运行时激活状态和
|
|
7
7
|
会话的不确定性属于参考信息,只在 `doctor -v` 和 JSON 中显示,不算作通过的检查。缺失的已注册 hook 文件和失败的
|
|
8
|
-
|
|
8
|
+
插件检查仍然是警告。使用 `--all` 时,如果项目共享的 `.repo` checkout 不在本机上,该项目显示为跳过而不是失败;
|
|
9
|
+
`.repo.local` 指向的 checkout 缺失,或用 `--project` 明确选择时,仍然报错。颜色会根据终端能力调整;重定向的输出保持纯文本。
|
|
9
10
|
|
|
10
11
|
一次性输出结果的命令支持 `--json`:stdout 包含一个结果,里面有命令、总体状态、每个目标的结果和错误。
|
|
11
12
|
问题的严重级别有 `info`、`warning` 和 `error`;只有 warning 时不算失败。退出码 `0` 表示成功,`1` 表示操作失败或
|
|
@@ -89,7 +90,6 @@ dotbrain wire [OPTIONS]
|
|
|
89
90
|
| --- | --- | --- |
|
|
90
91
|
| `--repo` *path* | — | 要连接的 checkout;默认是当前的 Git checkout。 |
|
|
91
92
|
| `--project` *text* | — | 选择一个指定的 Brainspace。 |
|
|
92
|
-
| `--no-repo` | — | 创建只有 Brain 的项目;需要 `--project`。 |
|
|
93
93
|
| `--skip-beads` | — | 创建时不带任务跟踪。 |
|
|
94
94
|
| `--remote` *text* | — | 首次创建任务跟踪时使用的 Dolt remote。 |
|
|
95
95
|
| `--server-host` *text* | — | Dolt 服务器主机;默认取自配置。 |
|
|
@@ -91,10 +91,30 @@ skills: # extra skills for this project's workspaces
|
|
|
91
91
|
| `beads.database` | 项目名 | 服务器上的数据库名 |
|
|
92
92
|
| `skills` | `[]` | 链接到这个项目工作区的技能 |
|
|
93
93
|
| `subagents` | `[]` | 在自带子 Agent 之外,只给这个项目用的子 Agent |
|
|
94
|
+
| `retro.promotion.auto-deliver` | `false` | 由 skill 读取:允许自动提交、推送规则提案并创建 PR |
|
|
95
|
+
| `retro.promotion.destinations` | `[]` | 允许修改的已有公开指南,相对仓库的路径数组;启用自动交付时不能为空 |
|
|
94
96
|
|
|
95
97
|
`public-tracker` 用来设置公开的任务入口和与贡献者的协作。它从不镜像私有的工作图,也不会把私有工作变成
|
|
96
98
|
公开任务;见 `triage-public` 技能。
|
|
97
99
|
|
|
100
|
+
`run-retro` 直接读取这些设置,不增加 CLI 交付命令。自动交付未设置或关闭时,它更新私有发现,
|
|
101
|
+
查找仓库已有的规则、标准或贡献指南,并建议文件位置和规则,由你决定是否创建 PR。
|
|
102
|
+
你可以单独授权某个提案,也可以在确认仓库接受该位置后启用自动交付:
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
# project.yaml — 先确认这个仓库接受该位置,再启用
|
|
106
|
+
retro:
|
|
107
|
+
promotion:
|
|
108
|
+
auto-deliver: true
|
|
109
|
+
destinations:
|
|
110
|
+
- CONTRIBUTING.md
|
|
111
|
+
- docs/code-standards.md
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
各目标文件必须已存在于仓库内。skill 按发现的主题和适用范围选择最合适的文件,不把同一规则复制到所有文件。
|
|
115
|
+
没有合适位置或归属不清时,它会建议位置,由你决定。新建规则文件需要明确同意;skill 不会默认要求仓库采用 `RULES.md`。
|
|
116
|
+
PR 批准与合并仍由你决定。关闭自动交付后,私有记录和只读的合并状态核对照常进行。
|
|
117
|
+
|
|
98
118
|
::: info
|
|
99
119
|
`dotbrain refresh` 会逐字节保留项目声明。有意更新 Beads 配置时,会保留不相关的键、未知的嵌套值和显式的
|
|
100
120
|
空选择;这类显式更新可能会重新排版 YAML 注释。
|
|
@@ -31,8 +31,10 @@ Brainspace 小。
|
|
|
31
31
|
|
|
32
32
|
### Brain-only project
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
已经停用的项目类型,没有代码 checkout。`dotbrain wire --no-repo` 已经移除:每个项目都以一个仓库作为工作目录。
|
|
35
|
+
这个仓库可以是私有的,只放文档。要迁移 Brain-only 的 Brainspace,在新仓库里运行
|
|
36
|
+
`dotbrain wire --project <name>`;或者把 Brainspace 移出 `brainspaces/` 归档。加上 `--skip-beads` 可以创建一个
|
|
37
|
+
没有任务跟踪的项目。
|
|
36
38
|
|
|
37
39
|
### ADR
|
|
38
40
|
|
|
@@ -91,7 +93,7 @@ dotbrain 的全局配置文件,通常在 `~/dotbrain/config.yaml`。它存放
|
|
|
91
93
|
|
|
92
94
|
### Handoff workflow
|
|
93
95
|
|
|
94
|
-
Agent
|
|
96
|
+
Agent 在你批准的约定范围内继续工作(通过明确的 `GO`,或复用已批准的约定),直到完成、遇到需要人来把关的关卡,或者触发硬性停止条件。
|
|
95
97
|
`iterate-design` 负责运行它,并通过一个转为 ready、等你审阅的 PR 交付工作。
|
|
96
98
|
|
|
97
99
|
### Execution mode
|