Decision
Muster is no longer an end-user chat workspace or a general-purpose agent harness. Hermes owns the agent loop, model/provider routing, Slack sessions, context compression, general memory, delegation and cron. Slack is the human interface.
Muster is the governed security-operations control plane: an authenticated MCP server, durable policy/audit/evidence backend, connector broker, and versioned Hermes skill pack. Kelpie remains authoritative for formal incident cases.
P0 outcome
Ship the first production-shaped Hermes-native vertical slice:
Slack -> Hermes -> authenticated Muster MCP -> governed broker -> Kelpie mock/connector
Required implementation
- Expose a remote Streamable HTTP MCP endpoint from Muster using the repository's existing service boundaries.
- Authenticate each Hermes installation with a revocable server-side credential bound to exactly one organisation and policy subject. Never accept
organisationId or capability claims from model-supplied tool arguments.
- Implement MCP discovery and these initial read-only tools with stable JSON schemas:
muster_get_status
muster_list_capabilities
muster_search_kelpie_cases
muster_get_kelpie_case
- Route Kelpie access through the existing governed connector path. No direct credentials may reach Hermes, prompts, skills or tool output.
- Validate every input and output; bound result count/size; classify external text as untrusted evidence; redact secrets and disallowed fields.
- Persist an organisation-scoped invocation/audit record containing tool/version, actor/installation, timestamps, outcome, result hash and evidence references. Do not store hidden reasoning.
- Add a starter Hermes skill under
skills/muster-soc-operations/SKILL.md explaining when and how to use the tools, evidence/citation requirements, refusal boundaries and Kelpie escalation. The skill must contain no secrets and must not be treated as an authorisation boundary.
- Add operator documentation showing remote MCP configuration without embedding a real credential.
Explicit non-goals
- No LangGraph or replacement model runtime.
- No Muster chat UI, rooms, Inbox, composer, threads or reactions.
- No custom Slack gateway or Slack app management.
- No arbitrary MCP server registration from chat.
- No write, destructive or external-communication tools in this first slice.
- No browser admin UI beyond preserving existing compatibility.
Acceptance criteria
Delivery
Implement in an isolated worktree from current origin/main, inspect existing code before adding packages, and salvage only still-relevant governance ideas from closed PRs #80 and #81. Open one non-draft PR linked to this issue. Do not merge or deploy automatically.
Decision
Muster is no longer an end-user chat workspace or a general-purpose agent harness. Hermes owns the agent loop, model/provider routing, Slack sessions, context compression, general memory, delegation and cron. Slack is the human interface.
Muster is the governed security-operations control plane: an authenticated MCP server, durable policy/audit/evidence backend, connector broker, and versioned Hermes skill pack. Kelpie remains authoritative for formal incident cases.
P0 outcome
Ship the first production-shaped Hermes-native vertical slice:
Required implementation
organisationIdor capability claims from model-supplied tool arguments.muster_get_statusmuster_list_capabilitiesmuster_search_kelpie_casesmuster_get_kelpie_caseskills/muster-soc-operations/SKILL.mdexplaining when and how to use the tools, evidence/citation requirements, refusal boundaries and Kelpie escalation. The skill must contain no secrets and must not be treated as an authorisation boundary.Explicit non-goals
Acceptance criteria
tools/listreturns exactly the intended initial Muster tools.pnpm checkand focused unit/integration/contract tests pass.Delivery
Implement in an isolated worktree from current
origin/main, inspect existing code before adding packages, and salvage only still-relevant governance ideas from closed PRs #80 and #81. Open one non-draft PR linked to this issue. Do not merge or deploy automatically.