Skip to content

Releases: wlfghdr/agentic-dev

v0.5.0

Choose a tag to compare

@WulfAI WulfAI released this 14 Oct 00:03
adbb99e

Automated daily release for wlfghdr/agentic-dev as v0.5.0.

Version taken from the version repository contract.

[0.5.0] — 2026-10-14

Releases v0.3.0–v0.4.2 were tagged by the daily release job without matching
VERSION/CHANGELOG updates; their changes are included in this section.

Added

  • Review round cap — review.sh keeps a per-PR ledger of reviewed head SHAs (state/review-rounds/). A head is reviewed at most once (also enforced in detect.py), and a needs-fix verdict after limits.max_review_rounds (default 3) hands the PR back to the human as blocked instead of starting another engineer↔review round. Previously one PR could burn 100+ reviews and 70+ fix runs.

  • Failed release evaluations count for the day — release.sh records deterministic version-contract failures (exit 3–6) in its daily state, so detect.py stops re-dispatching the same failing release every ~20 minutes.

  • No-progress fix handoff — an engineer fix iteration that pushes no new commit now labels the PR blocked and hands it to the human instead of clearing changes-requested, which re-reviewed the same revision and looped.

  • CLI cooldowns in cli_dispatch.sh — usage-limit, login, and missing-binary failures park the CLI (honoring "try again at …" reset times), parked CLIs are skipped in chains, and tick.sh no longer dispatches engineer/review work while the whole chain is parked. Previously every queued item re-ran its full failing chain every 20 minutes.

  • Worktree GC (gc_worktrees.sh) — removes worktrees and agent branches of closed issues and merged/closed PRs every 6 hours.

  • Workflow labels reference in README.md — documented the full label model the loop coordinates through (do-not-work, blocked, in-progress, needs-review, changes-requested, approved), separating the two human control points from agent-managed state, and how the three review verdicts (merge-ready / needs-fix / blocked) map onto labels. The do-not-work and blocked control points were previously only discoverable in detect.py source.

Changed

  • Cheaper detection — detect.py uses one open-PR listing per repository instead of per-detector listings, per-PR gh pr view, and per-issue search API calls; negative release checks are cached for an hour; history snapshots are written only when detected work changes.
  • Tick logs — idle ticks no longer create a log file per minute; logs/ is pruned after 14 days.

Fixed

  • Reviews bound to immutable PR revisions in scripts/review.sh and scripts/merge.sh — the reviewed head and base commits are captured once, used for checkout, metadata, and diff evidence, and revalidated at the approval and merge boundaries together with CI, mergeability, PR state, and human stop labels. Formal reviews are now submitted pinned to the reviewed commit, and approved is rolled back when publication or eligibility fails. Previously a review could approve or merge a revision it never inspected if the PR moved mid-review.

  • agy default invocation — --print takes the prompt as its value, so the built-in definition now passes the prompt as the final argument with a 60-minute print timeout.

  • Review verdict / dispatch wording consistency in README.md — the flow diagram now lists all three review verdicts (merge-ready / needs-fix / blocked); the third (blocked) was implemented in review.sh but missing from the docs. Also standardized "spawns" → "dispatches" so the README matches the "dispatch" vocabulary used throughout the scripts.

  • Default deployment path consistency in install.sh — the default TRIAGE_DIR now resolves to /srv/agentic-dev, matching the in-repo script defaults (tick.sh, review.sh, merge.sh), the systemd unit ExecStart, the sed substitution token, the README, and install.sh's own header comments. Previously the installer relocated to a brand-specific /srv/wulfai/triage, which contradicted every other reference and leaked a vendor name into a vendor-neutral default. Override with the TRIAGE_DIR environment variable as before.

v0.4.2

Choose a tag to compare

@WulfAI WulfAI released this 16 Sep 21:02
1ddf060

Automated daily release for wlfghdr/agentic-dev.

Semver bump: patch.

Changes:

  • Merge pull request #33 from wlfghdr/agentic-dev/issue-28 (1ddf060)
  • Merge pull request #32 from wlfghdr/agentic-dev/issue-29 (47b4712)
  • fix: preserve safe issue handoffs (21b083c)
  • fix(release): address review feedback (806203e)
  • fix: preserve closing issue repository handoffs (de7b61f)
  • fix(release): enforce repository version contracts (d84eec4)

v0.4.1

