ollie/agent
Levi Neely 11c67a7fb1 toolsrv: implement 9P Tauth authentication
Replace HMAC-based registration with proper 9P Tauth flow:
- First client to connect sets the secret via Tauth afid write
- Server stores secret in memory, returns session token
- Subsequent clients must provide matching secret
- Secret never in env vars or disk, only transmitted over socket

Changes:
- server9p.go: Authenticate() replaces RegisterAgent/GetAgent
- client9p.go: Dial() does Tauth handshake (write secret, read token)
- spawn.go: generates secret, no longer passes via TOOLSRV_SECRET env
- auth9p.go: simplified to just GenerateSecret()
- spec9p.go: removed /register file, token validation at connection level
- cmd/toolsrv/server.go: handleAuth/handleAuthWrite/handleAuthRead

Security model:
- Session generates secret on Spawn()
- All agents share session's secret via ProcessKeeper
- Socket permissions (local) or SSH (remote) protect transport
- Secret dies with toolsrv process, new secret on respawn

Added integration tests verifying:
- First connection sets secret
- Reconnect with same secret works
- Wrong secret rejected
- ProcessKeeper reconnect/respawn behavior
- Concurrent connections
2026-08-10 19:03:10 +02:00
..
agent.go agent: fix tool_load ctl to refresh agent's tool listing 2026-08-10 13:56:59 +02:00
agent_config.go prompt audit: trim system prompt, kill dead code, improve maintainability 2026-08-09 14:13:52 +02:00
agent_test.go toolsrv: implement 9P Tauth authentication 2026-08-10 19:03:10 +02:00
commands.go agent: fix /command routing to use new o syntax 2026-08-10 13:51:47 +02:00
config_paths.go agent: simplify prompt resolver to file-path-only 2026-08-09 00:51:13 +02:00
cost.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fifo.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fifo_test.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
history.go refactor: reduce redundancy, remove dead code, improve structure 2026-08-09 11:23:25 +02:00
loop.go maintainability: docs, contracts, structural cleanup 2026-08-09 21:45:56 +02:00
prompt_resolver.go prompt audit: trim system prompt, kill dead code, improve maintainability 2026-08-09 14:13:52 +02:00
runtime.go kiro: wire session CWD through to EnvState; o: add new command 2026-08-10 09:10:13 +02:00
runtime_test.go prompt audit: trim system prompt, kill dead code, improve maintainability 2026-08-09 14:13:52 +02:00
text_parse.go all: kill loadEnvFile dupe, extract text parser, tidy tests 2026-08-08 17:06:51 +02:00
turn.go remove usage_log.go (write-only telemetry), clean AGENT_FILES 2026-08-09 02:03:51 +02:00