@getmarrow/install 0.1.27 → 0.1.28

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.
Files changed (2) hide show
  1. package/README.md +92 -203
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,93 +1,81 @@
1
1
  # @getmarrow/install
2
2
 
3
- Universal installer for Marrow agent governance, proof, and passive control setup.
3
+ > Universal installer and governed runner for Marrow agent fleets.
4
4
 
5
- Use it when you want Marrow to detect the local agent/runtime environment and wire the safest passive governance integration automatically.
5
+ Marrow is the runtime control and proof layer for teams running AI agents. It applies policy and prior lessons before consequential actions, then records the evidence and outcome afterward.
6
+
7
+ Use `@getmarrow/install` as the default entry point. It detects supported agent and project surfaces, writes the appropriate passive configuration, runs a harmless end-to-end self-test, and reports whether policy, proof, attribution, and outcome capture are active.
8
+
9
+ ## Install
6
10
 
7
11
  ```bash
8
- npx @getmarrow/install --dry-run
9
12
  npx @getmarrow/install --yes
10
- npx @getmarrow/install --repair
11
- npx @getmarrow/install doctor
12
- npx @getmarrow/install govern
13
- npx @getmarrow/install fleet
14
- npx @getmarrow/install integrations
15
- npx @getmarrow/install hermes
16
- npx @getmarrow/install openclaw
17
13
  ```
18
14
 
19
- ## What's New in v0.1.26
15
+ Required secret:
20
16
 
21
- v0.1.26 expands Marrow's supported harness registry so teams can attach governance to the agent tools, IDE agents, model CLIs, MCP clients, CI runners, and custom harnesses they already use.
17
+ ```bash
18
+ export MARROW_API_KEY=mrw_live_...
19
+ ```
22
20
 
23
- - `npx @getmarrow/install integrations` lists supported surfaces, support level, install command, capture path, and detection signals.
24
- - `GET /v1/agent/data-quality` lets agents verify attribution coverage after install, including agent ID, source metadata, harness/client, workflow type, outcome closure, and exact repair guidance.
25
- - `GET /v1/agent/integrations/{client}` gives supported harnesses a per-client setup guide with install command, capture points, source metadata, runtime/commit/batch mapping, and exact next action.
26
- - `npx @getmarrow/install govern` detects Codex, Claude Code, Cursor, Cursor Composer, Windsurf, Cline, OpenCode, Hermes, OpenClaw, Gemini, Grok, DeepSeek, Qwen, Kimi, MiniMax, GLM, MCP clients, CI scripts, and custom commands.
27
- - Hermes Agent and OpenClaw remain first-class add-ons.
28
- - Codex, Claude Code, Cursor, Cursor Composer, Windsurf, Cline, OpenCode, Gemini, Grok, DeepSeek, Qwen, Kimi, MiniMax, GLM, MCP clients, CI scripts, and custom shell/API harnesses can use MCP/SDK hooks, the governed runner, or `POST /v1/agent/integrations/events`.
29
- - Custom harness events should include `harness`, `event_type`, `agent_id`, and `action`, so Marrow can return the right runtime, commit, or batch-ingest next step without storing unsupported or under-attributed raw payloads.
21
+ ## What's New in v0.1.28
30
22
 
31
- The positioning is simple: keep the harness your team already uses, and add Marrow as the governance, proof, and fleet-intelligence layer around it.
23
+ v0.1.28 aligns first-run documentation with Marrow's business product contract:
32
24
 
33
- ## What's New in v0.1.24
25
+ - runtime control before consequential actions;
26
+ - proof and outcome closure afterward;
27
+ - tenant-scoped fleet improvement across interchangeable agents and harnesses;
28
+ - clear separation between the default installer, advanced SDK integration, and MCP-native integration.
34
29
 
35
- v0.1.24 aligns the installer docs with Marrow's control-plane direction.
30
+ This patch changes package documentation and positioning. Existing installer, governed runner, and TUI behavior remains compatible.
36
31
 
37
- - Marrow is positioned as an agent governance, proof, and intelligence layer, not a single-agent memory app.
38
- - The recommended setup path remains passive by default: install once, then let agents call runtime gates, completion contracts, and outcome closure as they work.
39
- - Hermes Agent is a supported client label and integration target; Marrow maps Hermes goals, verification evidence, learning, journey, and subagent outcomes into fleet governance proof.
40
- - New backend surfaces include governance control-plane proof, completion-contract evaluation, fleet governance timeline, and buyer-grade value proof.
32
+ ## What It Detects
41
33
 
