fleetd #791: fleet plugin 0.3.0 -- drop MCP mount, gate mod for members #794

Closed
agent wants to merge 0 commits from worker/791-fleet-plugin-0-3-0-9e25b0-2 into main
Member

Summary

fleetd #791: drop the plugin MCP mount, gate the fleet mod off for spawned members, bump to 0.3.0.

  • Delete plugin/.mcp.json. Mounting fleet is now the instance's or the project's job (the setup skill still writes the project .mcp.json entry).
  • register.js reads FLEETD_MCP_URL via .env.get, defaulting to http://127.0.0.1:8765/mcp. Per https://code.claude.com/docs/en/plugins/mods/api.md, the mods API documents `.env` as 'get and set environment variables', and the register(on, options) signature also exposes userConfig via options -- I used $.env.get since it maps directly onto the existing FLEETD_MCP_URL naming.
  • Gate the fleet_inbox poll by role: a worker/architect learns its role once via fleet_whoami, then never calls fleet_inbox again; every other role (primary, collaborator, observer) keeps polling. An unreachable daemon on the first whoami retries on a later tick rather than deciding.
  • Bump 0.2.0 -> 0.3.0 in plugin.json and marketplace.json; README/SKILL.md updated to drop every claim that the plugin mounts fleetd, with an Upgrading-from-0.2.0 note.
  • Added 6 new tests for the role gating (worker, architect, primary, observer, whoami-retry, whoami-called-once); updated one existing test's call-count assertions for the added whoami call.

Test plan

  • claude plugin validate plugin -- Validation passed, env reads: FLEETD_MCP_URL
  • claude plugin test plugin -- 21 pass, 0 fail
## Summary fleetd #791: drop the plugin MCP mount, gate the fleet mod off for spawned members, bump to 0.3.0. - Delete plugin/.mcp.json. Mounting fleet is now the instance's or the project's job (the setup skill still writes the project .mcp.json entry). - register.js reads FLEETD_MCP_URL via $.env.get, defaulting to http://127.0.0.1:8765/mcp. Per https://code.claude.com/docs/en/plugins/mods/api.md, the mods API documents `$.env` as 'get and set environment variables', and the register(on, options) signature also exposes userConfig via options -- I used $.env.get since it maps directly onto the existing FLEETD_MCP_URL naming. - Gate the fleet_inbox poll by role: a worker/architect learns its role once via fleet_whoami, then never calls fleet_inbox again; every other role (primary, collaborator, observer) keeps polling. An unreachable daemon on the first whoami retries on a later tick rather than deciding. - Bump 0.2.0 -> 0.3.0 in plugin.json and marketplace.json; README/SKILL.md updated to drop every claim that the plugin mounts fleetd, with an Upgrading-from-0.2.0 note. - Added 6 new tests for the role gating (worker, architect, primary, observer, whoami-retry, whoami-called-once); updated one existing test's call-count assertions for the added whoami call. ## Test plan - [x] `claude plugin validate plugin` -- Validation passed, env reads: FLEETD_MCP_URL - [x] `claude plugin test plugin` -- 21 pass, 0 fail
agent added 1 commit 2026-10-06 06:58:45 +02:00
fleetd #791: fleet plugin 0.3.0 — drop the MCP mount, gate the mod off for members
CI / shell-tests (pull_request) Failing after 8s
CI / contract (pull_request) Successful in 53s
CI / build (pull_request) Failing after 2m7s
87f7c03535
- Delete plugin/.mcp.json; mounting fleet is now the instance's or the
  project's job, not the plugin's. The setup skill still writes the
  project .mcp.json entry.
- register.js: read FLEETD_MCP_URL via $.env.get, defaulting to
  http://127.0.0.1:8765/mcp, documented at
  https://code.claude.com/docs/en/plugins/mods/api.md ("$.env — get
  and set environment variables").
- Gate the fleet_inbox poll by role: a worker or architect learns its
  role once from fleet_whoami and then never polls fleet_inbox; every
  other role polls as before. An unreachable daemon retries whoami on
  a later tick rather than deciding.
- Bump 0.2.0 -> 0.3.0 in plugin.json and marketplace.json, and update
  README/SKILL.md to drop every claim that the plugin mounts fleetd.
- Add 6 tests for the role gating; all 21 tests and
  `claude plugin validate` pass.
ltms closed this pull request 2026-10-06 08:03:13 +02:00
Some checks are pending
CI / shell-tests (pull_request) Failing after 8s
CI / contract (pull_request) Successful in 53s
CI / build (pull_request) Failing after 2m7s

Pull request closed

Sign in to join this conversation.