Tack
Concepts

Merge Queue

Tiered conflict resolution and dependency-aware merging.

How Merging Works

When a stream completes and passes quality gates, it enters the merge queue. The merge processor integrates stream branches into the base branch.

Merges are cumulative — stream 1 merges first, then stream 2 merges on top of the result.

Tiered Conflict Resolution

TierStrategyWhen
1Clean mergeNo conflicts
2Auto-resolve (favor incoming)Textual conflicts in isolated file scopes
3AI merge (planned)Semantic conflicts
4Human escalationAll else fails

Dependency Ordering

Streams with dependencies are merged in order. Stream 2 won't merge until stream 1 is merged if it depends on it.

Post-Merge Quality Gates

After each merge, quality gates run against the merged result. If gates fail, the merge is reverted and the stream is marked as failed with an opportunity to retry.

Retry

Failed or conflicted merges can be retried:

tack merge                      # View merge queue
tack merge retry <entry-id>     # Retry a failed merge

Partial Completion

When some streams fail to merge, Tack marks the objective as partial. Successfully merged streams are preserved. You can retry failed streams or accept the partial result.

On this page