@bjornpagen/bumbledb 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -40,7 +40,7 @@ export type { ClassesOf, ClassWall, LawfulStatements, RelationClasses, SchemaCla
40
40
  export { lower, lowerClosed, lowerRelation } from "#lower.ts";
41
41
  export type { KeyFact, Minted } from "#marshal.ts";
42
42
  export type { FactValue, OccurrenceDrift, ProgramIr, Staleness, StatementKindTag } from "#native.ts";
43
- export type { Desc, SortKey } from "#order.ts";
43
+ export type { Desc, EngineOrderable, SortKey } from "#order.ts";
44
44
  export { by, desc } from "#order.ts";
45
45
  export type { AnyCond, BindingInput, Cmp, FindColumn, MatchShape, NotAtom, RecData, RuleData, Tree } from "#query/atom.ts";
46
46
  export { ALLEN, allen, and, eq, ge, gt, le, lt, ne, not, or, pointIn } from "#query/atom.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,YAAY,EACX,OAAO,EACP,YAAY,EACZ,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,SAAS,EACT,EAAE,EACF,SAAS,EACT,WAAW,EACX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACrG,YAAY,EACX,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,MAAM,YAAY,CAAA;AACnB,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,MAAM,YAAY,CAAA;AACnB,YAAY,EACX,OAAO,EACP,KAAK,EACL,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,YAAY,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACvE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EACX,SAAS,EACT,eAAe,EACf,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEpC,YAAY,EACX,OAAO,EACP,YAAY,EACZ,GAAG,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC5F,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,EACf,KAAK,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,YAAY,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,EACH,MAAM,EACN,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,YAAY,EACX,WAAW,EACX,WAAW,EACX,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,YAAY,EACX,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACnH,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,YAAY,EACZ,SAAS,EACT,aAAa,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/order.d.ts CHANGED
@@ -10,6 +10,16 @@
10
10
  * `by(...)` into one row-typed comparator. Cross-type cells cannot arise
11
11
  * within one column (one column, one domain), and the cell order is TOTAL
12
12
  * anyway (the type-rank wall), so the comparator never throws.
13
+ *
14
+ * ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
15
+ * the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
16
+ * keys) — with no column to name, the value itself is the key, there is
17
+ * nothing to fold, and the comparator IS the result. One ordering
18
+ * vocabulary, no sibling names. The identity arms are typed to EXACTLY the
19
+ * engine-orderable roster ({@link EngineOrderable}) because a bare scalar
20
+ * carries no decoded-row provenance — the type wall must carry the
21
+ * orderability law itself, where the row arm's cells arrive under their
22
+ * columns' law-typed proof.
13
23
  */
14
24
  import type { FactValue } from "#native.ts";
15
25
  /** One DESCENDING sort key, plain data — built by {@link desc}. */
@@ -19,7 +29,35 @@ interface Desc<K extends string> {
19
29
  }
20
30
  /** One sort key: a bare column name (ascending — the punning spelling) or `desc(name)`. */
21
31
  type SortKey<K extends string> = K | Desc<K>;
22
- /** Marks one sort key DESCENDING — the single descending spelling (a bare name is already ascending). */
32
+ /**
33
+ * The engine-orderable scalar roster in the SDK's representation — `bigint`
34
+ * (U64/I64) and `boolean` (false < true — the strict 0/1 encoding IS the
35
+ * order), EXACTLY as `docs/architecture/10-data-model.md` § "Orderability,
36
+ * complete" admits it (ruled 2026-07-23, R3/R4), and nothing more:
37
+ * `string` is deliberately absent (intern ids are meaningless to order — a
38
+ * typed refusal, not a gap) and `number` is not an engine scalar at all.
39
+ * The identity comparators `by()`/`desc()` constrain on this alias, so
40
+ * sorting a `string[]` or `number[]` through them is a COMPILE error naming
41
+ * this roster. ONE OWNER for scalar ordering semantics: both identity arms
42
+ * route through the same cell order the row arm uses, whose bigint and
43
+ * boolean arms mirror the engine's U64/I64/Bool order exactly — a host
44
+ * sort over these values can never disagree with an engine order judgment
45
+ * (`Lt`-family, `Min`/`Max`) over the same column.
46
+ */
47
+ type EngineOrderable = bigint | boolean;
48
+ /**
49
+ * The descending spelling — ONE name, both arities of one ordering
50
+ * vocabulary. `desc(name)` marks one sort key DESCENDING: plain data for
51
+ * {@link by} to fold (a bare name is already ascending). `desc()` — zero
52
+ * keys, the identity key (ruled 2026-07-25) — is the descending comparator
53
+ * over engine-orderable scalars themselves: a bare `bigint[]` or
54
+ * `boolean[]` has no column to name, so the value IS the key, there is
55
+ * nothing to fold, and the comparator is the result directly. The identity
56
+ * arm covers EXACTLY the {@link EngineOrderable} roster — `string` and
57
+ * `number` refuse at compile time, citing the orderability law
58
+ * (`10-data-model.md` § "Orderability, complete").
59
+ */
60
+ declare function desc(): <T extends EngineOrderable>(left: T, right: T) => number;
23
61
  declare function desc<const K extends string>(key: K): Desc<K>;
24
62
  /**
25
63
  * Folds sort keys into ONE comparator typed against the row —
@@ -29,8 +67,21 @@ declare function desc<const K extends string>(key: K): Desc<K>;
29
67
  * carries that proof here (parse-don't-validate). The generic RETURN is the
30
68
  * load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
31
69
  * array's own element type and checks the key set right there.
70
+ *
71
+ * ZERO keys is the identity key (ruled 2026-07-25): `by()` is the
72
+ * ascending comparator over engine-orderable scalars themselves —
73
+ * `ids.sort(by())` — for the bare arrays (`bigint[]`, map keys) the
74
+ * row-typed arm cannot reach because they have no column to name. One
75
+ * vocabulary, both arities. The identity arm is typed to EXACTLY the
76
+ * {@link EngineOrderable} roster: with no law-typed column standing proof
77
+ * over the values, the type wall carries the orderability law itself —
78
+ * `string` ordering is deliberately refused and `number` is not an engine
79
+ * scalar (`10-data-model.md` § "Orderability, complete"), so both refuse
80
+ * at compile time and a host sort can never disagree with an engine order
81
+ * judgment.
32
82
  */