42
- ## What's New in v0.1.23
34
+ The installer detects supported configuration and project signals for:
43
35
 
44
- v0.1.23 improves attribution quality so Marrow can produce cleaner per-agent, per-harness, and per-workflow value reports.
36
+ - Codex, Claude Code, Cursor, Cursor Composer, Windsurf, Cline, OpenCode, Hermes, and OpenClaw;
37
+ - Gemini, Grok, DeepSeek, Qwen, Kimi, MiniMax, and GLM command-line or custom harness paths;
38
+ - MCP client configuration;
39
+ - Node.js and Python projects;
40
+ - CI, deploy, publish, merge, migration, and custom shell workflows.
45
41
 
46
- - Installer self-tests and governed runner calls attach `source_meta.channel`, `source_meta.client`, and inferred workflow intent by default.
47
- - Generated passive runtime keeps using SDK defaults for `agent_id`, harness/client, source channel, and user intent attribution.
48
- - Set `MARROW_CLIENT`, `MARROW_HARNESS`, or `MARROW_AGENT_CLIENT` to labels such as `codex`, `claude-code`, `cursor`, `gemini`, `qwen`, `opencode`, `hermes`, `openclaw`, or `custom`.
49
- - Invalid or unknown client labels fall back to `custom` instead of breaking onboarding.
50
- - Marrow still does not store prompts, completions, tool stdout/stderr, plaintext API keys, or raw model output for this feature.
42
+ Marrow does not replace these models or harnesses. It adds a common business control, proof, and outcome layer around the actions they perform.
51
43
 
52
- Business value: dashboards and reports can show which agents, harnesses, and workflow types are improving instead of grouping too much work into "unknown."
44
+ ## First-Run Verification
53
45
 
54
- ## Governed Runner
46
+ With a valid key, setup:
55
47
 
56
- The Marrow governed runner is for businesses that want agent governance without replacing their existing harness.
48
+ 1. detects the local integration surfaces;
49
+ 2. writes supported config and passive instructions;
50
+ 3. creates a harmless test decision;
51
+ 4. closes its outcome;
52
+ 5. reads agent status and the one-call runtime;
53
+ 6. reports captured surfaces, attribution quality, proof coverage, token-value capture state, and the exact next action.
57
54
 
58
- - `npx @getmarrow/install govern` prints a setup panel for detected harnesses and recommended protected commands.
59
- - `npx @getmarrow/install run --agent <agent-id> -- <command>` wraps existing agent, deploy, merge, publish, migration, and verification commands with Marrow's pre-action runtime gate.
60
- - Risky actions can fail closed by default when Marrow requires owner approval, blocks an action, or requires missing proof.
61
- - Successful and failed commands automatically close outcomes through `/v1/agent/commit` with a redacted proof pack.
62
- - The runner sends action and command metadata only; it does not upload command stdout, stderr, full environment values, or plaintext API keys.
63
- - This gives teams a thin governance path for Codex, Claude Code, Cursor, Cursor Composer, Windsurf, Cline, OpenClaw, Hermes, OpenCode, Gemini, Grok, DeepSeek, Qwen, Kimi, MiniMax, GLM, MCP clients, CI scripts, and custom shell-based agents.
55
+ Healthy output confirms that Marrow is active instead of only confirming that files were written.
64
56
 
65
- Business value: Marrow can sit in front of the commands that matter most, tell the agent what prior lesson or proof is required before action, and produce an audit-ready outcome trail after the command finishes.
57
+ ## Govern TUI
66
58
 
67
- ### Governed Runner Quickstart
68
-
69
- Preview the detected harnesses and protected command examples:
59
+ Open the interactive setup panel:
70
60
 
71
61
  ```bash
72
62
  npx @getmarrow/install govern
73
63
  ```
74
64
 
75
- Run a harmless command through Marrow:
65
+ The TUI shows detected harnesses and project risks, recommends passive, pilot, or enforce mode with reasons, lets the owner accept or override the recommendation, runs the self-test, and confirms the active controls. Use `Ctrl+C` to exit.
76
66
 
77
- ```bash
78
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install run --agent codex-prod --profile production -- node -e "process.exit(0)"
79
- ```
80
-
81
- Gate a production action before the agent executes it:
67
+ For non-interactive environments:
82
68
 
83
69
  ```bash
84
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install gate "deploy production worker after tests pass"
70
+ npx @getmarrow/install govern --no-interactive
85
71
  ```
86
72
 
87
- Wrap a real deploy, publish, merge, or migration command only after the agent has the required proof:
73
+ ## Governed Runner
74
+
75
+ Place Marrow around an existing command without replacing the agent harness:
88
76
 
