Commit Graph

2654 Commits

Author SHA1 Message Date
Ollie Agent 4ac3b2135a Reap toolsrv processes on shutdown 2026-08-17 17:45:29 +02:00
Ollie Agent 2352f2483a Close feed consumer resources 2026-08-17 17:42:30 +02:00
Ollie Agent 6131fad5c5 Cancel timed out 9P reads 2026-08-17 17:41:55 +02:00
Ollie Agent c652c562c3 Fix 9P response writer shutdown 2026-08-17 17:39:56 +02:00
Ollie Agent 7050bccfdb Fix GoalDialog QML resource inclusion 2026-08-17 17:28:22 +02:00
Levi Neely 9147fd790a session: expand ~ and env vars in SetCwd 2026-08-17 14:29:02 +02:00
Levi Neely 8a1efe0907 session: require cwd, make agent cwd read-only, sanitize message history
Session creation now requires cwd= parameter (no fallback to daemon cwd).
Agent cwd is read-only — agents inherit from session, cannot override.

Frontends updated:
- NewSessionDialog: added Directory field with Browse button
- NewAgentDialog: removed Directory field
- createAgent(): removed cwd parameter
- Kate plugin: passes cwd when creating kate session
- Dolphin: removed cwd from agent/new call

Message history sanitization (backend.SanitizeMessages):
- Removes dangling tool calls (assistant with ToolCalls but missing results)
- Removes orphan tool results (tool message without preceding call)
- Applied before sub-agent context inheritance
- Applied before session persistence save
- Applied after compaction (defensive)

Includes unit tests for all sanitization cases.
2026-08-17 14:15:55 +02:00
Levi Neely d279bbae86 Update docs: goals, index split, namespace changes
- README: Add goal/goalstatus/goalwait, fix plan location, add agent/new and agent/idx
- architecture-9p: Add goal files to session namespace, document index formats
- evolution: Add Phase 26 for goals, workflows, and index split
2026-08-17 13:51:04 +02:00
Levi Neely 655378174b Fix lesson 13: don't blame build system 2026-08-17 13:48:27 +02:00
Levi Neely 9aa29c156c Add debugging lessons learned from session 2026-08-17 13:47:51 +02:00
Levi Neely 025c351dcb Fix ollie-9p UNAME fallback, goal file permissions
- ollie-9p: Fall back to USER when OLLIE_UNAME not set (remove fatal error)
- goal/goalstatus: Use mode 0666 (world readable/writable) while keeping GID agent
2026-08-17 13:46:44 +02:00
Levi Neely d0ecc0c689 Update conductor agent: add code*/lsp* tools, fix prompt ordering
- Add code_outline, code_symbols, code_query, code_dependencies, codebase_overview
- Add lsp_definition, lsp_references, lsp_hover, lsp_symbols, lsp_diagnostics
- Reorder prompt: analyze goal first, then explore relevant codebase areas
2026-08-17 13:20:56 +02:00
Levi Neely a17dd683df Split session/idx and agent/idx, fix sub-agent tree display
Server:
- session/idx now outputs: session-id, session-name, paused, connected, remote, cwd
- session/{s}/agent/idx now outputs: session-id, agent-id, agent-name, parent-id, depth, state
- Add error if parent agent not found during sub-agent spawn

GUI:
- refreshSessions() reads session index, then agent/idx per session
- Auto-select first top-level agent (depth 0) instead of first in list
- SessionModel tracks agent expansion separately from session expansion
- Agents with children show expand/collapse arrows and are collapsible
- Add hasChildren role to SessionModel

Tools:
- subagent_spawn now passes parent= argument for proper depth tracking
- Remove hardcoded max_depth=5, use server default of 1
- Makefile installs shell script tools from data/tools/

KRunner:
- Update to parse new session/idx format
2026-08-17 13:03:26 +02:00
Levi Neely 958d3d2ddf workflows: script-based workflows with session-level CWD
- Workflows are executable scripts in data/workflows/
- New 'workflows' 9P file lists available workflows
- Goal file stores text; writing triggers workflow if status allows
- goalstatus file for status read/write, goalwait for blocking
- Session ctl accepts 'run [workflow]' command
- Session now owns CWD; agents inherit via callback
- Conductor workflow: creates agent, primes with instructions, exits
- GUI workflow combo reads from workflows, not agents
- Persistence includes goal, goalstatus, workflow, and session CWD
2026-08-17 12:00:10 +02:00
Levi Neely 743e40c2f8 selectable workflow in new session 2026-08-17 10:52:53 +02:00
Levi Neely 957617cee7 cmake: move lib9p install after GNUInstallDirs include
CMAKE_INSTALL_LIBDIR was empty when the install() ran because
GNUInstallDirs hadn't been included yet.
2026-08-17 10:35:26 +02:00
Levi Neely 2e6ec53dec AGENTS.md: update build system references from justfile to Makefile 2026-08-17 10:23:23 +02:00
Levi Neely 8b71b34fdf prompt: ban file_write from memory (prevents hallucination corruption) 2026-08-17 10:20:28 +02:00
Levi Neely dff50420ba AGENTS.md: rewrite from scratch (was corrupted garbage) 2026-08-17 10:18:18 +02:00
Levi Neely 2cde59ac3b session-level goals: goal file + goalwait + conductor workflow
Write to session/{s}/goal to set a session-level objective.
A conductor agent is spawned automatically in the background,
decomposes the goal, spawns sub-agents, and reports completion.

