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.
Files changed (122) hide show
  1. {dotbrain-0.7.0 → dotbrain-0.9.0}/PKG-INFO +16 -6
  2. {dotbrain-0.7.0 → dotbrain-0.9.0}/README.md +15 -5
  3. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/agent-team.md +2 -2
  4. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/architecture.md +32 -2
  5. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/cli-reference.md +3 -2
  6. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/configuration.md +23 -0
  7. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/glossary.md +6 -4
  8. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/prompts.md +7 -5
  9. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/session-context.md +10 -5
  10. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/skills.md +24 -3
  11. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/troubleshooting.md +3 -1
  12. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/wiring.md +4 -6
  13. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/workflow.md +22 -9
  14. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/agent-team.md +2 -2
  15. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/architecture.md +24 -2
  16. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/cli-reference.md +2 -2
  17. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/configuration.md +20 -0
  18. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/glossary.md +5 -3
  19. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/prompts.md +6 -5
  20. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/session-context.md +10 -5
  21. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/skills.md +19 -3
  22. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/troubleshooting.md +2 -1
  23. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/wiring.md +3 -5
  24. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/workflow.md +18 -7
  25. {dotbrain-0.7.0 → dotbrain-0.9.0}/pyproject.toml +1 -1
  26. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/__init__.py +1 -1
  27. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/_cli_reference.py +3 -1
  28. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/adopter_repos.py +42 -11
  29. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/asset_cli.py +1 -1
  30. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/brainspaces.py +5 -31
  31. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/cli.py +1 -2
  32. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/doctor.py +11 -4
  33. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/hooks.py +3 -4
  34. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/paths.py +5 -3
  35. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/presentation.py +11 -9
  36. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/projects.py +1 -1
  37. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/researcher.toml +5 -2
  38. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/worker.toml +4 -3
  39. dotbrain-0.9.0/src/dotbrain/resources/templates/brain/AGENTS.md +12 -0
  40. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/DOTBRAIN.md +48 -50
  41. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/docs/README.md +1 -1
  42. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/project.yaml +7 -0
  43. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/workflows.py +31 -52
  44. dotbrain-0.7.0/src/dotbrain/resources/templates/brain/AGENTS.md +0 -9
  45. {dotbrain-0.7.0 → dotbrain-0.9.0}/.gitignore +0 -0
  46. {dotbrain-0.7.0 → dotbrain-0.9.0}/LICENSE +0 -0
  47. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/config.mts +0 -0
  48. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/Mermaid.vue +0 -0
  49. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/index.ts +0 -0
  50. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/.vitepress/theme/style.css +0 -0
  51. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/AGENTS.md +0 -0
  52. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/CLAUDE.md +0 -0
  53. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/README.md +0 -0
  54. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/beads-backend.md +0 -0
  55. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/brain-site-configuration.md +0 -0
  56. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/brain-site.md +0 -0
  57. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/getting-started.md +0 -0
  58. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/index.md +0 -0
  59. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/learning.md +0 -0
  60. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/package-lock.json +0 -0
  61. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/package.json +0 -0
  62. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/apple-touch-icon-light.png +0 -0
  63. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/banner-dark.png +0 -0
  64. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/banner-light.png +0 -0
  65. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/favicon-dark-32.png +0 -0
  66. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/favicon-light-32.png +0 -0
  67. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-dark.png +0 -0
  68. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-dark.svg +0 -0
  69. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-light.png +0 -0
  70. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/how-it-works-light.svg +0 -0
  71. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/lockup-horizontal-dark-1024.png +0 -0
  72. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/lockup-horizontal-light-1024.png +0 -0
  73. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-dark-512.png +0 -0
  74. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-dark.png +0 -0
  75. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-light-512.png +0 -0
  76. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/mark-light.png +0 -0
  77. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-dark.png +0 -0
  78. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-dark.svg +0 -0
  79. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-light.png +0 -0
  80. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/public/assets/workflow-light.svg +0 -0
  81. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/why-dotbrain.md +0 -0
  82. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/beads-backend.md +0 -0
  83. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/brain-site-configuration.md +0 -0
  84. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/brain-site.md +0 -0
  85. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/getting-started.md +0 -0
  86. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/index.md +0 -0
  87. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/learning.md +0 -0
  88. {dotbrain-0.7.0 → dotbrain-0.9.0}/docs/zh/why-dotbrain.md +0 -0
  89. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/assets.py +0 -0
  90. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/beads.py +0 -0
  91. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/bootstrap.py +0 -0
  92. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/config.py +0 -0
  93. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/migrate.py +0 -0
  94. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/options.py +0 -0
  95. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resource_loader.py +0 -0
  96. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/__init__.py +0 -0
  97. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/reviewer.toml +0 -0
  98. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/agents/codex/verifier.toml +0 -0
  99. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/config.yaml +0 -0
  100. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/core.yaml +0 -0
  101. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/package-lock.json +0 -0
  102. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/package.json +0 -0
  103. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/config.mts +0 -0
  104. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/DocsOverview.vue +0 -0
  105. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/HomeTiles.vue +0 -0
  106. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/LearnOverview.vue +0 -0
  107. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/Mermaid.vue +0 -0
  108. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/PageStatus.vue +0 -0
  109. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/base.ts +0 -0
  110. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/custom.css +0 -0
  111. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/empty.css +0 -0
  112. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/empty.ts +0 -0
  113. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/site/vitepress/theme/index.ts +0 -0
  114. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/adr/README.md +0 -0
  115. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/designs/README.md +0 -0
  116. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/site/configure.md +0 -0
  117. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/brain/site/index.md +0 -0
  118. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/resources/templates/gitignore +0 -0
  119. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/results.py +0 -0
  120. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/site.py +0 -0
  121. {dotbrain-0.7.0 → dotbrain-0.9.0}/src/dotbrain/skills.py +0 -0
  122. {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.7.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. The agent then
163
- reads the project's private rules and retrieves the context the task needs. Workflow skills
164
- guide how it consults that context and records what you work out together.
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 review:** closing the design records the evidence and preserves useful decisions and
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 the success criteria and the final review decision. Use the full loop when work spans
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. The agent then
140
- reads the project's private rules and retrieves the context the task needs. Workflow skills
141
- guide how it consults that context and records what you work out together.
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 review:** closing the design records the evidence and preserves useful decisions and
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 the success criteria and the final review decision. Use the full loop when work spans
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 record, and your merge gate remain.
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
- you decide what to do with its suggestions.
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
- AGENTS.md ## this project's agent conventions
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
- | `AGENTS.md` | This project's agent conventions | Working rules change |
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 created without a code checkout, using `dotbrain wire --no-repo --project <name>`.
37
- It can still have an execution store. Add `--skip-beads` to create it without a tracker;
38
- tracker-free projects can also have wired checkouts.
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. Two skills, `iterate-design` and `review-architecture`,
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) and starts only after you reply `GO`. Merging stays with you. **Skill:**
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`. See [The workflow](workflow.md#_7-close-the-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, before substantial work
17
- B-->>A: The project's own rules
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 by the agent; the convention tells it to |
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
- a project's `AGENTS.md` grows with the project. Injecting only the convention keeps the payload
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 reads the Brain before acting:
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: record evidence, promote residue to
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; a code review closes once you merge its pull request, and other reviews
85
- close with you
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
- Yes. `dotbrain wire --no-repo --project <project>` creates a Brain-only Brainspace.
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`; Brain-only
150
- projects are valid for operations that do not need a checkout. Use `dotbrain projects list` and
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 asks before pushing or opening that pull request, and lands work directly on
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. Then:
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
- Merging stays with you.
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; you decide on
160
- them alongside it.
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. The agent never closes a review on its own judgment: it closes
164
- a code review's record once it sees you merge the reviewed pull request, and every other review
165
- waits for you.
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` moves the design to a terminal state. It records the evidence that the success
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
- AGENTS.md ## this project's agent conventions
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
- | `AGENTS.md` | 本项目的 Agent 约定 | 工作规则变化时 |
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
- 没有代码 checkout 的项目,用 `dotbrain wire --no-repo --project <name>` 创建。它仍然可以有执行存储。加上
35
- `--skip-beads` 可以创建一个没有任务跟踪的项目;没有任务跟踪的项目也可以连接 checkout。
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 在你用明确的 `GO` 批准的约定范围内继续工作,直到完成、遇到需要人来把关的关卡,或者触发硬性停止条件。
96
+ Agent 在你批准的约定范围内继续工作(通过明确的 `GO`,或复用已批准的约定),直到完成、遇到需要人来把关的关卡,或者触发硬性停止条件。
95
97
  `iterate-design` 负责运行它,并通过一个转为 ready、等你审阅的 PR 交付工作。
96
98
 
97
99
  ### Execution mode