89
77
  ```bash
90
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install run \
78
+ npx @getmarrow/install run \
91
79
  --agent deploy-agent \
92
80
  --type deploy \
93
81
  --profile production \
@@ -95,180 +83,81 @@ MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install run \
95
83
  -- wrangler deploy
96
84
  ```
97
85
 
98
- Use `--policy warn` for pilot mode and `--fail-open` only for non-production local workflows where Marrow should never block execution.
99
-
100
- ## Which Install Path Should I Use?
101
-
102
- Start here unless you already know you need a lower-level integration:
103
-
104
- ```bash
105
- npx @getmarrow/install --yes
106
- ```
107
-
108
- The universal installer detects your local agent/runtime environment and wires the safest combination of MCP hooks, SDK passive runtime files, and agent instructions automatically. It also runs the self-test and prints first-run value proof.
109
-
110
- Use the lower-level packages only when you need direct control:
111
-
112
- - **SDK:** use `@getmarrow/sdk` when you are building a custom Node/TypeScript agent integration or wrapping your own tools, commands, deploys, and publishes in code.
113
- - **MCP:** use `@getmarrow/mcp` when you want manual MCP server/hook setup for Claude Code, Claude Desktop, Cursor, or another MCP-compatible client.
114
-
115
- The three packages are not three competing onboarding paths. `@getmarrow/install` is the front door; SDK and MCP are the implementation paths underneath it.
116
-
117
- For cleaner attribution, set an agent id and optional client label before install:
118
-
119
- ```bash
120
- export MARROW_FLEET_AGENT_ID=codex-deploy-agent
121
- export MARROW_CLIENT=codex
122
- npx @getmarrow/install --yes
123
- ```
124
-
125
- ## Agent Value Proof Quickstart
126
-
127
- One command should prove Marrow is active and useful:
128
-
129
- ```bash
130
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install --yes
131
- ```
132
-
133
- Expected result:
134
-
135
- - Marrow writes the safest detected MCP/SDK/agent config.
136
- - A harmless setup decision is created and its outcome is committed.
137
- - `/v1/agent/status` confirms capture health and missing hooks.
138
- - `/v1/agent/data-quality` confirms whether attribution is clean enough for per-agent, per-harness, and per-workflow value proof.
139
- - `/v1/agent/runtime` verifies the one-call runtime gate and returns the before-action intervention contract.
140
- - `/v1/agent/first-value` returns the five-minute proof payload used by installer, SDK, and MCP clients.
141
- - `/v1/agent/value/proof` returns token value proof from passive model-usage capture.
142
- - The installer prints: "Your agent is no longer starting from zero."
143
- - The installer prints: "Token value proof" with capture status, observed model calls, token totals, estimated savings, confidence, and exact next action.
144
- - Fresh accounts get a first useful action to try immediately.
145
- - Accounts with history get proof such as avoided mistakes, reused winning decisions, prevented risky actions, or estimated time/token savings.
146
-
147
- ## First Five-Minute Proof
148
-
149
- After install, ask the agent:
150
-
151
- ```text
152
- I am about to deploy to production. What should I check first?
153
- ```
154
-
155
- Marrow should answer with `proceed`, `warn`, `block`, or `owner_approval_required`, plus required proof and matching fleet lessons/playbooks before the agent acts. This is the first product moment: not just "hooks installed", but "the agent is being warned before risky work."
156
-
157
- ## What It Detects
158
-
159
- - OpenClaw-style workspaces
160
- - Hermes Agent config files
161
- - Codex/agent instruction files such as `AGENTS.md`
162
- - Claude Code settings and hooks
163
- - Cursor project folders
164
- - Cursor Composer, Windsurf, Cline, and OpenCode project markers
165
- - Gemini, Grok, DeepSeek, Qwen, Kimi, MiniMax, and GLM command/profile markers
166
- - MCP config files
167
- - Node projects
168
- - Python projects
169
-
170
- ## Install Modes
171
-
172
- ```bash
173
- npx @getmarrow/install --mcp --dry-run
174
- npx @getmarrow/install --sdk --dry-run
175
- npx @getmarrow/install --both --dry-run
176
- npx @getmarrow/install --md --dry-run
177
- ```
178
-
179
- `--dry-run` is the default unless `--yes` is passed.
180
-
181
- ## What It Writes
182
-
183
- - `.claude/settings.json` passive MCP hooks for tool outcomes and prompt context.
184
- - `.mcp.json` with the Marrow MCP server entry.
185
- - `.marrow/passive-runtime.mjs` for SDK passive runtime preload in Node processes.
186
- - `.marrow/env.example` with required environment variables.
187
- - `AGENTS.md` instructions for agents that rely on markdown/skills.
188
- - `.cursor/rules/marrow.mdc` when a Cursor project is detected.
189
-
190
- ## Self-Test
191
-
192
- When `MARROW_API_KEY` is present, the installer creates a harmless test decision, commits the outcome, reads `/v1/agent/status`, calls the one-call runtime, reads `/v1/agent/value/proof`, and prints the first useful Marrow signal plus token value proof.
193
-
194
- ```bash
195
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install --yes
196
- ```
197
-
198
- Skip self-test:
86
+ The runner:
199
87
 
