Commit graph

664 commits

Author SHA1 Message Date
openhands
a66bd91721 fix: Replace Codeberg dependency with local Forgejo instance (#611)
- Add setup_forge() to bin/disinto: provisions Forgejo via Docker,
  creates admin + bot users (dev-bot, review-bot), generates API
  tokens, creates repo, and pushes code — all automated
- Rename env vars: CODEBERG_TOKEN→FORGE_TOKEN, REVIEW_BOT_TOKEN→
  FORGE_REVIEW_TOKEN, CODEBERG_REPO→FORGE_REPO, CODEBERG_API→
  FORGE_API, CODEBERG_WEB→FORGE_WEB, CODEBERG_BOT_USERNAMES→
  FORGE_BOT_USERNAMES (with backwards-compat fallbacks)
- Rename API helpers: codeberg_api()→forge_api(), codeberg_api_all()
  →forge_api_all() (with compat aliases)
- Add forge_url field to project TOML; load-project.sh derives
  FORGE_API/FORGE_WEB from forge_url + repo
- Update parse_repo_slug() to accept any host URL, not just codeberg
- Forgejo data stored under ~/.disinto/forgejo/ (not in factory repo)
- Update all 58 files: agent scripts, formulas, docs, site HTML

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:57:12 +00:00
johba
39d30faf45 Merge pull request 'fix: feat: predictor v3 — abstract adversary with explore/exploit and formula dispatch (#609)' (#610) from fix/issue-609 into main 2026-03-23 16:34:03 +01:00
openhands
14e1c9ecde fix: feat: predictor v3 — abstract adversary with explore/exploit and formula dispatch (#609)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:56:59 +00:00
johba
537a4ae567 Merge pull request 'chore: gardener housekeeping' (#606) from chore/gardener-20260323-1247 into main 2026-03-23 13:59:02 +01:00
johba
979f872a68 Merge pull request 'fix: fix: increase planner constraint budget from 3 to 5 issues per run (#607)' (#608) from fix/issue-607 into main 2026-03-23 13:54:02 +01:00
openhands
6d3294823e fix: increase planner constraint budget from 3 to 5 issues per run (#607)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:50:28 +00:00
openhands
0775514bf8 chore: gardener housekeeping 2026-03-23 2026-03-23 12:47:32 +00:00
johba
6b27ae3692 Merge pull request 'fix: fix: gardener must enrich issue body when promoting to backlog — add acceptance criteria + affected files (#598)' (#605) from fix/issue-598 into main 2026-03-23 13:44:02 +01:00
openhands
1522fa698c fix: gardener must enrich issue body when promoting to backlog — add acceptance criteria + affected files (#598)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:32:36 +00:00
johba
eb7e24cb1d Merge pull request 'chore: gardener housekeeping 2026-03-23' (#603) from chore/gardener-20260323-1208 into main 2026-03-23 13:28:38 +01:00
johba
64b0412e41 Merge pull request 'fix: feat: planner reads issue comments to detect bounced/stuck work — delegates spec-out to formula (#595)' (#604) from fix/issue-595 into main 2026-03-23 13:24:03 +01:00
openhands
9f0a81145b fix: feat: planner reads issue comments to detect bounced/stuck work — delegates spec-out to formula (#595)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 12:16:33 +00:00
openhands
38f4b385cc chore: gardener housekeeping 2026-03-23
- Update all AGENTS.md watermarks to f6fb79d (current HEAD)
- lib/AGENTS.md: document nudge behavior in agent-session.sh stop hook
- pending-actions.json: enrich #598 body + promote to backlog
2026-03-23 12:08:26 +00:00
johba
1c909e58b3 Merge pull request 'fix: feat: predictor re-evaluates prediction/backlog issues — evolve stale watches into targeted warnings (#588)' (#602) from fix/issue-588 into main 2026-03-23 12:59:02 +01:00
openhands
a225b05070 fix: feat: predictor re-evaluates prediction/backlog issues — evolve stale watches into targeted warnings (#588)
Add a re-evaluate-backlog step to the predictor formula between
collect-signals and analyze-and-predict. For each open prediction/backlog
issue, the predictor now reads the original context and planner comments,
extracts the assumptions that made it "watch, don't act", and re-checks
those conditions against current system state.

Three outcomes:
- CONDITIONS_CHANGED → file new prediction/unreviewed, close old as superseded
- STALE (30+ days, conditions stable) → close as prediction/actioned
- UNCHANGED_RECENT → skip (existing behavior)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 11:51:43 +00:00
johba
f6fb79d94b Merge pull request 'fix: fix: parse-deps.sh inline regex matches every line — awk /pattern/i flag is invalid (#600)' (#601) from fix/issue-600 into main 2026-03-23 12:19:02 +01:00
openhands
c7d7ee9cfb fix: parse-deps.sh inline regex matches every line — awk /pattern/i flag is invalid (#600)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 10:59:47 +00:00
johba
c1110e5e48 Merge pull request 'fix: fix: stop hook should nudge Claude when PHASE file is empty — prevents silent exit without PHASE:done (#585)' (#599) from fix/issue-585 into main 2026-03-23 11:14:02 +01:00
openhands
742b64e743 fix: stop hook should nudge Claude when PHASE file is empty — prevents silent exit without PHASE:done (#585)
When Claude finishes a response but hasn't written to the PHASE file,
the stop hook now injects a nudge into the tmux session instead of just
marking idle. This gives Claude another chance to complete the phase
protocol before the monitor loop times out.

Key changes:
- on-idle-stop.sh: check phase file emptiness, nudge via tmux (max 2)
- agent-session.sh: pass phase_file + session to stop hook, clean up
  nudge counter on session teardown

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:56:49 +00:00
johba
c316d2a3b6 Merge pull request 'fix: monitor_phase_loop docstring lists 'break' as a possible _MONITOR_LOOP_EXIT value but it is never set (#435)' (#597) from fix/issue-435 into main 2026-03-23 10:49:02 +01:00
openhands
b769eaa182 fix: monitor_phase_loop docstring lists 'break' as a possible _MONITOR_LOOP_EXIT value but it is never set (#435)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:39:48 +00:00
johba
4b9f12fdf7 Merge pull request 'fix: Unnecessary SC2034 suppression on REPO_ROOT in review-poll.sh (#433)' (#596) from fix/issue-433 into main 2026-03-23 10:34:02 +01:00
openhands
e42a49285f fix: Unnecessary SC2034 suppression on REPO_ROOT in review-poll.sh (#433)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:19:56 +00:00
johba
8382d245fb Merge pull request 'fix: P4 sweep uses ${PROJECT_NAME} without fallback, unlike proj_name (#429)' (#594) from fix/issue-429 into main 2026-03-23 10:14:02 +01:00
openhands
7627aef1c0 fix: P4 sweep uses ${PROJECT_NAME} without fallback, unlike proj_name (#429)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:10:24 +00:00
johba
a490ac7183 Merge pull request 'fix: Hook scripts don't follow #!/usr/bin/env bash convention from AGENTS.md (#330)' (#593) from fix/issue-330 into main 2026-03-23 10:08:28 +01:00
openhands
0e5f4607c7 chore: retrigger CI 2026-03-23 09:01:57 +00:00
openhands
0be64bdf31 fix: Hook scripts don't follow #!/usr/bin/env bash convention from AGENTS.md (#330)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:59:56 +00:00
johba
cc813e84d0 Merge pull request 'fix: Clarify 'Watch it work' CTA link label (#311)' (#592) from fix/issue-311 into main 2026-03-23 09:54:02 +01:00
openhands
2719b975b1 fix: Clarify 'Watch it work' CTA link label (#311)
Rename the CTA link from 'Watch it work' to 'See active issues' so
visitors know the link leads to the issue tracker, not a demo or live view.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:49:57 +00:00
johba
cd1524013d Merge pull request 'fix: Deduplicate .example h2 / .section h2 CSS (#310)' (#591) from fix/issue-310 into main 2026-03-23 09:44:04 +01:00
openhands
bca5330e72 fix: Deduplicate .example h2 / .section h2 CSS (#310)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:40:16 +00:00
johba
dcfdd6fc9b Merge pull request 'fix: Duplicate read_phase definition in phase-test.sh (#179)' (#590) from fix/issue-179 into main 2026-03-23 09:34:05 +01:00
openhands
13f62390a7 fix: Duplicate read_phase definition in phase-test.sh (#179)
Source the canonical read_phase() from lib/agent-session.sh instead of
maintaining a local copy that could drift.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:30:13 +00:00
johba
a7cd2bbf5b Merge pull request 'fix: BACKLOG_NUMS array in supervisor-poll.sh is never queried (#110)' (#589) from fix/issue-110 into main 2026-03-23 09:24:02 +01:00
openhands
fbe645a305 fix: BACKLOG_NUMS array in supervisor-poll.sh is never queried (#110)
The BACKLOG_NUMS associative array was built to track which issue numbers
are in the backlog, but the DFS cycle-detection code used NODE_COLOR as
a membership guard instead. This meant deps pointing to non-backlog issues
were only skipped by coincidence (they weren't in NODE_COLOR either).

Three changes:
- Remove SC2034 suppression since BACKLOG_NUMS is now actually queried
- Initialize NODE_COLOR from BACKLOG_NUMS keys (all backlog issues) instead
  of DEPS_OF keys (only issues with dependencies), so every backlog issue
  gets a proper DFS color
- Replace the NODE_COLOR membership check with BACKLOG_NUMS in the DFS, so
  the guard explicitly asks "is this dep a backlog issue?" rather than
  relying on NODE_COLOR initialization as a proxy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:16:13 +00:00
johba
6744429fe1 Merge pull request 'fix: al76.png (3MB) at repo root is now unused (#93)' (#587) from fix/issue-93 into main 2026-03-23 09:09:02 +01:00
openhands
3fa4aff520 ci: retrigger — pipeline #935 flaky failure unrelated to change
Pipeline #936 (same commit) passed all steps. #935 agent-smoke
failed intermittently on BusyBox awk function resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 08:01:43 +00:00
openhands
2212f62aab fix: al76.png (3MB) at repo root is now unused (#93)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 07:54:55 +00:00
johba
86b1e6e341 Merge pull request 'fix: investigate: PreToolUse guard blocks do_merge() in dev-agent — every disinto PR escalates on merge (#568)' (#586) from fix/issue-568 into main 2026-03-23 08:49:02 +01:00
openhands
06cddb456d fix: investigate: PreToolUse guard blocks do_merge() in dev-agent — every disinto PR escalates on merge (#568)
Root cause: two code paths injected merge curl commands into Claude's
session (review-poll.sh APPROVE injection and dev-agent.sh prompt
instructions). The PreToolUse guard correctly blocked these, causing
Claude to write PHASE:escalate instead of merging.

The bash phase handler already handles merging via do_merge() — which
runs outside Claude tool use and is not subject to the guard. Remove
the merge/close curl instructions from both Claude-facing prompts so
the bash orchestrator handles merges as intended.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 07:24:04 +00:00
johba
a2549f62e7 Merge pull request 'chore: planner run 2026-03-23 — prerequisite tree update' (#584) from chore/planner-20260323-0706 into main 2026-03-23 08:14:02 +01:00
openhands
ff0a04bd64 chore: planner run 2026-03-23 2026-03-23 07:06:47 +00:00
johba
60f0674ec8 Merge pull request 'chore: gardener housekeeping' (#579) from chore/gardener-20260323-0603 into main 2026-03-23 07:12:48 +01:00
openhands
d8cf0a39bc fix: restore closing --> on AGENTS.md watermark HTML comments
The sed watermark-update pattern stripped the closing --> from 9 of 10
AGENTS.md files, making entire file bodies invisible in rendered markdown.
Fix by appending --> to the affected lines.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 06:09:19 +00:00
openhands
30cc5688bd chore: gardener housekeeping 2026-03-23
- Update AGENTS.md watermarks to current HEAD (9ec0c02)
- lib/AGENTS.md: document parse-deps.sh inline scan now skips fenced
  code blocks to prevent false positives from code examples in issue bodies
- No blocked issues to review
- Pending actions: none

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 06:03:14 +00:00
johba
9ec0c02210 Merge pull request 'fix: fix: parse-deps.sh false positive — inline scan should skip fenced code blocks (#574)' (#578) from fix/issue-574 into main 2026-03-23 03:39:02 +01:00
openhands
2bda20f207 fix: rename awk variable to avoid CI smoke test false positive
The agent-smoke function resolution check flags underscore-containing
identifiers as potential undefined bash functions. Rename in_code to
incode to match the convention used by the existing capture variable.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 02:26:49 +00:00
openhands
1cca1a7b7f fix: parse-deps.sh false positive — inline scan should skip fenced code blocks (#574)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 02:25:21 +00:00
johba
618404dc93 Merge pull request 'chore: gardener housekeeping' (#577) from chore/gardener-20260323-0030 into main 2026-03-23 02:09:02 +01:00