Commit graph

1482 commits

Author SHA1 Message Date
Claude
f299bae77b fix: bug: supervisor hardcodes ops repo expectation — fails silently on deployments without one (#544)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Add OPS repo presence detection in supervisor-run.sh with degraded mode support:
- Detect if OPS_REPO_ROOT is missing and log WARNING message
- Set OPS_REPO_DEGRADED=1 flag and configure fallback paths
- Bundle minimal knowledge files as fallback for degraded mode
- Update formula to use OPS_KNOWLEDGE_ROOT, OPS_JOURNAL_ROOT, OPS_VAULT_ROOT
- Support local vault destination and journal fallback when ops repo absent

Knowledge files bundled: disk.md, memory.md, ci.md, git.md, dev-agent.md,
review-agent.md, forge.md

The supervisor now runs with full functionality when ops repo is available,
or gracefully degrades to local paths when absent, making the failure mode
explicit rather than silent.
2026-04-10 08:16:03 +00:00
be5957f127 Merge pull request 'fix: bug: edge entrypoint defaults FORGE_REPO to disinto-admin/disinto — footgun for non-disinto deployments (#543)' (#562) from fix/issue-543 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 08:07:05 +00:00
Claude
58fd3cbde1 fix: remove disinto-specific TOML fallback and fix load-project.sh path in edge entrypoint
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
- Remove hardcoded `disinto.toml` as default TOML search path; scan
  projects/ directory for any .toml instead
- Fix load-project.sh path: use FACTORY_ROOT (consistent with the rest
  of the block) instead of SCRIPT_ROOT/BASH_SOURCE which resolves to
  /usr/local/bin in the container — wrong for /opt/disinto/lib/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 08:03:55 +00:00
Claude
fe043f4368 fix: bug: edge entrypoint defaults FORGE_REPO to disinto-admin/disinto — footgun for non-disinto deployments (#543)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 07:58:10 +00:00
596875de3c Merge pull request 'fix: bug: edge entrypoint hardcodes projects/disinto.toml as supervisor argument (#542)' (#561) from fix/issue-542 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:54:25 +00:00
Claude
dba3adf1bb fix: bug: edge entrypoint hardcodes projects/disinto.toml as supervisor argument (#542)
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:48:58 +00:00
a844350609 Merge pull request 'fix: bug: supervisor preflight uses direct wpdb SQL — should use existing woodpecker_api() helper (#541)' (#560) from fix/issue-541 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:43:31 +00:00
Claude
2a1c974c92 fix: bug: supervisor preflight uses direct wpdb SQL — should use existing woodpecker_api() helper (#541)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-10 07:36:58 +00:00
5115c9fef9 Merge pull request 'fix: bug: supervisor P1 disk auto-fix uses docker system prune -f — too weak for real disk pressure (#539)' (#559) from fix/issue-539 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:32:18 +00:00
Claude
48c97a9b09 fix: bug: supervisor P1 disk auto-fix uses docker system prune -f — too weak for real disk pressure (#539)
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:29:01 +00:00
3a9ee5dc55 Merge pull request 'fix: Add bash quick-exit guard to planner-run.sh to enable 10-minute cadence (#537)' (#552) from fix/issue-537 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-10 07:23:59 +00:00
Claude
af9b8134d9 fix: Add bash quick-exit guard to planner-run.sh to enable 10-minute cadence (#537)
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:18:51 +00:00
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