You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture.md
+24-24Lines changed: 24 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,40 +129,40 @@ Session is intentionally outside RFC 002’s normative emitted contract. It cons
129
129
130
130
For current package behavior, see [Execution context (Reference)][execution-ref] and [Execution context (Explanation)][execution-expl].
131
131
132
-
## Current implementation shape
132
+
## Package implementation shape
133
133
134
-
The package currently uses the following implementation shape:
134
+
The package uses the following implementation shape:
135
135
136
136
- author-facing carrier types live in [mod.incn](../src/dataset/mod.incn)
137
137
- canonical relational operator helpers live in [ops.incn](../src/dataset/ops.incn)
138
138
- Substrait emission lives under [substrait/](../src/substrait/)
139
139
- Prism internals live under [prism/](../src/prism/)
140
-
-`LazyFrame[T]`currently routes through a backend-native `PrismCursor[T]`
141
-
-`DataFrame[T]` and `DataStream[T]`are not yet fully converged on the same internal backing model as `LazyFrame[T]`
140
+
-`LazyFrame[T]` routes through a backend-native `PrismCursor[T]`
141
+
-`DataFrame[T]` and `DataStream[T]`keep their carrier-specific backing shapes while sharing the public dataset surface
142
142
143
-
This is enough to explain the package architecture while keeping current API behavior in language docs and follow-on gaps in RFCs, issues, and release notes.
143
+
This keeps package architecture in this document while detailed API behavior lives in language docs and future surface expansion stays in RFCs, issues, and release notes.
|`src/substrait/conformance.incn`| Typed conformance facade over catalog + validators |
161
+
|`src/substrait/schema.incn`| Model/schema to Substrait type bridging |
162
+
|`tests/`| Package tests run through `incan test`|
163
+
|`docs/language/`| Current package docs |
164
+
|`docs/rfcs/`| Normative RFC series |
165
+
|`docs/release_notes/`| Release-facing notes |
166
166
167
167
Normative behavior lives in the RFC series first. Current package behavior and usage belong in the language docs. If code and RFCs disagree, treat that as a bug or transition state to resolve explicitly.
`DataStream[T]` shares the same operation API as batch carriers, but signals that its source is unbounded. Static streaming constraints are specified in RFC 001 and enforced as the compiler gains analysis for `UnboundedDataSet[T]`.
@@ -122,9 +122,9 @@ Current relational authoring is explicit and builder-based. That is deliberate:
Copy file name to clipboardExpand all lines: docs/language/explanation/execution_context.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,36 +52,36 @@ This is the boundary where deferred relational work becomes local data in hand.
52
52
53
53
Some convenience APIs are nicer when they do not force the session parameter through every call site. `lazy.collect()` is one of those cases.
54
54
55
-
That convenience still needs a real execution context underneath, so it resolves through the active session at call time.
55
+
That convenience needs a real execution context underneath, so it resolves through the active session at call time.
56
56
57
57
-`session.activate()` sets the current active session
58
58
-`lazy.collect()` uses that active session
59
59
60
60
If there is no active session, the convenience API fails clearly instead of pretending execution context can be ambient without definition.
61
61
62
-
## Writing is still Session-owned
62
+
## Writing is Session-owned
63
63
64
64
`session.write_csv(...)` and `session.write_parquet(...)` remain explicit Session methods because writing is not just a carrier concern. It requires binding, execution, and sink ownership.
@@ -98,14 +98,14 @@ This pattern is intentionally simple:
98
98
99
99
For the exact method surface, see [Dataset methods (Reference)](../reference/dataset_methods.md).
100
100
101
-
## Current limitation
101
+
## Materialized carrier shape
102
102
103
-
`DataFrame[T]` is already the materialized carrier, but its row-level user API is still intentionally narrow. The important current semantic distinction is already in place:
103
+
`DataFrame[T]` is the materialized carrier. The important semantic distinction is:
104
104
105
105
-`LazyFrame[T]` = deferred
106
106
-`DataFrame[T]` = local materialized
107
107
108
-
Today that materialized carrier exposes structured collection metadata first:
108
+
The materialized carrier exposes structured collection metadata:
0 commit comments