Gormes

Implementation Roadmap

The single planning entry point for gormes-agent. Current state, decision trees, execution horizons, and document map.

Implementation Roadmap

Purpose: This is the single planning entry point for building gormes-agent. It tells you where we are, what is blocked, what comes next, and which document to read for the details. If you are a planner, builder, or reviewer, start here before touching progress.json or writing code.

Relationship to other docs:

  • architecture_plan/progress.json = the canonical execution queue (machine-readable)
  • Completion Plan = the finish line definition
  • Lane Roadmap = lane ownership and exit gates
  • Must-Have Features = feature catalogue from 12+ upstream projects
  • This document = the human-readable plan that ties them all together

Current State at a Glance

As of April 30, 2026

PhaseStatusShippedIn ProgressPlannedOpen Rows
Phase 1 — Dashboard✅ Complete4/4000
Phase 2 — Gateway🔨 Mostly Done20/21103
Phase 3 — Memory✅ Complete15/15000
Phase 4 — Brain Transplant🔨 In Progress3/96015
Phase 5 — Final Purge🔨 Large Backlog3/188738
Phase 6 — Learning Loop🔨 Not Started0/6068
Phase 7 — Paused Channels🔨 Backlog2/53011

Overall: 47/78 subphases shipped · 26 in progress · 5 planned · 75 open rows

First closure target: Python-free normal agent turn with local Goncho memory and tested tool-call continuation. This is a dogfood gate, not a reduced finish line.


Product Hardening Borrow List

These are Gormes-owned follow-up slices from the current PicoClaw comparison. They are not Hermes parity blockers, but they matter for distribution quality and constrained-machine adoption.

SliceTarget
Pre-compiled binariesTag-driven GitHub Release workflow emits static Linux/macOS/Windows amd64+arm64 archives with SHA-256 checksums; signing and package-manager manifests remain follow-up release-hardening work.
Onboarding wizardPromote gormes onboard from the current setup alias into a full interactive first-run flow covering model/provider, auth, gateway, browser/CDP, skills, and dashboard launch.
Hardware matrixMaintain using-gormes/hardware as the tested-device matrix for x86_64, ARM64, Raspberry Pi-class boards, low-memory Linux hosts, and Android/Termux-style environments, with binary size and steady-state RSS recorded per release.
Lite build profilesKeep the default parity build feature-complete, and keep -tags gormes_lite / -tags slim green as documented constrained-target builds that can exclude audio, dashboard extras, and optional channel adapters.
Browser launcherKeep gormes dashboard as the local launcher path and extend it with first-run CDP checks, Chrome install guidance, and an explicit headless/no-open mode for servers.
Skill marketplaceDesign a ClawHub-like community skill source for Gormes that keeps bundled system skills separate from third-party taps, trust metadata, credential prerequisites, and review state.

Document Map

The building-gormes/ directory contains 13 entries. Here is how they relate:

