Skip to content

PR: refactor #12: decouple actus to drive telos only - #13

Merged
metasmile merged 35 commits into
mainfrom
12-telos-sync
Sep 3, 2026
Merged

metasmile merged 35 commits into
mainfrom
12-telos-sync

Conversation

@metasmile

Copy link
Copy Markdown
Contributor

Summary

Decouples actus so it drives one agent, telos, through a pinned launch contract.

  • Remove the helix/zed GPL fallback: delete the helix subtree, LICENSE.helix, the Dockerfile full target, and the GPL NOTICE sections. actus no longer references zed anywhere in its tracked files.
  • Rename zed naming to telos across the crate: src/zed to src/telos, TelosBackend/TelosManager, kind and default agent name "telos", TELOS_* launch env.
  • Pin the telos launch contract (argv and env set) with a unit test; restore the session id passed through TELOS_SESSION_ID.
  • Keep the HTTP hardening from the earlier review round: bearer auth, CORS whitelist (with an integration test), SSRF guard, file search truncation reporting, SSE keepalive.
  • Tests: 68 passing. CI is mock-only (stub agent, no LLM). Scenarios default to the deterministic fake tier; the live LLM tier and the chat round trip require explicit opt-in (--scenarios-llm / LLM_CHAT=1).

Notes

  • Merging removes the vendored GPL helix binary path. The agent is the telos binary from the sibling repository.

S8 seeds a thread, then sends a follow-up turn referencing it via the
zed:///agent/thread/{id}?name=... mention URI and asserts both turns
complete. Guards the cross-thread information sharing surface that
thread mentions provide; LSP diagnostics mentions stay out of scope.
The deterministic tier (--scenarios-fake) runs telos-headless with
TELOS_FAKE_BACKEND=1: every prompt gets a fixed response, so thread
lifecycle, mention format, reconnect, concurrency, and thread mention
checks are reproducible without an API key and without model variance.
LLM-intelligence checks (file content, fetch body, subagent, context
recall) stay in the opt-in --scenarios-llm tier that requires a key.
CI never calls the LLM.
Add token-based authentication for all API endpoints except `/health`.
Resolve tokens from CLI argument, `ACTUS_API_TOKEN` env var, or a
persisted token file. Generate and persist a new token when none exists.

Enable the reqwest stream feature to support token persistence and
update tests, scripts, and Python clients to include the auth header.
@metasmile metasmile self-assigned this Sep 3, 2026
@metasmile
metasmile merged commit 280bd52 into main Sep 3, 2026
1 check passed
@metasmile
metasmile deleted the 12-telos-sync branch September 6, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant