Claude
b21408e668
chore: gardener housekeeping 2026-04-06
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 18:06:28 +00:00
f10cdf2c9e
Merge pull request 'fix: fix: disinto init re-run silently drops HUMAN_TOKEN when token already exists ( #275 )' ( #296 ) from fix/issue-275 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 12:24:02 +00:00
141e44d423
Merge pull request 'fix: fix: review/review-pr.sh uses hardcoded 'origin' for project repo fetch ( #288 )' ( #297 ) from fix/issue-288 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 12:19:02 +00:00
Agent
b2be163808
fix: fix: review/review-pr.sh uses hardcoded 'origin' for project repo fetch ( #288 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 12:15:38 +00:00
Claude
7977e2562c
fix: fix: disinto init re-run silently drops HUMAN_TOKEN when token already exists ( #275 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Apply delete-then-recreate pattern for human token (matching admin token in PR #274 ).
Forge/Forgejo only returns sha1 at creation time; listing returns no sha1, causing
HUMAN_TOKEN to be silently empty on re-runs when token name already exists.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 12:14:49 +00:00
c01c27c04e
Merge pull request 'chore: gardener housekeeping' ( #295 ) from chore/gardener-20260406-1205 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 12:09:37 +00:00
Claude
b1695d8329
chore: gardener housekeeping 2026-04-06
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 12:05:35 +00:00
8d32168121
Merge pull request 'fix: feat: gardener should enrich bug-report issues with context, reproduction plan, and verification checklist ( #285 )' ( #294 ) from fix/issue-285 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 10:39:01 +00:00
Claude
5b1a3b2091
fix: feat: gardener should enrich bug-report issues with context, reproduction plan, and verification checklist ( #285 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 10:35:01 +00:00
8cdf92bd9d
Merge pull request 'fix: chore: remove dead lib files — profile.sh, tea-helpers.sh, file-action-issue.sh, parse-deps.sh, CODEBERG_* exports ( #283 )' ( #293 ) from fix/issue-283 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 10:29:01 +00:00
Agent
20778d3f06
fix: chore: remove dead lib files — profile.sh, file-action-issue.sh, CODEBERG_* exports ( #283 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-06 10:24:18 +00:00
6a05d8881b
Merge pull request 'fix: fix: duplicated label ID lookup — ensure_blocked_label_id vs _ilc_ensure_label_id ( #282 )' ( #292 ) from fix/issue-282 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 10:09:02 +00:00
Claude
7dbd6c2352
fix: fix: duplicated label ID lookup — ensure_blocked_label_id vs _ilc_ensure_label_id ( #282 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Remove ensure_blocked_label_id() from ci-helpers.sh; _ilc_ensure_label_id()
in issue-lifecycle.sh is the canonical, general implementation. Update the
stale comment that referenced the removed function.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 10:05:04 +00:00
5cf058b04b
Merge pull request 'fix: fix: gardener-run.sh uses manual worktree setup instead of formula_worktree_setup() ( #281 )' ( #290 ) from fix/issue-281 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 10:04:02 +00:00
29e8cb0969
Merge pull request 'fix: fix: agent identity resolution copy-pasted 5 times — use resolve_agent_identity() ( #280 )' ( #291 ) from fix/issue-280 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 09:59:02 +00:00
Claude
dd678737c7
fix: fix: agent identity resolution copy-pasted 5 times — use resolve_agent_identity() ( #280 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 09:55:07 +00:00
Agent
a7eb051996
fix: fix: gardener-run.sh uses manual worktree setup instead of formula_worktree_setup() ( #281 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 09:54:53 +00:00
c2ed7955e0
Merge pull request 'fix: fix: duplicated memory guard — memory_guard() in env.sh vs check_memory() in formula-session.sh ( #279 )' ( #289 ) from fix/issue-279 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 09:49:01 +00:00
Agent
e7b11b22da
fix: fix: duplicated memory guard — memory_guard() in env.sh vs check_memory() in formula-session.sh ( #279 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Remove check_memory() from lib/formula-session.sh and update all *-run.sh scripts
to use memory_guard() from lib/env.sh.
Changes:
- lib/formula-session.sh: Removed check_memory() function and its documentation
- gardener/gardener-run.sh: Replaced check_memory(2000) with memory_guard(2000)
- planner/planner-run.sh: Replaced check_memory(2000) with memory_guard(2000)
- architect/architect-run.sh: Replaced check_memory(2000) with memory_guard(2000)
- predictor/predictor-run.sh: Replaced check_memory(2000) with memory_guard(2000)
- supervisor/supervisor-run.sh: Replaced check_memory(2000) with memory_guard(2000)
Benefits:
- Only one memory check function exists now
- All agents use the same function
- No dependency on free command - uses /proc/meminfo which is more portable
2026-04-06 09:40:36 +00:00
8ad6e16829
Merge pull request 'fix: fix: agent_run swallows all Claude failures silently via || true ( #277 )' ( #286 ) from fix/issue-277 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 09:34:01 +00:00
94d5467ffe
Merge pull request 'fix: fix: cron agents (gardener, planner, architect, predictor) never set FORGE_REMOTE ( #278 )' ( #287 ) from fix/issue-278 into main
ci/woodpecker/push/ci Pipeline failed
2026-04-06 09:32:03 +00:00
Agent
0098695644
fix: fix: cron agents (gardener, planner, architect, predictor) never set FORGE_REMOTE ( #278 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-06 09:26:18 +00:00
Claude
26fa11efff
fix: fix: agent_run swallows all Claude failures silently via || true ( #277 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Capture exit code from claude invocations instead of suppressing with || true.
Log timeout (rc=124) and non-zero exits distinctly. Skip nudge when output is
empty (claude crashed or failed). Log empty output as a clear diagnostic message.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 09:24:47 +00:00
b23bb9f695
Merge pull request 'fix: feat: add triage workflow labels (needs-triage, reproduced, cannot-reproduce) to disinto init ( #268 )' ( #276 ) from fix/issue-268 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 08:34:01 +00:00
Agent
a97474d3f2
fix: feat: add triage workflow labels (needs-triage, reproduced, cannot-reproduce) to disinto init ( #268 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-06 08:29:46 +00:00
a12346fe93
Merge pull request 'fix: fix: disinto init fails on re-run — admin token name collision ( #266 )' ( #274 ) from fix/issue-266 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 08:29:01 +00:00
b5e97b106c
Merge pull request 'fix: fix: disinto init change-password triggers must_change_password despite --must-change-password=false ( #267 )' ( #273 ) from fix/issue-267 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 08:24:02 +00:00
Claude
580de95f9e
fix: fix: disinto init fails on re-run — admin token name collision ( #266 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Delete any existing token with the same name before creating a fresh one,
so that sha1 is always returned by the create response. The list API does
not return sha1 (Forgejo redacts it for security), making the old fallback
unreliable.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 08:19:58 +00:00
Agent
20de8e5d3a
fix: fix: disinto init change-password triggers must_change_password despite --must-change-password=false ( #267 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-06 08:19:54 +00:00
f04a57e6db
Merge pull request 'fix: fix: disinto init can produce duplicate keys in projects/*.toml ( #269 )' ( #272 ) from fix/issue-269 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 08:09:01 +00:00
Claude
1cb7e4b8aa
fix: fix: disinto init can produce duplicate keys in projects/*.toml ( #269 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
Export actual_ops_slug from setup_ops_repo via _ACTUAL_OPS_SLUG global,
then update ops_repo in the TOML in-place using Python re.sub after TOML
creation or detection. Falls back to inserting after the repo line if the
key is missing. This prevents duplicate TOML keys on repeated init runs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 08:00:55 +00:00
784a1ca1d5
Merge pull request 'fix: feat: extend edge container with Playwright and docker compose for bug reproduction ( #256 )' ( #271 ) from fix/issue-256 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 07:51:40 +00:00
Claude
300f335179
fix: feat: extend edge container with Playwright and docker compose for bug reproduction ( #256 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 07:45:14 +00:00
ca3459ec61
Merge pull request 'fix: feat: stack lock protocol for singleton project stack access ( #255 )' ( #270 ) from fix/issue-255 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-06 07:13:48 +00:00
Claude
bf2842eff8
fix: feat: stack lock protocol for singleton project stack access ( #255 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Fix python3 -c injection: pass lock_file as sys.argv[1] instead of
interpolating it inside the double-quoted -c string. Removes the
single-quote escape risk when project names contain special chars.
Also drop the misleading "atomic" comment on the tmp+mv write.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 07:09:26 +00:00
Claude
a5d3f238bf
fix: feat: stack lock protocol for singleton project stack access ( #255 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Replace grep+sed pipeline in get_fns with pure awk — eliminates
remaining BusyBox grep/sed cross-platform issues causing ci_fix_reset
to be missed from function name extraction on Alpine CI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 06:57:28 +00:00
Claude
81adad21e5
fix: feat: stack lock protocol for singleton project stack access ( #255 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
Fix get_fns in agent-smoke.sh: use separate -e flags instead of ;
as sed command separator — BusyBox sed (Alpine CI) does not support
semicolons as separators within a single expression, causing function
names to retain their () suffix and never match in LIB_FUNS lookups.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 06:49:42 +00:00
Claude
1053e02f67
fix: feat: stack lock protocol for singleton project stack access ( #255 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
Add structural end-of-while-loop+case hash to ALLOWED_HASHES in
detect-duplicates.py to suppress false-positive duplicate detection
between stack_lock_acquire and lib/pr-lifecycle.sh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 06:35:44 +00:00
Claude
139f77fdf5
fix: feat: stack lock protocol for singleton project stack access ( #255 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 06:30:09 +00:00
bc7d8d1df9
Merge pull request 'fix: chore: remove dead tmux-based session code (agent-session.sh, phase-handler.sh) ( #262 )' ( #265 ) from fix/issue-262 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 22:29:01 +00:00
Agent
7ad1c63de3
fix: chore: remove dead tmux-based session code (agent-session.sh, phase-handler.sh) ( #262 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
- Delete lib/agent-session.sh (entirely dead file with no active callers)
- Delete dev/phase-handler.sh (entirely dead file with no active callers)
- Update lib/formula-session.sh to remove tmux-based functions:
- Removed: start_formula_session, run_formula_and_monitor, formula_phase_callback,
write_compact_context, remove_formula_worktree, cleanup_stale_crashed_worktrees
- Kept utility functions: acquire_cron_lock, check_memory, load_formula,
profile_write_journal, formula_prepare_profile_context, build_graph_section, etc.
- Update dev/phase-test.sh to inline read_phase() function (no longer sources agent-session.sh)
- Update documentation: AGENTS.md, lib/AGENTS.md, dev/AGENTS.md, .woodpecker/agent-smoke.sh,
docs/PHASE-PROTOCOL.md, lib/pr-lifecycle.sh
- All 38 phase tests pass
2026-04-05 22:25:53 +00:00
410a5ee948
Merge pull request 'fix: fix: disinto init must be fully idempotent — safe to re-run on existing factory ( #239 )' ( #264 ) from fix/issue-239 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 22:12:48 +00:00
Agent
a5c34a5eba
fix: address PR #264 review feedback
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
- Fix token cleanup to use bot user's Basic Auth instead of admin token
(prevents silent failures when admin token auth is rejected)
- Fix error message to reference correct variable (org_name/ops_name)
- Add idempotency test to smoke-init.sh (runs init twice)
2026-04-05 22:07:53 +00:00
Agent
979e1210b4
fix: fix: disinto init must be fully idempotent — safe to re-run on existing factory ( #239 )
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 21:15:25 +00:00
dcf348e486
Merge pull request 'fix: fix: agent-sdk.sh agent_run has no session lock — concurrent claude -p crashes ( #261 )' ( #263 ) from fix/issue-261 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 20:59:01 +00:00
Agent
4b47ca3c46
fix: fix: agent-sdk.sh agent_run has no session lock — concurrent claude -p crashes ( #261 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 20:53:09 +00:00
fa0e5afd79
Merge pull request 'fix: feat: disinto init should create bug-report label on Forgejo ( #253 )' ( #259 ) from fix/issue-253 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 20:29:02 +00:00
Claude
2381a24eaa
fix: feat: disinto init should create bug-report label on Forgejo ( #253 )
...
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-05 20:24:41 +00:00
e3e809cd3b
Merge pull request 'fix: feat: gardener should label issues as bug-report when they describe user-facing bugs with repro steps ( #252 )' ( #257 ) from fix/issue-252 into main
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 20:14:02 +00:00
Claude
bd7a4d6d03
fix: feat: gardener should label issues as bug-report when they describe user-facing bugs with repro steps ( #252 )
...
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-05 20:10:18 +00:00