@getmarrow/install 0.1.10 → 0.1.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 +9 -2
- package/package.json +1 -1
- package/src/installer.js +10 -7
package/README.md
CHANGED
|
@@ -50,7 +50,7 @@ Expected result:
|
|
|
50
50
|
- Marrow writes the safest detected MCP/SDK/agent config.
|
|
51
51
|
- A harmless setup decision is created and its outcome is committed.
|
|
52
52
|
- `/v1/agent/status` confirms capture health and missing hooks.
|
|
53
|
-
- `/v1/agent/runtime` verifies the one-call runtime gate.
|
|
53
|
+
- `/v1/agent/runtime` verifies the one-call runtime gate and returns the before-action intervention contract.
|
|
54
54
|
- `/v1/agent/first-value` returns the five-minute proof payload used by installer, SDK, and MCP clients.
|
|
55
55
|
- The installer prints: "Your agent is no longer starting from zero."
|
|
56
56
|
- Fresh accounts get a first useful action to try immediately.
|
|
@@ -64,7 +64,7 @@ After install, ask the agent:
|
|
|
64
64
|
I am about to deploy to production. What should I check first?
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
Marrow should answer with
|
|
67
|
+
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."
|
|
68
68
|
|
|
69
69
|
## What It Detects
|
|
70
70
|
|
|
@@ -132,6 +132,13 @@ npm install @getmarrow/sdk
|
|
|
132
132
|
|
|
133
133
|
The generated runtime now fails soft with an explicit warning if the SDK package is missing, so onboarding does not crash a user process.
|
|
134
134
|
|
|
135
|
+
|
|
136
|
+
## Trust and Data Boundaries
|
|
137
|
+
|
|
138
|
+
Marrow is tenant-aware by design. Private account, fleet, memory, workflow, and proof-pack data stays scoped to the authenticated account and authorized agent-bound keys. Shared/hive learning uses visibility-controlled, sanitized aggregate signals; it is not raw cross-customer decision sharing.
|
|
139
|
+
|
|
140
|
+
For business pilots, review the live trust notes before production rollout: https://getmarrow.ai/docs#trust-boundaries
|
|
141
|
+
|
|
135
142
|
## Trust Model
|
|
136
143
|
|
|
137
144
|
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.
|
package/package.json
CHANGED
package/src/installer.js
CHANGED
|
@@ -283,7 +283,7 @@ Marrow should run passively after install:
|
|
|
283
283
|
|
|
284
284
|
- Use MCP hooks when available: \`npx -y @getmarrow/mcp setup\`.
|
|
285
285
|
- Use SDK passive runtime in owned Node processes: \`createPassiveRuntime().install()\`.
|
|
286
|
-
- Before risky work, use Marrow's
|
|
286
|
+
- Before risky work, use Marrow's before-action intervention from \`GET /v1/agent/status\` or \`POST /v1/agent/runtime\`.
|
|
287
287
|
- After meaningful work, record the outcome so future agents learn from it.
|
|
288
288
|
- Check health with \`marrow_agent_status\` or \`GET /v1/agent/status\`.
|
|
289
289
|
|
|
@@ -640,7 +640,8 @@ async function runSelfTest(options) {
|
|
|
640
640
|
auto_outcome_closure: status.auto_outcome_closure || null,
|
|
641
641
|
runtime_active: Boolean(runtime && runtime.ok !== false),
|
|
642
642
|
runtime_exact_next_action: runtime.exact_next_action || null,
|
|
643
|
-
runtime_before_you_act: runtime.before_you_act || null,
|
|
643
|
+
runtime_before_you_act: runtime.intervention?.agent_copy || runtime.intervention?.before_action || runtime.before_you_act || null,
|
|
644
|
+
runtime_intervention: runtime.intervention || null,
|
|
644
645
|
first_value: firstValue && firstValue.ok !== false ? firstValue : null,
|
|
645
646
|
first_value_signal: firstValueSignal,
|
|
646
647
|
install_value_moment: installValueMoment,
|
|
@@ -669,7 +670,9 @@ function buildInstallValueMoment(firstValueSignal = {}, status = {}, runtime = {
|
|
|
669
670
|
|
|
670
671
|
const proof = firstValueSignal.value_proof || [];
|
|
671
672
|
const hasFleetSignal = proof.length > 0;
|
|
672
|
-
const runtimeLesson = runtime.
|
|
673
|
+
const runtimeLesson = runtime.intervention?.agent_copy
|
|
674
|
+
|| runtime.intervention?.before_action
|
|
675
|
+
|| runtime.before_you_act
|
|
673
676
|
|| runtime.before_you_act_injection?.message
|
|
674
677
|
|| runtime.exact_next_action
|
|
675
678
|
|| firstValueSignal.first_lesson;
|
|
@@ -680,14 +683,14 @@ function buildInstallValueMoment(firstValueSignal = {}, status = {}, runtime = {
|
|
|
680
683
|
'Captured this setup decision',
|
|
681
684
|
'Closed the outcome successfully',
|
|
682
685
|
'Runtime gate is ' + (firstValueSignal.active ? 'active' : 'installed'),
|
|
683
|
-
runtimeLesson ? 'Future risky work now gets a pre-action brief' : 'Future risky work now gets checked before action',
|
|
686
|
+
runtime.intervention?.must_use_before_action ? 'Before-action intervention is active for risky work' : runtimeLesson ? 'Future risky work now gets a pre-action brief' : 'Future risky work now gets checked before action',
|
|
684
687
|
],
|
|
685
688
|
fleet_signal: hasFleetSignal
|
|
686
689
|
? 'Marrow already found signal: ' + proof.join('; ') + '.'
|
|
687
690
|
: 'Fresh account: Marrow will start building fleet memory from this first captured outcome.',
|
|
688
691
|
try_this_now: 'Ask your agent: "I am about to deploy to production. What should I check first?"',
|
|
689
|
-
expected_response: 'Marrow should answer with
|
|
690
|
-
first_lesson: runtimeLesson || 'Marrow will
|
|
692
|
+
expected_response: 'Marrow should answer with proceed/warn/block, required proof, and any matching prior lesson/playbook before the agent acts.',
|
|
693
|
+
first_lesson: runtimeLesson || 'Marrow will stop agents before risky or repeated work and surface the prior lesson/playbook.',
|
|
691
694
|
};
|
|
692
695
|
}
|
|
693
696
|
|
|
@@ -704,7 +707,7 @@ function buildFirstValueSignal(status, runtime, performance, firstValue = {}) {
|
|
|
704
707
|
active: Boolean(firstValue.active),
|
|
705
708
|
headline: `Marrow active: ${(capture.surfaces || ['decisions']).join(', ')} captured.`,
|
|
706
709
|
captured: capture.surfaces || ['decisions'],
|
|
707
|
-
first_lesson: firstValue.first_value.first_lesson,
|
|
710
|
+
first_lesson: firstValue.first_value.first_lesson || runtime?.intervention?.agent_copy,
|
|
708
711
|
value_proof: proofBits,
|
|
709
712
|
next_action: firstValue.next_action?.reason || 'Keep working; Marrow will capture outcomes and reuse lessons automatically.',
|
|
710
713
|
};
|