@brokkai/brokk-town 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -2
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -110,6 +110,73 @@ the Mayor as decision maker and shows Simplifier Bot's advice on every pending
|
|
|
110
110
|
arrival. Auto lets the bot's assessment route routine work without a separate
|
|
111
111
|
Mayoral decision, including closing low-value complex issues.
|
|
112
112
|
|
|
113
|
+
### What each bot takes on
|
|
114
|
+
|
|
115
|
+
Each house can be told what work to accept and how much of it to produce. Every
|
|
116
|
+
setting here is one the bot already supports, and a house refuses a setting it
|
|
117
|
+
cannot honour rather than accepting it and ignoring it:
|
|
118
|
+
|
|
119
|
+
| Setting | Flag | Houses |
|
|
120
|
+
| --- | --- | --- |
|
|
121
|
+
| Required labels | `--labels` | bug, feature, issue, review, simplifier |
|
|
122
|
+
| Excluded labels | `--exclude-labels` | issue, review |
|
|
123
|
+
| One selected item | `--only` | issue (an issue number), review (a PR number) |
|
|
124
|
+
| Discovery focus | `--focus` | bug, feature, review |
|
|
125
|
+
| Per-run limit | `--limit` | bug/feature (issues filed), review (findings), simplifier (proposals), repo (repair attempts per revision), hall (bulletin items) |
|
|
126
|
+
| Attempts per item | `--attempts` | bug, feature, issue, review, release |
|
|
127
|
+
| Verification command | `--verify` | every house; overrides the town's `verify` |
|
|
128
|
+
| Release cadence, preflight, required workflows and assets | `--release-*` | release |
|
|
129
|
+
|
|
130
|
+
```sh
|
|
131
|
+
./bin/bt settings --repo BrokkAi/my-project --role issue --labels agent-ready --exclude-labels needs-discussion
|
|
132
|
+
./bin/bt settings --repo BrokkAi/my-project --role issue --only 412
|
|
133
|
+
./bin/bt settings --repo BrokkAi/my-project --role bug --focus 'the storage layer' --limit 3
|
|
134
|
+
./bin/bt settings --repo BrokkAi/my-project --role review --verify '["make","review-check"]'
|
|
135
|
+
./bin/bt settings --repo BrokkAi/my-project --role release --release-quiet-seconds 900 --release-burst 10 --release-burst-window-seconds 3600 --release-triage on
|
|
136
|
+
./bin/bt settings --repo BrokkAi/my-project --role issue --clear-policy
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Config-file towns take the same settings under `bot_policies`, keyed by house;
|
|
140
|
+
the example lists every supported field. A town that sets none behaves exactly
|
|
141
|
+
as it did before these settings existed.
|
|
142
|
+
|
|
143
|
+
Town applies the same filters to its own queue that it sends to the bot, so the
|
|
144
|
+
queue you read is the queue the house will take from. Filtered work is not
|
|
145
|
+
hidden: each house's inspector states its policy, counts the inventory it holds
|
|
146
|
+
back, and marks each held item, so you can always see what your own filter
|
|
147
|
+
excluded. A house whose bundled bot is too old to read a policy is refused the
|
|
148
|
+
dispatch with the bot and version named, instead of running unfiltered.
|
|
149
|
+
|
|
150
|
+
### Agent budgets
|
|
151
|
+
|
|
152
|
+
A town can bound how much automation it starts in a repeating accounting period:
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
./bin/bt settings --repo BrokkAi/my-project --budget-period day --budget-attempts 40 --budget-agent-minutes 600
|
|
156
|
+
./bin/bt settings --repo BrokkAi/my-project --budget-period none
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
The period is `day`, `week`, or `month` on your local clock, and at least one of
|
|
160
|
+
`--budget-attempts` or `--budget-agent-minutes` is required. Config-file towns
|
|
161
|
+
take the same settings as `"budget": {"period": "day", "max_attempts": 40,
|
|
162
|
+
"max_agent_minutes": 600}`.
|
|
163
|
+
|
|
164
|
+
Town charges the budget for every attempt that started an agent. A repository
|
|
165
|
+
inventory reads GitHub without one and is never charged; a branch repair is.
|
|
166
|
+
When a ceiling is reached, Town stops dispatching new agent work for that town
|
|
167
|
+
and says so in Town Hall with the time the period resets. Work already running
|
|
168
|
+
finishes normally, cancellation and saved work are untouched, and the repository
|
|
169
|
+
inventory keeps running so uncertain writes can still be reconciled. Other towns
|
|
170
|
+
are unaffected: a budget is per town, not per worker slot.
|
|
171
|
+
|
|
172
|
+
**Town cannot cap token or dollar spend.** No bundled agent harness reports usage
|
|
173
|
+
back through the worker protocol -- the acp-go runner hands a bot the agent's
|
|
174
|
+
final text and nothing else -- so Town would be enforcing a limit against numbers
|
|
175
|
+
it never receives. Attempts and agent minutes are what it measures, so those are
|
|
176
|
+
what it enforces. Where usage or cost is missing, Town Hall prints "not
|
|
177
|
+
reported"; it never shows absent telemetry as zero. Attempts whose elapsed time
|
|
178
|
+
never arrived are counted and reported separately rather than billed as free.
|
|
179
|
+
|
|
113
180
|
For each profile, select any agent from the
|
|
114
181
|
[official ACP registry](https://agentclientprotocol.com/get-started/registry),
|
|
115
182
|
plus **Anvil**, **Muse ACP**, **Draupnir**, or a custom ACP command. The full
|
|
@@ -292,8 +359,8 @@ bot profiles, verification command, and policy, then run:
|
|
|
292
359
|
Configuration is a JSON array for town-only files. Each entry supplies `repo`, optional `branch` and
|
|
293
360
|
`harness`, `agent`, optional `bot_agents`, optional `verify` argument vector,
|
|
294
361
|
`merge_policy`, `simplifier_mode`, optional `review_close_severity` (`P1`, `P2`
|
|
295
|
-
or `P3`, default `P2`), `
|
|
296
|
-
`max_cycles`. The example
|
|
362
|
+
or `P3`, default `P2`), optional `budget`, optional `bot_policies`,
|
|
363
|
+
`poll_seconds`, `report_seconds`, and `max_cycles`. The example
|
|
297
364
|
lists all required values. To persist global capacity alongside the town list,
|
|
298
365
|
use the object form `{"max_workers": 2, "towns": [...]}`; the legacy array form
|
|
299
366
|
remains accepted. When `serve --config` includes `max_workers`, that value
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.2",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"arm64"
|
|
26
26
|
],
|
|
27
27
|
"optionalDependencies": {
|
|
28
|
-
"@brokkai/brokk-town-linux-x64": "0.6.
|
|
29
|
-
"@brokkai/brokk-town-linux-arm64": "0.6.
|
|
30
|
-
"@brokkai/brokk-town-darwin-x64": "0.6.
|
|
31
|
-
"@brokkai/brokk-town-darwin-arm64": "0.6.
|
|
28
|
+
"@brokkai/brokk-town-linux-x64": "0.6.2",
|
|
29
|
+
"@brokkai/brokk-town-linux-arm64": "0.6.2",
|
|
30
|
+
"@brokkai/brokk-town-darwin-x64": "0.6.2",
|
|
31
|
+
"@brokkai/brokk-town-darwin-arm64": "0.6.2"
|
|
32
32
|
}
|
|
33
33
|
}
|