ea62d744ed
feat: pct_create action, ToolCallGroup collapse+animation, inline chat approval
...
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
- Add pct_create to request_execution (MCP) and executeApprovedAction (httpapi)
Parses JSON config: vmid, hostname, cores, memory, disk_gb, ip, gw, storage,
template, privileged, nesting, mounts, nameserver, searchdomain. Creates
entity (state=provisioning), hosts relationship, entity_status on success.
Fixes action string parsing to use Index instead of SplitN (colons in JSON).
- Rewrite ToolCallGroup.svelte: bits-ui Collapsible replaces native <details>.
Collapsed by default. Animated header shows live tool count + running tool
name while streaming. Auto-expands during streaming, auto-collapses on done.
- Add InlineApproval component: parses 'execution UUID queued' from agent
response, renders Approve/Deny buttons inline in chat, calls decideApproval.
- Document pct_create in nomos/SOUL.md with params, risk class, and approval flow.
- Add session-review skill at .agents/skills/session-review/SKILL.md.
- Add plan: 2026-07-09-session-execution-and-ux-fixes.md.
2026-07-09 11:15:28 +02:00
49c37fe8b1
fix: chat session reliability, cost, and hygiene (empty-response guard, tool truncation, delete, titles)
...
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
- Empty/refusal responses retried once, then surfaced as errors instead of silent blanks
- Chinese refusal boilerplate detected via denylist + non-ASCII heuristic
- Bulk-tool preference added to SOUL.md (list_lxcs over per-entity get_lxc_state)
- Tool results truncated to 4KB on persist; get_state_snapshot filters null-state entities
- Session delete (DELETE /sessions/{id} + confirm-on-second-click UI)
- Session titles auto-generated from assistant answer instead of raw user message
2026-07-09 10:18:06 +02:00
e8e230b4a5
nomos+web: streaming, provider routing, event gap-fill, embedded UI; fix approval FK & session context
...
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
Agent (cmd/nomos):
- Stream LLM tokens via NewStreaming; emit text_delta then final text.
- OpenRouter provider routing: data_collection=deny (ZDR) + require_parameters;
NOMOS_PROVIDER_SORT opt-in; Exacto via model suffix.
- Multi-turn: reload session history into context; UI passes session id.
- Fix agent_activity logging (agent_id/session_id) and mcpClient data race.
Events (live control-room feed):
- approval.created (mcp), approval.decided (api), execution.completed/failed
(approved-action path), signal.raised/resolved + health.changed (scheduler,
transition-gated).
Fixes:
- createApproval FK violation (reuse execution entity) — the agent's only
write path; log the previously-swallowed errors.
Web UI:
- Embed web/dist via //go:embed (single binary); Dockerfile builds SPA into
the Go stage; committed .gitkeep placeholder keeps backend-only builds green.
- Caddy: Authentik-gated /agent/* -> nomos so the UI reaches the agent
same-origin in production.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 15:22:27 +02:00
2b3aa248b1
N0: rename Hermes → Nomos (standalone commit)
...
Problem: "Hermes" collides with Nous Researchs unrelated product;
unclear identity for the resident agent.
Change: Rename the live service identity across 39 files:
- cmd/hermes/ → cmd/nomos/ (binary, env vars NOMOS_*)
- internal/config/ server.go (NomosAgentSlug, nomosAgentID)
- compose/hermes/ → compose/nomos/ (Dockerfile, service name)
- hermes/ → nomos/ (SOUL.md, config.yaml, skills/)
- .agents/HERMES.md → NOMOS.md (persona)
- tools/setup-hermes-soul.sh → setup-nomos-soul.sh
- seeds/inventory.yaml (agent:hermes → agent:nomos)
- migrations/014_rename_agent_hermes_to_nomos.up.sql
- Caddy vhost hermes.hubris.network → nomos.hubris.network
- All referencing docs, scripts, ADR notes
History preserved: archive/, plans/done/, ADRs not rewritten.
Matrix @hermes notifier account and Legacy bin/hermes on LXC 129
intentionally untouched (out of scope).
Risk: N0 is identity-only rename; zero behavioral changes.
Verification: go build ./... passes; docker compose --profile full
resolves nomos service; grep -ri hermes (excluding archive/plans)
returns only intentional refs (LLM model name, Matrix user).
2026-07-08 14:14:56 +02:00