overlord-cli 0.2610130851.0 → 0.2610231322.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/claude/.claude-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/claude/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/claude/hooks/hooks.json +3 -3
- 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/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/scripts/overlord-mcp.mjs +9 -4
- package/dist/connectors/docs/testing.md +51 -0
- package/dist/index.js +11 -3
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/connectors/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.52
|
|
@@ -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.52",
|
|
5
5
|
"description": "Chat-driven access to Overlord mission protocol workflows through skills and MCP.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Cooperativ",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"hooks": [
|
|
7
7
|
{
|
|
8
8
|
"type": "command",
|
|
9
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/user-prompt-submit-hook.sh"
|
|
9
|
+
"command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/user-prompt-submit-hook.sh\""
|
|
10
10
|
}
|
|
11
11
|
]
|
|
12
12
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"hooks": [
|
|
18
18
|
{
|
|
19
19
|
"type": "command",
|
|
20
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-tool-use-hook.sh"
|
|
20
|
+
"command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/post-tool-use-hook.sh\""
|
|
21
21
|
}
|
|
22
22
|
]
|
|
23
23
|
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"hooks": [
|
|
29
29
|
{
|
|
30
30
|
"type": "command",
|
|
31
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/stop-hook.sh"
|
|
31
|
+
"command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/stop-hook.sh\""
|
|
32
32
|
}
|
|
33
33
|
]
|
|
34
34
|
}
|
|
@@ -408,10 +408,13 @@ const tools = [
|
|
|
408
408
|
name: 'overlord_update_objective',
|
|
409
409
|
title: 'Update objective',
|
|
410
410
|
description:
|
|
411
|
-
'
|
|
411
|
+
'Rewrite an objective title in any state, turn auto-advance on or off, and/or edit instruction text on a draft or future objective.',
|
|
412
412
|
inputSchema: objectSchema(
|
|
413
413
|
{
|
|
414
414
|
objectiveId: stringProperty('Objective UUID or display id.'),
|
|
415
|
+
title: stringProperty(
|
|
416
|
+
'Replacement objective title. An empty string clears the custom title and restores instruction-derived presentation.'
|
|
417
|
+
),
|
|
415
418
|
autoAdvance: booleanProperty(
|
|
416
419
|
'When true, Overlord queues the next objective after this one is delivered. When false, delivery waits for approval.'
|
|
417
420
|
),
|
|
@@ -981,13 +984,15 @@ async function callOverlordTool(name, args) {
|
|
|
981
984
|
});
|
|
982
985
|
}
|
|
983
986
|
if (name === 'overlord_update_objective') {
|
|
987
|
+
const hasTitle = typeof args.title === 'string';
|
|
984
988
|
const hasAutoAdvance = typeof args.autoAdvance === 'boolean';
|
|
985
989
|
const hasInstructionText = typeof args.instructionText === 'string';
|
|
986
|
-
if (!hasAutoAdvance && !hasInstructionText) {
|
|
987
|
-
throw new Error('Provide autoAdvance and/or instructionText');
|
|
990
|
+
if (!hasTitle && !hasAutoAdvance && !hasInstructionText) {
|
|
991
|
+
throw new Error('Provide title, autoAdvance, and/or instructionText');
|
|
988
992
|
}
|
|
989
993
|
return runProtocol('update-objective', {
|
|
990
994
|
'objective-id': requiredString(args, 'objectiveId'),
|
|
995
|
+
...(hasTitle ? { title: args.title } : {}),
|
|
991
996
|
...(hasAutoAdvance
|
|
992
997
|
? args.autoAdvance
|
|
993
998
|
? { 'auto-advance': true }
|
|
@@ -1271,7 +1276,7 @@ process.stdin.on('data', async chunk => {
|
|
|
1271
1276
|
result: {
|
|
1272
1277
|
protocolVersion: PROTOCOL_VERSION,
|
|
1273
1278
|
capabilities: { tools: { listChanged: false } },
|
|
1274
|
-
serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.
|
|
1279
|
+
serverInfo: { name: 'overlord-__OVERLORD_ADAPTER_KEY__', version: '0.3.52' }
|
|
1275
1280
|
}
|
|
1276
1281
|
});
|
|
1277
1282
|
continue;
|
|
@@ -17,6 +17,57 @@ invoke `ovld protocol …`). Tests enforce that it never reaches further.
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
+
## Claude plugin CI
|
|
21
|
+
|
|
22
|
+
`.github/workflows/claude-plugin.yml` runs on relevant pull requests and manual
|
|
23
|
+
dispatch. `yarn connectors:check` includes `yarn connectors:claude:check`, which
|
|
24
|
+
uses the setup managed-file renderer to stage the complete Claude plugin in a
|
|
25
|
+
temporary directory, including the shared skill, references and post-tool hook.
|
|
26
|
+
It runs `claude plugin validate --strict` and removes staging on success or
|
|
27
|
+
failure. Install Claude Code 2.1.303, the CI tooling pin, to run it locally.
|
|
28
|
+
This pin does not update the fixture-backed verified `HARNESS-MATRIX` version.
|
|
29
|
+
|
|
30
|
+
`claude plugin test` runs mod handler tests (`.test.ts`/`.test.tsx`). Overlord's
|
|
31
|
+
shell-hook/skill plugin has no mod handlers, so the checker reports it as not
|
|
32
|
+
applicable. Hook behavior remains covered by executable descriptor fixtures in
|
|
33
|
+
`connectors:capabilities:check`. A future mod must add native tests and wire
|
|
34
|
+
`claude plugin test` into this job when it ships.
|
|
35
|
+
|
|
36
|
+
The manual workflow's `run_evals` input enables `yarn connectors:claude:eval`
|
|
37
|
+
only on the default branch, after validation. Configure the repository secret
|
|
38
|
+
`ANTHROPIC_API_KEY` for that job; PR checks receive no model credential.
|
|
39
|
+
Two cases in `test/fixtures/claude-plugin-evals` test inspection without
|
|
40
|
+
attachment and draft creation without execution. They consult the rendered
|
|
41
|
+
mission skill but cannot run shell commands or mutate real missions. They use
|
|
42
|
+
deterministic graders, one run per case, no baseline, a perfect-score threshold,
|
|
43
|
+
a $2 launch ceiling and 90-second per-case timeouts. Claude checks the ceiling
|
|
44
|
+
before launching each run, so one in-flight run can exceed it. This is a small
|
|
45
|
+
behavior smoke suite, not a statistical quality certification.
|
|
46
|
+
|
|
47
|
+
Reports stay local (`--no-publish`) and are uploaded as GitHub artifacts for
|
|
48
|
+
14 days, including on failure when reports exist. Locally, set
|
|
49
|
+
`CLAUDE_PLUGIN_REPORT_DIR` to a persistent output directory; otherwise the
|
|
50
|
+
checker prints a newly created temporary report directory. Native nonzero
|
|
51
|
+
exit codes propagate, including failed graders, unavailable eval service,
|
|
52
|
+
authentication errors and budget exhaustion. There is no skip-to-green path.
|
|
53
|
+
|
|
54
|
+
### Hook failure policy
|
|
55
|
+
|
|
56
|
+
Keep `onFailure` unset for current Claude hooks. `UserPromptSubmit` records
|
|
57
|
+
activity, `PostToolUse` observes an action that already ran, and `Stop` offers
|
|
58
|
+
guidance. Blocking on capture outages would impede prompts without enforcing
|
|
59
|
+
attach-before-edit. Scripts also deliberately suppress transport failures, so
|
|
60
|
+
a manifest field alone would not turn them into policy gates. The dormant
|
|
61
|
+
permission hook must continue to defer to Claude on failure under the contract.
|
|
62
|
+
|
|
63
|
+
Claude Code 2.1.295 added `onFailure: "block"` for command/HTTP hooks; it has no
|
|
64
|
+
effect on `Stop` or background command hooks. A future attach-before-edit gate
|
|
65
|
+
needs a separate opt-in pre-action policy, explicit unbound-session behavior,
|
|
66
|
+
failure fixtures and contract review before adoption. See Anthropic's
|
|
67
|
+
[hook failure reference](https://code.claude.com/docs/en/hooks#block-the-action-when-a-hook-fails),
|
|
68
|
+
[plugin command reference](https://code.claude.com/docs/en/plugins/cli-reference#plugin-test)
|
|
69
|
+
and [eval documentation](https://code.claude.com/docs/en/plugin-evals).
|
|
70
|
+
|
|
20
71
|
## A. Conformance Manifest (shared with Layer 3 §3.1)
|
|
21
72
|
|
|
22
73
|
For each connector's `conformance-manifest.yaml`
|
package/dist/index.js
CHANGED
|
@@ -39219,7 +39219,7 @@ Subcommands:
|
|
|
39219
39219
|
statuses List one project's ordered board columns
|
|
39220
39220
|
discuss-objective Mark a draft objective as submitted (does not start execution)
|
|
39221
39221
|
add-objectives Append ordered objectives to an existing mission
|
|
39222
|
-
update-objective Set auto-advance and/or instruction text on an objective
|
|
39222
|
+
update-objective Set title, auto-advance, and/or instruction text on an objective
|
|
39223
39223
|
delete-missions Confirmed bulk soft-delete of missions
|
|
39224
39224
|
delete-objectives Confirmed bulk soft-delete of objectives
|
|
39225
39225
|
create Create a draft mission without attaching
|
|
@@ -39367,6 +39367,9 @@ load-context:
|
|
|
39367
39367
|
--objective-id <id> Return this objective as the current one instead of
|
|
39368
39368
|
rediscovering the mission's active objective. Required
|
|
39369
39369
|
on a mission running objectives in parallel.
|
|
39370
|
+
Returns:
|
|
39371
|
+
Objective context includes assignedAgent, model, reasoningEffort, and resourceKey
|
|
39372
|
+
so an agent can confirm the selected agent, model/thinking level, and resource.
|
|
39370
39373
|
|
|
39371
39374
|
list-deliveries:
|
|
39372
39375
|
Purpose:
|
|
@@ -39650,17 +39653,22 @@ add-objectives:
|
|
|
39650
39653
|
|
|
39651
39654
|
update-objective:
|
|
39652
39655
|
Purpose:
|
|
39653
|
-
|
|
39656
|
+
Rewrite an objective title, queue or dequeue compatibility auto-advance,
|
|
39657
|
+
and/or edit instruction text on an existing objective.
|
|
39654
39658
|
Required:
|
|
39655
39659
|
--objective-id <id>
|
|
39656
39660
|
At least one of:
|
|
39661
|
+
--title <text>
|
|
39657
39662
|
--auto-advance or --no-auto-advance
|
|
39658
39663
|
--instruction-text <text> or --instruction-text-file <path|->
|
|
39659
39664
|
Rules:
|
|
39665
|
+
Title edits are allowed in any objective state. An empty title clears the
|
|
39666
|
+
custom title and restores instruction-derived presentation.
|
|
39660
39667
|
Instruction text may be edited only when the objective is in draft or future state.
|
|
39661
39668
|
Blank instruction text is allowed in those states.
|
|
39662
39669
|
Returns:
|
|
39663
|
-
The updated objective JSON
|
|
39670
|
+
The updated objective JSON, including assignedAgent, model, reasoningEffort,
|
|
39671
|
+
and resourceKey. autoAdvance is deprecated and derived from live queueEntry membership.
|
|
39664
39672
|
|
|
39665
39673
|
delete-missions:
|
|
39666
39674
|
Purpose:
|