@getmarrow/install 0.1.49 → 0.1.50
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 +2 -2
- package/package.json +1 -1
- package/src/installer.js +13 -7
package/README.md
CHANGED
|
@@ -91,9 +91,9 @@ npx @getmarrow/install controller stop
|
|
|
91
91
|
|
|
92
92
|
Persistent controller lifecycle is currently Linux-only. On macOS or Windows, activation still writes supported configuration and verifies one server-side install self-test without certifying that hooks continuously ran; run `npx @getmarrow/install sidecar` under an owner-managed service and pass `--no-controller`. The controller does not silently upgrade packages, change governance policy, rotate credentials, or modify unrelated project configuration.
|
|
93
93
|
|
|
94
|
-
## What's New in v0.1.
|
|
94
|
+
## What's New in v0.1.50
|
|
95
95
|
|
|
96
|
-
v0.1.
|
|
96
|
+
v0.1.50 keeps MCP `3.9.74` and SDK `3.7.62`, and explicitly requests the expanded runtime proof required by activation self-test. Install and repair resolve one stable non-secret agent identity before writing configuration, then use that exact identity across generated MCP config, the owned-process SDK preload, doctor/self-test, and the local controller. Managed MCP config does not store an API key or shell-style credential placeholder; the owning harness inherits the key from trusted environment or secret-manager state.
|
|
97
97
|
|
|
98
98
|
The integration boundary is explicit: native Claude hooks are installed only where supported and remain cooperative/client-reported until authoritative server receipts exist; MCP tools are on demand; Codex, Grok, Gemini, and similar CLIs use the governed wrapper for consequential control; owned Node processes use the SDK passive runtime while installed; and custom hosts require a bounded event adapter. Exact package SHA/integrity can prove artifact provenance, not runtime coverage. Activation-profile delivery is authenticated `client_self_reported` telemetry with `certified_coverage: false`; it acknowledges delivery but cannot attest that a hook, wrapper, or adapter ran.
|
|
99
99
|
|
package/package.json
CHANGED
package/src/installer.js
CHANGED
|
@@ -1356,6 +1356,7 @@ async function runSelfTest(options) {
|
|
|
1356
1356
|
action: 'Marrow passive install self-test: verify one-call agent runtime and outcome closure',
|
|
1357
1357
|
type: 'process',
|
|
1358
1358
|
role: 'general',
|
|
1359
|
+
response_mode: 'expanded',
|
|
1359
1360
|
surfaces: ['workspace'],
|
|
1360
1361
|
proof: {
|
|
1361
1362
|
checks: ['installer self-test'],
|
|
@@ -1465,14 +1466,19 @@ async function runSelfTest(options) {
|
|
|
1465
1466
|
evidence_authority: 'client_self_reported',
|
|
1466
1467
|
certified_coverage: false,
|
|
1467
1468
|
};
|
|
1468
|
-
|
|
1469
|
-
firstValue
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1469
|
+
const activationPrerequisites = {
|
|
1470
|
+
first_value_active: firstValue?.active === true,
|
|
1471
|
+
runtime_gate_verified: runtimeGateVerified(runtime),
|
|
1472
|
+
status_enabled: (status.enabled ?? status.ok) === true,
|
|
1473
|
+
telemetry_accepted: telemetryAccepted,
|
|
1474
|
+
};
|
|
1475
|
+
activationVerified = Object.values(activationPrerequisites).every(Boolean);
|
|
1474
1476
|
if (!activationVerified) {
|
|
1475
|
-
|
|
1477
|
+
const missing = Object.entries(activationPrerequisites)
|
|
1478
|
+
.filter(([, verified]) => !verified)
|
|
1479
|
+
.map(([name]) => name)
|
|
1480
|
+
.join(',');
|
|
1481
|
+
throw new Error(`activation self-test prerequisites were not all verified by the server (${missing})`);
|
|
1476
1482
|
}
|
|
1477
1483
|
}
|
|
1478
1484
|
return {
|