Skip to content

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

Merged
alexsiri7 merged 2 commits intomainfrom
feat/pr-create-no-draft-default
Apr 19, 2026
Merged

feat: open PRs as ready by default + pr-maintenance draft promotion#1
alexsiri7 merged 2 commits intomainfrom
feat/pr-create-no-draft-default

Conversation

@alexsiri7
Copy link
Copy Markdown
Owner

Summary

  • Removes --draft from all three unconditional gh pr create invocations in archon workflow YAMLs so new PRs open ready-for-review.
  • Commits the in-tree scripts/pr-maintenance-cron.sh additions: Phase 0 promotes CLEAN draft PRs to ready, and stderr on gh pr merge is now surfaced to the cron log.

Together these close the "green draft sitting idle" failure mode — new PRs default to ready so pr-maintenance Phase 1 can merge them immediately, and the Phase 0 promoter handles any legacy/external drafts.

Files changed

  • .archon/workflows/defaults/archon-fix-github-issue.yaml — drop --draft from step 6
  • .archon/workflows/defaults/archon-piv-loop.yaml — drop --draft from PR-create instruction
  • .archon/workflows/defaults/archon-ralph-dag.yaml — drop --draft from Phase 6 PR-create instruction
  • scripts/pr-maintenance-cron.sh — Phase 0 draft-promotion + 2>&1 error surfacing on merge

Test plan

  • CI green on this PR (meta-test: this PR itself opens ready, not draft)
  • Next archon workflow run opens PR without --draft
  • pr-maintenance cron promotes any lingering CLEAN drafts on next tick

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

alexsiri7 and others added 2 commits April 17, 2026 23:24
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>
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>
@alexsiri7 alexsiri7 merged commit a58637b into main Apr 19, 2026
@alexsiri7 alexsiri7 deleted the feat/pr-create-no-draft-default branch April 19, 2026 08:39
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>

* scripts: remove pr-maintenance-cron (moved to interstellarai.net)

This script was never archon-specific — it was a cron wrapper that
invokes archon workflows. It's been moved to
alexsiri7/interstellarai.net:ops/cron/pr-maintenance-cron.sh where
the rest of the pipeline cron scripts live, in PR coleam00#12 there.

The old copy here also sourced a now-dead gt/mayor lib path, so
removing it also clears a latent bug.

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

---------

Co-authored-by: Rasmus Widing <rasmus.widing@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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