Skip to content

GIT COMPLETION LAW

Binding authority: Engineering-Standard/rules/git-completion-contract.md (ES-GITCC). Remotes use git@gitlab-bluefly:blueflyio/... — never [email protected]:.

Work on disk is not done. A commit is not done. A pushed branch is not done. An open MR is not done. A green MR is not done.

VALID_COMPLETED_WORK + UNCOMMITTED    = FAILURE
VALID_COMPLETED_WORK + UNPUSHED       = FAILURE
VALID_COMPLETED_WORK + NO_MR          = FAILURE
GREEN_MERGEABLE_MR + NOT_MERGED       = FAILURE
MERGED_MR + ABANDONED_WORKTREE        = CLEANUP_FAILURE

If you modified tracked source and the change is valid: COMMIT IT. If you committed valid work: PUSH IT. If you pushed a feature branch: OPEN OR UPDATE AN MR TO release/v0.1.x. If the MR is green, approved, conflict-free, and acceptance criteria pass: MERGE IT.

Normal flow: feature/fix/chore → release/v0.1.x → main only through governed promotion. Never feature → main. Never main → release/v0.1.x.

If policy or permissions prevent merge:

BLOCKED_BY=MERGE_PERMISSION_OR_OPERATOR_GATE
and do not claim completion.

Session exit gate (all must be true, or continue):

UNCOMMITTED_VALID_WORK=0
UNPUSHED_COMMITS=0
PUSHED_BRANCH_WITHOUT_MR=0
GREEN_MERGEABLE_MR_LEFT_UNMERGED=0
MERGED_WORKTREE_LEFT_BEHIND=0

Before loss of session capacity: commit → push → update MR → update bead/handoff.

Worktrees: git worktree add [CITY-ROOT]/.gc/worktrees/<task> origin/release/v0.1.x Never pass shortcut paths to git worktree add/remove/prune. Use trash, never rm. Never git clean, git reset --hard, or git stash to hide unresolved work.