overlord-cli 0.2609071353.0 → 0.2609080806.0
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/dist/connectors/VERSION +1 -1
- package/dist/connectors/adapters/antigravity/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/antigravity/plugin.json +1 -1
- package/dist/connectors/adapters/antigravity/skills/add-objectives.md +2 -0
- package/dist/connectors/adapters/antigravity/skills/create.md +2 -0
- package/dist/connectors/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/claude/commands/add-objectives.md +2 -0
- package/dist/connectors/adapters/claude/commands/create.md +2 -0
- package/dist/connectors/adapters/claude/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/codex/.codex-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/codex/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/cursor/commands/add-objectives.md +2 -0
- package/dist/connectors/adapters/cursor/commands/create.md +2 -0
- package/dist/connectors/adapters/cursor/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/opencode/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/pi/conformance-manifest.yaml +1 -1
- package/dist/connectors/core/overlord-mission/SKILL.md +52 -2
- package/dist/connectors/core/overlord-mission/reference/cli.md +7 -0
- package/dist/connectors/core/scripts/overlord-mcp.mjs +32 -2
- package/dist/index.js +59 -9
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
package/dist/connectors/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.43
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://antigravity.google/schemas/v1/plugin.json",
|
|
3
3
|
"name": "overlord",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.43",
|
|
5
5
|
"description": "Chat-driven access to Overlord mission protocol workflows through skills and MCP.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Cooperativ",
|
|
@@ -9,4 +9,6 @@ Use this when the prompts are sequential steps toward the same feature or goal.
|
|
|
9
9
|
Run:
|
|
10
10
|
`ovld protocol add-objectives --mission-id <mission_id> --objectives-json '[{"objective":"Step one"},{"objective":"Step two"}]'`
|
|
11
11
|
|
|
12
|
+
To assign an agent to the appended objectives, add `"agent":"<id>"` (and optional `"model"`) to each item, or pass `--objective-agent <id>` / `--objective-model <id>` as the default.
|
|
13
|
+
|
|
12
14
|
Index 0 is the first newly added objective to execute; later indexes queue after it.
|
|
@@ -9,6 +9,8 @@ If it already contains flags such as `--title`, `--priority`, `--project-id`, `-
|
|
|
9
9
|
Otherwise, treat the argument as the objective text and run:
|
|
10
10
|
`ovld protocol create --agent antigravity --objectives-json '[{"objective":"<objective>"}]'`
|
|
11
11
|
|
|
12
|
+
When the user names an agent for the work, assign it on the objective itself — add `"agent":"<id>"` (and optional `"model"`) to the objectives item, or pass `--objective-agent <id>` / `--objective-model <id>`. Never create the mission and then append a second objective just to name an agent.
|
|
13
|
+
|
|
12
14
|
If no objective was provided, ask the user for one and stop.
|
|
13
15
|
|
|
14
16
|
After the command succeeds, report the new `MISSION_ID`.
|
|
@@ -11,5 +11,7 @@ Use this when the prompts are sequential steps toward the same feature or goal.
|
|
|
11
11
|
Run:
|
|
12
12
|
`ovld protocol add-objectives --mission-id <mission_id> --objectives-json '[{"objective":"Step one"},{"objective":"Step two"}]'`
|
|
13
13
|
|
|
14
|
+
To assign an agent to the appended objectives, add `"agent":"<id>"` (and optional `"model"`) to each item, or pass `--objective-agent <id>` / `--objective-model <id>` as the default.
|
|
15
|
+
|
|
14
16
|
Index 0 is the first newly added objective to execute; later indexes queue after it.
|
|
15
17
|
|
|
@@ -12,6 +12,8 @@ If it already contains flags such as `--title`, `--priority`, `--project-id`, `-
|
|
|
12
12
|
Otherwise, treat `$ARGUMENTS` as the objective text and run:
|
|
13
13
|
`ovld protocol create --agent claude-code --objectives-json '[{"objective":"<objective>"}]'`
|
|
14
14
|
|
|
15
|
+
When the user names an agent for the work, assign it on the objective itself — add `"agent":"<id>"` (and optional `"model"`) to the objectives item, or pass `--objective-agent <id>` / `--objective-model <id>`. Never create the mission and then append a second objective just to name an agent.
|
|
16
|
+
|
|
15
17
|
If no objective was provided, ask the user for one and stop.
|
|
16
18
|
|
|
17
19
|
After the command succeeds, report the new `MISSION_ID`.
|
|
@@ -5,4 +5,6 @@ Use this when the prompts are sequential steps toward the same feature or goal.
|
|
|
5
5
|
Run:
|
|
6
6
|
`ovld protocol add-objectives --mission-id <mission_id> --objectives-json '[{"objective":"Step one"},{"objective":"Step two"}]'`
|
|
7
7
|
|
|
8
|
+
To assign an agent to the appended objectives, add `"agent":"<id>"` (and optional `"model"`) to each item, or pass `--objective-agent <id>` / `--objective-model <id>` as the default.
|
|
9
|
+
|
|
8
10
|
Index 0 is the first newly added objective to execute; later indexes queue after it.
|
|
@@ -8,6 +8,8 @@ If it already contains flags such as `--title`, `--priority`, `--project-id`, `-
|
|
|
8
8
|
Otherwise, treat the input as the objective text and run:
|
|
9
9
|
`ovld protocol create --agent cursor --objectives-json '[{"objective":"<objective>"}]'`
|
|
10
10
|
|
|
11
|
+
When the user names an agent for the work, assign it on the objective itself — add `"agent":"<id>"` (and optional `"model"`) to the objectives item, or pass `--objective-agent <id>` / `--objective-model <id>`. Never create the mission and then append a second objective just to name an agent.
|
|
12
|
+
|
|
11
13
|
If no objective was provided, ask the user for one and stop.
|
|
12
14
|
|
|
13
15
|
After the command succeeds, report the new `MISSION_ID`.
|
|
@@ -29,8 +29,11 @@ Use this mode when the prompt already contains a mission ID or explicitly says t
|
|
|
29
29
|
When review facts genuinely apply, you may add `deliveryReport.agentReport` through `--payload-json` / `--payload-file`: use
|
|
30
30
|
`humanActions`, `tradeoffsMade`, `knownRisks`, `deferredWork`, and `assumptions`, with empty arrays
|
|
31
31
|
when none apply. Human actions are concrete work a user must perform outside completed agent work;
|
|
32
|
-
never include Git operations or routine review/testing.
|
|
33
|
-
|
|
32
|
+
never include Git operations or routine review/testing. Every human action needs `action`, `reason`,
|
|
33
|
+
and `category`; add `command`, `verify`, and `link` whenever they exist so the operator can act
|
|
34
|
+
without re-reading the delivery (see **Delivery Evidence** below). Tradeoffs record the
|
|
35
|
+
implementation decision, alternatives considered, and rationale. These fields improve review
|
|
36
|
+
visibility but never block delivery.
|
|
34
37
|
|
|
35
38
|
For full command syntax, flags, phase values, and event types see **CLI Command Reference** below.
|
|
36
39
|
|
|
@@ -205,6 +208,46 @@ configure an external integration). Never list committing, pushing, opening a pu
|
|
|
205
208
|
reviewing code, or ordinary tests. A tradeoff must state the decision, alternatives considered,
|
|
206
209
|
and rationale. Omit the report when none of these facts apply.
|
|
207
210
|
|
|
211
|
+
#### Writing a human action the operator can complete
|
|
212
|
+
|
|
213
|
+
Human actions are collected across every mission into the Feed page's **Human actions** rail,
|
|
214
|
+
where the operator reads them without the delivery context. Each item must stand alone:
|
|
215
|
+
|
|
216
|
+
| Field | Expected | What to write |
|
|
217
|
+
| ---------- | -------- | ---------------------------------------------------------------------------------------------- |
|
|
218
|
+
| `action` | required | One imperative sentence naming the exact thing to do, where, and with what value. |
|
|
219
|
+
| `reason` | expected | Why the step is needed and what breaks or stays incomplete until it is done. |
|
|
220
|
+
| `category` | expected | `environment`, `database`, `deployment`, `codegen`, `packaging`, `external_service`, or `other`.|
|
|
221
|
+
| `blocking` | optional | `true` when the delivered work does not function until this is done. |
|
|
222
|
+
| `command` | when known | The exact command, setting name, or value to apply, verbatim. Placeholders in `<angle brackets>`. |
|
|
223
|
+
| `verify` | when known | How the operator confirms it worked: a command to run, a URL to open, or the state to observe. |
|
|
224
|
+
| `link` | when known | An HTTP(S) URL or a repository-relative file path (never another URI scheme). |
|
|
225
|
+
|
|
226
|
+
Vague (the operator has to rediscover everything):
|
|
227
|
+
|
|
228
|
+
```json
|
|
229
|
+
{ "action": "Set up the env var for Gemini." }
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Good (the operator can finish it from the rail alone):
|
|
233
|
+
|
|
234
|
+
```json
|
|
235
|
+
{
|
|
236
|
+
"action": "Add GEMINI_API_KEY to the production backend service on Railway.",
|
|
237
|
+
"reason": "The delivery-compose worker falls back to the raw summary until a provider key is present.",
|
|
238
|
+
"category": "environment",
|
|
239
|
+
"blocking": false,
|
|
240
|
+
"command": "railway variables set GEMINI_API_KEY=<key> --service backend",
|
|
241
|
+
"verify": "The next delivery card shows a composed presentation instead of 'fallback' in the worker log.",
|
|
242
|
+
"link": ".env.example"
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Overlord also derives its own `deterministic_rule` actions from the changed paths (new
|
|
247
|
+
migrations, `.env.example` changes, dependency manifests, CI workflow files) and always shows
|
|
248
|
+
them, so leaving one out never hides it; reporting it yourself with a real `command` and
|
|
249
|
+
`verify` replaces the generic wording with something the operator can follow.
|
|
250
|
+
|
|
208
251
|
### Change ledger health (diagnostic)
|
|
209
252
|
|
|
210
253
|
Use this only to inspect or troubleshoot objective-ledger synchronization and hook health:
|
|
@@ -284,6 +327,7 @@ When creating missions from within a repository:
|
|
|
284
327
|
- Add objectives to the same mission when each prompt is a sequential step toward the same feature or goal; use `ovld protocol add-objectives --mission-id <mission_id> --objectives-json '[{"objective":"..."}]'`.
|
|
285
328
|
- `create` and `prompt` require `--objectives-json` or `--objectives-file` with an ordered array of `{ "objective": "...", "title": "...", "autoAdvance": true }` objects. A single objective is just an array with one item. `--auto-advance` / `--no-auto-advance` set the default when an item omits `autoAdvance` (default off).
|
|
286
329
|
- `add-objectives` uses the same per-item `autoAdvance` field and `--auto-advance` / `--no-auto-advance` default.
|
|
330
|
+
- **Assign the agent on the objectives you are already creating.** Every objective item on `create`, `prompt`, and `add-objectives` takes optional `"agent"` (and `"model"`, which requires an agent), and `--objective-agent <id>` / `--objective-model <id>` set the default for items that name no `agent` of their own. Never create a mission and then append a second objective just to name an agent — that leaves a duplicate objective behind. Note this is **not** `--agent`, which records who created the mission (and, on `prompt`, which agent attaches).
|
|
287
331
|
- To change auto-advance on an existing objective: `ovld protocol update-objective --objective-id <id> --auto-advance` or `--no-auto-advance`.
|
|
288
332
|
- `record-work` is different: it creates exactly one **completed** objective. It takes a single `--objective` (or positional / an `objective` field in `--payload-json`) plus a `--summary` and the file-change data — not `--objectives-json`. See [reference/record-work.md](reference/record-work.md).
|
|
289
333
|
- `create`, `prompt`, `create-mission`, and `record-work` accept `--assigned-to <member>` to set the mission's human owner. Accepts a username, an email, a user-id UUID, or the `orgid:username` member ID. When omitted, the assignee defaults to the mission creator.
|
|
@@ -292,6 +336,12 @@ When creating missions from within a repository:
|
|
|
292
336
|
ovld protocol create --agent <agent-identifier> --objectives-json '[{"objective":"Capture follow-up work from this repository"}]'
|
|
293
337
|
```
|
|
294
338
|
|
|
339
|
+
```bash
|
|
340
|
+
# One call: a draft mission whose first objective is already assigned to Codex.
|
|
341
|
+
ovld protocol create --agent <agent-identifier> \
|
|
342
|
+
--objectives-json '[{"objective":"Implement the API","agent":"codex","model":"gpt-5.6-terra"},{"objective":"Add CLI docs","agent":"claude"}]'
|
|
343
|
+
```
|
|
344
|
+
|
|
295
345
|
```bash
|
|
296
346
|
ovld protocol prompt --agent <agent-identifier> --objectives-json '[{"objective":"Implement feature X"}]'
|
|
297
347
|
```
|
|
@@ -181,6 +181,7 @@ When creating missions from within a repository:
|
|
|
181
181
|
- Add objectives to the same mission when each prompt is a sequential step toward the same feature or goal; use `ovld protocol add-objectives --mission-id <mission_id> --objectives-json '[{"objective":"..."}]'`.
|
|
182
182
|
- `create` and `prompt` require `--objectives-json` or `--objectives-file` with an ordered array of `{ "objective": "...", "title": "...", "autoAdvance": true }` objects. A single objective is just an array with one item. `--auto-advance` / `--no-auto-advance` map each opted-in item to authoritative Run Queue membership (default off).
|
|
183
183
|
- `add-objectives` uses the same per-item `autoAdvance` field and `--auto-advance` / `--no-auto-advance` mapping.
|
|
184
|
+
- Every objective item on `create`, `prompt`, and `add-objectives` also takes optional `"agent"` and `"model"` (a model requires an agent), and `--objective-agent <id>` / `--objective-model <id>` set the default for items that name no `agent` of their own. Assign the agent on the objectives you are already creating rather than appending a second objective just to name one. `--objective-agent` is distinct from `--agent`, which records creation provenance (and, on `prompt`, the attaching agent).
|
|
184
185
|
- Use `ovld protocol run-queue [--project-id <id|slug|name>|--objective-id <id>|--mission-id <id>] [--queue <id|name>]` to inspect live queues. Entry operations use `queue-objective --objective-id <id> [--queue <id|name>] [--after <queued-entry|objective>|--front|--position <rank>]`, `dequeue-objective --objective-id <id>`, and `reorder-run-queue --queue <id|name> --ordered-entries-json <json>`; they require `execution_request:create`. Queue-definition operations use `create-run-queue`, `update-run-queue`, `delete-run-queue`, and `reorder-project-run-queues`; they require `project:update` and therefore a full-scope token.
|
|
185
186
|
- `record-work` creates exactly one **completed** objective from a single `--objective` (or positional / an `objective` field in `--payload-json`) plus a `--summary` and file-change data — it does not take `--objectives-json`. See [record-work.md](record-work.md).
|
|
186
187
|
|
|
@@ -188,6 +189,12 @@ When creating missions from within a repository:
|
|
|
188
189
|
ovld protocol create --agent <agent-identifier> --objectives-json '[{"objective":"Capture follow-up work from this repository"}]'
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
```bash
|
|
193
|
+
# One call: a draft mission whose first objective is already assigned to Codex.
|
|
194
|
+
ovld protocol create --agent <agent-identifier> \
|
|
195
|
+
--objectives-json '[{"objective":"Implement the API","agent":"codex","model":"gpt-5.6-terra"},{"objective":"Add CLI docs","agent":"claude"}]'
|
|
196
|
+
```
|
|
197
|
+
|
|
191
198
|
```bash
|
|
192
199
|
ovld protocol prompt --agent <agent-identifier> --objectives-json '[{"objective":"Implement feature X"}]'
|
|
193
200
|
```
|
|
@@ -264,6 +264,12 @@ const tools = [
|
|
|
264
264
|
objective: stringProperty('Initial objective text.'),
|
|
265
265
|
title: stringProperty('Optional mission title.'),
|
|
266
266
|
resourceKey: stringProperty('Optional logical project resource key for the objective.'),
|
|
267
|
+
agent: stringProperty(
|
|
268
|
+
'Optional agent identifier to assign to the initial objective, such as codex or claude. Omitted leaves the project launch-preference default; set it here instead of appending a second objective just to name an agent.'
|
|
269
|
+
),
|
|
270
|
+
model: stringProperty(
|
|
271
|
+
'Optional model identifier for the assigned agent. Requires agent; rejected without it.'
|
|
272
|
+
),
|
|
267
273
|
assignedTo: stringProperty(
|
|
268
274
|
'Optional workspace member to own the mission (workspace_users.id, profile UUID, orgid:username, bare username, or email). Rejected when the member is not in the workspace; meaningless on the inbox fallback.'
|
|
269
275
|
),
|
|
@@ -622,7 +628,25 @@ const tools = [
|
|
|
622
628
|
humanActions: {
|
|
623
629
|
type: 'array',
|
|
624
630
|
description:
|
|
625
|
-
'Concrete actions a human must perform; exclude Git operations and routine review/testing.'
|
|
631
|
+
'Concrete actions a human must perform; exclude Git operations and routine review/testing. ' +
|
|
632
|
+
'Each item needs action, reason, and category, plus command (exact command or setting), verify (how to confirm it worked), and link (HTTP(S) URL or repo-relative path) whenever they exist. ' +
|
|
633
|
+
'Vague: { action: "Set up the env var for Gemini." }. Good: { action: "Add GEMINI_API_KEY to the production backend service on Railway.", reason: "Compose falls back to the raw summary without it.", category: "environment", command: "railway variables set GEMINI_API_KEY=<key> --service backend", verify: "The next delivery card shows a composed presentation.", link: ".env.example" }.',
|
|
634
|
+
items: {
|
|
635
|
+
type: 'object',
|
|
636
|
+
properties: {
|
|
637
|
+
action: { type: 'string', description: 'Required. One imperative sentence: what, where, which value.' },
|
|
638
|
+
reason: { type: 'string', description: 'Expected. Why it is needed and what stays broken until done.' },
|
|
639
|
+
category: {
|
|
640
|
+
type: 'string',
|
|
641
|
+
description: 'Expected. environment, database, deployment, codegen, packaging, external_service, or other.'
|
|
642
|
+
},
|
|
643
|
+
blocking: { type: 'boolean', description: 'True when the delivered work does not function until this is done.' },
|
|
644
|
+
command: { type: 'string', description: 'Exact command, setting, or value to apply, verbatim.' },
|
|
645
|
+
verify: { type: 'string', description: 'How the operator confirms it worked.' },
|
|
646
|
+
link: { type: 'string', description: 'HTTP(S) URL or repository-relative file path.' }
|
|
647
|
+
},
|
|
648
|
+
required: ['action']
|
|
649
|
+
}
|
|
626
650
|
},
|
|
627
651
|
tradeoffsMade: {
|
|
628
652
|
type: 'array',
|
|
@@ -830,6 +854,12 @@ async function callOverlordTool(name, args) {
|
|
|
830
854
|
...(optionalString(args, 'resourceKey')
|
|
831
855
|
? { resource: requiredString(args, 'resourceKey') }
|
|
832
856
|
: {}),
|
|
857
|
+
...(optionalString(args, 'agent')
|
|
858
|
+
? { 'objective-agent': requiredString(args, 'agent') }
|
|
859
|
+
: {}),
|
|
860
|
+
...(optionalString(args, 'model')
|
|
861
|
+
? { 'objective-model': requiredString(args, 'model') }
|
|
862
|
+
: {}),
|
|
833
863
|
...(optionalString(args, 'assignedTo')
|
|
834
864
|
? { 'assigned-to': requiredString(args, 'assignedTo') }
|
|
835
865
|
: {}),
|
|
@@ -1175,7 +1205,7 @@ process.stdin.on('data', async chunk => {
|
|
|
1175
1205
|
result: {
|
|
1176
1206
|
protocolVersion: PROTOCOL_VERSION,
|
|
1177
1207
|
capabilities: { tools: { listChanged: false } },
|
|
1178
|
-
serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.
|
|
1208
|
+
serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.43' }
|
|
1179
1209
|
}
|
|
1180
1210
|
});
|
|
1181
1211
|
continue;
|
package/dist/index.js
CHANGED
|
@@ -35542,7 +35542,7 @@ var init_zod = __esm({
|
|
|
35542
35542
|
});
|
|
35543
35543
|
|
|
35544
35544
|
// ../packages/core/dist/service/delivery-report.js
|
|
35545
|
-
var MAX_ITEMS, MAX_ALTERNATIVES, MAX_ACTION_LENGTH, MAX_DETAIL_LENGTH, humanActionCategorySchema, conciseTextSchema, humanActionSchema, tradeoffSchema, MAX_WARNINGS, normalizedHumanActionSchema, normalizedTradeoffSchema, normalizedAgentReportSchema, deliveryPresentationSchema, persistedDeliveryReportSchema;
|
|
35545
|
+
var MAX_ITEMS, MAX_ALTERNATIVES, MAX_ACTION_LENGTH, MAX_DETAIL_LENGTH, humanActionCategorySchema, MAX_COMMAND_LENGTH2, MAX_LINK_LENGTH, conciseTextSchema, commandTextSchema, LINK_PATTERN, linkSchema, humanActionSchema, tradeoffSchema, MAX_WARNINGS, normalizedHumanActionSchema, normalizedTradeoffSchema, normalizedAgentReportSchema, deliveryPresentationSchema, persistedDeliveryReportSchema;
|
|
35546
35546
|
var init_delivery_report = __esm({
|
|
35547
35547
|
"../packages/core/dist/service/delivery-report.js"() {
|
|
35548
35548
|
"use strict";
|
|
@@ -35560,12 +35560,20 @@ var init_delivery_report = __esm({
|
|
|
35560
35560
|
"external_service",
|
|
35561
35561
|
"other"
|
|
35562
35562
|
]);
|
|
35563
|
+
MAX_COMMAND_LENGTH2 = 600;
|
|
35564
|
+
MAX_LINK_LENGTH = 400;
|
|
35563
35565
|
conciseTextSchema = external_exports.string().trim().min(1).max(MAX_DETAIL_LENGTH);
|
|
35566
|
+
commandTextSchema = external_exports.string().trim().min(1).max(MAX_COMMAND_LENGTH2);
|
|
35567
|
+
LINK_PATTERN = /^(?:https?:\/\/\S+|(?![a-z][a-z0-9+.-]*:)[^\s<>"'`]+)$/i;
|
|
35568
|
+
linkSchema = external_exports.string().trim().min(1).max(MAX_LINK_LENGTH).regex(LINK_PATTERN);
|
|
35564
35569
|
humanActionSchema = external_exports.strictObject({
|
|
35565
35570
|
action: external_exports.string().trim().min(1).max(MAX_ACTION_LENGTH),
|
|
35566
35571
|
reason: conciseTextSchema.optional(),
|
|
35567
35572
|
category: humanActionCategorySchema.optional(),
|
|
35568
|
-
blocking: external_exports.boolean().optional()
|
|
35573
|
+
blocking: external_exports.boolean().optional(),
|
|
35574
|
+
command: commandTextSchema.optional(),
|
|
35575
|
+
verify: conciseTextSchema.optional(),
|
|
35576
|
+
link: linkSchema.optional()
|
|
35569
35577
|
});
|
|
35570
35578
|
tradeoffSchema = external_exports.strictObject({
|
|
35571
35579
|
decision: external_exports.string().trim().min(1).max(MAX_ACTION_LENGTH),
|
|
@@ -35580,6 +35588,9 @@ var init_delivery_report = __esm({
|
|
|
35580
35588
|
reason: conciseTextSchema.optional(),
|
|
35581
35589
|
category: humanActionCategorySchema,
|
|
35582
35590
|
blocking: external_exports.boolean().optional(),
|
|
35591
|
+
command: commandTextSchema.optional(),
|
|
35592
|
+
verify: conciseTextSchema.optional(),
|
|
35593
|
+
link: linkSchema.optional(),
|
|
35583
35594
|
source: external_exports.enum(["agent", "change_rationale", "deterministic_rule"]),
|
|
35584
35595
|
sourceRef: external_exports.string().trim().min(1).max(200).optional()
|
|
35585
35596
|
});
|
|
@@ -38379,10 +38390,13 @@ add-objectives:
|
|
|
38379
38390
|
Optional:
|
|
38380
38391
|
--auto-advance / --no-auto-advance
|
|
38381
38392
|
Default auto-advance for items that omit "autoAdvance". Defaults to off.
|
|
38393
|
+
--objective-agent <id> / --objective-model <id>
|
|
38394
|
+
Default launch selection for items that name no "agent" of their own.
|
|
38395
|
+
--objective-model requires --objective-agent.
|
|
38382
38396
|
Notes:
|
|
38383
38397
|
Each item is { "objective": "...", "title": "...", "agent": "codex",
|
|
38384
38398
|
"model": "gpt-5.6-terra", "autoAdvance": true|false, "resourceKey": "..." }.
|
|
38385
|
-
model requires agent. Per-item autoAdvance
|
|
38399
|
+
model requires agent. Per-item autoAdvance and agent win over the flags.
|
|
38386
38400
|
|
|
38387
38401
|
update-objective:
|
|
38388
38402
|
Purpose:
|
|
@@ -38441,6 +38455,12 @@ create:
|
|
|
38441
38455
|
--auto-advance / --no-auto-advance
|
|
38442
38456
|
Add matching objectives to the authoritative Run Queue. Defaults to off.
|
|
38443
38457
|
Per-item override: "autoAdvance": true|false in --objectives-json items.
|
|
38458
|
+
--objective-agent <id> / --objective-model <id>
|
|
38459
|
+
Assign a launch agent (and its model) to the objectives created here, so
|
|
38460
|
+
a mission can be created already assigned instead of appending a second
|
|
38461
|
+
objective just to name an agent. This is not --agent, which records
|
|
38462
|
+
creation provenance. Seeds only items with no "agent" of their own;
|
|
38463
|
+
--objective-model requires --objective-agent.
|
|
38444
38464
|
|
|
38445
38465
|
prompt:
|
|
38446
38466
|
Purpose:
|
|
@@ -38457,6 +38477,9 @@ prompt:
|
|
|
38457
38477
|
--auto-advance / --no-auto-advance
|
|
38458
38478
|
Add matching objectives to the authoritative Run Queue. Defaults to off.
|
|
38459
38479
|
Per-item override: "autoAdvance": true|false in --objectives-json items.
|
|
38480
|
+
--objective-agent <id> / --objective-model <id>
|
|
38481
|
+
Assign a launch agent (and its model) to the objectives created here.
|
|
38482
|
+
Distinct from --agent, which names the attaching agent for the session.
|
|
38460
38483
|
Returns:
|
|
38461
38484
|
New mission/session JSON plus SESSION_KEY on stderr when available.
|
|
38462
38485
|
|
|
@@ -38544,6 +38567,21 @@ deliver:
|
|
|
38544
38567
|
The payload may also include deliveryReport: { schemaVersion: 1, agentReport: {
|
|
38545
38568
|
humanActions, tradeoffsMade, knownRisks, deferredWork, assumptions } }. Use empty arrays
|
|
38546
38569
|
when none apply. Human actions exclude Git operations and routine review/testing.
|
|
38570
|
+
Human action shape (each item in agentReport.humanActions):
|
|
38571
|
+
{
|
|
38572
|
+
"action": "Add GEMINI_API_KEY to the production backend service on Railway.", // required. one imperative sentence: what, where, which value.
|
|
38573
|
+
"reason": "Compose falls back to the raw summary without it.", // expected. why, and what stays broken until done.
|
|
38574
|
+
"category": "environment", // expected. environment | database | deployment | codegen | packaging | external_service | other
|
|
38575
|
+
"blocking": false, // optional. true when the delivered work does not function until this is done.
|
|
38576
|
+
"command": "railway variables set GEMINI_API_KEY=<key> --service backend", // when known. exact command/setting, verbatim.
|
|
38577
|
+
"verify": "Next delivery card shows a composed presentation.", // when known. how the operator confirms it worked.
|
|
38578
|
+
"link": ".env.example" // when known. HTTP(S) URL or repo-relative path only.
|
|
38579
|
+
}
|
|
38580
|
+
Vague: { "action": "Set up the env var for Gemini." } forces the operator to rediscover
|
|
38581
|
+
the name, the place, and the check. Actions are read from the Feed rail without the
|
|
38582
|
+
delivery, so each must stand alone. Overlord adds deterministic_rule actions for new
|
|
38583
|
+
migrations, .env.example edits, dependency manifests, and CI workflow files on its own;
|
|
38584
|
+
report those yourself when you can supply the real command and verify step.
|
|
38547
38585
|
Optional:
|
|
38548
38586
|
--artifacts-json / --artifacts-file <path|->
|
|
38549
38587
|
--change-rationales-json / --change-rationales-file <path|->
|
|
@@ -40493,17 +40531,25 @@ async function runManagementCommand({
|
|
|
40493
40531
|
name: "--auto-advance",
|
|
40494
40532
|
negatedName: "--no-auto-advance"
|
|
40495
40533
|
});
|
|
40534
|
+
const objectiveAgent = flagValue(parsed.flags, "--objective-agent")?.trim() || void 0;
|
|
40535
|
+
const objectiveModel = flagValue(parsed.flags, "--objective-model")?.trim() || void 0;
|
|
40536
|
+
if (objectiveModel && !objectiveAgent) {
|
|
40537
|
+
throw new CliError({ message: "--objective-model requires --objective-agent" });
|
|
40538
|
+
}
|
|
40539
|
+
const withAgentSelection = (item) => objectiveAgent && !item.agent ? { ...item, agent: objectiveAgent, model: item.model ?? objectiveModel ?? null } : item;
|
|
40496
40540
|
const parsedObjectives = objectivesJson ? JSON.parse(objectivesJson) : null;
|
|
40497
|
-
const objectives = parsedObjectives ? parsedObjectives.map(
|
|
40498
|
-
|
|
40499
|
-
|
|
40500
|
-
|
|
40501
|
-
|
|
40541
|
+
const objectives = parsedObjectives ? parsedObjectives.map(
|
|
40542
|
+
(item) => withAgentSelection({
|
|
40543
|
+
...item,
|
|
40544
|
+
...item.autoAdvance === void 0 && autoAdvance !== void 0 ? { autoAdvance } : {}
|
|
40545
|
+
})
|
|
40546
|
+
) : objective ? [
|
|
40547
|
+
withAgentSelection({
|
|
40502
40548
|
objective,
|
|
40503
40549
|
title: flagValue(parsed.flags, "--title") ?? null,
|
|
40504
40550
|
...autoAdvance !== void 0 ? { autoAdvance } : {},
|
|
40505
40551
|
...flagValue(parsed.flags, "--resource") ? { resourceKey: flagValue(parsed.flags, "--resource") } : {}
|
|
40506
|
-
}
|
|
40552
|
+
})
|
|
40507
40553
|
] : [];
|
|
40508
40554
|
const first = objectives[0];
|
|
40509
40555
|
if (!first) {
|
|
@@ -41496,6 +41542,8 @@ var COMMAND_FLAGS = {
|
|
|
41496
41542
|
"--project-id",
|
|
41497
41543
|
"--title",
|
|
41498
41544
|
"--resource",
|
|
41545
|
+
"--objective-agent",
|
|
41546
|
+
"--objective-model",
|
|
41499
41547
|
"--auto-advance",
|
|
41500
41548
|
"--no-auto-advance"
|
|
41501
41549
|
],
|
|
@@ -41507,6 +41555,8 @@ var COMMAND_FLAGS = {
|
|
|
41507
41555
|
"--title",
|
|
41508
41556
|
"--resource",
|
|
41509
41557
|
"--agent",
|
|
41558
|
+
"--objective-agent",
|
|
41559
|
+
"--objective-model",
|
|
41510
41560
|
"--auto-advance",
|
|
41511
41561
|
"--no-auto-advance"
|
|
41512
41562
|
],
|