83
+ declare function by(): <T extends EngineOrderable>(left: T, right: T) => number;
33
84
  declare function by<const K extends string>(first: SortKey<K>, ...rest: ReadonlyArray<SortKey<K>>): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number;
34
- export type { Desc, SortKey };
85
+ export type { Desc, EngineOrderable, SortKey };
35
86
  export { by, desc };
36
87
  //# sourceMappingURL=order.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,mEAAmE;AACnE,UAAU,IAAI,CAAC,CAAC,SAAS,MAAM;IAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACnB;AAED,2FAA2F;AAC3F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AA+F5C,yGAAyG;AACzG,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAGrD;AAED;;;;;;;;GAQG;AACH,iBAAS,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACjC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAgB/E;AAED,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC7B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,mEAAmE;AACnE,UAAU,IAAI,CAAC,CAAC,SAAS,MAAM;IAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACnB;AAED,2FAA2F;AAC3F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAE5C;;;;;;;;;;;;;;GAcG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,OAAO,CAAA;AA6GvC;;;;;;;;;;;GAWG;AACH,iBAAS,IAAI,IAAI,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAA;AACzE,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAStD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,EAAE,IAAI,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAA;AACvE,iBAAS,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACjC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAAA;AA0BhF,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA"}
package/dist/order.js CHANGED
@@ -10,6 +10,16 @@
10
10
  * `by(...)` into one row-typed comparator. Cross-type cells cannot arise
11
11
  * within one column (one column, one domain), and the cell order is TOTAL
12
12
  * anyway (the type-rank wall), so the comparator never throws.
13
+ *
14
+ * ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
15
+ * the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
16
+ * keys) — with no column to name, the value itself is the key, there is
17
+ * nothing to fold, and the comparator IS the result. One ordering
18
+ * vocabulary, no sibling names. The identity arms are typed to EXACTLY the
19
+ * engine-orderable roster ({@link EngineOrderable}) because a bare scalar
20
+ * carries no decoded-row provenance — the type wall must carry the
21
+ * orderability law itself, where the row arm's cells arrive under their
22
+ * columns' law-typed proof.
13
23
  */
14
24
  /**
15
25
  * The type-rank wall: boolean 0, bigint 1, string 2, bytes 3, interval 4.
@@ -100,22 +110,30 @@ function cellCmp(left, right) {
100
110
  }
101
111
  return cellRank(left) - cellRank(right);
102
112
  }
103
- /** Marks one sort key DESCENDING — the single descending spelling (a bare name is already ascending). */
113
+ /**
114
+ * The ascending identity comparator `by()` returns — one value, minted
115
+ * once (`by() === by()`), {@link cellCmp} narrowed to the engine-orderable
116
+ * roster (the one owner of the cell order).
117
+ */
118
+ function identityAscending(left, right) {
119
+ return cellCmp(left, right);
120
+ }
121
+ /** The descending identity comparator `desc()` returns — the same owner, sides flipped. */
122
+ function identityDescending(left, right) {
123
+ return cellCmp(right, left);
124
+ }
104
125
  function desc(key) {
126
+ if (key === undefined) {
127
+ return identityDescending;
128
+ }
105
129
  const marker = { key, desc: true };
106
130
  return Object.freeze(marker);
107
131
  }
