chore: complete v1.4 Hermes Default Provider milestone
3 phases, 6 plans, 16 requirements. Archives copied to milestones/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
aa4e698b77
commit
147529076d
24 changed files with 194 additions and 2 deletions
|
|
@ -1,5 +1,20 @@
|
|||
# Milestones
|
||||
|
||||
## v1.4 Hermes Default Provider (Shipped: 2026-04-02)
|
||||
|
||||
**Phases completed:** 3 phases, 6 plans, 9 tasks
|
||||
|
||||
**Key accomplishments:**
|
||||
|
||||
- Four HERM-01..04 integration gaps closed: hermes_local in SESSIONED_LOCAL_ADAPTERS, Toolsets field edit-only, and hermes session codec round-trip tests added
|
||||
- One-liner:
|
||||
- Hermes agent config gains Ollama model dropdown with install callout, and AgentSkillsTab shows purple "Hermes skill" badge for native Hermes skills
|
||||
- Hermes heartbeat now persists model name + VRAM via jsonb merge, and AgentOverview renders a HermesRuntimeCard showing model, native skill count, and memory usage.
|
||||
- Board-auth hermes probe route + NexusOnboardingWizard Hermes fallback + adapter-neutral agent templates in NewAgentDialog
|
||||
- Hermes agents created via wizard get a promptTemplate with Nexus HEARTBEAT.md workflow instructions and Mustache variables, validated by 8 integration tests covering probe logic, template contract, and bundle loading
|
||||
|
||||
---
|
||||
|
||||
## v1.3 Chat & PWA (Shipped: 2026-04-02)
|
||||
|
||||
**Phases completed:** 6 phases, 35 plans, 51 tasks
|
||||
|
|
|
|||
|
|
@ -145,4 +145,4 @@ After every `/gsd:complete-milestone`, perform an upstream rebase before startin
|
|||
- Dashboard showing Hermes-specific info
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-02 — v1.4 milestone started*
|
||||
*Last updated: 2026-04-02 after v1.4 milestone*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ milestone: v1.4
|
|||
milestone_name: milestone
|
||||
status: verifying
|
||||
stopped_at: Completed 29-default-provider-29-02-PLAN.md
|
||||
last_updated: "2026-04-02T17:43:53.428Z"
|
||||
last_updated: "2026-04-02T17:44:25.937Z"
|
||||
last_activity: 2026-04-02
|
||||
progress:
|
||||
total_phases: 3
|
||||
|
|
|
|||
68
.planning/milestones/v1.4-REQUIREMENTS.md
Normal file
68
.planning/milestones/v1.4-REQUIREMENTS.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Requirements Archive: v1.4 Hermes Default Provider
|
||||
|
||||
**Archived:** 2026-04-02
|
||||
**Status:** SHIPPED
|
||||
|
||||
For current requirements, see `.planning/REQUIREMENTS.md`.
|
||||
|
||||
---
|
||||
|
||||
# Requirements — Milestone v1.4: Hermes Default Provider
|
||||
|
||||
## Hermes Integration (7)
|
||||
|
||||
- [x] **HERM-01** — Hermes adapter is installed, enabled, and appears in the "Add Agent" dropdown
|
||||
- [x] **HERM-02** — User can create a Hermes agent with config options (model selection, tool permissions)
|
||||
- [x] **HERM-03** — Heartbeat execution spawns `hermes chat -q`, processes task, returns result
|
||||
- [x] **HERM-04** — Session persistence works across heartbeats via `--resume` flag
|
||||
- [x] **HERM-05** — Nexus-managed skills are visible alongside Hermes native skills in agent config
|
||||
- [x] **HERM-06** — Cost tracking captures token usage and model costs for Hermes agents
|
||||
- [x] **HERM-07** — Dashboard shows Hermes-specific info (model name, memory usage, native skill count)
|
||||
|
||||
## Ollama Integration (5)
|
||||
|
||||
- [x] **OLLA-01** — Nexus detects whether Ollama is installed locally
|
||||
- [x] **OLLA-02** — User can see a list of available Ollama models when configuring a Hermes agent
|
||||
- [x] **OLLA-03** — User can configure a Hermes agent with any local Ollama model
|
||||
- [x] **OLLA-04** — Model recommendation based on RAM/VRAM from a shipped catalog
|
||||
- [x] **OLLA-05** — If Ollama is not present, user is offered installation instructions
|
||||
|
||||
## Default Provider Logic (4)
|
||||
|
||||
- [x] **DFLT-01** — If no cloud provider (Claude Code, etc.) is detected, Hermes + Ollama is offered as default during onboarding
|
||||
- [x] **DFLT-02** — Default agent templates (PM, Engineer, Generalist) work correctly with Hermes runtime
|
||||
- [x] **DFLT-03** — GSD workflow functions correctly with Hermes as the agent runtime
|
||||
- [x] **DFLT-04** — Fresh install with only Hermes + Ollama works end-to-end (no paid subscription or API key required)
|
||||
|
||||
---
|
||||
|
||||
## Future Requirements
|
||||
|
||||
None deferred — all PRD items included in this milestone.
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- Multi-provider model routing (Hermes can use OpenRouter/Anthropic/OpenAI but that's Hermes config, not Nexus)
|
||||
- Hermes MCP server management (Hermes handles its own MCP connections)
|
||||
- Custom Hermes skill authoring UI (skills are file-based, not GUI-managed)
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| HERM-01 | Phase 27 | Complete |
|
||||
| HERM-02 | Phase 27 | Complete |
|
||||
| HERM-03 | Phase 27 | Complete |
|
||||
| HERM-04 | Phase 27 | Complete |
|
||||
| HERM-05 | Phase 28 | Complete |
|
||||
| HERM-06 | Phase 28 | Complete |
|
||||
| HERM-07 | Phase 28 | Complete |
|
||||
| OLLA-01 | Phase 28 | Complete |
|
||||
| OLLA-02 | Phase 28 | Complete |
|
||||
| OLLA-03 | Phase 28 | Complete |
|
||||
| OLLA-04 | Phase 28 | Complete |
|
||||
| OLLA-05 | Phase 28 | Complete |
|
||||
| DFLT-01 | Phase 29 | Complete |
|
||||
| DFLT-02 | Phase 29 | Complete |
|
||||
| DFLT-03 | Phase 29 | Complete |
|
||||
| DFLT-04 | Phase 29 | Complete |
|
||||
100
.planning/milestones/v1.4-ROADMAP.md
Normal file
100
.planning/milestones/v1.4-ROADMAP.md
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# Roadmap: v1.4 Hermes Default Provider
|
||||
|
||||
**Milestone:** v1.4
|
||||
**Status:** Active
|
||||
**Phases:** 27-29 (3 phases)
|
||||
**Granularity:** Coarse
|
||||
**Coverage:** 16/16 requirements mapped
|
||||
|
||||
---
|
||||
|
||||
## Phases
|
||||
|
||||
- [x] **Phase 27: Hermes Adapter** — Install and enable the Hermes adapter, expose it in the Add Agent dialog, and deliver working heartbeat execution with session persistence (completed 2026-04-02)
|
||||
- [x] **Phase 28: Ollama Integration & Agent Surface** — Detect Ollama, list and recommend models, expose skill/cost/dashboard data for Hermes agents (completed 2026-04-02)
|
||||
- [x] **Phase 29: Default Provider & End-to-End** — Onboarding fallback to Hermes, agent template compatibility, GSD workflow validation, full end-to-end smoke test (completed 2026-04-02)
|
||||
|
||||
---
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 27: Hermes Adapter
|
||||
**Goal**: Users can create a Hermes agent in Nexus, configure it, and have it execute heartbeats that spawn `hermes chat -q`, return a result, and persist the session across runs
|
||||
**Depends on**: Nothing (first phase of v1.4; depends on v1.3 milestone being shipped)
|
||||
**Requirements**: HERM-01, HERM-02, HERM-03, HERM-04
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. "Hermes" appears in the "Add Agent" dropdown and can be selected to create a new agent
|
||||
2. When creating a Hermes agent, the user can pick a model and toggle tool permissions; the agent is saved and appears in the agent list
|
||||
3. When a heartbeat fires for a Hermes agent, Nexus spawns `hermes chat -q` with the task, the process completes, and the result is written back as a task update
|
||||
4. A second heartbeat on the same Hermes agent resumes the prior session via `--resume`; context from the previous run is accessible
|
||||
**Plans:** 1/1 plans complete
|
||||
Plans:
|
||||
- [x] 27-01-PLAN.md — Close four integration gaps: SESSIONED_LOCAL_ADAPTERS, create-mode toolsets bug, duplicate constant, session codec test
|
||||
|
||||
### Phase 28: Ollama Integration & Agent Surface
|
||||
**Goal**: Users can see which Ollama models are available, get a recommendation for their hardware, configure any Hermes agent to use a local model, and see Hermes-specific runtime data in the dashboard and agent config
|
||||
**Depends on**: Phase 27
|
||||
**Requirements**: OLLA-01, OLLA-02, OLLA-03, OLLA-04, OLLA-05, HERM-05, HERM-06, HERM-07
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. When Ollama is installed, a status indicator in the Hermes agent config shows "Ollama detected" with the version; when Ollama is absent, the config shows installation instructions with a link
|
||||
2. A Hermes agent's model selector lists all locally available Ollama models pulled from `ollama list`
|
||||
3. User can save a Hermes agent with any Ollama model from the list; heartbeats use the selected model
|
||||
4. The model selector shows a recommended model (highlighted) based on detected RAM/VRAM, derived from a shipped catalog
|
||||
5. The agent config page shows Nexus-managed skills alongside Hermes native skills in a single unified list
|
||||
6. The dashboard agent card for a Hermes agent shows model name, memory usage, and native skill count
|
||||
7. Token usage and estimated model cost are recorded per heartbeat and surfaced in the cost tracking view
|
||||
**Plans:** 3/3 plans complete
|
||||
Plans:
|
||||
- [x] 28-01-PLAN.md — Ollama service, routes, model catalog, and unit tests
|
||||
- [x] 28-02-PLAN.md — UI model selector dropdown, install callout, Hermes skill badge
|
||||
- [x] 28-03-PLAN.md — Hermes stateJson runtime data and dashboard HermesRuntimeCard
|
||||
**UI hint**: yes
|
||||
|
||||
### Phase 29: Default Provider & End-to-End
|
||||
**Goal**: A fresh Nexus install with only Hermes and Ollama works end-to-end — onboarding offers Hermes as the default, PM and Engineer templates run correctly on the Hermes runtime, and GSD workflow tasks complete successfully
|
||||
**Depends on**: Phase 28
|
||||
**Requirements**: DFLT-01, DFLT-02, DFLT-03, DFLT-04
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. During onboarding, if no cloud provider API key is detected, the setup flow offers "Use Hermes (local, free)" as the default provider with a one-click path to configure it
|
||||
2. Creating a PM agent or Engineer agent from the predefined templates and assigning it to a Hermes runtime produces a working agent — heartbeats execute and return meaningful results
|
||||
3. Running a full GSD workflow task (create issue, assign to Engineer, execute heartbeat, mark complete) with Hermes as the sole runtime completes without errors
|
||||
4. A machine with only Nexus, Hermes, and Ollama installed (no Anthropic/OpenAI key) can complete the entire onboarding-to-first-task flow with no paywalls or missing-key errors
|
||||
**Plans:** 2/2 plans complete
|
||||
Plans:
|
||||
- [x] 29-01-PLAN.md — Adapter probe route, onboarding wizard Hermes fallback, adapter-neutral templates
|
||||
- [x] 29-02-PLAN.md — Hermes skill injection via promptTemplate, integration tests
|
||||
|
||||
---
|
||||
|
||||
## Coverage Validation
|
||||
|
||||
All 16 v1 requirements are mapped to exactly one phase. No orphans.
|
||||
|
||||
| Requirement | Phase |
|
||||
|-------------|-------|
|
||||
| HERM-01 | 27 |
|
||||
| HERM-02 | 27 |
|
||||
| HERM-03 | 27 |
|
||||
| HERM-04 | 27 |
|
||||
| HERM-05 | 28 |
|
||||
| HERM-06 | 28 |
|
||||
| HERM-07 | 28 |
|
||||
| OLLA-01 | 28 |
|
||||
| OLLA-02 | 28 |
|
||||
| OLLA-03 | 28 |
|
||||
| OLLA-04 | 28 |
|
||||
| OLLA-05 | 28 |
|
||||
| DFLT-01 | 29 |
|
||||
| DFLT-02 | 29 |
|
||||
| DFLT-03 | 29 |
|
||||
| DFLT-04 | 29 |
|
||||
|
||||
---
|
||||
|
||||
## Progress
|
||||
|
||||
| Phase | Milestone | Plans Complete | Status | Completed |
|
||||
|-------|-----------|----------------|--------|-----------|
|
||||
| 27. Hermes Adapter | v1.4 | 1/1 | Complete | 2026-04-02 |
|
||||
| 28. Ollama Integration & Agent Surface | v1.4 | 3/3 | Complete | 2026-04-02 |
|
||||
| 29. Default Provider & End-to-End | v1.4 | 2/2 | Complete | 2026-04-02 |
|
||||
|
|
@ -136,6 +136,15 @@ None - no external service configuration required.
|
|||
- Integration tests validate the full contract from probe to bundle loading
|
||||
- A machine with only Hermes + Ollama can complete onboarding and get working agents with no API keys
|
||||
|
||||
## Self-Check: PASSED
|
||||
|
||||
- `ui/src/components/NexusOnboardingWizard.tsx` — FOUND
|
||||
- `server/src/__tests__/29-default-provider.test.ts` — FOUND
|
||||
- `server/src/services/default-agent-instructions.ts` — FOUND
|
||||
- `.planning/phases/29-default-provider/29-02-SUMMARY.md` — FOUND
|
||||
- Task 1 commit `9ed3e7a1` — FOUND
|
||||
- Task 2 commit `0ea6d031` — FOUND
|
||||
|
||||
---
|
||||
*Phase: 29-default-provider*
|
||||
*Completed: 2026-04-01*
|
||||
Loading…
Add table
Reference in a new issue