Files
oikos/plans/index.md
dtoro 5b68bdc16c
Some checks failed
ci / build-test (push) Has been cancelled
ci / docker-build (push) Has been cancelled
ci / web (push) Has been cancelled
Desktop App / Build Linux (amd64) (push) Has been cancelled
Desktop App / Attach to Release (push) Has been cancelled
feat(nomos): chat working-visibility, message queue, generation-aware timeline
Make background/long/desynced turns visible and queueable, fixing the four
symptoms that survived the v0.15.0 chat reliability pass.

F1 - status-driven working signal (workspace.ts taskWorking/currentWorking =
streaming OR status in {planning,executing}). Drives the chat trace, indicator,
and activity spinner so a turn with no live stream (background resume, a dropped
SSE, an idle-close mid long turn) still looks alive.

F2 - operator messages sent during an in-flight turn are now QUEUED and
auto-run when the gate frees, replacing the "still finishing a previous step...
send it again" rejection. Per-session in-memory FIFO (messagequeue.go, capped at
20) drained one-at-a-time under the turn gate; a `queued` SSE event drives a
"Queued" hint. drainQueued releases via a per-iteration deferred closure so a
runChatTurn panic can't deadlock the session's gate.

F3 - SSE keepalive (12s `:keepalive` comment) in handleChat so 20-40s
inter-iteration gaps no longer trip a proxy/browser idle close (the desync root
cause). All SSE writes serialized through one mutex.

F4 - generation-aware activity timeline (only the last propose_plan renders;
superseded ones collapse to one "Earlier plan revised" marker; step-attribution
follows only the current generation) + debounced plan refetch on lifecycle
events so a missed plan.proposed self-heals.

Verified against the last session (23da10db: 6m33s turn, operator "status"
deferred at 19:48:05). go test ./cmd/nomos/ green (new messagequeue tests);
web vitest 72/72 (new F4 generation tests); vite build clean.

VERSION: 0.16.0 -> 0.17.0
2026-08-03 22:34:14 +02:00

6.5 KiB
Raw Blame History

Plans

Pre-flight runbooks for planned changes. When a plan is executed, move it to done/ and add changelog entries on affected node pages. If things went sideways, open an investigation.

Active

Date Title Status
2026-07-05 Oikos Prometheus LXC Planned — not started
2026-07-08 Oikos gaps, broken things, and improvements In Progress — security items (B1-B5) and doc drift (E) still open
2026-07-08 Control room web UI In Progress — packaging/auth sections superseded by the Wails plan's Phase 0 (client/server split); M4 still open
2026-07-08 Liveness, drift, and UX cohesion In Progress — Phase 5 deferred
2026-07-10 General gated execution: unlimited actions, gated by risk In Progress — request_execution enum retired (60effcb); only auto-act revival (item 10) still open
2026-07-11 Nomos agent code review: gaps and improvement plan In Progress — only C1 (unauthenticated nomos gateway) still open, deferred
2026-07-14 Activity gaps In Progress
2026-07-14 Activity timeline In Progress
2026-07-17 Codebase review, lint audit, and documentation maintenance Report delivered — doc/tooling fixes applied; code refactors pending
2026-07-18 Session review: three recent sessions Implemented in v0.7.12 — P0.1/P0.2/P1.3/P1.4/P1.5/P1.6/P1.8/P2.10; P1.7 and P2.9 deferred (retry cap covers)
2026-07-20 Desktop mascot ("Cluck") Implemented in v0.8.0 — see deviation note; physics/window-interaction follow-ups tracked separately
2026-07-20 Session review: past 10 sessions Implemented in v0.7.13 — all P0/P1/P2 items landed
2026-07-20 Mascot physics/window-interaction audit P0P2 implemented; P3 ("cool stuff") ideas open
2026-07-21 Frontend as OS + Apps — architecture audit & refactor Planned — Phase 1 ready
2026-08-03 Nomos chat: reliability & predictability audit In Progress — F1F7 shipped in v0.15.0; F8 + follow-ups open
2026-08-03 Nomos chat: working-visibility, message queue, generation-aware timeline Implemented in v0.17.0 — F1F4 shipped; model-efficiency + F8 follow-ups open

Done

See done/ for executed plans:

Date Title
2026-06-01 Slate AX → SODOLA managed switch migration
2026-06-04 Deprecate claudio-bot
2026-06-25 Yuvomi deployment — house.hubris.network
2026-06-29 Grimmory migration — Booklore → dedicated LXC
2026-06-24 TRMNL plugins LXC (128) + middleware deploy pipeline
2026-07-06 Adopt wiki-hq doc architecture
2026-07-07 MCP tool completion — Hermes operator interface
2026-07-07 DB as single source of truth for agent knowledge
2026-07-07 Comprehensive audit: stale files, state gaps, and next steps
2026-07-07 Client lifecycle in Go — enrollment through deprecation
2026-07-08 Fix MCP analysis tools
2026-07-06 Consolidate Oikos control plane onto mac-mini
2026-07-08 Signal triggers: host health checks
2026-07-08 Plan vs implementation cross-reference
2026-07-08 Nomos resident agent (renames Hermes)
2026-07-09 Chat sessions: reliability, cost, and session-management fixes
2026-07-09 Session execution, UX, and learning improvements
2026-07-10 Autonomous plan execution: close the observation gap
2026-07-11 Tasks: the chat page as goal-structured autonomous work
2026-07-11 Concurrent task execution: safety + throughput + frontend correctness
2026-07-11 UI review: information architecture, usability, and best practices
2026-07-11 Task completion safety net: every live task is stuck "Running"
2026-07-12 Wails desktop application
2026-07-13 MCP tool apps: custom in-chat renderers
2026-07-14 Session reliability & UX audit
2026-07-14 Tool timeline in sidebar
2026-07-14 Unified agent activity indicator
2026-07-14 Post-fix session remainders: empty responses & plan drift
2026-07-15 Plan-first and iteration
2026-07-15 WhatsApp session audit

Conventions

  • File name: YYYY-MM-DD-<slug>.md. Use the target date if known, otherwise the planning date.
  • Status: PlannedIn ProgressDone (move to done/ on completion).
  • When done: add a changelog entry on every affected node page, then move the file to done/.
  • Plans are append-only once execution starts — don't rewrite pre-flight intent after the fact.