implementation-roadmap.md (this file) ──► decision tree + state + horizons
    │
    ├── must-have-features.md ──► feature catalogue from 12+ upstream projects
    │   └── cross-project-feature-map.md ──► detailed per-project matrix
    │
    ├── architecture_plan/ ──► phases, completion plan, lanes, progress.json
    │   ├── completion-plan.md ──► finish line definition
    │   ├── lane-roadmap.md ──► 6 lanes with exit gates
    │   ├── progress.json ──► canonical machine-readable queue
    │   ├── phase-1-dashboard.md ──► phase intent and boundaries
    │   ├── phase-2-gateway.md
    │   ├── phase-3-memory.md
    │   ├── phase-4-brain-transplant.md
    │   ├── phase-5-final-purge.md
    │   ├── phase-6-learning-loop.md
    │   ├── phase-7-paused-channel-backlog.md
    │   ├── hermes-honcho-feature-map.md ──► upstream → Go package mapping
    │   ├── hermes-honcho-go-runtime-plan.md ──► reconciled implementation plan
    │   ├── upstream-coverage-ledger.md ──► source-class completeness audit
    │   ├── swarm-feature-parity-audit.md ──► sub-agent gap register
    │   └── ... (20+ more reference docs)
    │
    ├── builder-loop/ ──► execution mechanics
    │   ├── agent-queue.md ──► generated: builder-ready rows
    │   ├── next-slices.md ──► generated: ranked shortlist
    │   ├── blocked-slices.md ──► generated: blocked rows with unblock conditions
    │   ├── umbrella-cleanup.md ──► generated: rows needing split
    │   ├── builder-loop-handoff.md ──► skill entrypoint + candidate policy
    │   └── progress-schema.md ──► row schema reference
    │
    ├── core-systems/ ──► stable runtime model
    │   ├── gateway.md ──► platform adapters, command policy, session routing
    │   ├── memory.md ──► recall, graph, search, mirrors, Goncho
    │   ├── tool-execution.md ──► operation registry, schema, trust classes
    │   └── learning-loop.md ──► skill detection, distillation, feedback
    │
    ├── gateway-donor-map/ ──► per-channel adaptation patterns
    │   ├── shared-adapter-patterns.md
    │   └── 15 channel dossiers (telegram, discord, slack, whatsapp, ...)
    │
    ├── goncho_honcho_memory/ ──► memory subsystem deep-dive
    │   ├── 01-prompts.md
    │   ├── 02-tool-schemas.md
    │   ├── 03-honcho-docs-study.md
    │   ├── 04-agent-work-packets.md
    │   └── 05-operator-playbook.md
    │
    ├── upstream-lessons.md ──► durable contracts from Hermes + GBrain
    ├── what-hermes-gets-wrong.md ──► why Gormes exists
    ├── contract-readiness.md ──► row-level handoff contract
    ├── porting-a-subsystem.md ──► contribution path for upstream ports
    └── testing.md ──► test strategy and fixture classes

Rule: If a document contradicts progress.json, progress.json wins. If progress.json contradicts this roadmap, this roadmap wins until a planner updates progress.json.


Decision Tree: What Should I Work On?

Q1: Are you a planner or a builder?

Planner → Go to Agent Queue. If empty, go to Next Slices. If also empty, sharpen a planned row using gormes-planner skill.

Builder → Pick one row from Agent Queue. Read its contract, write_scope, test_commands, acceptance, and done_signal. Use gormes-builder + gormes-tdd-slice skills. Do not invent work outside the row.

Q2: Is the row blocked?

Check Blocked Slices. If your row is listed, read the unblock condition. If you can satisfy it, do so. If not, pick a different row.

Q3: Is the row an umbrella?

Check Umbrella Cleanup. Umbrella rows are inventory only. Split them into small/medium/large rows before building. Use gormes-planner for splitting.

Q4: Do you know which lane the row belongs to?

Use the Lane Roadmap lane crosswalk. Each lane has an exit gate. Know the gate before you start.

Q5: Do you know the upstream contract?

Read Upstream Lessons for durable contracts. Read Hermes And Honcho Feature Map for the upstream → Go package mapping. Read Porting a Subsystem for the contribution path.

Q6: Is the Go shape unclear?

Use gormes-interface-designer skill. Read Go Donor Reference Map for donor file patterns.

Q7: Are you doing memory work?

Read Core Systems: Memory first. Then read Goncho Honcho Memory for the deep-dive.

Q8: Are you doing gateway/channel work?

Read Core Systems: Gateway first. Then read the relevant Gateway Donor Map dossier.

Q9: Are you doing tool/security work?

Read Core Systems: Tool Execution first. Then read Must-Have Features §8.


Execution Horizons

These horizons are derived from the Must-Have Features gap analysis and mapped to progress.json phases/subphases.

Horizon 1: Safety + Provider Completion (Next 30 Days)

Goal: Close the two biggest blockers to a safe, Python-free agent turn.

