Iter Iter

Automatic Feature Branches

Every feature request gets its own git branch, automatic commits at each pipeline phase, and safe rebase-and-merge when the review passes. Zero manual git commands.

Git branches, commits, and working tree

How it works

1

Branch creation

When orchestration starts, Iter creates a feature branch from main. Branch names follow the pattern feat/req-001-add-user-auth, derived from the request description.

2

Phase-based commits

Changes are committed at each pipeline phase - after execution, after review pass, and after each fix cycle. Commit messages include request ID, run ID, and phase metadata.

3

Safe merge

When the review returns PASS, Iter rebases the feature branch onto main and fast-forward merges. This guarantees a clean, linear commit history with no merge commits.

4

Conflict handling

If rebase detects conflicts, the merge is aborted and the feature branch is preserved intact. The request is marked with conflict status so you can resolve manually.

Branch lifecycle

bash
# Iter handles all of this automatically:

 Request: "Add user authentication to API"
├─ git checkout -b feat/req-001-add-user-authentication
├─ [execution phase]
│  └─ git commit "iter: Add user authentication [execution]"
├─ [review phase → PASS]
│  └─ git commit "iter: Add user authentication [review-pass]"
├─ git rebase main
├─ git checkout main
└─ git merge --ff-only feat/req-001-add-user-authentication

Configuration

Settings

  • git.enabled Enable/disable git integration
  • branch_per_request One branch per feature request
  • merge_on_complete Auto-merge when review passes
  • auto_commit Commit at each pipeline phase
  • branch_prefix Branch name prefix (default: feat/)

Fail-safe design

  • Git failures never halt the pipeline
  • All operations are logged as structured events
  • Conflicts preserve work on the feature branch
  • Repo is lazy-initialized if not present
  • Re-runs reuse existing branches automatically

Clean git history, automatically