Skip to content

Commit ad04912

Browse files
docs(design): default direction to "down" for expand and restrict
1 parent 3867163 commit ad04912

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

DESIGN-expand-restrict.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,10 @@ accumulating reachable rows by **union** (a table is reached if reachable via an
9090
path). 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
113113
the 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**;
121121
tables 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

Comments
 (0)