- goal file: write sets goal + starts conductor; read returns status
- goalwait file: blocks until goal status changes (BlockOnce)
- Conductor writes status=complete/blocked back to goal when done
- Session.Goal() / SetGoal() / GoalSignal() on Session struct
2026-08-17 10:15:00 +02:00
Levi Neely 74ba5ae7ac remove maxSteps and ResetsCounter entirely
The step budget mechanism is gone. Agents run until they finish,
are interrupted by the user, or (for sub-agents) hit the timeout.

No replacement. The human is the kill switch.
2026-08-17 09:48:58 +02:00
Levi Neely da0ee4456f sub-agent guardrails: depth, parallelism, timeout
Enforce three limits on sub-agent spawning:
- depth (default 1): sub-agents cannot spawn their own sub-agents
- parallelism (default unlimited): cap concurrent children per parent
- timeout (default 600s): sub-agents are killed after 10 minutes

Top-level agents are never constrained by timeout.

Also: refactored parseAgentNewRequest to return a struct instead of
4 positional values. Added depth/activeChildren fields to Agent.
OLLIE_SUBAGENT_DEPTH env var set on sub-agents.

Deferred: remove maxSteps (replace entirely with timeout).
2026-08-17 09:37:59 +02:00
Levi Neely ecb9406413 agent/new: fork_at= parameter for historical context forking
Sub-agents can now inherit parent context truncated at a specific
user turn: fork_at=5 means 'fork from the state after the 5th
user message.' Enables backtracking without losing unsummarized
context from before a failed approach.

Without fork_at (or fork_at=0), full history is inherited as before.
2026-08-17 09:04:57 +02:00
Ollie Agent c34f4a1b31 update KDE integration documentation and library install 2026-08-17 00:15:56 +02:00
Ollie Agent 9789eb56ff show agent reasoning output 2026-08-17 00:08:27 +02:00
Ollie Agent 68616cb247 update Kate integration prompts 2026-08-17 00:05:35 +02:00
Ollie Agent a700b91002 document IDE integration guide 2026-08-17 00:03:20 +02:00
Ollie Agent e854e91b7f replace just build orchestration with make 2026-08-17 00:01:27 +02:00
Ollie Agent 7182db56cf fix GUI dialog contrast and focus behavior 2026-08-16 23:55:43 +02:00
Ollie Agent 5d834934de sandbox update 2026-08-16 21:23:15 +02:00
Ollie Agent 349f23dd4c Make architecture overview non-phase 2026-08-16 20:50:52 +02:00
Ollie Agent e133c10e1f Fix evolution phase numbering 2026-08-16 20:50:10 +02:00
Ollie Agent ff7c4d6eb9 Add current architecture to evolution log 2026-08-16 20:49:34 +02:00
Ollie Agent 43b63cc885 Revert "Refresh current architecture overview"
This reverts commit a73f7ef5ca.
2026-08-16 20:49:14 +02:00
Ollie Agent a73f7ef5ca Refresh current architecture overview 2026-08-16 20:48:39 +02:00
Ollie Agent 5b621dccb8 Clarify editor integration mechanisms 2026-08-16 20:43:42 +02:00
Ollie Agent 8402a85bd9 Clarify Acme agent path 2026-08-16 20:39:13 +02:00
Ollie Agent d5fa7de244 Clarify Acme UI components 2026-08-16 20:37:22 +02:00
Ollie Agent 5dfb8a3e97 Call Acme and Kate clients 2026-08-16 20:33:48 +02:00
Ollie Agent bbed9f4779 Clarify editor examples are non-canonical 2026-08-16 20:33:13 +02:00
Ollie Agent 817f1722fe Expand editor integration examples 2026-08-16 20:32:36 +02:00
Ollie Agent ade5ff3dcc Frame editor integration as a pattern 2026-08-16 20:31:07 +02:00
Ollie Agent 59cc451d59 Simplify editor integration guidance 2026-08-16 20:29:18 +02:00
Ollie Agent 5134a0647b Tighten editor integration architecture 2026-08-16 20:26:28 +02:00
Ollie Agent 3c499e9295 Clarify editor integration message 2026-08-16 20:25:06 +02:00
Ollie Agent 12575fbadf Document observer and companion patterns 2026-08-16 20:21:48 +02:00
Ollie Agent f02c5c45e7 Document editor integration patterns 2026-08-16 20:19:40 +02:00
Ollie Agent e0f36e11ba Rename KDE architecture document 2026-08-16 20:17:26 +02:00
Ollie Agent 23015a0e52 Update KDE integration documentation 2026-08-16 20:15:59 +02:00
Ollie Agent 0a9cd57da3 Remove obsolete resource documents 2026-08-16 20:13:58 +02:00