WeekTargetprogress.json RowsLaneWhy
1-2Complete xAI/Grok, LM Studio, DeepSeek/Kimi providers4.A (Bedrock runtime binding, Gemini, OpenRouter, Google Code Assist, Codex)Lane 1Python-free turn requires all major providers
1-2Tool descriptor layer (OperationSpec with trust classes)5.A (tool descriptor, toolsets)Lane 3Every tool must declare who can call it
2-3Prompt builder assembly closeout (skills snapshot, memory guidance)4.C (system+memory+tools+history, toolset-aware skills)Lane 1Complete the prompt assembly pipeline
3-4Shell blocklist + filesystem scoping5.J (dangerous action gating, Tirith/path/URL policy)Lane 3Critical safety gap
3-4Permission approval UX (inline y/n/always)5.J (approval workflow)Lane 3Critical safety gap
3-4Trust-class enforcement in shared tool executor5.A (tool descriptor enforcement)Lane 3Critical safety gap

Exit criterion: gormes doctor reports zero trust-class violations in default registry. All major providers have Go adapters. First Hermes-compatible normal turn runs without Python.

Horizon 2: Production Hardening (Next 90 Days)

Goal: Make Gormes safe and reliable for real-world operation.

WeekTargetprogress.json RowsLaneWhy
5-6Context compression complete4.B (long session management, manual feedback, kernel callback binding)Lane 1Long sessions degrade without compression
5-6Loop detection (5 types)5.J (loop detection)Lane 3Runaway loops are a real production problem
7-8Token budget system + auto-concise5.N (token accounting)Lane 5Cost control for production deployments
7-8Docker sandbox backend5.B (Docker backend)Lane 3Sandboxed execution for untrusted code
9-10Browser daemon lifecycle + doctor5.C (browser daemon, profile, doctor)Lane 3Browser tools need production lifecycle
9-10Code execution mode policy5.R (execution-mode resolver)Lane 3Safe defaults for code execution
11-12CLI closeout (backup, logs, diagnostics)5.O (backup, logs, diagnostics CLI)Lane 5Operator needs visibility and recovery
11-12Packaging closeout (install.sh, install.ps1, install.cmd)5.P (Unix/Windows installers)Lane 5Frictionless installation

Exit criterion: A new user can curl install.sh | bash, run gormes doctor, see green checks for all configured providers, and start a safe normal turn. Loop detection fires on runaway sessions. Token budget prevents surprise bills.

Horizon 3: Memory Differentiation (Next 6 Months)

Goal: Make Goncho meaningfully better than session-based memory.

MonthTargetprogress.json RowsLaneWhy
3Typed memory categories + confidence scoring6.C (skill storage), 6.D (retrieval)Lane 2Structured memory is major UX improvement
3Zero-LLM knowledge graph wiring6.D (source-aware retrieval)Lane 2Reduces LLM calls for entity resolution
4Brain-first lookup (5-step before external API)6.D (retrieval eval)Lane 2Significantly reduces LLM calls
4Retrieval eval harness (precision@k, recall@k)6.D (retrieval eval)Lane 2Turns “memory feels better” into testable contract
5Metadata-driven skill placement6.C (portable SKILL.md format)Lane 6More granular skill activation control
5Soul/personality system (soul.md, persona.md, taste.md, heartbeat.md)6.A (complexity detector), 6.B (skill extractor)Lane 6Planned for Phase 6
6Channel adapters (Matrix, Mattermost, LINE, IRC)7.C, 7.ELane 4Complete the long-tail channel surface

Exit criterion: Goncho recall quality is measurably better than Hermes’s default memory. Retrieval eval harness runs on every memory change. Skills activate with context-aware metadata. Personality files are operator-editable markdown.

Horizon 4: Capstone Features (Next 12 Months)

Goal: Features that make Gormes uniquely valuable beyond Hermes parity.

MonthTargetprogress.json RowsLaneWhy
7-8Learning loop (skill extraction, feedback, scoring)6.A-6.FLane 6The feature Hermes doesn’t have
8-9Web dashboard (TypeScript/React)5.Q (API server + TUI gateway)Lane 5Hermes has 191K-line TUI gateway
9-10Code Cathedral II (call-graph edges, two-pass retrieval)6.D (Code Cathedral II)Lane 6Code-aware agent capabilities
10-11Multi-memory backends (Turbopuffer, LanceDB, Redis)3.* (future memory work)Lane 2Scale beyond single-node SQLite
11-12Three-agent memory loop (Deriver/Dialectic/Dreamer)3.* (future memory work)Lane 2Honcho’s unique memory paradigm
11-12Mixture of agents (multi-model coordination)5.MLane 3Agent ensemble capabilities

