Commit graph

1188 commits

Author SHA1 Message Date
Agent
59b10e27de fix: feat: add triage workflow labels (needs-triage, reproduced, cannot-reproduce) to disinto init (#268) 2026-04-06 18:26:30 +00:00
Claude
44b645ee00 fix: fix: disinto init fails on re-run — admin token name collision (#266)
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 18:26:30 +00:00
Agent
cff90e927d fix: fix: disinto init change-password triggers must_change_password despite --must-change-password=false (#267) 2026-04-06 18:26:30 +00:00
Claude
5faa86956b fix: fix: disinto init can produce duplicate keys in projects/*.toml (#269)
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 18:26:30 +00:00
Claude
de7a1d3bc6 fix: feat: extend edge container with Playwright and docker compose for bug reproduction (#256)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 18:26:30 +00:00
Claude
bf2842eff8 fix: feat: stack lock protocol for singleton project stack access (#255)
All checks were successful
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)
All checks were successful
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)
Some checks failed
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)
Some checks failed
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)
Some checks failed
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
All checks were successful
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)
All checks were successful
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
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 22:12:48 +00:00
Agent
a5c34a5eba fix: address PR #264 review feedback
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 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)
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 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
All checks were successful
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)
All checks were successful
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
All checks were successful
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)
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-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
All checks were successful
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)
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-05 20:10:18 +00:00
e72168abee Merge pull request 'fix: feat: add bug report issue template with required reproduction steps (#251)' (#254) from fix/issue-251 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 19:44:06 +00:00
Agent
fc937d6904 fix: fix copy_issue_templates glob to target issue/* instead of /*
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 19:37:52 +00:00
Agent
d1fc528707 fix: resolve shellcheck warnings (SC2034, SC2069, SC2155)
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 19:30:17 +00:00
Agent
0883b1a5eb fix: feat: add bug report issue template with required reproduction steps (#251)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline failed
ci/woodpecker/pr/smoke-init Pipeline was successful
2026-04-05 19:21:27 +00:00
6d1b464bbd Merge pull request 'fix: fix: dev-poll abandons fresh PRs — stale branch check fails on unfetched refs (#248)' (#250) from fix/issue-248 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 18:54:34 +00:00
Agent
05022740ac fix: fix: dev-poll abandons fresh PRs — stale branch check fails on unfetched refs (#248)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 18:50:09 +00:00
1dce91664f Merge pull request 'chore: gardener housekeeping' (#246) from chore/gardener-20260405-1804 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 18:24:27 +00:00
4a94370215 Merge pull request 'fix: fix: setup_ops_repo should create ops repo under disinto-admin, not the authenticated bot (#240)' (#247) from fix/issue-240 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 18:19:24 +00:00
Claude
8cbfbf102b fix: correct stale in-progress recovery doc — adds blocked not backlog
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 18:14:07 +00:00
Claude
67d66b3e7a fix: setup_ops_repo should create ops repo under disinto-admin, not the authenticated bot (#240)
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
- Replace POST /api/v1/users/{owner}/repos fallback with admin API
  POST /api/v1/admin/users/{org_name}/repos, which creates in the target
  namespace regardless of which user is authenticated
- Fix ops_slug derivation in disinto_init to always use disinto-admin
  as owner instead of deriving from forge_repo (which may be johba/...)
- Update projects/disinto.toml.example ops_repo default to disinto-admin/disinto-ops
2026-04-05 18:07:47 +00:00
Claude
3351bf06f0 chore: gardener housekeeping 2026-04-05
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 18:04:54 +00:00
a8f13e1ac3 Merge pull request 'fix: fix: hire-an-agent branch protection fails — race condition after initial push (#238)' (#245) from fix/issue-238 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 17:54:17 +00:00
Agent
cbfbfef0bb fix: fix: hire-an-agent branch protection fails — race condition after initial push (#238)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 17:50:58 +00:00
6327f4d4d5 Merge pull request 'fix: fix: hire-an-agent does not generate or store FORGE_<AGENT>_TOKEN for new users (#237)' (#244) from fix/issue-237 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 17:48:27 +00:00
Agent
8f193eb40b fix: fix: hire-an-agent does not generate or store FORGE_<AGENT>_TOKEN for new users (#237)
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:42:16 +00:00
076f6655df Merge pull request 'fix: fix: remove hardcoded 'johba' references — use dynamic project config instead (#241)' (#243) from fix/issue-241 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 17:29:11 +00:00
Agent
e4acd032f0 fix: export FORGE_REPO_OWNER from load-project.sh (#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:25:23 +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
bbc8ec8031 Merge pull request 'fix: fix: remove supervisor from agents container cron — cannot run without Docker access (#231)' (#233) from fix/issue-231 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 16:19:00 +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
562c6ad0bf Merge pull request 'fix: fix: lib/env.sh crashes with USER unbound variable in agent container (#229)' (#230) from fix/issue-229 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 16:03:57 +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
d191b54482 Merge pull request 'fix: feat: create prediction workflow labels during disinto init (#225)' (#228) from fix/issue-225 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 15:43:53 +00:00
Agent
7f67153431 fix: feat: create prediction workflow labels during disinto init (#225)
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 15:40:04 +00:00
d61d112cbf Merge pull request 'fix: fix: dev-poll does not recover stale in-progress issues — pipeline stays blocked (#224)' (#227) from fix/issue-224 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 15:33:51 +00:00
Agent
a2bfe1aa82 fix: fix: dev-poll does not recover stale in-progress issues — pipeline stays blocked (#224)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 15:29:25 +00:00
e887663d8c Merge pull request 'fix: fix: architect-run.sh missing .profile integration — no lessons, no journal (#222)' (#226) from fix/issue-222 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 15:23:25 +00:00
Agent
38050bc2c3 fix: fix: architect-run.sh missing .profile integration — no lessons, no journal (#222)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-04-05 15:17:15 +00:00
f425bfa72e Merge pull request 'fix: fix: agent_run nudges unnecessarily when worktree is clean and no push expected (#219)' (#223) from fix/issue-219 into main
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 14:58:45 +00:00