Commit graph

61 commits

Author SHA1 Message Date
Claude
16477e69b0 fix: update AD-002 docs and stale comments to reflect CLAUDE_CONFIG_DIR isolation (#647)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
- AGENTS.md AD-002: document per-session CLAUDE_CONFIG_DIR as primary
  OAuth concurrency guard, CLAUDE_EXTERNAL_LOCK as rollback flag
- docker/agents/entrypoint.sh: update stale flock comment
- lib/agent-sdk.sh: move mkdir inside CLAUDE_EXTERNAL_LOCK branch

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:38:52 +00:00
Claude
6d2e2e43f8 fix: config: gardener=1h, architect=9m, planner=11m for disinto factory (+ add PLANNER_INTERVAL env var) (#682)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-11 17:47:07 +00:00
Claude
5fcf3a6304 fix: bug: docker/agents/entrypoint.sh polling-loop log redirects use ${DISINTO_DIR}/../data/logs — broken after #605 moved DISINTO_DIR to /home/agent/repos/_factory (#675)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 17:16:29 +00:00
Claude
8fe985ea51 fix: bug: docker/agents/entrypoint.sh credential check looks for credentials.json but Claude writes .credentials.json — every boot logs a misleading WARNING (#673)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-11 16:59:42 +00:00
Claude
4347faf955 fix: feat: make gardener and architect schedules configurable via env vars (#558)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-11 15:57:11 +00:00
Claude
6589c761ba fix: refactor: lib/env.sh — split into a defined-surface shared lib; entrypoints own context-specific paths (#674)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 13:21:30 +00:00
Claude
e933473848 fix: lib/git-creds.sh: repair_baked_cred_urls silently fails on agent-owned repos because it runs as root and trips dubious-ownership check (#671)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 08:27:42 +00:00
Claude
9682ef0b2b fix: dev agents: distinct git author identity per bot container so commits are visibly attributable (#648)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 21:43:26 +00:00
Claude
de0d82a2d9 fix: docker/agents/entrypoint.sh + edge/reproduce entrypoints: honor CLAUDE_CONFIG_DIR (#644)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 20:55:02 +00:00
Claude
c3074e83fc fix: fix: agents container should clone project repo on first startup; treat init's host clone as operator-side only (#605)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-10 17:19:33 +00:00
Claude
5c4ea7373a fix: fix: stop baking credentials into git remote URLs — use clean URLs + existing credential helper everywhere (#604)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:04:10 +00:00
Claude
dedd29045b fix: bug: agents container has two diverging copies of disinto code — entrypoint runs baked-in stale version while dev-agent works in fresh git checkout (#593)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:03:29 +00:00
Claude
d190296af1 fix: consolidate TOML parsing in bootstrap_ops_repos into single python3 call (#586)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline failed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:55:33 +00:00
Claude
d60a3da1b1 fix: bug: migrate_ops_repo seeds canonical structure in host path but agents container uses a Docker named volume — migration is orphaned (#586)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline failed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:48:47 +00:00
Claude
af74eedad9 fix: bug: agents entrypoint creates log dir as root, then gosu agent can't mkdir subdirs (#576)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 13:05:30 +00:00
Claude
a0280aa454 fix: bug: agents-llama entrypoint writes to dev-poll log path before creating parent directory (#533)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 07:07:24 +00:00
Claude
c7ca745233 fix: bug: agents entrypoint does not set git safe.directory — worktrees fail after container restart (#517)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 19:40:49 +00:00
Claude
f3f6b22b0d fix: fix: while-true entrypoint runs agents sequentially — slow agents block the entire pipeline (#509)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Run fast agents (review-poll, dev-poll) in background with stagger.
Run slow agents (gardener, architect, planner, predictor) in background
with pgrep guards so only one instance of each runs at a time.
The flock on session.lock still serializes claude -p calls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:05:14 +00:00
Agent
cfb4ba5fb3 fix: refactor: remove entrypoint.sh PROJECT_REPO_ROOT workaround (#503)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 12:11:28 +00:00
Agent
0987b9ed2f fix: fix: entrypoint polling loop missing predictor and planner agents (#478)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 07:51:47 +00:00
Claude
b633ce66df fix: fix: entrypoint state file creation and AGENT_ROLES default should include all agents (#403)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 07:40:01 +00:00
Agent
4f4158d1e1 fix: fix: delete entrypoint-llama.sh — unify into single entrypoint with AGENT_ROLES (#380)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-08 05:19:07 +00:00
Agent
d8d9acd730 fix: fix: replace cron with while-true loop and gosu in agents entrypoint (#379)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-08 04:57:57 +00:00
Claude
7db129aba2 fix: fix: FORGE_TOKEN_OVERRIDE in entrypoint-llama.sh is overwritten by env.sh sourcing .env (#375)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:34:45 +00:00
Claude
7e7fafd234 fix: fix: install_project_crons does not set PATH — claude not found in cron jobs (#366)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:39:27 +00:00
Claude
daf9151b9a fix: fix: Forgejo API tokens rejected for git HTTP push — agents must use password auth (#361)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Forgejo 11.x rejects API tokens for git HTTP push while accepting them
for all other operations. Store bot passwords alongside tokens during
init and use password auth for git operations consistently.

- forge-setup.sh: persist bot passwords to .env (FORGE_PASS, etc.)
- forge-push.sh: use FORGE_PASS instead of FORGE_TOKEN for git remote URL
- entrypoint.sh: configure git credential helper with password auth
- entrypoint-llama.sh: use FORGE_PASS for git clone (fallback to FORGE_TOKEN)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:48:43 +00:00
Agent
f499de7c9d fix: fix: entrypoint-llama.sh should reset base repo to origin/main on startup (#336)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-07 11:46:45 +00:00
Agent
bba7665e09 fix: fix: entrypoint-llama.sh should reset base repo to origin/main on startup (#336)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-07 11:40:24 +00:00
Claude
e2e4ca5579 fix: fix: entrypoint-llama.sh install_project_crons ignores DISINTO_AGENTS — installs all agents (#310)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Remove install_project_crons() function and cron daemon startup from
entrypoint-llama.sh. The llama container runs dev-poll via its while
loop only — cron is not suitable as it doesn't inherit Docker compose
env vars (ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, CLAUDE_CONFIG_DIR).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 20:20:46 +00:00
Agent
5f6235e1f1 fix: fix: entrypoint-llama.sh su block drops ANTHROPIC_API_KEY and CLAUDE_CONFIG_DIR (#306)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 18:12:08 +00:00
Agent
2b4c8be245 fix: remove hardcoded 'johba' references — use dynamic project config instead (#241)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-05 17:18:04 +00:00
Agent
ed78d94025 fix: fix: remove supervisor from agents container cron — cannot run without Docker access (#231)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 16:14:56 +00:00
Agent
31449cd401 fix: fix: lib/env.sh crashes with USER unbound variable in agent container (#229)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 15:59:24 +00:00
Agent
c362ac1440 fix: fix: agents container missing procps package — formula-session check_memory fails (#211)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 14:24:20 +00:00
Agent
09a47e613c fix: feat: configurable agent roles per container via DISINTO_AGENTS env var (#197)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
2026-04-04 21:38:12 +00:00
Agent
741cf01517 fix: fix: entrypoint-llama.sh does not start cron daemon (#195)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
2026-04-04 21:21:53 +00:00
Agent
79d46f1e99 fix: fix: agents entrypoint crashes — pname unbound variable in cron setup (#171)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-03 07:08:28 +00:00
Agent
1eefd5ac72 fix: correct entrypoint.sh COPY path for root build context
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-01 18:28:45 +00:00
Agent
e617999074 fix: correct build context for agents Dockerfile
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-01 18:16:56 +00:00
Agent
ad0b0e181f fix: bug: agents Dockerfile build fails — SOPS checksum download unreachable (#120)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
2026-04-01 18:14:18 +00:00
Agent
a7ad6eb32a fix: feat: versioned releases — vault-gated tag, image build, and deploy (#112)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-01 14:03:49 +00:00
Agent
b2d3af4370 fix: install shellcheck in agents Dockerfile (#48)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-03-29 08:38:17 +00:00
johba
8122f2dd5d fix: clear stale session IDs before each llama poll
Some checks failed
ci/woodpecker/push/ci Pipeline failed
Local llama does not support claude --resume (no server-side session
storage). Stale .sid files from failed runs cause agent_run to exit
instantly on every retry, creating an infinite 1-second failure loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 07:00:52 +00:00
johba
b30252d32b feat: llama agent runs as dev-qwen Forgejo identity
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
FORGE_TOKEN_OVERRIDE in compose env sets a per-agent token.
PRs, issue claims, and comments from the llama agent now show
dev-qwen instead of dev-bot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 21:00:24 +00:00
Agent
0ccecf6ae5 fix: restore tea CLI and add sops checksum verification (#30)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init removed
2026-03-28 19:58:50 +00:00
Claude
8814905ede fix: install age and sops in agents Dockerfile (#30)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 19:58:04 +00:00
johba
6b0e9b5f4d feat: add entrypoint for llama dev-agent container (#29)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/smoke-init Pipeline failed
Simple while-true loop that runs dev-poll with llama backend env vars.
No cron, no guard files, no activation state — just polls and spawns.
Repo auto-cloned on first start.

To be used with a separate agents-llama compose service that sets
ANTHROPIC_BASE_URL to the llama-server address.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 17:33:09 +00:00
e6b57dc9f1 fix: fix: install networkx in agents container for build-graph.py (#14) (#28)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/smoke-init Pipeline failed
Fixes #14

## Changes

Co-authored-by: Claude <noreply@anthropic.com>
Reviewed-on: johba/disinto#28
Co-authored-by: dev-bot <dev-bot@disinto.local>
Co-committed-by: dev-bot <dev-bot@disinto.local>
2026-03-28 17:12:27 +00:00
johba
3ce6354f4f fix: add FORGE_URL and PROJECT_REPO_ROOT to crontab env template
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/smoke-init Pipeline failed
Cron does not inherit compose env vars. Without these, dev-poll fails
with cd: /home/johba/disinto: No such file or directory (host path
instead of container path).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 16:30:43 +00:00
johba
8f389d9dab fix: add USER=agent to crontab env (unbound variable in cron)
Some checks are pending
ci/woodpecker/push/ci Pipeline is pending
ci/woodpecker/push/smoke-init Pipeline is pending
env.sh references $USER which is not set in cron environment.
With set -u (pipefail), this causes env.sh to exit before setting
DISINTO_LOG_DIR, resulting in log writes to the read-only mount.

Root cause of silent cron failures since containerized setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 11:50:57 +00:00