@twinsearth/w2m-dsh-plugin 1.1.15 → 1.1.16

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.
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "The w2m fleet plugins: one account, many machines, any of Windows, macOS or Linux.",
8
- "version": "1.1.15"
8
+ "version": "1.1.16"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "w2m-fleet",
13
13
  "source": "./",
14
14
  "description": "Read fleet state and dispatch commands across the machines registered to one account. Read-only MCP surface: the five exposed tools cannot change anything.",
15
- "version": "1.1.15",
15
+ "version": "1.1.16",
16
16
  "author": {
17
17
  "name": "TwinsEarth"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "w2m-fleet",
3
3
  "description": "Drive the same project on online Windows, macOS and Linux machines from one account: read fleet state, dispatch commands and read results. The MCP surface is deliberately read-only.",
4
- "version": "1.1.15",
4
+ "version": "1.1.16",
5
5
  "author": {
6
6
  "name": "TwinsEarth"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,55 @@
2
2
 
3
3
  All notable changes to this project are documented here.
4
4
 
5
+ ## [1.1.16] — 2026-10-18
6
+
7
+ **A machine waiting to be admitted now appears where you already answer questions -- and the README leads with how to
8
+ install it.**
9
+
10
+ ### Admission in `w2m_approvals`
11
+
12
+ `w2m_approvals` merges `GET /v1/fleet/admission/pending` into its list as `kind:'fleet_admission'` rows, so a machine
13
+ asking to join shows up beside the permission requests already there. Settling an `adm-` id goes to the **relay's**
14
+ decide endpoint, not the local permission index: admission is not an authority escalation, and pushing it through
15
+ `approvalRequestFor` -- whose shape requires a needs-approval verdict and a capability -- would record a lie in the
16
+ audit trail. The list is shared; the stores are not.
17
+
18
+ The countdown is derived from the **relay's clock** (`rabbit_time`), never this machine's: three machines in this fleet
19
+ disagree by tens of seconds, and a local countdown would fire the automatic approval early on a fast machine. The relay
20
+ still owns the decision and still refuses to auto-approve with no member online.
21
+
22
+ ### Two defects the tests caught
23
+
24
+ - the merged request omitted `rabbitUrl` and the device token, so it threw into the surrounding catch and the rows were
25
+ **silently missing** -- a probe showed the fetch was never called at all (`calls: []`);
26
+ - the refusal code was read from `json.code`, but protocol errors arrive at `json.error.code`, so `reason_code` was always
27
+ null and a late `ALREADY_DECIDED` decision looked like a success path.
28
+
29
+ Five assertions now cover that seam: rows and their fields, relay-clock countdown, an unreachable relay still showing the
30
+ local queue, `adm-` routing reaching the relay, and a late decision reported rather than thrown.
31
+
32
+ ### README rewritten around installation
33
+
34
+ Five routes, easiest first: DSH plugin (zero configuration), npm/MCP for any client, Claude Code marketplace, Codex, and
35
+ the verified release tarball. Then quick start, the 11 tools registered, the `W2M_*` environment a dispatched command
36
+ receives, the fleet model, the security posture, and an explicit **verified / not verified** table that names the approval
37
+ popup, the four-machine `W2M_INDEX` run, the unimplemented chat channel and the macOS P2P downgrade instead of implying
38
+ they work.
39
+
40
+ Two claim checks rejected the first draft and were right: a `SHA256SUMS` release-download URL does not name a
41
+ `<name>-<version>.tgz` asset, and "eleven tools" had to be the measured number.
42
+
43
+ ### Not in this release
44
+
45
+ The approval **popup** (a dedicated 10-second countdown control) is not implemented -- the rules are enforced by the
46
+ relay and this tool lists and settles the requests. The fleet chat channel remains designed (FLEET-CHAT-DESIGN.md) and
47
+ not built. No four-machine `W2M_INDEX` run yet.
48
+
49
+ ### Verified
50
+
51
+ Gate GREEN (final pass, 15 of 15). 2458 tests in 102 files, 2444 pass, 0 fail, 14 skip. tools 120, tool-cards 8,
52
+ claims 47.
53
+
5
54
  ## [1.1.15] — 2026-10-17
6
55
 
7
56
  **A machine that cannot join the old way now proves its account, asks to join, and waits for an answer -- and the