Artifact 29f592ce199c9d000971e4b7acda1d1dd9529ef349bad21366f0bd681bfa5d50:
- File
cli/repo_cone.go
-
2026-10-22 17:36:26
— part of check-in
[c11b3055fb]
on branch feat/horizon-cones
— feat(horizon): deepen as a verb, discarding the seed for the old C
Section 5.8 makes deepen the universal remedy of the draft: name a C' that is an ancestor of C and synchronize at it. sync.Deepen finds C' as zit's deepenPoint does, the target itself when it is C's ancestor, else a common ancestor over the P cards the store holds or asked of the origin with the merge-base query; it refuses rather than move C off its own ancestry when none can be established. Repo.DeepenHorizon and 'repo cone deepen' expose it, and the crossing diagnostic now names that command.
Moving a structural horizon through FetchCone now discards the held seed before the transfer, so the request offers none and the seed for C, applied at a later date, cannot shadow propagation from the seed for C'. A transfer that fails puts the old cone and seed back, as zit's deepen does: a store left structural without a seed derives no branch state for K. (user: [email protected], size: 13391) [annotate] [blame] [check-ins using]
-
2026-10-22 19:51:28
— part of check-in
[19d7db48d4]
on branch feat/horizon-cones
— Merge branch 'wip/horizon-step6' into feat/horizon-cones
Appendix A step 6: the merge-base query (pragma horizon-mergebase), deepen (Repo.DeepenHorizon, repo cone deepen), merges and bisect that refuse or deepen across the horizon (ErrBelowHorizon, Checkout.MergeContext), the origin's push-time check of a branch cancellation, seed verification by deepening (Repo.VerifySeed, repo verify --seed), and symbolic names below the horizon resolving. Interoperates with zit at 9bf7ebfe0f. (user: [email protected], size: 13391) [annotate] [blame] [check-ins using]
-
2026-10-22 17:36:26
— part of check-in
[c11b3055fb]
on branch feat/horizon-cones
— feat(horizon): deepen as a verb, discarding the seed for the old C