Change #Lineage.joinSchema
from _
(top) to open struct with version
#16
Labels
invariants
Involves the definition or enforcement of a key system invariant
Milestone
#Lineage.joinSchema
defines the join/least upper bound that must be maintained by all schemas in a lineage. Currently, it starts as top,_
:thema/lineage.cue
Lines 11 to 24 in b7b4330
This isn't great:
themaVersion
field complicated, since we can't universally assume all schemas are a struct at base (could be scalar or list)I'm sure i want it to be an open struct,
{...}
. i was worried about open/closedness here, but after some poking on the playground, i think we can make the shift without forcing any decisions on openness, which is great - that's a can of worms.I don't see an immediate reason why this change would be anything other than changing just the one line - i'm mostly writing this issue up for posterity and as a place to dump that link to the playground. (also have it in a gist)
The text was updated successfully, but these errors were encountered: