@@ -90,10 +90,10 @@ accumulating reachable rows by **union** (a table is reached if reachable via an
9090path). Directional:
9191
9292```
93- Diagram.expand(seed, direction="down" | "up" | "both")
93+ Diagram.expand(seed, direction="down" | "up" | "both") # default "down"
9494```
9595
96- - ` direction="down" ` — descendants: the ** delete blast radius** .
96+ - ` direction="down" ` (default) — descendants: the ** delete blast radius** .
9797- ` direction="up" ` — ancestors: the ** valid query sources** a ` make() ` may read
9898 under the reproducibility contract.
9999- ` direction="both" ` — a referentially-consistent ** export region** around the
@@ -113,10 +113,10 @@ An **instance method** on any Diagram (including one built by `expand`). Carves
113113the diagram down by applying conditions, accumulating by ** intersection** :
114114
115115```
116- diagram.restrict(*conditions, direction="down" | "up" | "both")
116+ diagram.restrict(*conditions, direction="down" | "up" | "both") # default "down"
117117```
118118
119- Each condition propagates by R1 (in the chosen direction) and R2. The result:
119+ Each condition propagates by R1 (in the chosen direction, default ` "down" ` ) and R2. The result:
120120** every table is restricted by the conjunction of all conditions that reach it** ;
121121tables that go empty drop out. Properties:
122122
@@ -161,9 +161,10 @@ group). `cascade`/`trace` survive as named shortcuts.
161161
162162## Open / follow-ups
163163
164- - ** ` restrict ` direction default and the both-way carve** — confirm whether a
165- condition on a descendant should also trim ancestors to those still referenced
166- (` direction="both" ` ) for a fully-consistent export slice; pick the default.
164+ - ** ` restrict ` direction default** — resolved: default is ` direction="down" ` (for
165+ both ` expand ` and ` restrict ` ), matching ` cascade ` . A both-way carve (a
166+ descendant condition also trimming ancestors for a fully-consistent export
167+ slice) remains available via ` direction="both" ` but is opt-in.
167168- ** A3 / #1481 ** — ` direction="up" ` applies R2, so ` trace ` descends from an
168169 ancestor master into its parts (reproducibility-contract grounds). This flips
169170 the currently-pinned ` test_trace_stops_at_master_no_part_down_collection ` ;
0 commit comments