108
- /**
109
- * Folds sort keys into ONE comparator typed against the row —
110
- * `Row extends Readonly<Record<K, FactValue>>` — so a key the row lacks, or
111
- * a column typed `number` (outside the cell domain), is a COMPILE error at
112
- * the `.sort` call site: the laws typed the columns, and the row type
113
- * carries that proof here (parse-don't-validate). The generic RETURN is the
114
- * load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
115
- * array's own element type and checks the key set right there.
116
- */
117
- function by(first, ...rest) {
118
- const entries = [first, ...rest].map(function normalizeKey(sortKey) {
132
+ function by(...keys) {
133
+ if (keys.length === 0) {
134
+ return identityAscending;
135
+ }
136
+ const entries = keys.map(function normalizeKey(sortKey) {
119
137
  if (typeof sortKey === "string") {
120
138
  return { key: sortKey, factor: 1 };
121
139
  }
package/dist/order.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
@@ -328,8 +328,8 @@ type AnyCond = AnyCmp | Tree<readonly AnyTreeChild[]> | AnyNotAtom | AnyNotIdbAt
328
328
  type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boolean | Uint8Array | IntervalValue;
329
329
  /** What `ne`'s right side accepts. */
330
330
  type NeRight = AnyVar | Param<string> | bigint | string | boolean | Uint8Array | IntervalValue;
331
- /** One side of an order comparison: orderable terms only (the IR's comparison rules). */
332
- type OrderSide = AnyVar | Param<string> | Duration | bigint;
331
+ /** One side of an order comparison: orderable terms only (the IR's comparison rules — bool orders, `false < true`, R3). */
332
+ type OrderSide = AnyVar | Param<string> | Duration | bigint | boolean;
333
333
  /** The point side of `pointIn`. */
334
334
  type PointSide = AnyVar | Param<string> | bigint;
335
335
  /** The interval side of `pointIn`/`allen`. */
@@ -346,7 +346,7 @@ declare function comparison<Op extends CmpKind, L, R, M>(op: Op, lhs: L, rhs: R,
346
346
  declare function eq<L extends AnyVar, const R extends EqRight>(left: L, right: R): Cmp<"eq", L, R>;
347
347
  /** Typed disequality (`ir::CmpOp::Ne`). "Not in set" has no operator — write a negated atom. */
348
348
  declare function ne<L extends AnyVar, const R extends NeRight>(left: L, right: R): Cmp<"ne", L, R>;
349
- /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings/bools. */
349
+ /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
350
350
  declare function lt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"lt", L, R>;
351
351
  /** Less-or-equal (`ir::CmpOp::Le`). */
352
352
  declare function le<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"le", L, R>;
@@ -430,22 +430,34 @@ declare function or<const C extends readonly AnyTreeChild[]>(...children: C): Tr
430
430
  declare function not<R extends MatchOwner, const B extends MatchShape<MatchFields<R>>>(relation: R, bindings: B): NotAtom<R, B>;
431
431
  declare function not<Target extends RecTarget, const B extends Readonly<Record<string, AnyVar>>>(target: Target, bindings: B): NotIdbAtom<Target, B>;
432
432
  /**
433
- * Whether a variable's OWN field is orderable (u64/i64). A CLOSED reference
433
+ * Whether a variable's OWN field is NUMERIC (u64/i64) the judgment the
434
+ * point side of `pointIn` and the `sum` input read: a point lives in the
435
+ * interval's element domain, and a quantifier is not an addition, so bool
436
+ * (orderable, never numeric) is exactly here refused. A CLOSED reference
434
437
  * is excluded even though its kind is `u64`: a vocabulary's declaration-id
435
438
  * order is an accident, not semantics (`docs/architecture/10-data-model.md`
436
439
  * § orderability), so every order-comparison and fold position refuses
437
- * closed-bound terms — this judgment is the one gate they all read, and the
438
- * construction-time validations in `#query/lower.ts` are its runtime twin.
440
+ * closed-bound terms — the construction-time validations in
441
+ * `#query/lower.ts` are that ban's runtime twin.
439
442
  */
440
- type OrderVarOk<V extends AnyVar> = V["field"] extends {
443
+ type NumericVarOk<V extends AnyVar> = V["field"] extends {
441
444
  readonly closed: ClosedRoster;
442
445
  } ? false : V["field"]["kind"] extends "u64" | "i64" ? true : false;
446
+ /**
447
+ * Whether a variable's OWN field is ORDERABLE (u64/i64/bool) — the one gate
448
+ * every order-comparison side, `min`/`max` input, and Arg key reads. Bool
449
+ * orders: `false < true`, the strict 0/1 encoding IS the order (ruled R3),
450
+ * exactly the engine's operand screen
451
+ * (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`); bool has no
452
+ * closed variant, so the closed exclusion rides in {@link NumericVarOk}.
453
+ */
454
+ type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>;
443
455
  /** Whether a variable's OWN field is interval-typed. */
444
456
  type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false;
445
457
  /** One order-comparison side's judgment (off the term's own field). */
446
458
  type OrderSideOk<T> = T extends AnyVar ? OrderVarOk<T> : T extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : true;
447
- /** One point side's judgment. */
448
- type PointSideOk<T> = T extends AnyVar ? OrderVarOk<T> : true;
459
+ /** One point side's judgment (numeric only — a point lives in the interval's element domain, never bool). */
460
+ type PointSideOk<T> = T extends AnyVar ? NumericVarOk<T> : true;
449
461
  /** One interval side's judgment. */
450
462
  type IntervalSideOk<T> = T extends AnyVar ? IntervalVarOk<T> : true;
451
463
  /** The `eq`/`ne` judgment: var-var joins by mint slot; var-literal is exact-typed by the var's own field. */
@@ -498,8 +510,16 @@ type EqParams<L, R> = L extends AnyVar ? R extends Param<infer P extends string>
498
510
  } : R extends SetParam<infer P extends string> ? {
499
511
  readonly [Q in P]: readonly Infer<L["field"]>[];
500
512
  } : never : never;
501
- /** An order side's params contribution (order params are always `bigint`). */
502
- type OrderSideParams<T> = T extends Param<infer P extends string> ? {
513
+ /**
514
+ * An order side's params contribution, typed by the SIBLING side — the
515
+ * runtime anchors a param to its sibling variable's field, so a bool var
516
+ * orders against a `boolean` param; every var-less pairing stays `bigint`.
517
+ */
518
+ type OrderSideParams<T, Sib> = T extends Param<infer P extends string> ? {
519
+ readonly [Q in P]: Sib extends AnyVar ? Infer<Sib["field"]> : bigint;
520
+ } : never;
521
+ /** The point side's params contribution (a point is always `bigint`). */
522
+ type PointParams<T> = T extends Param<infer P extends string> ? {
503
523
  readonly [Q in P]: bigint;
504
524
  } : never;
505
525
  /** An interval side's params contribution. */
@@ -515,11 +535,11 @@ type MaskParams<M> = M extends MaskParam<infer P extends string> ? {
515
535
  * them into the inferred `Params` record) — every param typed by its use.
516
536
  * The leading arm is the same base case as {@link CondOkBool}'s.
517
537
  */
518
- type CondParams<C> = [AnyTreeChild] extends [C] ? never : C extends Cmp<infer Op, infer L, infer R, infer M> ? Op extends "eq" | "ne" ? EqParams<L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderSideParams<L> | OrderSideParams<R> : Op extends "pointIn" ? IntervalSideParams<L> | OrderSideParams<R> : Op extends "allen" ? IntervalSideParams<L> | IntervalSideParams<R> | MaskParams<M> : never : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? CondParams<Ch[number]> : C extends NotIdbAtom<infer T extends RecTarget, unknown> ? RecParamsOf<T> : C extends NotAtom<infer R extends MatchOwner, infer B> ? BindParams<MatchFields<R>, B> : never;
538
+ type CondParams<C> = [AnyTreeChild] extends [C] ? never : C extends Cmp<infer Op, infer L, infer R, infer M> ? Op extends "eq" | "ne" ? EqParams<L, R> : Op extends "lt" | "le" | "gt" | "ge" ? OrderSideParams<L, R> | OrderSideParams<R, L> : Op extends "pointIn" ? IntervalSideParams<L> | PointParams<R> : Op extends "allen" ? IntervalSideParams<L> | IntervalSideParams<R> | MaskParams<M> : never : C extends Tree<infer Ch extends readonly AnyTreeChild[]> ? CondParams<Ch[number]> : C extends NotIdbAtom<infer T extends RecTarget, unknown> ? RecParamsOf<T> : C extends NotAtom<infer R extends MatchOwner, infer B> ? BindParams<MatchFields<R>, B> : never;
519
539
  /** The flattened params record one bindings record contributes. */
520
540
  type BindParamsShape<F extends FieldsShape, B> = ShapeOf<BindParams<F, B>>;
521
541
  /** The flattened params record one condition contributes. */
522
542
  type CondParamsShape<C> = ShapeOf<CondParams<C>>;
523
- export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, FindColumn, FindEntryData, IntervalSide, IntervalVarOk, MaskData, MatchFields, MatchOwner, MatchShape, NotAtom, NotIdbAtom, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecTarget, RuleData, RuleItem, SlotAt, Tree, TreeData };
543
+ export type { AggData, AnyCmp, AnyCond, AnyNotAtom, AnyTreeChild, AtomData, BindingEntry, BindingInput, BindingTermData, BindParams, BindParamsShape, CheckBindings, CheckCond, Cmp, CmpData, CmpKind, CmpTermData, CondData, CondOkBool, CondParams, CondParamsShape, FindColumn, FindEntryData, IntervalSide, IntervalVarOk, MaskData, MatchFields, MatchOwner, MatchShape, NotAtom, NotIdbAtom, NumericVarOk, OrderSide, OrderVarOk, ParamUse, PointSide, RecData, RecTarget, RuleData, RuleItem, SlotAt, Tree, TreeData };
524
544
  export { ALLEN, ALLEN_ALL_BITS, allen, and, comparison, eq, ge, gt, le, lt, ne, not, or, pointIn };
525
545
  //# sourceMappingURL=atom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ function order(op, left, right) {
62
62
  assertTermSide(op, left, right);
63
63
  return comparison(op, left, right, undefined);
64
64
  }
65
- /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings/bools. */
65
+ /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
66
66
  function lt(left, right) {
67
67
  return order("lt", left, right);
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../src/query/atom.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import type { Infer } from "#fields.ts";
22
22
  import type { SchemaClasses } from "#law.ts";
23
- import type { IntervalVarOk, OrderVarOk } from "#query/atom.ts";
23
+ import type { IntervalVarOk, NumericVarOk, OrderVarOk } from "#query/atom.ts";
24
24
  import type { AnyVar, Duration, MintSlotOf } from "#query/scope.ts";
25
25
  /** One aggregate operator name of the find vocabulary. */
26
26
  type AggOpName = "count" | "countDistinct" | "sum" | "min" | "max" | "argMax" | "argMin" | "pack";
@@ -45,14 +45,15 @@ declare function count(): Agg<"count", undefined>;
45
45
  /** |the distinct values of the variable across the group|, `bigint`; legal over every type. */
46
46
  declare function countDistinct<const V extends AnyVar>(over: V): Agg<"countDistinct", V>;
47
47
  /**
48
- * Exact checked sum over an orderable (u64/i64) variable — wide
49
- * accumulator, one finalize range check; overflow is the engine's typed
50
- * runtime error — or over the measure (`r.sum(r.duration(w))`).
48
+ * Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
49
+ * one finalize range check; overflow is the engine's typed runtime error —
50
+ * or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
51
+ * quantifier is not an addition (R3).
51
52
  */
52
53
  declare function sum<const O extends AnyVar | Duration>(over: O): Agg<"sum", O>;
53
- /** Minimum over an orderable variable or the measure (orderable types only). */
54
+ /** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
54
55
  declare function min<const O extends AnyVar | Duration>(over: O): Agg<"min", O>;
55
- /** Maximum over an orderable variable or the measure (orderable types only). */
56
+ /** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
56
57
  declare function max<const O extends AnyVar | Duration>(over: O): Agg<"max", O>;
57
58
  /**
58
59
  * Arg-restriction toward the maximum of `key` (`ir::AggOp::ArgMax`): the
@@ -72,14 +73,24 @@ declare function argMin<const V extends AnyVar, const K extends AnyVar>(value: V
72
73
  * type. At most one `pack` per find, never beside a fold or an Arg entry.
73
74
  */
74
75
  declare function pack<const V extends AnyVar>(over: V): Agg<"pack", V>;
75
- /** A fold input's judgment: an orderable variable, or the measure of an interval variable. */
76
+ /**
77
+ * A `sum` input's judgment: a NUMERIC variable — Sum over bool stays
78
+ * refused, a quantifier is not an addition (R3) — or the measure of an
79
+ * interval variable.
80
+ */
81
+ type SumOverOk<O> = O extends AnyVar ? NumericVarOk<O> : O extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : false;
82
+ /**
83
+ * A `min`/`max` input's judgment: an ORDERABLE variable — bool folds:
84
+ * `Max` is Any and `Min` is All, the two quantifiers as the 0/1 encoding's
85
+ * extremes (R3) — or the measure of an interval variable.
86
+ */
76
87
  type FoldOverOk<O> = O extends AnyVar ? OrderVarOk<O> : O extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : false;
77
88
  /**
78
89
  * One find entry's judgment (off the entry's own descriptor — no env, no
79
90
  * class map needed): a projected variable is ok, the measure and `pack`
80
91
  * demand interval-typed variables, folds and Arg keys demand orderable ones.
81
92
  */
82
- type FindEntryOk<E> = E extends AnyVar ? true : E extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : E extends Agg<"count", undefined> ? true : E extends Agg<"countDistinct", AnyVar> ? true : E extends Agg<"sum" | "min" | "max", infer O> ? FoldOverOk<O> : E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar> ? OrderVarOk<K> extends true ? true : false : E extends Agg<"pack", infer V extends AnyVar> ? IntervalVarOk<V> : false;
93
+ type FindEntryOk<E> = E extends AnyVar ? true : E extends Duration<infer V extends AnyVar> ? IntervalVarOk<V> : E extends Agg<"count", undefined> ? true : E extends Agg<"countDistinct", AnyVar> ? true : E extends Agg<"sum", infer O> ? SumOverOk<O> : E extends Agg<"min" | "max", infer O> ? FoldOverOk<O> : E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar> ? OrderVarOk<K> extends true ? true : false : E extends Agg<"pack", infer V extends AnyVar> ? IntervalVarOk<V> : false;
83
94
  /** The validated find record (intersect with the inferred entries — errors land on the offending key). */
84
95
  type CheckFind<F extends FindShape> = {
85
96
  readonly [K in keyof F]: FindEntryOk<F[K]> extends true ? F[K] : never;
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"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"}
@@ -31,18 +31,19 @@ function countDistinct(over) {
31
31
  return aggregate("countDistinct", over, undefined);
32
32
  }
33
33
  /**
34
- * Exact checked sum over an orderable (u64/i64) variable — wide
35
- * accumulator, one finalize range check; overflow is the engine's typed
36
- * runtime error — or over the measure (`r.sum(r.duration(w))`).
34
+ * Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
35
+ * one finalize range check; overflow is the engine's typed runtime error —
36
+ * or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
37
+ * quantifier is not an addition (R3).
37
38
  */
38
39
  function sum(over) {
39
40
  return aggregate("sum", over, undefined);
40
41
  }
41
- /** Minimum over an orderable variable or the measure (orderable types only). */
42
+ /** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
42
43
  function min(over) {
43
44
  return aggregate("min", over, undefined);
44
45
  }
45
- /** Maximum over an orderable variable or the measure (orderable types only). */
46
+ /** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
46
47
  function max(over) {
47
48
  return aggregate("max", over, undefined);
48
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAkCH,kCAAkC;AAClC,SAAS,SAAS,CACjB,EAAM,EACN,IAAU,EACV,GAAQ;IAER,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,4EAA4E;AAC5E,SAAS,KAAK;IACb,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAyB,IAAO;IACrD,OAAO,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,gFAAgF;AAChF,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,gFAAgF;AAChF,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,4EAA4E;AAC5E,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC;AA+FD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/query/find.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAkCH,kCAAkC;AAClC,SAAS,SAAS,CACjB,EAAM,EACN,IAAU,EACV,GAAQ;IAER,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,4EAA4E;AAC5E,SAAS,KAAK;IACb,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAyB,IAAO;IACrD,OAAO,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,qHAAqH;AACrH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED,qHAAqH;AACrH,SAAS,GAAG,CAAoC,IAAO;IACtD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,4EAA4E;AAC5E,SAAS,MAAM,CAAiD,KAAQ,EAAE,GAAM;IAC/E,OAAO,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,IAAI,CAAyB,IAAO;IAC5C,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC;AAgHD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bjornpagen/bumbledb",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Type-theoretic TypeScript SDK for the bumbledb embedded relational engine",
5
5
  "type": "module",
6
6
  "exports": {
@@ -40,9 +40,6 @@
40
40
  "dependencies": {
41
41
  "@superbuilders/errors": "^4.0.2"
42
42
  },
43
- "optionalDependencies": {
44
- "@bjornpagen/bumbledb-darwin-arm64": "0.8.0"
45
- },
46
43
  "devDependencies": {
47
44
  "@biomejs/biome": "^2.0.0-beta.5",
48
45
  "@types/node": "^26.1.0",
@@ -55,6 +52,9 @@
55
52
  "access": "public"
56
53
  },
57
54
  "private": false,
55
+ "optionalDependencies": {
56
+ "@bjornpagen/bumbledb-darwin-arm64": "0.9.0"
57
+ },
58
58
  "scripts": {
59
59
  "build": "node scripts/build.ts",
60
60
  "typecheck": "tsc --noEmit",
package/src/index.ts CHANGED
@@ -119,7 +119,7 @@ export type {
119
119
  Staleness,
120
120
  StatementKindTag
121
121
  } from "#native.ts"
122
- export type { Desc, SortKey } from "#order.ts"
122
+ export type { Desc, EngineOrderable, SortKey } from "#order.ts"
123
123
  export { by, desc } from "#order.ts"
124
124
 
125
125
  export type {
package/src/order.ts CHANGED
@@ -10,6 +10,16 @@
10
10
  * `by(...)` into one row-typed comparator. Cross-type cells cannot arise
11
11
  * within one column (one column, one domain), and the cell order is TOTAL
12
12
  * anyway (the type-rank wall), so the comparator never throws.
13
+ *
14
+ * ZERO keys is the identity key (ruled 2026-07-25): `by()` / `desc()` are
15
+ * the same two spellings over BARE scalar arrays (`bigint[]` of ids, map
16
+ * keys) — with no column to name, the value itself is the key, there is
17
+ * nothing to fold, and the comparator IS the result. One ordering
18
+ * vocabulary, no sibling names. The identity arms are typed to EXACTLY the
19
+ * engine-orderable roster ({@link EngineOrderable}) because a bare scalar
20
+ * carries no decoded-row provenance — the type wall must carry the
21
+ * orderability law itself, where the row arm's cells arrive under their
22
+ * columns' law-typed proof.
13
23
  */
14
24
 
15
25
  import type { FactValue } from "#native.ts"
@@ -23,6 +33,23 @@ interface Desc<K extends string> {
23
33
  /** One sort key: a bare column name (ascending — the punning spelling) or `desc(name)`. */
24
34
  type SortKey<K extends string> = K | Desc<K>
25
35
 
36
+ /**
37
+ * The engine-orderable scalar roster in the SDK's representation — `bigint`
38
+ * (U64/I64) and `boolean` (false < true — the strict 0/1 encoding IS the
39
+ * order), EXACTLY as `docs/architecture/10-data-model.md` § "Orderability,
40
+ * complete" admits it (ruled 2026-07-23, R3/R4), and nothing more:
41
+ * `string` is deliberately absent (intern ids are meaningless to order — a
42
+ * typed refusal, not a gap) and `number` is not an engine scalar at all.
43
+ * The identity comparators `by()`/`desc()` constrain on this alias, so
44
+ * sorting a `string[]` or `number[]` through them is a COMPILE error naming
45
+ * this roster. ONE OWNER for scalar ordering semantics: both identity arms
46
+ * route through the same cell order the row arm uses, whose bigint and
47
+ * boolean arms mirror the engine's U64/I64/Bool order exactly — a host
48
+ * sort over these values can never disagree with an engine order judgment
49
+ * (`Lt`-family, `Min`/`Max`) over the same column.
50
+ */
51
+ type EngineOrderable = bigint | boolean
52
+
26
53
  /**
27
54
  * The type-rank wall: boolean 0, bigint 1, string 2, bytes 3, interval 4.
28
55
  * One column carries one domain, so a mixed pair never arises from decoded
@@ -116,8 +143,38 @@ function cellCmp(left: FactValue, right: FactValue): number {
116
143
  return cellRank(left) - cellRank(right)
117
144
  }
118
145
 
119
- /** Marks one sort key DESCENDING — the single descending spelling (a bare name is already ascending). */
120
- function desc<const K extends string>(key: K): Desc<K> {
146
+ /**
147
+ * The ascending identity comparator `by()` returns — one value, minted
148
+ * once (`by() === by()`), {@link cellCmp} narrowed to the engine-orderable
149
+ * roster (the one owner of the cell order).
150
+ */
151
+ function identityAscending<T extends EngineOrderable>(left: T, right: T): number {
152
+ return cellCmp(left, right)
153
+ }
154
+
155
+ /** The descending identity comparator `desc()` returns — the same owner, sides flipped. */
156
+ function identityDescending<T extends EngineOrderable>(left: T, right: T): number {
157
+ return cellCmp(right, left)
158
+ }
159
+
160
+ /**
161
+ * The descending spelling — ONE name, both arities of one ordering
162
+ * vocabulary. `desc(name)` marks one sort key DESCENDING: plain data for
163
+ * {@link by} to fold (a bare name is already ascending). `desc()` — zero
164
+ * keys, the identity key (ruled 2026-07-25) — is the descending comparator
165
+ * over engine-orderable scalars themselves: a bare `bigint[]` or
166
+ * `boolean[]` has no column to name, so the value IS the key, there is
167
+ * nothing to fold, and the comparator is the result directly. The identity
168
+ * arm covers EXACTLY the {@link EngineOrderable} roster — `string` and
169
+ * `number` refuse at compile time, citing the orderability law
170
+ * (`10-data-model.md` § "Orderability, complete").
171
+ */
172
+ function desc(): <T extends EngineOrderable>(left: T, right: T) => number
173
+ function desc<const K extends string>(key: K): Desc<K>
174
+ function desc<const K extends string>(key?: K): Desc<K> | (<T extends EngineOrderable>(left: T, right: T) => number) {
175
+ if (key === undefined) {
176
+ return identityDescending
177
+ }
121
178
  const marker: Desc<K> = { key, desc: true }
122
179
  return Object.freeze(marker)
123
180
  }
@@ -130,12 +187,33 @@ function desc<const K extends string>(key: K): Desc<K> {
130
187
  * carries that proof here (parse-don't-validate). The generic RETURN is the
131
188
  * load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
132
189
  * array's own element type and checks the key set right there.
190
+ *
191
+ * ZERO keys is the identity key (ruled 2026-07-25): `by()` is the
192
+ * ascending comparator over engine-orderable scalars themselves —
193
+ * `ids.sort(by())` — for the bare arrays (`bigint[]`, map keys) the
194
+ * row-typed arm cannot reach because they have no column to name. One
195
+ * vocabulary, both arities. The identity arm is typed to EXACTLY the
196
+ * {@link EngineOrderable} roster: with no law-typed column standing proof
197
+ * over the values, the type wall carries the orderability law itself —
198
+ * `string` ordering is deliberately refused and `number` is not an engine
199
+ * scalar (`10-data-model.md` § "Orderability, complete"), so both refuse
200
+ * at compile time and a host sort can never disagree with an engine order
201
+ * judgment.
133
202
  */
203
+ function by(): <T extends EngineOrderable>(left: T, right: T) => number
134
204
  function by<const K extends string>(
135
205
  first: SortKey<K>,
136
206
  ...rest: ReadonlyArray<SortKey<K>>
137
- ): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number {
138
- const entries = [first, ...rest].map(function normalizeKey(sortKey): { readonly key: K; readonly factor: 1 | -1 } {
207
+ ): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number
208
+ function by<const K extends string>(
209
+ ...keys: ReadonlyArray<SortKey<K>>
210
+ ):
211
+ | (<T extends EngineOrderable>(left: T, right: T) => number)
212
+ | (<Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number) {
213
+ if (keys.length === 0) {
214
+ return identityAscending
215
+ }
216
+ const entries = keys.map(function normalizeKey(sortKey): { readonly key: K; readonly factor: 1 | -1 } {
139
217
  if (typeof sortKey === "string") {
140
218
  return { key: sortKey, factor: 1 }
141
219
  }
@@ -152,5 +230,5 @@ function by<const K extends string>(
152
230
  }
153
231
  }
154
232
 
155
- export type { Desc, SortKey }
233
+ export type { Desc, EngineOrderable, SortKey }
156
234
  export { by, desc }
package/src/query/atom.ts CHANGED
@@ -335,8 +335,8 @@ type EqRight = AnyVar | Param<string> | SetParam<string> | bigint | string | boo
335
335
  /** What `ne`'s right side accepts. */
336
336
  type NeRight = AnyVar | Param<string> | bigint | string | boolean | Uint8Array | IntervalValue
337
337
 
338
- /** One side of an order comparison: orderable terms only (the IR's comparison rules). */
339
- type OrderSide = AnyVar | Param<string> | Duration | bigint
338
+ /** One side of an order comparison: orderable terms only (the IR's comparison rules — bool orders, `false < true`, R3). */
339
+ type OrderSide = AnyVar | Param<string> | Duration | bigint | boolean
340
340
 
341
341
  /** The point side of `pointIn`. */
342
342
  type PointSide = AnyVar | Param<string> | bigint
@@ -388,7 +388,7 @@ function order<Op extends "lt" | "le" | "gt" | "ge", const L extends OrderSide,
388
388
  return comparison(op, left, right, undefined)
389
389
  }
390
390
 
391
- /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only, never intervals/bytes/strings/bools. */
391
+ /** Strict less-than (`ir::CmpOp::Lt`) — orderable sides only (bool included: `false < true`, R3), never intervals/bytes/strings. */
392
392
  function lt<const L extends OrderSide, const R extends OrderSide>(left: L, right: R): Cmp<"lt", L, R> {
393
393
  return order("lt", left, right)
394
394
  }
@@ -531,19 +531,32 @@ function isRecTarget(value: MatchOwner | RecTarget): value is RecTarget {
531
531
  }
532
532
 
533
533
  /**
534
- * Whether a variable's OWN field is orderable (u64/i64). A CLOSED reference
534
+ * Whether a variable's OWN field is NUMERIC (u64/i64) the judgment the
535
+ * point side of `pointIn` and the `sum` input read: a point lives in the
536
+ * interval's element domain, and a quantifier is not an addition, so bool
537
+ * (orderable, never numeric) is exactly here refused. A CLOSED reference
535
538
  * is excluded even though its kind is `u64`: a vocabulary's declaration-id
536
539
  * order is an accident, not semantics (`docs/architecture/10-data-model.md`
537
540
  * § orderability), so every order-comparison and fold position refuses
538
- * closed-bound terms — this judgment is the one gate they all read, and the
539
- * construction-time validations in `#query/lower.ts` are its runtime twin.
541
+ * closed-bound terms — the construction-time validations in
542
+ * `#query/lower.ts` are that ban's runtime twin.
540
543
  */
541
- type OrderVarOk<V extends AnyVar> = V["field"] extends { readonly closed: ClosedRoster }
544
+ type NumericVarOk<V extends AnyVar> = V["field"] extends { readonly closed: ClosedRoster }
542
545
  ? false
543
546
  : V["field"]["kind"] extends "u64" | "i64"
544
547
  ? true
545
548
  : false
546
549
 
550
+ /**
551
+ * Whether a variable's OWN field is ORDERABLE (u64/i64/bool) — the one gate
552
+ * every order-comparison side, `min`/`max` input, and Arg key reads. Bool
553
+ * orders: `false < true`, the strict 0/1 encoding IS the order (ruled R3),
554
+ * exactly the engine's operand screen
555
+ * (`bumbledb/crates/bumbledb/src/ir/validate/context.rs`); bool has no
556
+ * closed variant, so the closed exclusion rides in {@link NumericVarOk}.
557
+ */
558
+ type OrderVarOk<V extends AnyVar> = V["field"]["kind"] extends "bool" ? true : NumericVarOk<V>
559
+
547
560
  /** Whether a variable's OWN field is interval-typed. */
548
561
  type IntervalVarOk<V extends AnyVar> = V["field"]["kind"] extends "interval" ? true : false
549
562
 
@@ -554,8 +567,8 @@ type OrderSideOk<T> = T extends AnyVar
554
567
  ? IntervalVarOk<V>
555
568
  : true
556
569
 
557
- /** One point side's judgment. */
558
- type PointSideOk<T> = T extends AnyVar ? OrderVarOk<T> : true
570
+ /** One point side's judgment (numeric only — a point lives in the interval's element domain, never bool). */
571
+ type PointSideOk<T> = T extends AnyVar ? NumericVarOk<T> : true
559
572
 
560
573
  /** One interval side's judgment. */
561
574
  type IntervalSideOk<T> = T extends AnyVar ? IntervalVarOk<T> : true
@@ -677,8 +690,18 @@ type EqParams<L, R> = L extends AnyVar
677
690
  : never
678
691
  : never
679
692
 
680
- /** An order side's params contribution (order params are always `bigint`). */
681
- type OrderSideParams<T> = T extends Param<infer P extends string> ? { readonly [Q in P]: bigint } : never
693
+ /**
694
+ * An order side's params contribution, typed by the SIBLING side the
695
+ * runtime anchors a param to its sibling variable's field, so a bool var
696
+ * orders against a `boolean` param; every var-less pairing stays `bigint`.
697
+ */
698
+ type OrderSideParams<T, Sib> =
699
+ T extends Param<infer P extends string>
700
+ ? { readonly [Q in P]: Sib extends AnyVar ? Infer<Sib["field"]> : bigint }
701
+ : never
702
+
703
+ /** The point side's params contribution (a point is always `bigint`). */
704
+ type PointParams<T> = T extends Param<infer P extends string> ? { readonly [Q in P]: bigint } : never
682
705
 
683
706
  /** An interval side's params contribution. */
684
707
  type IntervalSideParams<T> = T extends Param<infer P extends string> ? { readonly [Q in P]: IntervalValue } : never
@@ -697,9 +720,9 @@ type CondParams<C> = [AnyTreeChild] extends [C]
697
720
  ? Op extends "eq" | "ne"
698
721
  ? EqParams<L, R>
699
722
  : Op extends "lt" | "le" | "gt" | "ge"
700
- ? OrderSideParams<L> | OrderSideParams<R>
723
+ ? OrderSideParams<L, R> | OrderSideParams<R, L>
701
724
  : Op extends "pointIn"
702
- ? IntervalSideParams<L> | OrderSideParams<R>
725
+ ? IntervalSideParams<L> | PointParams<R>
703
726
  : Op extends "allen"
704
727
  ? IntervalSideParams<L> | IntervalSideParams<R> | MaskParams<M>
705
728
  : never
@@ -749,6 +772,7 @@ export type {
749
772
  MatchShape,
750
773
  NotAtom,
751
774
  NotIdbAtom,
775
+ NumericVarOk,
752
776
  OrderSide,
753
777
  OrderVarOk,
754
778
  ParamUse,
package/src/query/find.ts CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  import type { Infer } from "#fields.ts"
23
23
  import type { SchemaClasses } from "#law.ts"
24
- import type { IntervalVarOk, OrderVarOk } from "#query/atom.ts"
24
+ import type { IntervalVarOk, NumericVarOk, OrderVarOk } from "#query/atom.ts"
25
25
  import type { AnyVar, Duration, MintSlotOf } from "#query/scope.ts"
26
26
 
27
27
  /** One aggregate operator name of the find vocabulary. */
@@ -71,20 +71,21 @@ function countDistinct<const V extends AnyVar>(over: V): Agg<"countDistinct", V>
71
71
  }
72
72
 
73
73
  /**
74
- * Exact checked sum over an orderable (u64/i64) variable — wide
75
- * accumulator, one finalize range check; overflow is the engine's typed
76
- * runtime error — or over the measure (`r.sum(r.duration(w))`).
74
+ * Exact checked sum over a NUMERIC (u64/i64) variable — wide accumulator,
75
+ * one finalize range check; overflow is the engine's typed runtime error —
76
+ * or over the measure (`r.sum(r.duration(w))`). Bool stays refused: a
77
+ * quantifier is not an addition (R3).
77
78
  */
78
79
  function sum<const O extends AnyVar | Duration>(over: O): Agg<"sum", O> {
79
80
  return aggregate("sum", over, undefined)
80
81
  }
81
82
 
82
- /** Minimum over an orderable variable or the measure (orderable types only). */
83
+ /** Minimum over an orderable variable (u64/i64/bool — over bool, `Min` is the ALL quantifier; R3) or the measure. */
83
84
  function min<const O extends AnyVar | Duration>(over: O): Agg<"min", O> {
84
85
  return aggregate("min", over, undefined)
85
86
  }
86
87
 
87
- /** Maximum over an orderable variable or the measure (orderable types only). */
88
+ /** Maximum over an orderable variable (u64/i64/bool — over bool, `Max` is the ANY quantifier; R3) or the measure. */
88
89
  function max<const O extends AnyVar | Duration>(over: O): Agg<"max", O> {
89
90
  return aggregate("max", over, undefined)
90
91
  }
@@ -116,7 +117,22 @@ function pack<const V extends AnyVar>(over: V): Agg<"pack", V> {
116
117
  return aggregate("pack", over, undefined)
117
118
  }
118
119
 
119
- /** A fold input's judgment: an orderable variable, or the measure of an interval variable. */
120
+ /**
121
+ * A `sum` input's judgment: a NUMERIC variable — Sum over bool stays
122
+ * refused, a quantifier is not an addition (R3) — or the measure of an
123
+ * interval variable.
124
+ */
125
+ type SumOverOk<O> = O extends AnyVar
126
+ ? NumericVarOk<O>
127
+ : O extends Duration<infer V extends AnyVar>
128
+ ? IntervalVarOk<V>
129
+ : false
130
+
131
+ /**
132
+ * A `min`/`max` input's judgment: an ORDERABLE variable — bool folds:
133
+ * `Max` is Any and `Min` is All, the two quantifiers as the 0/1 encoding's
134
+ * extremes (R3) — or the measure of an interval variable.
135
+ */
120
136
  type FoldOverOk<O> = O extends AnyVar
121
137
  ? OrderVarOk<O>
122
138
  : O extends Duration<infer V extends AnyVar>
@@ -136,15 +152,17 @@ type FindEntryOk<E> = E extends AnyVar
136
152
  ? true
137
153
  : E extends Agg<"countDistinct", AnyVar>
138
154
  ? true
139
- : E extends Agg<"sum" | "min" | "max", infer O>
140
- ? FoldOverOk<O>
141
- : E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar>
142
- ? OrderVarOk<K> extends true
143
- ? true
144
- : false
145
- : E extends Agg<"pack", infer V extends AnyVar>
146
- ? IntervalVarOk<V>
147
- : false
155
+ : E extends Agg<"sum", infer O>
156
+ ? SumOverOk<O>
157
+ : E extends Agg<"min" | "max", infer O>
158
+ ? FoldOverOk<O>
159
+ : E extends Agg<"argMax" | "argMin", AnyVar, infer K extends AnyVar>
160
+ ? OrderVarOk<K> extends true
161
+ ? true
162
+ : false
163
+ : E extends Agg<"pack", infer V extends AnyVar>
164
+ ? IntervalVarOk<V>
165
+ : false
148
166
 
149
167
  /** The validated find record (intersect with the inferred entries — errors land on the offending key). */
150
168
  type CheckFind<F extends FindShape> = {