From fa3166c494b5578ce9151ce4e7662919f7a7eb38 Mon Sep 17 00:00:00 2001 From: Youssef Aitousarrah Date: Wed, 8 Apr 2026 07:45:03 -0700 Subject: [PATCH] docs(iteration-system): switch to rolling PR strategy At most one open PR per skill at any time. Daily runs push onto the existing branch and update the PR description. Merging resets the cycle. Prevents PR accumulation from unreviewed automated runs. Co-Authored-By: Claude Sonnet 4.6 --- .../2026-04-07-iteration-system-design.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/superpowers/specs/2026-04-07-iteration-system-design.md b/docs/superpowers/specs/2026-04-07-iteration-system-design.md index af644df2..2e1350f8 100644 --- a/docs/superpowers/specs/2026-04-07-iteration-system-design.md +++ b/docs/superpowers/specs/2026-04-07-iteration-system-design.md @@ -122,17 +122,16 @@ Each file in `scanners/`, `strategies/`, and `pipeline/` follows this structure: - In automated mode: implements without confirmation gate - In manual mode: presents diff for approval before writing -6. **Commit + PR** - - Creates branch `iterate/YYYY-MM-DD` - - Commits learning files and code changes together: - `learn(iterate): ` - - Opens PR against `main` with a summary of what changed and why +6. **Commit + rolling PR** + - Checks for an existing open PR with branch prefix `iterate/current` + - If one exists: pushes new commits onto that branch, updates PR description with the latest findings appended + - If none exists: creates branch `iterate/current`, opens a new PR against `main` + - Commit message format: `learn(iterate): ` - In manual mode: commits directly to current branch (no PR unless on `main`) + - On merge: next run automatically opens a fresh PR ### Output -Per automated run: one PR containing both: -- `docs/iterations/` — updated knowledge files -- `tradingagents/` — code changes that encode the knowledge +At most one open `iterate/current` PR at any time. It accumulates daily learnings until merged. Merging resets the cycle. Human reviews PR, merges or closes. No code reaches `main` unreviewed. @@ -185,13 +184,14 @@ No topic given. Skill drives its own research agenda based on current weak spots - Saves findings to `docs/iterations/research/YYYY-MM-DD-.md` for all findings - Adds entries to `LEARNINGS.md` -6. **Implement and open PR** +6. **Implement and rolling PR** - In automated mode: implements the top-ranked finding automatically (score threshold: data availability = present, evidence quality ≥ qualitative, complexity ≤ moderate) - In manual directed mode: presents ranked findings, implements user-selected one - - Creates branch `research/YYYY-MM-DD-` - - Implements scanner following `@SCANNER_REGISTRY.register()` pattern + - Checks for an existing open PR with branch prefix `research/current` + - If one exists: pushes new commits onto that branch, updates PR description with new findings appended + - If none exists: creates branch `research/current`, opens a new PR against `main` - Commits: `research(): add scanner — ` - - Opens PR against `main` with research findings summary and implementation notes + - On merge: next run automatically opens a fresh PR ### Safety threshold for autonomous implementation Only auto-implement if ALL of: