Files
stack/docs/fleet/proposals/mosaic-platform-prd/PRD-hermes-decommission.md
Hermes Agent d1f69bfd37
Some checks failed
ci/woodpecker/push/ci Pipeline failed
docs(fleet): DRAFT PRD proposal — Jarvis HMI main agent, Matrix-first transport, webUI fleet control, permission relay, backlog providers, Hermes decommission
Ratification draft (Jason, 2026-07-09) extending NORTH_STAR.yaml with NS-10..NS-13
and workstreams J/K/W/P/Q/X. Written against origin/main's fleet suite (F4/F6
anchors, H2 profiles, native backlog per ASM-1). Homelab is the trial
environment (D12); USC/web1 adopts post-trial. See proposals/mosaic-platform-prd/README.md
for the full decision record D1-D12.

Not yet merged into NORTH_STAR.yaml — landing and card decomposition are the
homelab orchestrator's mission.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:19:05 -05:00

4.3 KiB
Raw Blame History

PRD — Hermes Decommission & Tenant-1 Migration · Workstream X

Status: DRAFT for ratification · Goals: X1X3 · Doctrine: NS-13, ASM-8 (Hermes untouched until verified parity) Ratified direction (D2, 2026-07-09): Mosaic absorbs all four Hermes functions — messaging bridge, task board, permission relay, multi-platform reach.

Deployment scope (D12/ASM-9)

The trial runs in the homelab. Hermes and the primitive-era stack (mos-claude.service, jarvis-brain boards) live in the USC/web1 environment, which is untouched during the trial. This workstream therefore lands in two stages: X-in-homelab (prove parity where the fleet is native — mainly K/P/Q verification plus tenant-1 migration) and X-at-USC (post-trial adoption: apply the parity checklist to web1, migrate Mos-on-web1 to mosaic-agent@orchestrator, then decommission Hermes there, with /src/infrastructure GitOps updates in the same delivery set).

Mission

Retire Hermes entirely. Mosaic becomes the platform for transport (Matrix connector), task board (native backlog + webUI/adapters), approvals (permission relay), and multi-platform reach (mautrix bridges). In the same arc, Jason's jarvis-brain flat-file data migrates into the product as tenant #1, making the product's PA feature set the dogfooded default.

Parity map (what replaces what)

Hermes function Mosaic replacement Workstream
Messaging bridge (Discord/Telegram/…) Matrix connector + mautrix bridges K1, K2
Kanban / task board Native Mosaic Backlog + webUI board + provider adapters A*, Q, W3
Permission relay (permissions_*) Guard-rails engine + approval queue (Matrix + webUI) P1P3
Cross-platform user reach mautrix bridges (agents speak Matrix only) K2
Hermes MCP tools in agent sessions Mosaic-native equivalents (gateway API / MCP) J2, Q1

Requirements

Parity checklist + cutover plan (X1)

ID Requirement
X-R1 A written, testable parity checklist per row above; each item verified in production before its Hermes counterpart is disabled.
X-R2 Cutover is staged with rollback at every stage; Hermes runs untouched until AC-NS-11 is verified (ASM-8).
X-R3 The Matrix charter's live-cutover rules apply: stated window, announce before/after, rollback ready.

Tenant-1 migration (X2)

ID Requirement
X-R4 One-shot migrator: data/projects/*.json, data/tasks/*.json, data/events/*.json, data/tickets.json, and knowledge-worthy docs → the Jason workspace (Project/Task/Event/KnowledgeEntry entities), preserving ids in metadata for traceability.
X-R5 Dry-run mode with a diffable report; Jason ratifies the report before the real run (canonical-data gate — this is the one migration step that is his call).
X-R6 External sync jobs (GLPI, Google Calendar, ICS, Gmail) are re-pointed to product integrations; each re-point verified before the flat-file sync job is retired.
X-R7 jarvis-brain repo is archived read-only after cutover (history preserved); generated views and brain.py retire. Agent meta-observation flow (OpenBrain/OpenViking) is unaffected — it was never Hermes.

Decommission (X3)

ID Requirement
X-R8 Hermes services stopped, disabled, and removed from infra (GitOps: /src/infrastructure updated in the same delivery set); credentials revoked; MCP registrations removed from agent runtimes.
X-R9 30-day observation window between stop and removal; any regression flips back per X-R2 rollback.

Acceptance criteria

  1. AC-NS-11: with Hermes stopped, no fleet or main-agent capability regresses.
  2. python tools/brain.py today's information content is fully answerable by Jarvis from the product workspace post-X2.
  3. Zero references to Hermes MCP tools in any active agent runtime config after X3.

Sequencing note

X depends on the longest chains (K1→K2, P2, Q1, J2). Expected order of value delivery: J1J4 (Jarvis on existing transport interim) → K1/J5 (Matrix room) → P2, W1W3, Q1 in parallel → X1 checklist → X2 migration → K2 bridges → X3 decommission.

  • ASSUMPTION (interim transport): until K1 lands, Jarvis may run against the tmux connector (CLI/agent send) rather than standing up any Discord channel — keeps D1 (Matrix-first, no #jarvis Discord) intact.