Skip to content

Commit d328380

Browse files
authored
Merge pull request #32 from IntentFile/site/expansion-master-delete
docs(glue): an expansion's rows do not outlive their master
2 parents dce658e + 1706551 commit d328380

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

‎docs/spec/glue.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,18 @@ expansions:
507507

508508
A span change replaces the generated child set — never mix hand-entered rows into an expanded child.
509509

510+
::: info Normative
511+
Deleting the master removes the rows the expansion generated for it. Only rows selected by the
512+
expansion's own back-reference are removed, and each is removed through the child's layer, so the
513+
child's delete event fires for every row and anything reacting to a deleted child reacts exactly as
514+
it would for a hand-deleted one. The removal is idempotent.
515+
:::
516+
517+
The generated rows are the expansion's, not the author's, and that is what settles the question:
518+
without this rule they would be the one part of a deleted record that survives it — still pointing at
519+
an id that no longer resolves, still counted by every roll-up, report and balance that counted them
520+
while the record existed.
521+
510522
## generates — create-from
511523

512524
One-click "create a document from this document":

0 commit comments

Comments
 (0)