Commit graph

1548 commits

Author SHA1 Message Date
Claude
398c618cc4 fix: fix: make _generate_compose_impl the canonical compose source — remove tracked docker-compose.yml + update docs (#603)
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 16:40:44 +00:00
532ce257d5 Merge pull request 'fix: fix: edge entrypoint should fail with clear error + throttle restart loop when /opt/disinto clone fails (#602)' (#631) from fix/issue-602 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 16:23:16 +00:00
Claude
7fa0b564df fix: fix: edge entrypoint should fail with clear error + throttle restart loop when /opt/disinto clone fails (#602)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 16:17:08 +00:00
4a35c2bba0 Merge pull request '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)' (#630) from fix/issue-593 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 16:13:39 +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
05311fa8da Merge pull request 'fix: fix: review-pr CLAUDE_TIMEOUT should default to 15 min, not 2 hours (#590)' (#629) from fix/issue-590 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 15:56:32 +00:00
Claude
594677a040 fix: fix: review-pr CLAUDE_TIMEOUT should default to 15 min, not 2 hours (#590)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 15:51:52 +00:00
7406b8950d Merge pull request 'fix: bug: init branch-protection setup gives up after 3 short retries — forgejo needs more time to index freshly-created branches (#588)' (#628) from fix/issue-588 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 15:51:08 +00:00
Claude
73fded12c8 fix: bug: init branch-protection setup gives up after 3 short retries — forgejo needs more time to index freshly-created branches (#588)
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
Extract branch-wait retry logic into _bp_wait_for_branch helper with
exponential backoff (10 attempts, 2s base, capped at 10s per wait,
~70s worst-case). Replaces the 3-attempt/2s-fixed loops in all three
setup functions. Upgrade caller warnings in bin/disinto to ERROR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:41:55 +00:00
506a00151b Merge pull request 'fix: bug: migrate_ops_repo emits fatal: not in a git directory mid-migration, silently skipping commit/push (#587)' (#627) from fix/issue-587 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 15:36:19 +00:00
Claude
55156fbac1 fix: bug: migrate_ops_repo emits fatal: not in a git directory mid-migration, silently skipping commit/push (#587)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 15:31:52 +00:00
8ce9cb9803 Merge pull request 'fix: bug: migrate_ops_repo seeds canonical structure in host path but agents container uses a Docker named volume — migration is orphaned (#586)' (#625) from fix/issue-586 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 15:17:42 +00:00
Claude
3405879d8b fix: mock-forgejo path parsing bug + non-fatal cron in smoke-init (#586)
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
- Fix off-by-one in mock admin/users/{username}/repos path extraction
  (parts[4] was 'users', not the username — should be parts[5])
- Change _install_cron_impl to return 1 instead of exit 1 when crontab
  is missing, so cron failure doesn't abort entire init

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:08:43 +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
57a177a37d 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:52:11 +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
0612bb25d0 Merge pull request 'fix: bug: setup_ops_repo tries POST /api/v1/orgs/disinto-admin/repos but disinto-admin is a user, not an org (#585)' (#624) from fix/issue-585 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 14:40:47 +00:00
Claude
6dc42c3d1a fix: bug: via_msg unbound variable under set -euo pipefail (#585)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 14:37:54 +00:00
Claude
c7e43e091a fix: bug: setup_ops_repo tries POST /api/v1/orgs/disinto-admin/repos but disinto-admin is a user, not an org (#585)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 14:31:18 +00:00
316f9fd64b Merge pull request 'fix: bug: bin/disinto init rotates all bot tokens and passwords on every run, invalidating existing cloned repos with embedded credentials (#584)' (#618) from fix/issue-584 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 14:30:18 +00:00
Claude
cecfb3374d fix: bug: bin/disinto init rotates all bot tokens and passwords on every run, invalidating existing cloned repos with embedded credentials (#584)
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 14:18:27 +00:00
6b858c9c43 Merge pull request 'fix: bug: setup_forge's admin_token is a local variable, not exported — setup_ops_repo falls back to dev-bot token and fails with 403 (#583)' (#617) from fix/issue-583 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 14:14:35 +00:00
Claude
e58caa5dfd fix: bug: setup_forge's admin_token is a local variable, not exported — setup_ops_repo falls back to dev-bot token and fails with 403 (#583)
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 14:07:49 +00:00
6305597156 Merge pull request 'fix: bug: setup_forge has ~6 other anonymous curl checks for user/repo existence, all fail with 403 on locked-down forgejos (#582)' (#616) from fix/issue-582 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 14:04:55 +00:00
Claude
817d691e4d fix: bug: setup_forge has ~6 other anonymous curl checks for user/repo existence, all fail with 403 on locked-down forgejos (#582)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 13:58:48 +00:00
31639b95f4 Merge pull request 'fix: bug: setup_forge reachability check uses unauthenticated curl against /api/v1/version, fails on REQUIRE_SIGNIN_VIEW=true forgejos (#581)' (#615) from fix/issue-581 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 13:41:58 +00:00
Claude
c753bebb14 fix: bug: setup_forge reachability check uses unauthenticated curl against /api/v1/version, fails on REQUIRE_SIGNIN_VIEW=true forgejos (#581)
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 13:36:02 +00:00
7c8f734d6c Merge pull request 'fix: bug: set -o pipefail + git ls-remote failure silently kills dev-agent with no log line (#577)' (#614) from fix/issue-577 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 13:35:10 +00:00
Claude
0b7a41c3a1 fix: bug: set -o pipefail + git ls-remote failure silently kills dev-agent with no log line (#577)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 13:33:02 +00:00
56a4700e16 Merge pull request 'fix: bug: agents entrypoint creates log dir as root, then gosu agent can't mkdir subdirs (#576)' (#613) from fix/issue-576 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 13:11:44 +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
b591e38153 Merge pull request 'fix: bug: tracked docker-compose.yml missing DISINTO_CONTAINER=1 on agents / agents-llama (#575)' (#612) from fix/issue-575 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 13:00:03 +00:00
Claude
5997667cb5 fix: bug: tracked docker-compose.yml missing DISINTO_CONTAINER=1 on agents / agents-llama (#575)
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 12:54:45 +00:00
dbf1340027 Merge pull request 'fix: bug: dev-agent.sh line 272 — grep -c ... || echo 0 produces "0\n0" and breaks arithmetic (#574)' (#611) from fix/issue-574 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 12:49:44 +00:00
Claude
2b7edfaf1a fix: bug: dev-agent.sh line 272 — grep -c ... || echo 0 produces 0n0 and breaks arithmetic (#574)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 12:45:24 +00:00
1499eb04df Merge pull request 'fix: bug: architect-run.sh exits silently — runs git from baked /home/agent/disinto which is not a git repo (#569)' (#610) from fix/issue-569-1 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 12:43:00 +00:00
Claude
c7168b58e5 fix: bug: architect-run.sh exits silently — runs git from baked /home/agent/disinto which is not a git repo (#569)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 12:36:51 +00:00
05954191ae Merge pull request 'fix: bug: dev-poll exits early when another agent has any in-progress issue, blocking parallel agents from claiming backlog (#572)' (#609) from fix/issue-572 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 12:19:34 +00:00
Claude
c096373ef6 fix: bug: dev-poll exits early when another agent has any in-progress issue, blocking parallel agents from claiming backlog (#572)
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 12:14:36 +00:00
e46c367bd5 Merge pull request 'fix: bug: WOODPECKER_REPO_ID not set in agent containers — ci-debug.sh fails to fetch logs, agents see "No logs available" (#599)' (#601) from fix/issue-599 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 11:54:12 +00:00
Claude
95aba008ac fix: bug: WOODPECKER_REPO_ID not set in agent containers — ci-debug.sh fails to fetch logs, agents see "No logs available" (#599)
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 11:50:08 +00:00
Claude
e092158fb0 fix: bug: WOODPECKER_REPO_ID not set in agent containers — ci-debug.sh fails to fetch logs, agents see "No logs available" (#599)
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 11:41:50 +00:00
2d372679d4 Merge pull request 'fix: bug: architect has no path for approved PRs awaiting initial design questions (#570)' (#598) from fix/issue-570 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 11:36:53 +00:00
Claude
99d430a0c2 fix: bug: architect has no path for approved PRs awaiting initial design questions (#570)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Implementation:
- Added detect_approved_pending_questions() function to identify approved PRs
  that have no ## Design forks section and no Q1:, Q2: comments yet.
- Modified response processing block to handle three session modes:
  1. questions_phase: Resume session for processing Q&A answers
  2. start_questions: Fresh session to post initial design questions
  3. pitch: Original behavior for new pitch generation
- Added build_architect_prompt_for_mode() function to generate appropriate
  prompts for each session mode.
- When an approved PR is detected, the agent posts initial design questions
  (Q1:, Q2:, etc.) and adds the ## Design forks section, transitioning the
  PR into the existing questions phase.

This fixes the issue where approved architect PRs would sit indefinitely
because the agent had no path to start the design conversation.
2026-04-10 11:30:46 +00:00
fda647a4d9 Merge pull request 'fix: bug: in_progress_recently_added grace period broken — filters timeline by type==7 but Forgejo API returns type as string "label" (#565)' (#596) from fix/issue-565 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 11:05:15 +00:00
Claude
6df0476808 fix: bug: in_progress_recently_added grace period broken — filters timeline by type==7 but Forgejo API returns type as string "label" (#565)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 10:59:06 +00:00
d29a19612e Merge pull request 'fix: bug: local-model agents reuse FORGE_TOKEN of main agent — wrong Forgejo identity (#563)' (#595) from fix/issue-563 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 10:56:03 +00:00
Claude
f700c33a1b fix: bug: local-model agents reuse FORGE_TOKEN of main agent — wrong Forgejo identity (#563)
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
This fixes the issue where agents-llama containers were using the main
FORGE_TOKEN (dev-bot) instead of dedicated credentials for the llama bot user.

Changes:
- forge-setup.sh: Added generation of FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
  for local-model bot users (dev-qwen, dev-qwen-nightly). These are created
  as Forgejo users with their own API tokens and passwords for git push.
- generators.sh: Updated agents-llama service to use FORGE_TOKEN_LLAMA and
  FORGE_PASS_LLAMA instead of falling back to dev-bot's credentials.
  Fixed escaping to defer variable resolution to docker-compose runtime.
- docker-compose.yml: Updated to use FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
  (renamed from FORGE_TOKEN_DEVQWEN for consistency).
- .env.example: Added documentation for all per-bot tokens and passwords.
- projects/disinto.toml.example: Documented the auto-credential generation.

When a project TOML configures [agents.llama] with forge_user = dev-qwen:
1. disinto init creates the dev-qwen Forgejo user
2. Generates FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
3. Adds dev-qwen as write collaborator on the project repo
4. The agents-llama container uses these credentials for all Forgejo API calls

This ensures issues and PRs created by the llama agent are correctly
attributed to dev-qwen instead of dev-bot.
2026-04-10 10:49:23 +00:00
42d4367fe1 Merge pull request 'fix: feat: disinto agent enable/disable commands for guard control (#556)' (#592) from fix/issue-556 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 10:26:40 +00:00
Claude
934bf9876c fix: feat: disinto agent enable/disable commands for guard control (#556)
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 10:20:00 +00:00