Choose a tag to compare

@WulfAI WulfAI released this 15 Sep 22:45
6741e39

Automated daily release for wlfghdr/agentic-dev.

Semver bump: patch.

Changes:

  • fix: make agent loop reproducible end to end (#31) (6741e39)

v0.4.0

Choose a tag to compare

@WulfAI WulfAI released this 15 Aug 22:24
2b868c0

Automated daily release for wlfghdr/agentic-dev.

Semver bump: minor.

Changes:

  • Merge pull request #24 from wlfghdr/fix/triage-runtime-paths (2b868c0)
  • Merge pull request #21 from wlfghdr/dependabot/github_actions/actions/setup-python-7 (d653874)
  • chore: ignore python bytecode artifacts (d996cde)
  • fix: resolve merge conflict in validate.yml - include all test steps (f3a9f00)
  • merge: resolve conflicts with origin/main (5196e94)
  • Merge pull request #26 from wlfghdr/agentic-dev/issue-25 (ee419ba)
  • fix: make GitHub release creation idempotent (1163550)
  • fix: fail detection on github api errors (8dd789b)
  • fix: hand off red dependabot PRs (5889ad7)
  • fix: drop locks for skipped dependabot PRs (c60993c)
  • fix: block dependabot workflow-scope merge failures (d7c5359)
  • fix: accept dependabot app author in merge worker (870014d)
  • fix: require boolean maintenance config flags (d518b6a)
  • fix: ignore draft releases for release baseline (a2689b2)
  • fix: enforce maintenance kill switches in workers (c736869)
  • docs: document maintenance safety controls (71734ee)
  • fix: fail closed when dependabot config is missing (0b3d9e4)
  • fix: fallback when cli native binary is missing (27b491e)
  • fix: derive release bumps from merge commit bodies (72ab557)
  • fix: validate release base version (386e4eb)
  • fix: require per-repo release maintenance opt-in (ea47382)
  • fix: require successful ci before dependabot merge (2a5695c)
  • fix: make maintenance opt-in and align release baseline (54835f8)
  • fix: require explicit maintenance opt-in (159fbfe)
  • feat: add deterministic dependabot and release maintenance (5954cc6)
  • ci: bump actions/setup-python from 6 to 7 (20a6780)

v0.3.0

Choose a tag to compare

@WulfAI WulfAI released this 21 Jul 22:57
94ce4dd

Automated daily release for wlfghdr/agentic-dev.

Semver bump: minor.

Changes:

  • Merge pull request #22 from wlfghdr/agentic-dev/issue-19 (94ce4dd)
  • fix: pin production triage workspace roots (0482b0d)
  • Merge pull request #20 from wlfghdr/fix/triage-runtime-paths (6360faa)
  • fix: preserve systemd quoted path values (92be4f9)
  • fix: require exact review verdicts (f1902e7)
  • fix: scope systemd path escaping (b329c54)
  • fix: handle invalid review verdict output (4e7904d)
  • fix: handle runtime path and credit edge cases (82bd3fa)
  • fix: refresh review checkouts from PR head (29a86a7)
  • test: avoid eval in install rendering coverage (7042541)
  • fix: quote rendered systemd environment paths (787ed82)
  • test: cover triage install template rendering (8f79776)
  • fix: parameterize triage runtime paths (180a013)
  • fix: narrow CLI authentication fallback detection (9f8bab5)
  • fix: align triage runtime dispatch configuration (b21fe49)
  • Merge pull request #18 from wlfghdr/dependabot/github_actions/actions/checkout-7 (0bedbe6)
  • ci: bump actions/checkout from 6 to 7 (dccb191)
  • Merge pull request #17 from wlfghdr/claude/great-bardeen-p9tb6y (153cc84)
  • fix: align install path and document workflow labels/verdicts (2bb40ea)
  • ci: bump actions/checkout from 4 to 6 (#16) (e1ffcf9)
  • ci: bump actions/setup-python from 5 to 6 (#15) (b0b4e43)
  • chore: unify repository governance and templates (25b9e0d)
  • chore(release): cut 0.2.0 — document macOS/python3.8 fixes and CI/visual updates (0ca076d)
  • fix: support macOS local testing, Python 3.8 compatibility, and install.sh substitutions (#14) (be60bbc)
  • ci: add validate workflow to execute regression tests (9062d66)
  • chore: implement TOML parser fallback and zsh/bash 3.2 compatibility, add scroll-reveal to index.html (82f2577)
  • ci: add tag-triggered release workflow (suite-consistent) (15e1aa8)
  • chore: add LICENSE/VERSION/CHANGELOG, fix placeholder links, align suite cross-references (b5d536e)
  • Merge pull request #12 from wlfghdr/agentic-dev/issue-5 (e9b60aa)
  • feat: support configurable agent CLI dispatch (079642b)
  • Merge pull request #11 from wlfghdr/fix/dispatch-paths-9-unbound (8c907c2)
  • fix: Remove unbound variables from systemd-run call in tick.sh (f491c5f)
  • Merge pull request #10 from wlfghdr/fix/dispatch-paths-9 (14fd65d)
  • fix: Forward TRIAGE paths to transient systemd-run dispatchers (ccda447)
  • Merge pull request #8 from wlfghdr/wlfg-agent/fix-scripts-install-paths (854a57d)
  • fix: dynamically substitute paths in scripts during install (fb1ec97)
  • Merge pull request #7 from wlfghdr/wlfg-agent/fix-install-paths (0861a63)
  • fix: support dynamic path substitutions in install.sh (4115deb)
  • Merge pull request #1 from wlfghdr/wlfg-agent/issue-78 (775585c)
  • fix: remove unallowed global local keyword declarations in review.sh and engineer.sh (50fa5e9)
  • fix: implement lock backoff on failure, reduce TTL to 2h, and warn on stale lock reaping (7f4f5ea)
  • fix missing review comments via robust awk extraction and use gh pr review, and request review from human + assign originating issues on handover (0e09e5f)
  • generalize triage loop, translate comments to english, and add documentation (54ceb12)
  • feat: generalize triage loop, extract configs and CLI chain to triage.toml (d6c3e5a)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 23:29

Added

  • TOML parser fallback (scripts/parse_toml.py) — pure Python parser fallback to support environments without tomllib (like macOS Python 3.9).
  • CI validation (.github/workflows/validate.yml) — runs regression tests automatically on push and pull requests.
  • Scroll reveal in index.html — added smooth scroll animations to the landing page.

Fixed

  • Python 3.8 compatibility in scripts/cli_dispatch.sh — replaced dict union operator | with .copy() + .update() to prevent TypeError crashes on older environments.
  • macOS compatibility in scripts/tick.sh — added get_lock_mtime to portably handle stat differences between Linux and macOS, and added a graceful fallback when flock is not installed.
  • Path substitutions in install.sh — updated default deployment directory to /srv/wulfai/triage and enabled compilation of path substitutions inside systemd drop-in configuration files.
  • Zsh/Bash 3.2 compatibility in scripts — converted mapfile calls to portable while read loops to support macOS default shell settings.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 22:34

First versioned release of the deterministic engineering triage loop.

Added

  • Deterministic triage scanner (scripts/detect.py) — scans watched repos for assigned issues, PRs needing review, and PRs falling behind. No LLM calls during detection.
  • Orchestrator tick (scripts/tick.sh) — lock acquisition, concurrency limits, and dispatch to transient systemd-run units for parallel execution.
  • Shared CLI-chain dispatch (scripts/cli_dispatch.sh) — configurable multi-agent fallback chains (codex, claude, kiro, agy, plus custom [cli_tools.NAME] entries) with stdin/arg prompt modes (#5, #9, #10, #11).
  • Engineer / review / merge runners (scripts/engineer.sh, scripts/review.sh, scripts/merge.sh) — worktree isolation, reviewer verdicts, and opt-in automerge.
  • Systemd units (systemd/) — 60-second near-realtime timer, service, and dispatch drop-in override.
  • Log rotation (logrotate/agentic-triage) and install.sh for VPS installation.
  • Regression tests (tests/test_cli_dispatch.sh).
  • Release automation — new .github/workflows/release.yml: pushing a v* tag creates the matching GitHub release with notes extracted from the changelog. Same workflow ships across agentic-enterprise, agentic-kb, and agentic-dev for a consistent suite release process.
  • LICENSE (Apache-2.0), VERSION, and this changelog.
  • Website (index.html) — GitHub Pages one-pager positioning agentic-dev as the execution layer of the agentic-* suite, with cross-references to agentic-enterprise and agentic-kb.