200
- ```bash
201
- npx @getmarrow/install --yes --no-self-test
202
- ```
88
+ 1. requests the Marrow runtime gate;
89
+ 2. prints the decision, relevant lesson, owner-approval state, and required proof;
90
+ 3. blocks when policy requires it;
91
+ 4. runs the original command when allowed;
92
+ 5. records success or failure and attaches a redacted proof pack.
203
93
 
204
- Doctor check:
94
+ Useful commands:
205
95
 
206
96
  ```bash
207
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install doctor
97
+ npx @getmarrow/install gate --agent deploy-agent --type deploy --action "deploy production"
98
+ npx @getmarrow/install status
99
+ npx @getmarrow/install doctor
100
+ npx @getmarrow/install --repair
208
101
  ```
209
102
 
210
- Repair missing hooks/config:
103
+ ## Fleet Operator TUI
211
104
 
212
105
  ```bash
213
- MARROW_API_KEY=<your_marrow_key> npx @getmarrow/install --repair
214
- ```
215
-
216
- ## SDK Dependency
217
-
218
- When the installer writes `.marrow/passive-runtime.mjs`, the project should have `@getmarrow/sdk` installed:
219
-
220
- ```bash
221
- npm install @getmarrow/sdk
106
+ npx @getmarrow/install fleet
222
107
  ```
223
108
 
224
- The generated runtime now fails soft with an explicit warning if the SDK package is missing, so onboarding does not crash a user process.
225
-
226
- ## Passive Token Value Proof
109
+ The fleet view shows live agents, active workflows, risky actions waiting for proof, stale or failed outcomes, capture health, recent decisions, and exact repair commands. It is an operator surface for the authenticated account, not a public status dashboard.
227
110
 
228
- Token value proof is default-on when the installer writes `.marrow/passive-runtime.mjs`.
111
+ ## Integration Paths
229
112
 
230
- In supported Node/TypeScript agents, the SDK passive runtime wraps outbound model-provider `fetch` responses and captures compact `usage` blocks when providers return them. MCP and harness integrations can also attach `model_usage` to `marrow_commit` or call `marrow_model_usage` when the harness exposes usage metadata.
113
+ | Path | Use it when | Owner effort |
114
+ | --- | --- | --- |
115
+ | Universal installer | You want Marrow to detect and wire the safest supported integration | Lowest |
116
+ | Governed runner | You need control around existing shell, CI, deploy, publish, merge, or migration commands | Low |
117
+ | MCP package | The agent client supports MCP and should use Marrow tools and hooks natively | Low |
118
+ | SDK | You own the Node.js/TypeScript runtime and need programmatic control | Advanced |
119
+ | Event contract | You have a custom harness that must map its lifecycle into Marrow | Advanced |
231
120
 
232
- Captured fields are intentionally narrow:
121
+ These are integration surfaces for one Marrow product, not separate products.
233
122
 
234
- - provider and model
235
- - input, output, cached, and total token counts
236
- - optional cost and latency estimates
237
- - agent, workflow, session, and decision linkage
238
- - Marrow intervention type, such as `runtime_gate`, `proof_pack`, or `before_you_act`
123
+ ## Passive Token and Value Proof
239
124
 
240
- Marrow does not capture prompt text, completion text, raw tool output, command output, full environment values, or plaintext secrets for token value proof.
125
+ When the installer writes `.marrow/passive-runtime.mjs` and the harness exposes usage metadata, Marrow can capture compact provider/model, token, latency, and optional cost counts. It does not require raw prompts, completions, command output, tool output, or plaintext secrets.
241
126
 
242
- Disable capture only when a project requires it:
127
+ After meaningful work, supported runtime and commit responses can return observed usage, trend direction, evidence confidence, and the next capture improvement. Savings are only reported when the available evidence supports them.
243
128
 
