Levi Neely
765e8b9d05
add file-level doc comments and improve AGENTS.md navigation
...
Agent package files now have descriptive header comments explaining
their purpose:
- dispatch.go: tool execution, batching, conflict detection
- turn.go: turn orchestration and Submit entry point
- state.go: agent state machine and notifications
- history.go: message history and token tracking
- compact.go: context compaction and cold summarization
- cache.go: tool result caching with staleness detection
- retry.go: error tracking and transient retry logic
- runtime.go: preamble assembly and tool schema management
- text_parse.go: text-based tool call parsing
- chatlog.go: chat output formatting
- chat.go: chat log storage and streaming
- workflow.go: workflow classification for discovery
- skill_match.go: semantic skill discovery
- tool_match.go: semantic tool discovery
- commands.go: slash command interception
- feed.go: feed value storage with dedup
- fifo.go: buffered prompt queue
- peer.go: peer agent management
- subagent.go: sub-agent depth and child tracking
- cost.go: cost calculation and audit logging
- prompt_resolver.go: prompt file resolution
- local_summary.go: non-LLM text summarization
- agent_config.go: configuration types
AGENTS.md improvements:
- Add 'Where to Start' section with entry points by concern
- Expand Key Files table with cache, retry, text_parse, tool_match,
skill_match, chatlog, local_summary, workflow, and proc files
2026-08-27 10:23:26 +02:00
Levi Neely
67edfdf58b
Code quality fixes from review
...
toolsrv:
- Remove dead 'var _ = os.Args' in sandbox/native_linux.go
- Fix stale comment in server.go (said 'spec.go')
- Fix misleading test comment in proc_test.go
- Add outputLimit constant in exec.go (was magic number)
- Handle error from registry.New() in main.go
- Change startup log from Warn to Info
olliesrv:
- Remove duplicate normalizeWorkflow() call in tool_match.go
- Consolidate duplicate nil checks in runtime.go
- Remove reimplemented stdlib functions in toolclient/toolsrv.go
- Simplify cacheSummary() - remove unused variable capture
-27 lines
2026-08-21 19:16:44 +02:00
Levi Neely
2b59409845
refactor: remove dead code across packages (-220 lines)
...
Dead code removal based on code review:
fs/spec.go:
- Remove unused Perm* constant aliases
fs/support.go:
- Remove unused agentCwd() function
session/registry.go:
- Remove unused CreateAgent() (callers use CreateAgentWithParams directly)
session/session.go:
- Remove unused sweepStaleTmpDirs() and sweepTmpOnce
- Remove unused Session.LoadTool() (callers use LoadToolOnConn directly)
- Simplify Resume() by removing dead else branch (Pause() always nils Keeper)
toolsrv/server/proc.go:
- Remove unused globalProcCounter
- Remove unused ListProcsWithState()
toolsrv/server/server.go:
- Remove unused Mode* constants
toolsrv/bypass/bypass.go:
- Remove unused PendingCount()
toolsrv/sandbox/config.go:
- Remove unused checkPath() and pathUnder()
backend/new.go:
- Remove unused newBackend() (callers use NewWithName)
agent/loop.go:
- Remove unused contextBudget()
agent/agent.go + turn.go + runtime.go:
- Remove unused startupMessages, StartupMsgs, Runtime.Messages
agent/agent_config.go:
- Remove unused Tools *bool field and ToolsEnabled() (tools always enabled)
2026-08-21 16:41:42 +02:00
Ollie Agent
4bf46ae85d
Load hinted tools through the agent namespace
2026-08-20 18:29:10 +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
Ollie Agent
57aa906e5f
move toolsrv client into olliesrv
2026-08-16 19:07:25 +02:00
Ollie Agent
16a2b72051
consolidate 9P clients
2026-08-16 18:56:11 +02:00
Ollie Agent
81933e5281
refactor toolsrv into client protocol and metadata packages
2026-08-16 17:22:59 +02:00
Ollie Agent
64b76d9bf0
stabilize provider prompt prefix
2026-08-15 13:57:31 +02:00
Ollie Agent
93f021f068
feat: add userPrompts config field for active global rules
...
- Add UserPrompts Prompt field to AgentConfig (same JSON format as prompt).
- Resolve userPrompts via resolvePrompt() in BuildRuntime, store in Runtime.UserPrompt.
- Prepend resolved user prompts to every user message at executeTurn start.
- Document userPrompts in data/agents/README.md.
2026-08-15 11:52:21 +02:00
Levi Neely
9246c44c0e
agent: remove proc/detach/tool wrapper methods — inline in ctl handler
...
Removed from Agent: ListProcs, SignalProc, ProcOutput, DismissProc,
Detach, ListDetached, SignalDetached, GetDetachedOutput,
DismissDetached, BgProc type, DetachedInfo type.
The ctl handler now calls toolsrv client methods directly.
RefreshTools replaced by SetToolsPreamble + inline ListTools call.
renderTools exported as RenderTools.
2026-08-13 22:14:37 +02:00
Levi Neely
5459e7fa2a
fix: XDG default fallback in prompt resolver; deduplicate tool headers
...
- envLookup: provide XDG spec defaults (XDG_CONFIG_HOME, XDG_DATA_HOME,
XDG_CACHE_HOME) when env vars are unset, so agent profile prompts
resolve correctly on systems without explicit XDG vars.
- renderTools: skip generated '## name' header when the tool's prompt
text already starts with a markdown header, eliminating duplicates.
2026-08-13 15:45:35 +02:00
Ollie Agent
686a560e84
agent: toolsrv is sole owner of tool state
...
Remove all cached tool state from agent:
- Remove toolRegistryRevision from Runtime
- Remove wireToolsChanged (OnToolsChanged callback)
- Remove toolsNeedRefresh (revision-based cache invalidation)
- Remove refreshToolListing (redundant with RefreshTools)
Tools are now fetched fresh from toolsrv at the start of every turn.
The preamble tools section is also rebuilt at turn start. No local
caching means tool_load/unload take effect immediately on the next
turn and /tools always shows the live state from toolsrv.
2026-08-11 10:59:31 +02:00
Ollie Agent
a098fbff0c
agent: inject dispatch flags (bypass, timeout, sandbox, background) into all tool schemas
...
Dispatch-level flags are now injected into every tool's JSON schema
at runtime via injectDispatchFlags(). No need to declare them in
individual .meta files — they're universal.
Removed redundant declarations from shell.meta (now injected globally).
2026-08-11 08:26:14 +02:00
Levi Neely
1fc051e3bf
refactor: move olliesrv and toolsrv packages to cmd/*/internal/
...
Move server-only packages under their respective cmd directories:
olliesrv:
- agent/ -> cmd/olliesrv/internal/agent/
- backend/ -> cmd/olliesrv/internal/backend/
- bypass/ -> cmd/olliesrv/internal/bypass/
- fs/ -> cmd/olliesrv/internal/fs/
- prompts/ -> cmd/olliesrv/internal/prompts/
- session/ -> cmd/olliesrv/internal/session/
toolsrv:
- Server-only code (exec9p, fs9p, server9p, spec9p, auth9p) -> cmd/toolsrv/
- sandbox/ -> cmd/toolsrv/internal/sandbox/
- Keep shared client code (client9p, spawn, registry, meta) in toolsrv/
- Add toolsrv/types.go for shared types (ToolResult, ToolResultContent)
This enforces package boundaries - code in cmd/*/internal/ cannot be
imported by external packages, while shared code remains importable.
2026-08-10 20:16:44 +02:00