Commit Graph
8 Commits
Author SHA1 Message Date
Daniel SamsonandClaude Opus 4.6 06cf4d1b9e Handle stale workspaces: 409 conflict auto-cleanup + verbose logging
Publish Image / publish (push) Successful in 20s
When the orchestrator restarts, it loses in-memory queue state. If a
stale workspace still exists, createWorkspace now auto-deletes it and
retries instead of failing with 409. Also adds --verbose to Claude Code
invocation for better task log debugging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:58:08 +01:00
Daniel SamsonandClaude Opus 4.6 4f1d306fdf Fix ImagePullBackOff: use multi-arch base image tag
The tag `ubuntu-arm64` doesn't exist on Docker Hub. Switch to `latest`
which includes arm64 in its multi-arch manifest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:44:44 +01:00
Daniel SamsonandClaude Opus 4.6 7145fb536a Add workspace lifecycle management via task-complete callback
Publish Image / publish (push) Successful in 20s
- Workspaces curl POST /webhook/task-complete/{name} when done
- Orchestrator deletes the workspace via Coder API on callback
- Active workspaces count toward concurrency limit
- GET /queue now shows active workspaces with elapsed time
- Coder template gains callback_url parameter
- TTL becomes a safety net, not the primary shutdown mechanism

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:37:08 +01:00
Daniel SamsonandClaude Opus 4.6 f23fb4e2e0 Add task queue with dedup and concurrency control
Publish Image / publish (push) Successful in 54s
- Tasks keyed by {taskType}-{repo}-{issue} for deduplication
- Duplicate requests (pending or running) are dropped
- Configurable concurrency via QUEUE_CONCURRENCY env (default 2)
- Workspace names now {taskType}-{repo}-{issue} for observability
- GET /queue endpoint shows pending/running tasks
- All handlers route through the queue instead of calling Coder directly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:30:27 +01:00
Daniel SamsonandClaude Opus 4.6 6062d1b518 Trigger analyst on edited comments, not just new ones
Publish Image / publish (push) Successful in 21s
An edited comment during analysis is equally meaningful as a new one
for continuing the conversation with the analyst.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:13:39 +01:00
Daniel SamsonandClaude Opus 4.6 4e5993f489 Fix cert-manager ClusterIssuer name to letsencrypt-prod
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:02:08 +01:00
Daniel SamsonandClaude Opus 4.6 1b25c39d1b Add CI workflow to publish Docker image on tag
Publish Image / publish (push) Successful in 46s
Builds and pushes to registry.samson.media on any version tag,
tagged with both the version and latest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 12:48:36 +01:00
Daniel SamsonandClaude Opus 4.6 55dee1f2bd Initial commit: SDLC Orchestrator replacing n8n
Lightweight Hono webhook router that receives Gitea events and creates
Coder workspaces for each SDLC stage (analyse, architect, develop,
review, test, rework, release, maintenance). Includes k8s manifests
for deployment and the Coder workspace template moved from babble.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 12:44:28 +01:00