overlord-cli 0.2611091052.0 → 0.2611131839.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/README.md CHANGED
@@ -250,7 +250,7 @@ resolved project directory. The queue state remains in the backend.
250
250
  ### Contract Components
251
251
 
252
252
  This module is the developer-facing home for three components defined in
253
- [`CONTRACT.md`](https://github.com/cooperativ-labs/OpenOverlord/blob/main/CONTRACT.md):
253
+ [`contract/CONTRACT.md`](https://github.com/cooperativ-labs/OpenOverlord/blob/main/contract/CONTRACT.md):
254
254
 
255
255
  | Component | Stable id | What it owns |
256
256
  | -------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -345,5 +345,5 @@ would run untested working-tree code against your real mission data.
345
345
 
346
346
  Per the contract, the CLI/protocol/runner surfaces reach persistence only
347
347
  through the configured **REST/backend API** — never direct table writes.
348
- See the Interaction Surfaces section of [`CONTRACT.md`](https://github.com/cooperativ-labs/OpenOverlord/blob/main/CONTRACT.md) before
348
+ See the Interaction Surfaces section of [`contract/architecture.md`](https://github.com/cooperativ-labs/OpenOverlord/blob/main/contract/architecture.md) before
349
349
  making any cross-module change.
@@ -1,6 +1,6 @@
1
1
  # Connectors Module — Agent Extension Guide
2
2
 
3
- This file tells agents how to extend the Connectors module to add new agent harness connectors for users. Read [`CONTRACT.md`](../CONTRACT.md) and the [component-contract skill](../.claude/skills/component-contract/SKILL.md) before making any cross-module change.
3
+ This file tells agents how to extend the Connectors module to add new agent harness connectors for users. Read [`contract/CONTRACT.md`](../contract/CONTRACT.md) and the [component-contract skill](../.claude/skills/component-contract/SKILL.md) before making any cross-module change.
4
4
 
5
5
  ---
6
6
 
@@ -21,7 +21,7 @@ Each type has a different procedure below.
21
21
 
22
22
  ## Before You Start
23
23
 
24
- 1. Read `CONTRACT.md` — Connector Layer section (stable id: `connector`).
24
+ 1. Read `contract/architecture.md` — Connector Layer section (stable id: `connector`).
25
25
  2. Read [`connectors/docs/05-connectors-and-agent-plugins.md`](docs/05-connectors-and-agent-plugins.md) for the four-layer model: connector core, plugins, adapters, and prompt wrappers.
26
26
  3. Read [`connectors/docs/agent-harness-configuration-architecture.md`](docs/agent-harness-configuration-architecture.md) for ownership boundaries.
27
27
  4. Check the `agentSession` vocabularies in `contract/extension-points.yaml` and the descriptor schema before adding a normalized capability, integration shape, or fixture kind.
@@ -266,7 +266,7 @@ wrong and that is worth raising rather than working around.
266
266
  6. **Create `connectors/adapters/<agent-name>/conformance-manifest.yaml`** declaring:
267
267
 
268
268
  ```yaml
269
- contractVersion: '116'
269
+ contractVersion: '168.0.0'
270
270
  componentType: connector
271
271
  componentKey: <agent-name>
272
272
  label: <human-readable label>
@@ -350,7 +350,7 @@ The Claude and Codex adapters are the reference implementations; Cursor, Pi, Ant
350
350
 
351
351
  ## Cross-Module Checklist
352
352
 
353
- - [ ] Read `CONTRACT.md` Connector Layer section
353
+ - [ ] Read `contract/architecture.md` Connector Layer section
354
354
  - [ ] New capability id, integration shape, or fixture kind → update the contract vocabulary and descriptor schema first
355
355
  - [ ] Hook scripts → use `ovld protocol` commands only, no direct DB writes
356
356
  - [ ] Conformance manifest created and validated for every new connector
@@ -59,14 +59,14 @@ migrate existing installations.
59
59
 
60
60
  A custom agent connector is a sanctioned extension point: a new adapter plus a
61
61
  `conformance-manifest.yaml` validated by `ovld contract check`. See the
62
- [Conformance Requirements](../CONTRACT.md) and the example manifest at
62
+ [Conformance Requirements](../contract/conformance.md) and the example manifest at
63
63
  [`../contract/examples/connector-claude-conformance-manifest.yaml`](../contract/examples/connector-claude-conformance-manifest.yaml).
64
64
 
65
65
  ## For Developers
66
66
 
67
67
  ### Contract Component
68
68
 
69
- Maps to the **Connector Layer** (`connector`) in [`CONTRACT.md`](../CONTRACT.md), which owns:
69
+ Maps to the **Connector Layer** (`connector`) in [`contract/architecture.md`](../contract/architecture.md), which owns:
70
70
 
71
71
  - Connector core workflow instructions
72
72
  - Per-agent plugin/adapter files and their managed-file manifests
@@ -1 +1 @@
1
- 0.3.59
1
+ 0.3.60
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: antigravity
4
4
  label: "Antigravity Connector"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://antigravity.google/schemas/v1/plugin.json",
3
3
  "name": "overlord",
4
- "version": "0.3.59",
4
+ "version": "0.3.60",
5
5
  "description": "Chat-driven access to Overlord mission protocol workflows through skills and MCP.",
6
6
  "author": {
7
7
  "name": "Cooperativ",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overlord",
3
- "version": "0.3.59",
3
+ "version": "0.3.60",
4
4
  "description": "Overlord mission protocol workflow for Claude Code — attach/update/ask/deliver, slash commands, and hook-driven activity capture.",
5
5
  "author": {
6
6
  "name": "Cooperativ",
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: claude
4
4
  label: "Claude Code Connector"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overlord",
3
- "version": "0.3.59",
3
+ "version": "0.3.60",
4
4
  "description": "Chat-driven access to Overlord mission protocol workflows with hook-driven activity capture.",
5
5
  "author": {
6
6
  "name": "Cooperativ",
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: codex
4
4
  label: "Codex Connector"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overlord",
3
- "version": "0.3.59",
3
+ "version": "0.3.60",
4
4
  "description": "Overlord mission protocol workflow for Cursor — attach/update/ask/deliver, slash commands, MCP bridge, and follow-up capture.",
5
5
  "author": {
6
6
  "name": "Cooperativ",
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: cursor
4
4
  label: "Cursor Connector"
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: opencode
4
4
  label: "OpenCode Connector"
@@ -1,4 +1,4 @@
1
- contractVersion: "168"
1
+ contractVersion: "170.0.0"
2
2
  componentType: connector
3
3
  componentKey: pi
4
4
  label: "PI Connector"
@@ -13,7 +13,7 @@ Connector adapters may add harness-specific commands, hooks, MCP tools, or launc
13
13
 
14
14
  Use this mode when the prompt already contains a mission ID or explicitly says the session was launched by Overlord.
15
15
 
16
- **`<mission_id>` is always the short display id** — `coo:695`, `1:899`: a workspace prefix, a colon, and a number. Pass it as `--mission-id`. **`<objective_id>`** is the objective display id (`coo:695.k7xm`) or UUID; pass it as `--objective-id` when you know which objective to execute. Never pass an objective id as `--mission-id`. If the prompt includes `OVERLORD_OBJECTIVE_ID` or an Objective ID line, include `--objective-id` on attach. If the only id you can find is a bare UUID with no mission display id, re-read the prompt or run `ovld protocol search-missions` rather than guessing.
16
+ **`<mission_id>` is always the short display id** — `coo:695`, `1:899`: a workspace prefix, a colon, and a number. Pass it as `--mission-id`. **`<objective_id>`** is the objective display id (`coo:695.k7xm`) or UUID; pass it as `--objective-id` when you know which objective to execute. Never pass an objective id as `--mission-id`. If the prompt includes `OVERLORD_OBJECTIVE_ID` or an Objective ID line, include `--objective-id` on attach. If the only id you can find is a bare UUID with no mission display id, re-read the prompt or run `ovld protocol search` rather than guessing.
17
17
 
18
18
  **An objective display id is a complete address.** `coo:695.k7xm` already spells its mission, so `--mission-id` is optional on every command whenever you pass a full objective display id as `--objective-id`; Overlord derives `coo:695` from it. This is the identifier to reach for when reconnecting to a mission that is running more than one objective, where "the active objective" is ambiguous and a mission id alone is not enough. An objective **UUID** names no mission, so it still needs `--mission-id` alongside it.
19
19
 
@@ -97,7 +97,7 @@ Use this mode when the conversation starts normally and the user asks the agent
97
97
  When you open or discuss an existing mission that has a draft objective, submit it with `ovld protocol discuss-objective --mission-id <mission_id>`.
98
98
  4. If the user wants to route the current session onto an existing mission by ID, run `ovld protocol connect --mission-id <mission_id>` (add `--objective-id <objective_id>` to pin the session to a specific objective).
99
99
  5. If the user wants to establish a persistent session with a mission by ID, run `ovld protocol attach --mission-id <mission_id>`.
100
- 6. If the user wants to find a mission but does not know the ID, run `ovld protocol search-missions --query "..." --status execute,review` and ask the user to confirm.
100
+ 6. If the user wants to find a mission but does not know the ID, run `ovld protocol search --query "..." --status execute,review` and ask the user to confirm.
101
101
  7. If you need to understand project routing before prompting, use `ovld protocol discover-project`.
102
102
  8. If the user wants to **record work that is already finished** in this chat (for example, something you just built in a chat app) as a completed mission, run `ovld protocol record-work --project-id <project-id>` (or the hosted `overlord_record_work` MCP tool). This creates a mission with one completed objective, records any paths you declare as Declared evidence, lands it in the review column, and runs the standard Gemini delivery summary — all in one call, with no `attach`/`deliver`. Do **not** use it for in-progress work. The exact submission format is in [reference/record-work.md](reference/record-work.md).
103
103
  9. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
@@ -384,7 +384,7 @@ When creating missions from within a repository:
384
384
  - Prefer `create` by default for draft mission creation.
385
385
  - Use `prompt` only when the user explicitly asks to start execution immediately.
386
386
  - `create`, `prompt`, and `record-work` require an explicit `--project-id`; use `discover-project` first when the project is known only from the checkout. They never infer a destination project.
387
- - Use `create --unassigned-to-project` only when the user deliberately requests an account-owned inbox capture. `--inbox` is a compatibility alias.
387
+ - Use `create --unassigned-to-project` only when the user deliberately requests an account-owned inbox capture.
388
388
  - Create multiple missions when each prompt represents a different feature or goal.
389
389
  - 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":"..."}]'`.
390
390
  - `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).
@@ -180,7 +180,7 @@ When creating missions from within a repository:
180
180
  - Prefer `create` by default for draft mission creation.
181
181
  - Use `prompt` only when the user explicitly asks to start execution immediately.
182
182
  - `create`, `prompt`, and `record-work` require an explicit `--project-id`; use `discover-project` first when the project is known only from the checkout. They never infer a destination project.
183
- - Use `create --unassigned-to-project` only when the user deliberately requests an account-owned inbox capture. `--inbox` is a compatibility alias.
183
+ - Use `create --unassigned-to-project` only when the user deliberately requests an account-owned inbox capture.
184
184
  - Create multiple missions when each prompt represents a different feature or goal.
185
185
  - 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":"..."}]'`.
186
186
  - `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).
@@ -1862,7 +1862,7 @@ process.stdin.on('data', async chunk => {
1862
1862
  result: {
1863
1863
  protocolVersion: PROTOCOL_VERSION,
1864
1864
  capabilities: { tools: { listChanged: false } },
1865
- serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.59' }
1865
+ serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.60' }
1866
1866
  }
1867
1867
  });
1868
1868
  continue;
@@ -28,9 +28,15 @@ properties:
28
28
 
29
29
  contractVersion:
30
30
  type: string
31
- description: "The Overlord contract version this component was validated against (e.g. '0')"
31
+ # Strict MAJOR.MINOR.PATCH (contract/VERSION). A bare integer N is the former
32
+ # integer form, read as N.0.0, and stays valid for manifests outside this
33
+ # repository until they are restamped; `yarn check:conformance-versions`
34
+ # requires the strict form, the same major as contract/VERSION and a version
35
+ # not newer than it (contract/decisions/0009-manifests-pin-major-version.md).
36
+ pattern: "^(0|[1-9][0-9]*)([.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*))?$"
37
+ description: "The Overlord contract version this component was validated against, as strict Semantic Versioning (e.g. '168.0.0')"
32
38
  examples:
33
- - "0"
39
+ - "168.0.0"
34
40
 
35
41
  componentType:
36
42
  type: string
@@ -177,7 +183,7 @@ properties:
177
183
  - postgres
178
184
  schemaContractVersion:
179
185
  type: string
180
- description: "Database schema contract version this adapter implements (from 09-database-schema-contract.md)"
186
+ description: "Database schema contract version this adapter implements (from contract/data/README.md)"
181
187
  conformanceTestStatus:
182
188
  type: string
183
189
  enum: