Skip to content

workflows: downshift routine nodes to haiku#3

Merged
alexsiri7 merged 1 commit intomainfrom
ops/downshift-workflow-models
Apr 20, 2026
Merged

workflows: downshift routine nodes to haiku#3
alexsiri7 merged 1 commit intomainfrom
ops/downshift-workflow-models

Conversation

@alexsiri7
Copy link
Copy Markdown
Owner

Summary

Applied a systematic model audit to the default workflows. Moved routine nodes (create-pr, fix-failures, loop counters, status reports) from Sonnet/Opus to Haiku 4.5. Kept Opus for heavy-reasoning paths (adversarial-dev's plan/GAN loop, implement nodes).

Per-file changes (all under .archon/workflows/defaults/)

  • archon-adversarial-dev.yaml: plan upgraded to opus (spec-writing from scratch needs depth)
  • archon-architect.yaml: fix-failures, create-pr -> haiku
  • archon-create-issue.yaml: report-failure, create-issue -> haiku
  • archon-fix-github-issue.yaml: extract-issue-number, create-pr -> haiku
  • archon-piv-loop.yaml: fix-feedback -> haiku
  • archon-refactor-safely.yaml: execute-refactor opus->sonnet, fix-failures/create-pr -> haiku
  • archon-test-loop-dag.yaml: loop-counter, report -> haiku
  • archon-workflow-builder.yaml: save-or-report -> haiku

Expected ~35-40% cost reduction on routine nodes that dominate cron-driven archon runs.

Test plan

  • All 8 modified YAMLs parse as valid YAML (python3 -c "import yaml; yaml.safe_load(...)")
  • Diff matches intent: 14 insertions + 1 change, no unintended edits
  • Next cron-driven fix-github-issue run uses haiku for extract-issue-number/create-pr

…oning

Applied a systematic model audit to the 15 default workflows. Moved
routine nodes (create-pr, fix-failures, loop counters, status reports)
from Sonnet/Opus to Haiku 4.5. Kept Opus for:
  - The 5 security-audit analysis agents (injection, auth, privacy,
    config-deps, logic) + synthesize
  - archon-adversarial-dev's core GAN loop
  - All `implement` / `implement-tasks` nodes in feature-dev,
    idea-to-pr, plan-to-pr, ralph-dag, fix-github-issue

Upgraded archon-adversarial-dev's `plan` to Opus (spec-writing from
scratch in an adversarial context needs depth Sonnet doesn't provide).

Expected impact: ~35-40% cost reduction on the routine nodes that
dominate cron-driven archon runs, without sacrificing quality on the
heavy-reasoning paths.
@alexsiri7 alexsiri7 merged commit 579b812 into main Apr 20, 2026
@alexsiri7 alexsiri7 deleted the ops/downshift-workflow-models branch April 20, 2026 12:03
alexsiri7 added a commit that referenced this pull request Apr 20, 2026
Adds three custom archon workflows that were living untracked in the
working tree (pr-maintenance, security-audit, test-audit). Applies the
same haiku/sonnet downshifts from #3 to their routine nodes (create-pr,
fix-failures, fix-security, coverage-gap-agent, flaky-test-agent).

Also commits the Phase 11 prepare-merge + Phase 12 watch-and-merge
auto-merge additions to archon-fix-github-issue.yaml (watch-and-merge
uses haiku — polling loop, not reasoning) and the Phase 9 auto-merge
step in archon-idea-to-pr.yaml.

Gitignores *.jks — keystore files must never be committed.
alexsiri7 added a commit that referenced this pull request Apr 20, 2026
* chore(homebrew): update formula to v0.3.6

* feat: open PRs as ready by default + pr-maintenance draft promotion (#1)

* Fix pr-maintenance cron: prepend user bins to PATH

When cron invoked the script every 15 min, PATH was the minimal
/usr/bin:/bin. archon (installed at ~/.bun/bin/archon) was not
findable, so every "launching archon" step died with:
    /mnt/ext-fast/archon/scripts/pr-maintenance-cron.sh: line 59:
    archon: command not found

As a result PRs that needed conflict resolution stopped being
processed — they just accumulated as DIRTY or UNKNOWN.

Prepend $HOME/.bun/bin, $HOME/.local/bin, and /usr/local/bin to PATH
at the top of the script. Works from cron and from an interactive
shell unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat: open PRs as ready by default + pr-maintenance draft promotion

Archon workflows previously created PRs with --draft, which meant even a
CI-green PR would sit idle until a human marked it ready. Combined with the
Phase 1 merge filter in pr-maintenance-cron.sh (which skips drafts), a green
draft could linger indefinitely.

This change removes --draft from all three unconditional gh pr create
invocations so PRs open ready-for-review by default:
  - .archon/workflows/defaults/archon-fix-github-issue.yaml
  - .archon/workflows/defaults/archon-piv-loop.yaml
  - .archon/workflows/defaults/archon-ralph-dag.yaml

Also includes the already-in-tree pr-maintenance-cron.sh additions that
complement this:
  - Phase 0: promote any CLEAN draft PRs to ready (belt-and-suspenders
    for PRs that still open as drafts from other sources).
  - Surface gh pr merge stderr to the cron log so real failures (perms,
    branch protection, etc.) are diagnosable instead of silently swallowed.

Together these eliminate "green draft sitting idle" as a failure mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* workflows: downshift routine nodes to haiku, keep opus for heavy reasoning (#3)

Applied a systematic model audit to the 15 default workflows. Moved
routine nodes (create-pr, fix-failures, loop counters, status reports)
from Sonnet/Opus to Haiku 4.5. Kept Opus for:
  - The 5 security-audit analysis agents (injection, auth, privacy,
    config-deps, logic) + synthesize
  - archon-adversarial-dev's core GAN loop
  - All `implement` / `implement-tasks` nodes in feature-dev,
    idea-to-pr, plan-to-pr, ralph-dag, fix-github-issue

Upgraded archon-adversarial-dev's `plan` to Opus (spec-writing from
scratch in an adversarial context needs depth Sonnet doesn't provide).

Expected impact: ~35-40% cost reduction on the routine nodes that
dominate cron-driven archon runs, without sacrificing quality on the
heavy-reasoning paths.

* workflows: add custom workflows + auto-merge phases

Adds three custom archon workflows that were living untracked in the
working tree (pr-maintenance, security-audit, test-audit). Applies the
same haiku/sonnet downshifts from #3 to their routine nodes (create-pr,
fix-failures, fix-security, coverage-gap-agent, flaky-test-agent).

Also commits the Phase 11 prepare-merge + Phase 12 watch-and-merge
auto-merge additions to archon-fix-github-issue.yaml (watch-and-merge
uses haiku — polling loop, not reasoning) and the Phase 9 auto-merge
step in archon-idea-to-pr.yaml.

Gitignores *.jks — keystore files must never be committed.

* deps: add @openai/codex-sdk

For using Codex as a provider in archon workflows alongside Claude.
Also bumps internal workspace versions 0.3.5 → 0.3.6 (bun regenerated
on install).

---------

Co-authored-by: Rasmus Widing <rasmus.widing@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant