@ours.network/mcp 0.15.0 → 0.15.1

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
@@ -62,6 +62,26 @@ cannot be run per session. Each session instead runs a thin `ours-mcp proxy`
62
62
  Platform plugins ship only the proxy invocation; they never own or restart the
63
63
  daemon.
64
64
 
65
+ `ours-mcp start` and `ours-mcp restart` do not treat an open socket as readiness.
66
+ They wait for an authenticated response from the daemon's normal control
67
+ surface (`/identities`) after the protocol runtime, contact-book registrar,
68
+ persisted identities, and boot reconciliation are complete. In owner mode the
69
+ CLI dynamically discovers the mode-`0600` token minted by the daemon before it
70
+ declares readiness; shared and open modes preserve their configured auth
71
+ semantics. During that wait the daemon publishes a mode-`0600`
72
+ `startup-progress.json` in its state directory. The structured record contains
73
+ only a phase, timestamps, process/boot identifiers, and identity counts — never
74
+ identity names, container IDs, keys, packet contents, or state paths.
75
+
76
+ Interactive terminals update one progress line; redirected/noninteractive runs
77
+ emit concise stable lines such as `startup: Restoring identities 3/12`. A
78
+ heartbeat distinguishes active work from a frozen process: 30 seconds without
79
+ an update is a failure, and an absolute three-minute bound prevents an
80
+ event-loop-active stall from waiting forever. Immediate daemon failure remains
81
+ nonzero. The same daemon bootstrap/reporting path is used by foreground
82
+ `serve`, Linux systemd, macOS launchd, and either native or WASM-backed ADAPT
83
+ runtimes; service managers keep their existing lifecycle behavior.
84
+
65
85
  On connect, the proxy runs a compatibility handshake against the daemon's
66
86
  `/state-dir` report (`{ version, compat }`). `compat` is the wire-contract
67
87
  version (`src/protocol.ts`) — distinct from the package version, bumped only on