iceboundrock / iceboundrock/AutoForge

Wire in or remove decide_next_phase (dead transition logic)

Open
#2 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
Avg merge
8h 56m
Merged PRs (30d)
40

Description

Follow-up from PR #1 review round 1, observation O1.

decide_next_phase in src/autoforge/transitions.py is never called by the engine — the live phase decisions are made in engine._verify_and_apply. README states "Transition logic lives only in transitions.py", so there are now two sources of truth that already diverge:

  • decide_next_phase has no REVIEW -> REVIEW stale-review edge
  • its MERGE handling differs from the engine's

Resolution options

  1. Make _verify_and_apply call decide_next_phase (single decision function, engine only verifies + applies), or
  2. Delete decide_next_phase and its tests, and fix the README wording.

Option 1 is preferred so that validate_transition + decision logic remain centrally testable per AGENTS.md ("Keep transition rules centralized and testable").

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read AGENTS.md, then compare src/autoforge/transitions.py with engine._verify_and_apply, focusing on the differing REVIEW and MERGE behavior. Run the existing transition tests before changing anything. Done means there is one authoritative, tested transition decision path and the README accurately describes it.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.