Skip to content

Execute, validate and finish

After the fan-out, each member has its own sub-roadmap. Execution, validation and finish are all driven from the workspace.

Commands in Codex

In Codex, swap the prefix for $ — e.g. /n45$n45.

Advance execution

Run /n45 (the hub) or /n45-next and choose to advance execution:

/n45-next

N45 advances each member through its own current phase, in parallel. Members don't move in lockstep — each has its own phases and its own pace. You repeat this step until every member has finished its roadmap.

flowchart LR
    Next([/n45-next]) --> A[frontend
advances its phase] Next --> B[api
advances its phase] A --> Check{All
done?} B --> Check Check -->|not yet| Next Check -->|yes| Validate([Unified validation])

Each task goes through the same rigor as Project mode — an executor and a reviewer per task, in the member's worktree. What changes is that the work happens in each member repository, coordinated from the workspace.

Unified validation

When all members are done, the feature is ready for validation:

/n45
# → choose "Validate (unified)"

Validation brings the services up together and checks that they really talk to each other — the CONTRACT seam working end to end, not just each service in isolation. If anything needs a fix, N45 corrects it in the member that must change and you re-validate.

Coordinated finish

Once validation is approved, the finish is coordinated across all members:

/n45
# → choose "Finish (coordinated)"
  • Each member closes its own roadmap: CHANGELOG (with a new version), an update of the service's documents, a retrospective, and a merge or PR into the member's protected branch.
  • The workspace archives the feature and does a merge or PR of its own coordination branch.

You choose between Merge or Pull Request and the target protected branch of each repository. Each service versions independently (api and frontend have their own versions).

A branch per feature

When you plan, the feature gets its own branch in each repository and in the workspace. During execution the feature lives on that branch — switching to the protected branch hides the work in progress, as in any feature-branch flow.

Cancel

If you decide not to go through with the feature, the hub offers to cancel — it discards the feature's branches (in the workspace and the members), preserving any merge already done.

See also