Architecture
Tasuku's work channels, control plane, worker, persistence, sandbox, and publication boundaries.
Tasuku separates request handling, durable state, trusted orchestration, and untrusted agent execution.
Components
| Component | Responsibility |
|---|---|
| Server | Fiber API, dashboard static assets, OAuth, inbound-event verification, configuration, and query endpoints. |
| Worker | Leases durable jobs, prepares repositories, invokes sandboxes, validates output, and publishes through trusted integrations. |
| Postgres | Source of truth for configuration, encrypted credentials, deliveries, work items, queue leases, workflows, schedules, reviews, tasks, and audit evidence. |
| Sandbox | Runs Codex or Claude against a bounded workspace with selected context. |
| GitHub App | Supplies webhook identity, OAuth, installation access, repository tokens, and trusted publication identity. |
| Slack App | Supplies mentioned requests, thread context, plan actions, result delivery, and optional operational alerts. |
| Linear App | Supplies ticket events and comments while GitHub repositories remain the code targets. |
| Artifact storage | Keeps generated HTML research reports in a private S3-compatible bucket. |
The server and worker can run as separate processes, which is the default
deployment, or together through tasuku all. Both modes use the same Postgres
queue and workflow semantics. Combined mode is an operational packaging choice;
it does not move credentials or publication authority into the agent sandbox.
Event path
GitHub / Slack / Linear
→ signature verification and delivery deduplication
→ work item, workflow, schedule, and queue state in Postgres
→ worker lease with heartbeat
→ repository and conversation context prepared by the trusted runtime
→ isolated Codex or Claude invocation
→ structured output or bounded changed-file artifact
→ approval, validation, and publication through the originating integrationInbound handlers do not wait for the agent. This keeps delivery handling bounded and allows work to survive server or worker restarts.
Queue recovery
Workers claim available jobs with database locking, heartbeat active leases, retry transient failures with backoff, and reclaim expired leases after a crash. Attempts and events remain visible so recovery does not erase the failure that preceded it.
Credential boundary
The trusted runtime obtains short-lived read-only repository access during preparation. Tokens are not exposed as agent environment variables. The sandbox has no GitHub, Slack, or Linear credentials and cannot publish as Tasuku.
For implementation, the agent returns changed files. The worker validates paths, creates Git objects, and opens the pull request. For reviews, plans, research, and answers, the worker validates rendered content before posting it or storing an artifact.
Data boundary
Tasuku is a single-instance, self-hosted control plane backed by Postgres. Durable operations depend on database availability and backup. The dashboard and API are different views of the same organization-scoped state.