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
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.