Exit criterion: Gormes is not just “Hermes in Go” — it is a demonstrably better agent runtime with compounding skills, proven memory quality, and operator-visible intelligence.


Risk Register

Features or dependencies that could derail the plan:

RiskImpactMitigationOwner
Security gaps persist (no shell blocklist, no filesystem scoping)Critical — unsafe to operateHorizon 1 priority #1Lane 3
Provider parity stalls (Bedrock, Gemini, OpenRouter gaps)High — Python still requiredWeekly provider-audit passLane 1
Context compression never completesHigh — long sessions degradeTight scope: only manual feedback + model-switch recalcLane 1
Loop detection missingHigh — production runaway loopsPort Mercury’s 200-line TypeScript detectorLane 3
progress.json drifts from realityMedium — wrong work gets builtgo run ./cmd/progress validate on every PRLane 0
Channel expansion outruns core agentMedium — shallow adaptersPhase 7 rule: build only fixture-ready slicesLane 4
Learning loop scope creepMedium — never shipsHard gate: only after skill storage + resolver evals are reliableLane 6
Memory backend abstraction too earlyLow — SQLite-first promise brokenKeep Postgres behind interface; default remains SQLiteLane 2

Monday: Review Agent Queue and Blocked Slices. Pick 1-2 rows.

Tuesday-Thursday: Build rows using gormes-builder + gormes-tdd-slice. Run go test ./... -count=1 and go run ./cmd/progress validate before claiming done.

Friday: Review done signals. Update progress.json evidence. If queue is empty, run gormes-planner pass to sharpen planned rows.

End of Month: Run gormes-parity-auditor pass against one Hermes/Honcho subsystem. Update Cross-Project Feature Map if gaps changed.


Success Metrics

HorizonDate TargetMetricCurrent
H1: Safety + ProvidersMay 30, 2026Provider parity >90%, zero trust-class violations~70% parity, 0 security hardening
H2: Production HardingJul 30, 2026gormes doctor all-green, loop detection shipped, token budget activedoctor partial, no loop detection, no budget
H3: Memory DifferentiationOct 30, 2026Retrieval eval harness running, typed memories shipped, 15+ channelsno eval harness, no typed memories, 10 channels
H4: Capstone FeaturesApr 30, 2027Learning loop extracting skills, web dashboard live, multi-model coordinationnone started
Final: Hermes in GoApr 30, 202780%+ feature parity, all foundational + production gaps closed, differentiators shipping~30-40% parity

Quick Reference: skill → Document Mapping

SkillPrimary DocumentSecondary Documents
gormes-skill-managerSkill Builder HandoffContract Readiness
gormes-plannerCompletion PlanLane Roadmap, Must-Have Features
gormes-builderAgent QueueNext Slices, Contract Readiness
gormes-tdd-sliceTestingPorting a Subsystem
gormes-parity-auditorCross-Project Feature MapHermes And Honcho Feature Map, Upstream Coverage Ledger
gormes-interface-designerGo Donor Reference MapCore Systems
gormes-provider-parityGO-HERMES-PORTS-FORKS.mdUpstream Lessons
gormes-browser-harnessGateway Donor MapCore Systems: Gateway
gormes-dev-runtimeUsing GormesWhy Gormes
gormes-referencesGo Donor Reference Mapreferences/go-agent-os/
gormes-readmeREADME.mdWhy Gormes
gormes-landing-webwww.gormes.ai/Why Gormes

Generated: April 30, 2026 Source: progress.json v2.0, must-have-features.md, lane-roadmap.md, completion-plan.md Update rule: Refresh this document when progress.json major state changes or when must-have-features.md is updated.