Handbook
Forge SDLC branching charge pack
This pack turns branching adoption into Forge-native daily Charges: copy one charge at a time into forge/charge.md (or run it as a focused session) and execute the Sparks in order.
Canonical location (blueprints): this folder — sdlc/methodologies/forge/setup/charge-plans/branching/.
Consuming repo: copy or symlink the folder to forge/charge-plans/branching/ so paths match the workflow below.
Non-negotiable: do not create charge/* Git branches. Charge is the daily selection layer. It may point at product/*, iter/*, spark/*, spike/*, release/*, or hotfix/*, but it is never itself a branch name.
Policy baseline: Git branching and commit conventions (Forge).
Product Spark (parent context)
| Field | Value |
|---|---|
| ID | PS-BRANCH-01 |
| Name | Forge-native branching orchestration |
| Outcome | A branching policy aligned with Forge planning objects (Ore, Ingot, Spark, iteration, Assay), plus a Branch Steward workflow so Cursor performs just-in-time Git actions without treating Charge as a branch. |
Iteration plan
F1 — Profile and policy
Goal: Freeze the setup profile that drives branch behavior, map Forge objects to Git, and define promotion rules.
| Charge | File |
|---|---|
| 01 | Charge — F1 / setup profile and branching baseline |
| 02 | Charge — F1 / Forge-to-Git mapping and exceptions |
| 03 | Charge — F1 / promotion, parent integration, and protected flow |
Suggested checkpoints
- Architecture lens on repo topology and submodule or polyrepo impact.
- Governance lens on protected branches and release promotion rules.
F2 — Branch Steward and automation
Goal: Define the Branch Steward contract, Cursor behavior, and optional helper scripts or tasklets.
| Charge | File |
|---|---|
| 04 | Charge — F2 / Branch Steward contract and decision tree |
| 05 | Charge — F2 / Cursor rule and Git action scaffolding |
| 06 | Charge — F2 / multi-repo, banking, and hotfix flows |
Suggested checkpoints
- Engineering lens on command safety and branch naming.
- DevOps lens on CI coupling, PR gates, and merge automation.
F3 — Verification and rollout
Goal: Exercise the branching model across setup profiles and prepare adoption evidence.
| Charge | File |
|---|---|
| 07 | Charge — F3 / scenario verification across setup profiles |
| 08 | Charge — F3 / rollout, migration, and Assay preparation |
Suggested checkpoints
- Product or PM lens on rollout clarity.
- Governance lens on final release evidence and migration path.
Default assumptions
Use these unless the project already decided otherwise:
| Dimension | Default |
|---|---|
| Team size | Small team (2–5) |
| Product stage | MVP |
| Iteration length | 1 week |
| Ceremony weight | Standard |
| CI/CD maturity | Standard |
| AI comfort | Advanced |
| Repo topology | Single repo until proven otherwise |
Profile switches
Solo plus PoC
- Collapse Charges 01–03 into one shorter pass.
- Skip the Product Spark parent branch unless the repo is risky or long-running.
- Keep most work on the iteration branch.
- Use dedicated
spark/*branches only for riskybuild:orverify:work.
Team or multi-team
- Run all eight charges.
- Enable Product Spark parent branch when work spans multiple iterations, teams, or repos.
- Require PR-based promotion into
iter/*, then fromiter/*into parent ormain(as documented in charge 03).
Polyrepo or submodule-based
- Run Optional exploration spikes for the branching initiative first, especially the topology spike.
- Mirror Product Spark and iteration branch names across touched repos.
- Treat manifest or submodule pin updates as explicit Forge Sparks, not implicit side effects.
CI/CD basic or none
- Keep human review explicit.
- Replace automated merge assumptions with manual checklists and Ember Log evidence.
CI/CD advanced
- Add branch protection, required checks, and release gating during Charges 03, 05, and 08.
How to use in Cursor
- Keep this folder at
forge/charge-plans/branching/in the consuming repo (copy from blueprints or submodule path). - Copy one charge file body into
forge/charge.mdas the day’s Spark list, or work the charge as a checklist alongside Charge. - Paste Cursor preamble for the ForgeSDLC branching charges into the first Cursor message for the session.
- Work active Sparks in order; update statuses and Ember Log / journal as your team defines.
- When a Spark is blocked, use Banking (see Charge template) instead of inventing a new branch type.
File list
| File | Purpose |
|---|---|
| Forge SDLC branching charge pack | This pack overview |
| Cursor preamble for the ForgeSDLC branching charges | Session opener for Cursor |
| Optional exploration spikes for the branching initiative | Run only when genuine unknowns remain |
| Charge — F1 / setup profile and branching baseline | F1 — profile |
| Charge — F1 / Forge-to-Git mapping and exceptions | F1 — mapping |
| Charge — F1 / promotion, parent integration, and protected flow | F1 — promotion |
| Charge — F2 / Branch Steward contract and decision tree | F2 — steward |
| Charge — F2 / Cursor rule and Git action scaffolding | F2 — Cursor + git |
| Charge — F2 / multi-repo, banking, and hotfix flows | F2 — multi-repo |
| Charge — F3 / scenario verification across setup profiles | F3 — scenarios |
| Charge — F3 / rollout, migration, and Assay preparation | F3 — rollout |