@bradheitmann/odin-sentinel 0.4.10 → 0.4.11
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 +13 -13
- package/dist/src/protocol/service.js +1 -1
- package/dist/src/protocol/version.d.ts +2 -2
- package/dist/src/protocol/version.js +2 -2
- package/docs/guides/quick-start.md +7 -7
- package/docs/guides/quickstart-prompts.md +3 -3
- package/docs/reference/distribution.md +5 -5
- package/docs/reference/public-surface-audit.md +1 -1
- package/package.json +2 -2
- package/protocol/SCP.md +2 -2
- package/protocol/bootstrap-skill.md +1 -1
- package/protocol/closeout.yaml +1 -1
- package/protocol/delegation.yaml +1 -1
- package/protocol/model-profiles.yaml +1 -1
- package/protocol/roles.yaml +1 -1
- package/protocol/topology.yaml +1 -1
package/README.md
CHANGED
|
@@ -58,29 +58,29 @@ not be launched until readiness passes or the PM records a waiver/substitution.
|
|
|
58
58
|
Recommended zero-install path:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
61
|
+
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Supported npm global install:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
npm i -g @bradheitmann/odin-sentinel@0.4.
|
|
67
|
+
npm i -g @bradheitmann/odin-sentinel@0.4.11
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Supported npx zero-install path:
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
npx -y -p @bradheitmann/odin-sentinel@0.4.
|
|
73
|
+
npx -y -p @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
A stdio smoke test that does not require an MCP host:
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
79
|
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}\n' \
|
|
80
|
-
| pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
80
|
+
| pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
A successful response includes `"serverInfo":{"name":"odin-sentinel","version":"0.4.
|
|
83
|
+
A successful response includes `"serverInfo":{"name":"odin-sentinel","version":"0.4.11"}`.
|
|
84
84
|
Minimum compatible child MCP version for governed-team docs is `0.4.5`.
|
|
85
85
|
|
|
86
86
|
## MCP Host Examples
|
|
@@ -88,7 +88,7 @@ Minimum compatible child MCP version for governed-team docs is `0.4.5`.
|
|
|
88
88
|
Claude Code:
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
claude mcp add odin-sentinel -- pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
91
|
+
claude mcp add odin-sentinel -- pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
Codex (`~/.codex/config.toml`):
|
|
@@ -96,7 +96,7 @@ Codex (`~/.codex/config.toml`):
|
|
|
96
96
|
```toml
|
|
97
97
|
[mcp_servers.odin-sentinel]
|
|
98
98
|
command = "pnpm"
|
|
99
|
-
args = ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
99
|
+
args = ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
Cursor / VS Code / Droid / Crush (`mcpServers` JSON):
|
|
@@ -106,7 +106,7 @@ Cursor / VS Code / Droid / Crush (`mcpServers` JSON):
|
|
|
106
106
|
"mcpServers": {
|
|
107
107
|
"odin-sentinel": {
|
|
108
108
|
"command": "pnpm",
|
|
109
|
-
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
109
|
+
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
@@ -118,7 +118,7 @@ Zed (`~/.config/zed/settings.json`):
|
|
|
118
118
|
"odin-sentinel": {
|
|
119
119
|
"source": "custom",
|
|
120
120
|
"command": "pnpm",
|
|
121
|
-
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
121
|
+
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
122
122
|
}
|
|
123
123
|
```
|
|
124
124
|
|
|
@@ -128,7 +128,7 @@ Goose (`~/.config/goose/config.yaml`):
|
|
|
128
128
|
odin-sentinel:
|
|
129
129
|
type: stdio
|
|
130
130
|
cmd: pnpm
|
|
131
|
-
args: ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
131
|
+
args: ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
132
132
|
enabled: true
|
|
133
133
|
```
|
|
134
134
|
|
|
@@ -139,7 +139,7 @@ OpenCode (`~/.config/opencode/opencode.json`):
|
|
|
139
139
|
"mcp": {
|
|
140
140
|
"odin-sentinel": {
|
|
141
141
|
"type": "local",
|
|
142
|
-
"command": ["pnpm", "dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
142
|
+
"command": ["pnpm", "dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"],
|
|
143
143
|
"enabled": true
|
|
144
144
|
}
|
|
145
145
|
}
|
|
@@ -152,13 +152,13 @@ OpenHands (`~/.openhands/config.toml`):
|
|
|
152
152
|
[mcp.stdio_servers.odin-sentinel]
|
|
153
153
|
name = "odin-sentinel"
|
|
154
154
|
command = "pnpm"
|
|
155
|
-
args = ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
155
|
+
args = ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
If a host cannot run `pnpm`, use the equivalent pinned npx command:
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
|
-
npx -y -p @bradheitmann/odin-sentinel@0.4.
|
|
161
|
+
npx -y -p @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
162
162
|
```
|
|
163
163
|
|
|
164
164
|
## MCP, Skill, Plugin, Prompt Fallback
|
|
@@ -1376,7 +1376,7 @@ const ONBOARDING_NO_SECRETS_NOTICE = "Do not paste API keys, tokens, OAuth value
|
|
|
1376
1376
|
function onboardingGuidedSteps() {
|
|
1377
1377
|
return [
|
|
1378
1378
|
"Confirm Node.js >= 22.13.0 and the installed @bradheitmann/odin-sentinel package version.",
|
|
1379
|
-
"Prefer the pinned pnpm command (pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
1379
|
+
"Prefer the pinned pnpm command (pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp); npm global install and npx are supported when pinned to the same release.",
|
|
1380
1380
|
"Add the odin-sentinel-mcp stdio command to each selected harness MCP config and restart the harness.",
|
|
1381
1381
|
"Provide SCP context: install the native sentinel-coordination-protocol skill where supported, otherwise inject full protocol text via odin.get_bootstrap_skill, or export a snapshot via odin.export_protocol_snapshot for non-MCP clients.",
|
|
1382
1382
|
"Deploy the activation hooks with `node scripts/protocol/install-activation-hooks.mjs` so the full-instruction-read precheck runs before governed edits.",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const VERSION: string;
|
|
2
|
-
export declare const PROTOCOL_SCHEMA_VERSION = "0.4.
|
|
2
|
+
export declare const PROTOCOL_SCHEMA_VERSION = "0.4.11";
|
|
3
3
|
export declare const MINIMUM_COMPATIBLE_MCP_VERSION = "0.4.5";
|
|
4
|
-
export declare const PUBLIC_LATEST_VERSION = "0.4.
|
|
4
|
+
export declare const PUBLIC_LATEST_VERSION = "0.4.11";
|
|
@@ -23,7 +23,7 @@ function readPackageVersion() {
|
|
|
23
23
|
throw new Error("Could not locate odin-sentinel package version");
|
|
24
24
|
}
|
|
25
25
|
export const VERSION = readPackageVersion();
|
|
26
|
-
export const PROTOCOL_SCHEMA_VERSION = "0.4.
|
|
26
|
+
export const PROTOCOL_SCHEMA_VERSION = "0.4.11";
|
|
27
27
|
export const MINIMUM_COMPATIBLE_MCP_VERSION = "0.4.5";
|
|
28
|
-
export const PUBLIC_LATEST_VERSION = "0.4.
|
|
28
|
+
export const PUBLIC_LATEST_VERSION = "0.4.11";
|
|
29
29
|
//# sourceMappingURL=version.js.map
|
|
@@ -32,19 +32,19 @@ step. You are still in control.
|
|
|
32
32
|
Recommended zero-install path:
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
35
|
+
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Supported npm global install:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
npm i -g @bradheitmann/odin-sentinel@0.4.
|
|
41
|
+
npm i -g @bradheitmann/odin-sentinel@0.4.11
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Supported npx zero-install path:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
npx -y -p @bradheitmann/odin-sentinel@0.4.
|
|
47
|
+
npx -y -p @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
## 3. Configure MCP
|
|
@@ -57,7 +57,7 @@ harness after editing config.
|
|
|
57
57
|
"mcpServers": {
|
|
58
58
|
"odin-sentinel": {
|
|
59
59
|
"command": "pnpm",
|
|
60
|
-
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
60
|
+
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -90,10 +90,10 @@ Zero-install smoke test:
|
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
92
|
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}\n' \
|
|
93
|
-
| pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
93
|
+
| pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
Expect `serverInfo.name = odin-sentinel` and `serverInfo.version = 0.4.
|
|
96
|
+
Expect `serverInfo.name = odin-sentinel` and `serverInfo.version = 0.4.11`.
|
|
97
97
|
Minimum compatible child MCP version: `0.4.5`.
|
|
98
98
|
|
|
99
99
|
## 6. Auth And Provider Readiness
|
|
@@ -191,7 +191,7 @@ occupants until readiness passes or EXEC PM records a waiver/substitution.
|
|
|
191
191
|
| Skill missing | Install the native skill where supported or use `odin.get_bootstrap_skill` as full prompt fallback. |
|
|
192
192
|
| Auth/login required | Ask the user to provision the provider; verify status without printing secrets. |
|
|
193
193
|
| Permission prompt | Stop and route to PM/user; do not bypass silently. |
|
|
194
|
-
| Stale MCP version | Use a pinned `@bradheitmann/odin-sentinel@0.4.
|
|
194
|
+
| Stale MCP version | Use a pinned `@bradheitmann/odin-sentinel@0.4.11` command, restart host, and confirm `0.4.11`. |
|
|
195
195
|
| Local inference stall | Require visible content within timeout; endpoint-only success is insufficient. |
|
|
196
196
|
| Role refusal | Mark the role `NON_GOVERNED_ONE_SHOT_ONLY` unless MCP/skill/full protocol proof is established. |
|
|
197
197
|
| Missing governed uptake proof | Treat as `FIXABLE_BLOCKED` (MCP/skill presence is not uptake): capture and verify a governed-context proof with `scripts/protocol/verify-governed-context.mjs`. |
|
|
@@ -13,7 +13,7 @@ Set up @bradheitmann/odin-sentinel for this machine.
|
|
|
13
13
|
Rules:
|
|
14
14
|
- Detect first; install only missing prerequisites.
|
|
15
15
|
- Required runtime: Node.js >=22.13.0.
|
|
16
|
-
- Install or use @bradheitmann/odin-sentinel@0.4.
|
|
16
|
+
- Install or use @bradheitmann/odin-sentinel@0.4.11.
|
|
17
17
|
- Configure only MCP hosts that already exist on this machine.
|
|
18
18
|
- Do not ask me to paste API keys, tokens, or OAuth values.
|
|
19
19
|
- Verify provider/auth status without printing secret values.
|
|
@@ -24,7 +24,7 @@ Rules:
|
|
|
24
24
|
Smoke test:
|
|
25
25
|
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}\n' | odin-sentinel-mcp
|
|
26
26
|
|
|
27
|
-
Expected version: 0.4.
|
|
27
|
+
Expected version: 0.4.11.
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Restart any host whose MCP config changed.
|
|
@@ -37,7 +37,7 @@ Open CMUX first. Paste into the agent that will act as EXEC PM.
|
|
|
37
37
|
You are A/EXEC-PM. Bootstrap a Sentinel Coordination Protocol governed team in this CMUX workspace.
|
|
38
38
|
|
|
39
39
|
Procedure:
|
|
40
|
-
1. Call odin.get_version and confirm version 0.4.
|
|
40
|
+
1. Call odin.get_version and confirm version 0.4.11 or newer.
|
|
41
41
|
2. Call odin.get_bootstrap_skill and read the public SCP contract.
|
|
42
42
|
3. Confirm CMUX is active and you are in the same workspace as the team slots.
|
|
43
43
|
4. Compute the target layout with odin.compute_surface_layout using profile=human_cmux_quad.
|
|
@@ -6,7 +6,7 @@ public protocol semantics change, update them together.
|
|
|
6
6
|
|
|
7
7
|
## Current Public Versions
|
|
8
8
|
|
|
9
|
-
- npm package/server: `0.4.
|
|
9
|
+
- npm package/server: `0.4.11`
|
|
10
10
|
- minimum compatible child MCP version: `0.4.5`
|
|
11
11
|
|
|
12
12
|
Private local skill copies may differ for personal workflow reasons. Release
|
|
@@ -18,19 +18,19 @@ private-local divergence from repo-internal public artifact drift.
|
|
|
18
18
|
Recommended zero-install path:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.
|
|
21
|
+
pnpm dlx --package @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Supported npm global install:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npm i -g @bradheitmann/odin-sentinel@0.4.
|
|
27
|
+
npm i -g @bradheitmann/odin-sentinel@0.4.11
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Supported npx zero-install path:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
npx -y -p @bradheitmann/odin-sentinel@0.4.
|
|
33
|
+
npx -y -p @bradheitmann/odin-sentinel@0.4.11 odin-sentinel-mcp
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
Recommended MCP config:
|
|
@@ -40,7 +40,7 @@ Recommended MCP config:
|
|
|
40
40
|
"mcpServers": {
|
|
41
41
|
"odin-sentinel": {
|
|
42
42
|
"command": "pnpm",
|
|
43
|
-
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.
|
|
43
|
+
"args": ["dlx", "--package", "@bradheitmann/odin-sentinel@0.4.11", "odin-sentinel-mcp"]
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bradheitmann/odin-sentinel",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.11",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"url": "https://github.com/bradheitmann/odin-sentinel/issues"
|
|
69
69
|
},
|
|
70
70
|
"odin": {
|
|
71
|
-
"publicVersion": "0.4.
|
|
71
|
+
"publicVersion": "0.4.11",
|
|
72
72
|
"minimumCompatibleChildMcpVersion": "0.4.5"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
package/protocol/SCP.md
CHANGED
|
@@ -7,7 +7,7 @@ updated: 2026-05-11
|
|
|
7
7
|
|
|
8
8
|
# Sentinel Coordination Protocol
|
|
9
9
|
|
|
10
|
-
SCP_PUBLIC_VERSION: 0.4.
|
|
10
|
+
SCP_PUBLIC_VERSION: 0.4.11
|
|
11
11
|
MIN_COMPATIBLE_CHILD_MCP: 0.4.5
|
|
12
12
|
|
|
13
13
|
Public install readiness: configure the ODIN MCP server, install native skill context where supported or use full prompt fallback, keep governed team roles in CMUX, verify auth/account readiness without printing secrets, smoke-test local inference if used, and validate role compatibility before launch. Private local skill copies may differ intentionally; public release checks compare repo-internal public artifacts only.
|
package/protocol/closeout.yaml
CHANGED
package/protocol/delegation.yaml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
version: 0.4.
|
|
1
|
+
version: 0.4.11
|
|
2
2
|
policy:
|
|
3
3
|
semantics: Recommended starter profiles, not bundled dependencies or availability guarantees.
|
|
4
4
|
runtime_requirement: Users must install and configure their own harnesses. Launchers must verify local harness/model availability before dispatch and apply fallbacks when unavailable.
|
package/protocol/roles.yaml
CHANGED
package/protocol/topology.yaml
CHANGED