@getmarrow/install 0.1.38 → 0.1.39

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 CHANGED
@@ -70,6 +70,9 @@ Marrow's hosted API, website, and dashboard update automatically; local SDK depe
70
70
  npx -y @getmarrow/install@latest activate
71
71
  npx -y @getmarrow/install@latest doctor
72
72
 
73
+ # Measured API read health and local backlog
74
+ npx -y @getmarrow/mcp@latest ping
75
+
73
76
  # Use only when doctor reports drift
74
77
  npx -y @getmarrow/install@latest --repair
75
78
  ```
@@ -88,7 +91,19 @@ npx @getmarrow/install controller stop
88
91
 
89
92
  Persistent controller lifecycle is currently Linux-only. On macOS or Windows, activation still installs and verifies the supported hooks without starting or signaling a background process; 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.
90
93
 
91
- ## What's New in v0.1.38
94
+ ## What's New in v0.1.39
95
+
96
+ v0.1.39 installs the bounded one-call passive read contract from day one:
97
+
98
+ - ordinary prompts receive one compact context read; risky or mutating prompts receive one fresh runtime gate instead;
99
+ - passive prompt telemetry is buffered locally rather than delaying the agent turn;
100
+ - transient read failures can use clearly labeled owner-only last-known guidance, while authentication failures never use cache;
101
+ - `doctor` prints the exact `npx -y @getmarrow/mcp@latest ping` command for measured current/p50/p99 latency, last success, and backlog health;
102
+ - certified hook commands pin MCP `3.9.55` and SDK `3.7.54` so advertised behavior matches the deployed server contract.
103
+
104
+ It preserves the intervention receipts introduced in v0.1.38.
105
+
106
+ ## Previous: v0.1.38
92
107
 
93
108
  v0.1.38 makes a meaningful Marrow intervention visible without adding manual work to routine agent sessions:
94
109
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getmarrow/install",
3
- "version": "0.1.38",
3
+ "version": "0.1.39",
4
4
  "description": "Universal installer and governed runner for Marrow agent fleets.",
5
5
  "bin": {
6
6
  "marrow-install": "bin/marrow-install.js"
package/src/installer.js CHANGED
@@ -8,9 +8,9 @@ const { controllerStatus, controllerSupportedPlatform, ensureGovernanceControlle
8
8
  const DEFAULT_BASE_URL = 'https://api.getmarrow.ai';
9
9
  const MARROW_BLOCK_START = '<!-- marrow:passive-start -->';
10
10
  const MARROW_BLOCK_END = '<!-- marrow:passive-end -->';
11
- const MCP_ADAPTER_VERSION = '3.9.54';
12
- const SDK_ADAPTER_VERSION = '3.7.53';
13
- const SDK_ADAPTER_INTEGRITY = 'sha512-CKPVR9gf24mNvZIcFvKhHGZSsUhxa0uDg/bN4dktLlttB/EU/p6CEVWmGqZmxDTnfp4I+qqdJUpzuQSnkNhaIA==';
11
+ const MCP_ADAPTER_VERSION = '3.9.55';
12
+ const SDK_ADAPTER_VERSION = '3.7.54';
13
+ const SDK_ADAPTER_INTEGRITY = 'sha512-KMgZEZpKo0AVKimXi4/SmtyPDV3mfx9hrj5drCdZxdNP8P/FL7ciyvyAEGiiXIMemh5Z3D/PUUvVO4jhr16ozQ==';
14
14
  const SDK_ADAPTER_TARBALL = `https://registry.npmjs.org/@getmarrow/sdk/-/sdk-${SDK_ADAPTER_VERSION}.tgz`;
15
15
  const MCP_PACKAGE_SPEC = `@getmarrow/mcp@${MCP_ADAPTER_VERSION}`;
16
16
  const MCP_CONTEXT_HOOK_COMMAND = `npx -y ${MCP_PACKAGE_SPEC} context-hook`;
@@ -1531,6 +1531,7 @@ function printReport(report) {
1531
1531
  if (report.doctor.envHints.length) process.stdout.write(`- possible env files: ${report.doctor.envHints.join(', ')}\n`);
1532
1532
  process.stdout.write(`- missing hooks/config: ${report.doctor.missingHooks.length ? report.doctor.missingHooks.join('; ') : 'none'}\n`);
1533
1533
  if (report.doctor.recommendedFix) process.stdout.write(`- recommended fix: ${report.doctor.recommendedFix}\n`);
1534
+ process.stdout.write(`- live health: ${report.doctor.healthCommand}\n`);
1534
1535
  }
1535
1536
 
1536
1537
  if (report.writeMode === 'dry-run') {
@@ -1685,6 +1686,7 @@ async function install(options) {
1685
1686
  ? `MARROW_API_KEY was found in a likely env file at ${envHints[0]}. Load that key from trusted secret storage, export only MARROW_API_KEY, then run npx @getmarrow/install --repair.`
1686
1687
  : 'Set MARROW_API_KEY, then run npx @getmarrow/install --repair.'
1687
1688
  : controller.exact_fix || selfTest.recommended_fix || null),
1689
+ healthCommand: 'npx -y @getmarrow/mcp@latest ping',
1688
1690
  },
1689
1691
  remediation,
1690
1692
  configDiagnostics,