Commit Graph

4 Commits

Author SHA1 Message Date
Ollie Agent ec8e4cbc77 Burn dead block-ID apparatus; blocks are positional
GUI chat blocks are reconstructed positionally from the markdown stream
(emoji headers), so the block-ID resolve chain was dead weight:

- server: remove Agent.NextBlockID, blockCounter, format.Block.ID; the
  streaming handler uses a plain 'streaming' bool. IDs were computed on
  every block but never surfaced (RenderBlock ignored them; the 'block'
  9P file was already gone).
- GUI: remove fetchBlock (rdwr against the removed 'block' file) and the
  bookmark apparatus (bookmarksModel, add/remove/isBookmarked, the
  Bookmarks tree, and a call to the never-defined scrollToBlockId).
- plumb: ollie:// is now pure navigation (session/agent); drop #blockId
  from data/plumbing, plumber.h, and handleOllieMessage.

Also reconcile docs with today's changes: fsedsl -> virtfs references,
removed *.raw chat files, fresh SLOC counts (core ~16,250; kde ~9,400),
and evolution.md Phase 43/44 + dead-ends entries.

go test ./... passes; KDE GUI builds clean.
2026-10-12 18:06:47 +02:00
Levi Neely 9b50e4b7c1 Simplify chat rendering: unified markdown stream, plain text GUI
Server changes:
- Remove chat.raw/log.raw JSONL files — single chat/log markdown stream
- Remove block file (lookup by ID) — no block-level granularity
- format.RenderBlock() now outputs markdown with emoji headers
- Agent struct: remove rawLog, partialLine, partialVers fields
- TextLogStream for blocking stream reads

GUI changes:
- Remove ChatBlockModel (JSONL parsing, KSyntaxHighlighting, diagrams)
- Remove ChatBlockDelegate (block-based rendering)
- ChatPane uses single TextArea with PlainText format
- Zero CPU on idle — direct string append, no timers, no parsing
- Keep action toolbar (Stop, Compact, Clear, Copy, Templates, Procs, Peers)
- Fix scroll-to-bottom using ScrollBar.vertical position tracking
- Add hasPendingBypass, approveBypass(), denyBypass() for shortcuts

TUI and GUI now consume identical markdown stream from chat file.
~1000 lines deleted across format, agent, fs, and GUI code.
2026-10-12 13:37:05 +02:00
Ollie Agent 6211a6cdee Surface tool calls, output, and bypass status in log/chat views
The filtered text views (log, chat) hid call and tool blocks entirely
and had no visibility into bypass requests, which were only published as
events. RenderBlock now renders tool calls (name + args), tool output,
and bypass request/resolution notices; reasoning and context stay
hidden. SetBypassPending/ResolveBypass append bypass and bypass-resolved
blocks to the requesting agent so clients without an event stream (TUI,
o script) see pending approvals and outcomes.
2026-10-10 16:05:05 +02:00
Levi Neely 57c40d541e Migrate chat log to JSONL format
Server changes:
- format/block.go: Block struct with JSONL marshaling, RenderBlock for text
- Deleted format/event.go, format.go, format_test.go (old delimiter format)
- agent/chat.go: Dual logs (rawLog JSONL + textLog rendered text)
- agent/chatlog.go: Streaming via flushPartial/closeBlock, skip internal events
- fs/spec.go: New files log.raw (JSONL), log (text), block (ID lookup)
- Removed chat/chat.raw/chat.search from namespace

GUI changes:
- chatblockmodel: JSONL parsing via QJsonDocument, removed regex state machine
- ollie9pclient: Read from log.raw for replay, removed old streaming code
- Added Context type to block enum, filter context/state/usage from display

Docs updated: AGENTS.md, system_prompt.md, architecture-*.md, scripts/o
2026-10-09 18:52:40 +02:00