Commit graph

1470 commits

Author SHA1 Message Date
ad77edd207 Merge pull request 'fix: bug: agents-llama entrypoint writes to dev-poll log path before creating parent directory (#533)' (#551) from fix/issue-533 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:12:45 +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
bba7585ce1 Merge pull request 'fix: bug: tracked docker-compose.yml mounts forgejo at /var/lib/forgejo instead of /data (#532)' (#549) from fix/issue-532 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:02:51 +00:00
Claude
c419768871 fix: bug: tracked docker-compose.yml mounts forgejo at /var/lib/forgejo instead of /data (#532)
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 06:57:46 +00:00
ec950f1a78 Merge pull request 'fix: bug: dispatcher should use docker run, not docker compose run — compose context unavailable in edge container (#529)' (#538) from fix/issue-529 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 06:52:18 +00:00
Claude
ff25e5a084 fix: bug: dispatcher should use docker run, not docker compose run — compose context unavailable in edge container (#529)
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 06:49:09 +00:00
31fde3d471 Merge pull request 'fix: feat: vault actions should support mount declarations for credentials like SSH keys (#528)' (#536) from fix/issue-528 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 06:40:51 +00:00
Claude
3a4f2c0101 fix: keep GITHUB_TOKEN/CODEBERG_TOKEN secrets in release vault action
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
formulas/release.sh still uses API tokens for mirror pushes. Add mounts
alongside secrets rather than replacing them, so both the .sh (token) and
.toml (SSH) formula paths work.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 06:36:59 +00:00
Claude
43af38046c fix: feat: vault actions should support mount declarations for credentials like SSH keys (#528)
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 06:30:08 +00:00
91fcf70889 Merge pull request 'fix: bug: generate_compose() agents-llama missing Claude binary and credential volume mounts (#527)' (#531) from fix/issue-527 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 06:22:34 +00:00
Claude
33f1eebd64 fix: move _generate_local_model_services before CLAUDE_BIN_PLACEHOLDER sed pass
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
The placeholder substitution ran before local-model services were appended,
leaving a literal CLAUDE_BIN_PLACEHOLDER in the compose file. Reorder so
the sed pass runs after all services (including local-model) are in place.

Also adds the `g` flag to the sed substitution so it replaces all occurrences,
and aligns the .ssh volume mount escaping with the other ${HOME} references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 06:16:40 +00:00
Claude
000ccb17c2 fix: bug: generate_compose() agents-llama missing Claude binary and credential volume mounts (#527)
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 06:09:19 +00:00
cb832f5bf6 Merge pull request 'fix: feat: hire-an-agent should support local models (--local-model flag) (#521)' (#530) from fix/issue-521 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 06:03:32 +00:00
Claude
35885fa30c fix: separate poll_interval from compact_pct in local-model agent TOML config
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
--poll-interval was incorrectly written as compact_pct in the project TOML,
misconfiguring CLAUDE_AUTOCOMPACT_PCT_OVERRIDE instead of polling behavior.
Now compact_pct is hardcoded to 60 (the correct default) and poll_interval
is a separate TOML field emitted as POLL_INTERVAL in the compose service.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 05:56:18 +00:00
Claude
1e4754675d fix: feat: hire-an-agent should support local models (--local-model flag) (#521)
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 05:47:34 +00:00
aeaef880ec Merge pull request 'fix: feat: generate_compose() should support local-model agent containers (#520)' (#525) from fix/issue-520 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 20:25:09 +00:00
b26c5e6400 Merge pull request 'fix: bug: dev-poll marks issues assigned to other agents as stale (#522)' (#526) from fix/issue-522 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 20:17:31 +00:00
Claude
1e23362721 fix: bug: dev-poll marks issues assigned to other agents as stale (#522)
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-09 20:10:17 +00:00
Claude
3e9ac2b261 fix: feat: generate_compose() should support local-model agent containers (#520)
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-09 20:09:38 +00:00
a4e7dcc5d7 Merge pull request 'fix: bug: generate_compose() emits unresolved ${PROJECT_NAME} in PROJECT_REPO_ROOT (#518)' (#523) from fix/issue-518 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 19:51:00 +00:00
3ac6cf7bf3 Merge pull request 'fix: bug: agents entrypoint does not set git safe.directory — worktrees fail after container restart (#517)' (#524) from fix/issue-517 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 19:45:35 +00:00
Claude
3b41643c76 fix: agent-smoke CI missing formula-session.sh source for supervisor-run.sh
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
The smoke test's function resolution check for supervisor/supervisor-run.sh
did not include lib/formula-session.sh as an extra definition source, causing
acquire_cron_lock to be flagged as undefined.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:43:47 +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
09719aa635 fix: bug: generate_compose() emits unresolved ${PROJECT_NAME} in PROJECT_REPO_ROOT (#518)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
ci/woodpecker/pr/smoke-init Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:39:18 +00:00
471b0b053a Merge pull request 'fix: bug: dispatcher runner invokes formulas as bash scripts but formulas are TOML (#516)' (#519) from fix/issue-516 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 19:28:07 +00:00
Claude
fbf1a6dcc2 fix: review feedback — cd path in release.sh, compose file access in edge container
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
- formulas/release.sh: cd to $FACTORY_ROOT (not parent) for docker compose build
- docker-compose.yml: mount docker-compose.yml into edge container, pass HOST_PROJECT_DIR
- dispatcher.sh: use -f and --project-directory so compose resolves volume paths
  against the host filesystem when invoked from inside the edge container

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:23:08 +00:00
Claude
3c8b61168d fix: eliminate duplicate action-TOML parsing between runner entrypoint and release formula
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Runner entrypoint now exports VAULT_ACTION_TOML for formula scripts,
avoiding duplicated argument parsing that triggered CI duplicate detection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:07:51 +00:00
Claude
77de5ef4c5 fix: bug: dispatcher runner invokes formulas as bash scripts but formulas are TOML (#516)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:02:52 +00:00
Smoke Test
e70da015db fix: edge container — add python3, fix mktemp BusyBox compat
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Dockerfile: caddy:latest is Alpine, needs apk not apt-get. Add python3
which dispatcher.sh requires for JSON filtering since Apr 6.

dispatcher.sh: BusyBox mktemp does not support suffixes after XXXXXX
template. Remove .txt suffix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:07:21 +00:00
0db21e70a1 fix: move PROJECT_REPO_ROOT after pname assignment in entrypoint + add updating-factory docs (#515)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
## Summary
- Fix bug where `PROJECT_REPO_ROOT` was set before `pname` was read from the TOML, resulting in an empty variable
- Add `docs/updating-factory.md` covering the client-side factory update procedure

Pre-release cleanup for v0.1.1.

Co-authored-by: johba <johba@users.codeberg.org>
Reviewed-on: #515
Reviewed-by: disinto-admin <admin@disinto.local>
Co-authored-by: dev-bot <dev-bot@disinto.local>
Co-committed-by: dev-bot <dev-bot@disinto.local>
2026-04-09 17:44:42 +00:00
3c4ba5ff82 Merge pull request 'fix: architect: jq integer/string type mismatch in has_open_subissues self-exclusion filter (#499)' (#514) from fix/issue-499 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 15:14:51 +00:00
Agent
ac1b49767d fix: architect: jq integer/string type mismatch in has_open_subissues self-exclusion filter (#499)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 15:11:50 +00:00
449d83f233 Merge pull request 'fix: bug: dev-poll stale detection races with issue_claim — blocks freshly claimed issues (#471)' (#512) from fix/issue-471 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 15:09:22 +00:00
2ad515d53e Merge pull request 'fix: architect: has_responses_to_process not set when open_arch_prs < 3 (#498)' (#513) from fix/issue-498 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 15:03:39 +00:00
Agent
a72ab8b121 fix: architect: has_responses_to_process not set when open_arch_prs < 3 (#498)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 14:57:24 +00:00
Claude
96aeb549c0 fix: use Forgejo integer CommentType (7) instead of string "label" in timeline query
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Forgejo's timeline API serializes CommentType as an integer enum, not a
string. CommentTypeLabel is 7. The previous .type == "label" filter never
matched, making the grace period a no-op.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:57:14 +00:00
Claude
8679332756 fix: bug: dev-poll stale detection races with issue_claim — blocks freshly claimed issues (#471)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Add 60-second grace period to stale in-progress detection in dev-poll.sh.
When a poller sees an in-progress issue with no assignee/PR/lock, it now
checks the timeline API for when the label was added. If <60s ago, it
skips stale detection to allow the claiming agent time to finish its
assign+label sequence.

Also documents the intentional assign-before-label ordering in
issue_claim() that minimizes the race window.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:45:30 +00:00
9d0b7f2b07 Merge pull request 'chore: gardener housekeeping' (#511) from chore/gardener-20260409-1424 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 14:39:02 +00:00
Claude
46a87c5798 fix: correct lib/AGENTS.md — Forgejo image tag 11.0, OPS_REPO_ROOT variable name
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 14:33:40 +00:00
Claude
6971371e27 chore: gardener housekeeping 2026-04-09
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-09 14:24:52 +00:00
7069b729f7 Merge pull request 'fix: fix: while-true entrypoint runs agents sequentially — slow agents block the entire pipeline (#509)' (#510) from fix/issue-509 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 14:10:47 +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
31b55ff594 Merge pull request 'fix: refactor: remove entrypoint.sh PROJECT_REPO_ROOT workaround (#503)' (#507) from fix/issue-503 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 12:15:27 +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
18a3d19d51 Merge pull request 'fix: fix: load-project.sh should derive container repo paths instead of using TOML value (#502)' (#506) from fix/issue-502 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 12:09:14 +00:00
Claude
3c443322ca fix: fix: load-project.sh should derive container repo paths instead of using TOML value (#502)
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-09 12:02:51 +00:00
d61ef88c06 Merge pull request 'fix: fix: generate_compose() uses wrong Forgejo image tag — codeberg.org/forgejo/forgejo:1 does not exist (#493)' (#501) from fix/issue-493 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 11:22:14 +00:00
Agent
da65518f07 fix: fix: generate_compose() uses wrong Forgejo image tag — codeberg.org/forgejo/forgejo:1 does not exist (#493)
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-09 11:16:36 +00:00
2478765dfa Merge pull request 'fix: refactor: architect pitching should be bash-driven with stateless model calls (#490)' (#496) from fix/issue-490 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 11:11:35 +00:00
e159327d2e Merge pull request 'fix: fix: generate_compose() must add security_opt apparmor=unconfined to all services (#492)' (#500) from fix/issue-492 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-09 11:04:34 +00:00