244
- ```bash
245
- MARROW_PASSIVE_TOKEN_USAGE=false
246
- ```
247
-
248
- Day-one behavior:
129
+ ## Trust and Data Boundaries
249
130
 
250
- - Fresh install: `Token usage capture is ready; no model calls have been reported yet.`
251
- - After observed usage: Marrow reports model calls, total tokens, estimated tokens saved, confidence, trend, and next action.
252
- - After workflows complete: agents should show the returned `token_value_signal` or value proof in owner updates so users see savings without opening a dashboard.
131
+ - Private account, fleet, workflow, proof, and agent data remains tenant-scoped by default.
132
+ - Agent-bound keys can be restricted to an allowed identity and permission set.
133
+ - Sanitized aggregate contribution is optional and never means sharing raw prompts, code, secrets, proof packs, account identifiers, agent identifiers, or customer identities.
134
+ - The installer diagnoses key locations without printing secret values.
135
+ - Marrow returns guidance and policy data. Agents must not execute returned text as shell input.
253
136
 
137
+ See the [Trust Center](https://getmarrow.ai/trust/) for implemented controls, current limits, and roadmap status.
254
138
 
255
- ## Trust and Data Boundaries
139
+ ## Environment
256
140
 
257
- Marrow is tenant-aware by design. Private account, fleet, workflow, proof-pack, and agent data stays scoped to the authenticated account and authorized agent-bound keys.
141
+ | Variable | Required | Purpose |
142
+ | --- | --- | --- |
143
+ | `MARROW_API_KEY` | Yes for live verification | Account or agent-bound API key |
144
+ | `MARROW_BASE_URL` | No | API base override |
145
+ | `MARROW_FLEET_AGENT_ID` | No | Default agent identity |
258
146
 
259
- Enterprise tenants receive a strong private governance baseline from day one: risk gates, proof requirements, workflow templates, private/account learning, and exact next actions. Teams that enable sanitized aggregate contribution unlock richer k-anonymous collective workflow guidance. Contribution never means raw prompts, decisions, proof packs, code, secrets, account identifiers, agent identifiers, or customer identities.
147
+ Use the host's secret manager first. The shared resolver can also check documented Marrow and project env files for owned development environments. Run `doctor` when a key or hook cannot be found.
260
148
 
261
- For business pilots, review the live trust notes before production rollout: https://getmarrow.ai/docs#trust-boundaries
149
+ ## Documentation
262
150
 
263
- ## Trust Model
151
+ - [Source-of-truth docs](https://getmarrow.ai/docs/)
152
+ - [Trust Center](https://getmarrow.ai/trust/)
153
+ - [Status](https://getmarrow.ai/status/)
154
+ - [GitHub](https://github.com/getmarrow/marrow-install)
264
155
 
265
- This package is intended to be open source and auditable. It prints every file it will touch, requires `--yes` to write, does not store API keys in project files, and supports MCP-only, SDK-only, both, and markdown-only setups.
156
+ ## License
266
157
 
267
- ---
158
+ MIT
268
159
 
269
160
  ## Related Packages
270
161
 
271
- - **[@getmarrow/sdk](https://www.npmjs.com/package/@getmarrow/sdk)** TypeScript/Node.js SDK for custom agent integrations, passive runtime hooks, guarded actions, and direct API access.
272
- - **[@getmarrow/mcp](https://www.npmjs.com/package/@getmarrow/mcp)** MCP server for Claude Code, Claude Desktop, Cursor, and other MCP-compatible clients.
273
-
274
- **Docs:** [https://getmarrow.ai/docs](https://getmarrow.ai/docs)
162
+ - [@getmarrow/sdk](https://www.npmjs.com/package/@getmarrow/sdk) - Node.js and TypeScript integration for owned agent runtimes
163
+ - [@getmarrow/mcp](https://www.npmjs.com/package/@getmarrow/mcp) - MCP-native integration for compatible agent clients
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@getmarrow/install",
3
- "version": "0.1.27",
4
- "description": "Universal installer for Marrow agent governance, proof, and passive control setup.",
3
+ "version": "0.1.28",
4
+ "description": "Universal installer and governed runner for Marrow agent fleets.",
5
5
  "bin": {
6
6
  "marrow-install": "bin/marrow-install.js"
7
7
  },
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "https://github.com/getmarrow/marrow-install.git"
25
+ "url": "git+https://github.com/getmarrow/marrow-install.git"
26
26
  },
27
27
  "license": "MIT",
28
28
  "files": [