Artifact 9dd2547cd125e0dd08098ca05f89e45667c90d842536fbb3616304f4343fba96:
- File
internal/manifest/rederive.go
-
2026-10-22 14:33:04
— part of check-in
[45fb2c7ed4]
on branch feat/horizon-cones
— feat(horizon): mint, hold and apply the structural-horizon seed
A structural-horizon clone lacks C's ancestry, so tag propagation has nowhere to start: every check-in in K would derive no branch, and closed markers and names set below C would vanish. The seed of draft-fossil-horizon-00 Section 5.2 restates the dense tag state at each entry of K so the unmodified derivation comes out exact.
internal/horizon/seed mints it at an origin (T cards per row in force at C and each check-in of K whose primary parent is outside K; D the latest summarized event rounded up to a whole second; U the origin's login), and holds it at a clone in a table of its own, outside the artifact store, so nothing that enumerates or serves artifacts can send it. It is applied when held, by Rebuild, and by seed.Apply, which the sync layer calls after each round. Replacing or discarding a seed re-derives the store, since only a re-derivation separates the old seed's rows from those real artifacts wrote. A Verifier hook carries the Section 5.2.4 provenance policy; no signing is implemented.
The crosslink-table clearing moves from verify into manifest.Rederive so Rebuild and the seed share one owner of re-derivation. The cards match zit's seed byte for byte in T and U, and each implementation derives from the other's seed what it derives from its own. (user: [email protected], size: 2099) [annotate] [blame] [check-ins using]
-
2026-10-22 15:26:36
— part of check-in
[12dcbdeed6]
on branch feat/horizon-cones
— Merge branch 'wip/horizon-seed' into feat/horizon-cones
The structural horizon's seed (draft-fossil-horizon-00 ยง5.2): an origin mints a control artifact carrying the tags in force at every entry of the held set, a clone holds it outside the artifact store where no sync, clone or rebuild can reach it, and the derivation applies it so every check-in in K derives as it does densely. Byte-identical to zit's seed when the latest summarized event is on a whole second. Conflicts in the horizon suite and table kept both sides; the seed's zit test now probes for a horizon-capable zit like the other horizon interop tests. (user: [email protected], size: 2099) [annotate] [blame] [check-ins using]
-
2026-10-22 14:33:04
— part of check-in
[45fb2c7ed4]
on branch feat/horizon-cones
— feat(horizon): mint, hold and apply the structural-horizon seed