Skip to content

integration: tip clean prunes subsumed tips#1258

Open
ed-irl wants to merge 4 commits into
ed-irl/integration-stack-submitfrom
ed-irl/integration-tip-clean
Open

integration: tip clean prunes subsumed tips#1258
ed-irl wants to merge 4 commits into
ed-irl/integration-stack-submitfrom
ed-irl/integration-tip-clean

Conversation

@ed-irl

@ed-irl ed-irl commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

integration: tip clean prunes subsumed tips

When two configured tips lie on the same stack, merging the lower
one into the integration branch produces no content that the higher
tip's merge doesn't already produce. Keeping both wastes a merge
per rebuild and inflates the resolver-prompt surface for no benefit.

Add 'gs integration tip clean' (alias 'prune') that walks each tip's
upstack looking for another configured tip. When one is found, the
lower tip is subsumed: remove it and log which tip subsumes it.
With 'low -> middle -> high' all configured, the prune cascades:
'low' is reported as subsumed by 'middle' (the nearest tip up the
stack), and 'middle' as subsumed by 'high'. Both come out and only
'high' is left.

A clean run with nothing to prune reports 'No subsumed tips to
prune' instead of being silent.

The new command is layered at the CLI: it reads tips via the
existing Show, computes subsumption against the branch graph, and
removes via RemoveTip. The integration handler interface stays
unchanged.

integration-tip-clean: Regenerate derived files

@ed-irl

ed-irl commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator Author

@ed-irl ed-irl force-pushed the ed-irl/integration-stack-submit branch from b49c605 to 84bfc7a Compare June 13, 2026 13:40
@ed-irl ed-irl force-pushed the ed-irl/integration-tip-clean branch from 55fe46e to f1d3ea6 Compare June 13, 2026 13:41
@ed-irl ed-irl force-pushed the ed-irl/integration-stack-submit branch from 84bfc7a to 40efc83 Compare June 15, 2026 09:54
@ed-irl ed-irl force-pushed the ed-irl/integration-tip-clean branch from f1d3ea6 to e59ef3a Compare June 15, 2026 09:54
ed-irl and others added 3 commits June 23, 2026 11:43
When two configured tips lie on the same stack, merging the lower
one into the integration branch produces no content that the higher
tip's merge doesn't already produce. Keeping both wastes a merge
per rebuild and inflates the resolver-prompt surface for no benefit.

Add 'gs integration tip clean' (alias 'prune') that walks each tip's
upstack looking for another configured tip. When one is found, the
lower tip is subsumed: remove it and log which tip subsumes it.
With 'low -> middle -> high' all configured, the prune cascades:
'low' is reported as subsumed by 'middle' (the nearest tip up the
stack), and 'middle' as subsumed by 'high'. Both come out and only
'high' is left.

A clean run with nothing to prune reports 'No subsumed tips to
prune' instead of being silent.

The new command is layered at the CLI: it reads tips via the
existing Show, computes subsumption against the branch graph, and
removes via RemoveTip. The integration handler interface stays
unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant