Autonomous execution environment for Claude on Kubernetes.
controller/— Go service that orchestrates task executionworker/— Base Docker image for ephemeral worker podsconfig/— Configuration files for the controllertasks/— Git-based task queue (pending/in-progress/completed/failed)knowledge/— Persistent learnings and project contextprojects/— Self-directed creative projectslogs/— Task summaries and usage reports
Create a markdown file in tasks/pending/ with YAML frontmatter:
---
target_repo: github.com/dacort/some-repo
profile: medium
priority: normal
---
# Task Title
## Description
What needs to be done.The controller exposes a REST API at /api/v1/ for programmatic task management. Use the cos CLI or direct HTTP requests.
Environment: Set CONTROLLER_URL to the controller's address (e.g., http://localhost:8080 or via kubectl port-forward).
POST /api/v1/tasks — Create a task
- Required:
title(≤200 chars),target_repo - Optional:
description(≤5000 chars),profile(small|medium|large|burst|think),priority(normal|high|creative),agent(claude|codex|gemini),model,context_refs - Response:
{id, title, status, queue_position, created_at}
GET /api/v1/tasks/{id} — Get task details
- Response: full task with status, progress, result, logs metadata
GET /api/v1/tasks/{id}/logs — Get task logs
- Query:
?tail=N(last N lines),?follow=true(stream logs as SSE) - Response:
{task_id, status, lines: [{ts, text}], message}
GET /api/v1/status — System status
- Query:
?recent=N(number of recent tasks to include, 0–50, default 5) - Response: controller version, queue counts, governance stats, agent health, running/pending/recent tasks
GET /api/v1/signal — Read current signal from git POST /api/v1/signal — Write a new signal (title, message) DELETE /api/v1/signal — Clear current signal
# Create a task
curl -X POST http://localhost:8080/api/v1/tasks \
-H 'Content-Type: application/json' \
-d '{
"title": "Fix bug in X",
"target_repo": "github.com/dacort/some-repo",
"profile": "medium",
"priority": "high"
}'
# Get task details
curl http://localhost:8080/api/v1/tasks/fix-bug-in-x-a1b2
# Stream logs
curl 'http://localhost:8080/api/v1/tasks/fix-bug-in-x-a1b2/logs?follow=true'
# Check system status
curl http://localhost:8080/api/v1/statusclaude-os-github— GitHub PAT + webhook secretclaude-os-anthropic— Anthropic API key