stdlib / store

✓ 254 passing ○ 9 planned

Lessons

1 ✓ Passing
001 store create stored watch
2 ✓ Passing
002 store watch guard producer if
3 ✓ Passing
003 store interceptor cross store sync
4 ✓ Passing
004 store no torn state
5 ✓ Passing
005 store plural query watch
6 ✓ Passing
006 store reject watch body ambient context
7 ✓ Passing
008 store update where
8 ✓ Passing
009 store chain envelope multi write
9 ✓ Passing
010 store multi watch same field
10 ✓ Passing
011 store insert capacity full branch
11 ✓ Passing
012 store reject cascade cycle
12 ✓ Passing
013 store cross store guard closure
13 ✓ Passing
014 store stripe scan firing
14 ✓ Passing
016 store lifecycle inserted removed
15 ○ Planned
017 store backend arms di — IDEA PIN (T8) — DESIGN-GATED (2026-07-05 sweep): `! ?persist`
16 ○ Planned
018 store declared key addressing — IDEA PIN (O2 head 3) — WALLED on infra (2026-07-05 sweep), corrected
17 ○ Planned
019 store batch insert fused cascade — IDEA PIN (residue-tier, no spelling yet): batch insert + full cascade fusion — T2's acyclic comptime cascade DAG topo-sorted and fused into one straight-line body per write site, batches applied column-wise over SoA (SIMD), batch = the transaction envelope. See residue.md.
18 ○ Planned
020 store compound field types — IDEA PIN (residue-tier, no spelling yet): compound store field types — f32/f64 scalar columns, vec3, mat4x4. Prerequisite for every one-to-one ecs-store benchmark entry; kernel:shape's green f64 fields (390_001) prove the transform substrate already handles float columns — rung one's non-i64 wall is scoping, not architecture. See residue.md.
19 ✓ Passing
021 store f64 scalar columns
20 ✓ Passing
022 store distinct row types per name
21 ✓ Passing
023 store entity take discharger
22 ✓ Passing
024 store entity take needs discharger
23 ✓ Passing
025 store reference reactive attach
24 ✓ Passing
026 store reference guarded reactive
25 ✓ Passing
027 store pure k reactive attach
26 ✓ Passing
028 store stored chain preserves tail
27 ✓ Passing
029 store two write interceptor
28 ✓ Passing
030 store guarded plural reactive
29 ✓ Passing
031 store query sweep take
30 ✓ Passing
032 store reject unused interceptor binding
31 ✓ Passing
033 store interceptor binding used
32 ✓ Passing
034 store entity take auto discharge
33 ✓ Passing
035 store entity ambiguous discharge forces pick
34 ✓ Passing
036 store entity cross module discharge
35 ✓ Passing
037 store entity name shadows module heuristic
36 ✓ Passing
038 store plural updated delta
37 ✓ Passing
039 store plural updated bad destructure
38 ✓ Passing
040 store plural updated write only
39 ✓ Passing
041 store arena live hp aggregate
40 ✓ Passing
042 store verb inside effect branch body
41 ✓ Passing
043 store multifield stored through cursor
42 ✓ Passing
044 store stripe topo order
43 ✓ Passing
045 store stripe inside effect body
44 ✓ Passing
046 store watch midpipe bind
45 ✓ Passing
047 store entity take auto discharge under foreach
46 ✓ Passing
048 store self foreign key
47 ✓ Passing
049 store plural mixed scalar columns
48 ○ Planned
050 store capacity shape model — IDEA/RULING PIN (residue-tier, no spelling yet): the store's shape is selected
49 ✓ Passing
051 store capacity selects shape
50 ✓ Passing
052 store fixed char column
51 ✓ Passing
053 store string column roundtrip
52 ✓ Passing
054 store reject bare obligation insert
53 ✓ Passing
055 store owned resource column
54 ✓ Passing
056 store file open column
55 ✓ Passing
057 store ambiguous column drain
56 ✓ Passing
058 store ambiguous column undrained leaks
57 ✓ Passing
059 store single field explicit discharge
58 ✓ Passing
060 query owned string store
59 ✓ Passing
061 react inserted owned string
60 ✓ Passing
062 write owned string stored
61 ✓ Passing
063 watch owned string stored
62 ✓ Passing
064 write scalar in owned store
63 ✓ Passing
065 removed owned string
64 ✓ Passing
066 store query nested in loop
65 ✓ Passing
067 store each momentary sweep nested
66 ✓ Passing
068 store sweep owned string nested
67 ✓ Passing
069 store sweep row ordinal
68 ✓ Passing
070 store take empty branch
69 ✓ Passing
071 insert pun shorthand
70 ✓ Passing
072 insert redundant label rejected
71 ✓ Passing
073 store sweep captures enclosing bind
72 ✓ Passing
074 store cell refs in if
73 ✓ Passing
075 store cross store row index
74 ✓ Passing
076 store indexed field read in stored
75 ✓ Passing
077 store owned insert full giveback
76 ✓ Passing
078 store read in produce arm
77 ✓ Passing
079 store declared in imported module
78 ✓ Passing
080 two stores one owned by a module
79 ✓ Passing
081 sweep in statement position
80 ✓ Passing
082 sweep arm calls effect branch tor
81 ✓ Passing
083 sweep arm writes entity field
82 ✓ Passing
084 sweep arm when guard
83 ✓ Passing
085 insert row branch optional
84 ✓ Passing
086 sweep arm binds its row
85 ✓ Passing
087 nested sweeps resolve independently
86 ✓ Passing
088 global store export
87 ✓ Passing
089 sweep projection block retired
88 ✓ Passing
090 sweep row binding shadows store name
89 ✓ Passing
091 sweep row field typo named
90 ✓ Passing
092 stored row index survives a remove
91 ✓ Passing
093 interceptor payload reaches nested sweep
92 ✓ Passing
094 unbound giveback payload threads the given row
93 ✓ Passing
095 sparse dispatch reads the active branch
94 ✓ Passing
096 refused store decl does not cascade
95 ✓ Passing
097 store two column discharge keeps record
96 ✓ Passing
098 sweep one column owned row
97 ✓ Passing
099 unknown store still refuses under the guard
98 ✓ Passing
100 store one column needs no field name
99 ✓ Passing
101 store one column capacity one
100 ✓ Passing
102 watch arm on one column store
101 ✓ Passing
103 watch arm names no column teaches
102 ✓ Passing
104 undrainable column reports once
103 ✓ Passing
105 drain refusal names the composed type
104 ✓ Passing
106 drain arm with the parameter written
105 ✓ Passing
107 drain arm with the parameter omitted
106 ✓ Passing
108 drain discard names no synthetic binding
107 ✓ Passing
109 bare drain arm threads its column
108 ✓ Passing
110 nested sweep outer row is readable
109 ✓ Passing
111 plural f64 columns sweep
110 ✓ Passing
112 nested sweep same store
111 ✓ Passing
113 nested sweep rebound name shadows
112 ✓ Passing
114 pairwise f64 displacement over store
113 ✓ Passing
115 stale row handle write traps
114 ✓ Passing
116 stale row handle read traps
115 ✓ Passing
117 self fk follow survives a remove
116 ✓ Passing
118 sweep arm writes two columns
117 ✓ Passing
119 flattened mat4 vec3 row
118 ✓ Passing
120 frame loop divides f64 column
119 ✓ Passing
121 twenty six component stores
120 ✓ Passing
122 presence column add remove
121 ✓ Passing
123 overlapping systems compose sequentially
122 ✓ Passing
124 store rebuild row by row
123 ✓ Passing
125 multiline stored block two columns
124 ✓ Passing
126 stored block reads pre state
125 ✓ Passing
127 flattened mat4 inverse cofactor expansion
126 ✓ Passing
128 stored block det column reused in block
127 ✓ Passing
129 mat4 inverse roundtrip frame loop
128 ✓ Passing
130 chain bind reaches stored write
129 ✓ Passing
131 swap via chain bind no temp column
130 ✓ Passing
160 store f32 column refuses f64 narrowing write
131 ✓ Passing
170 swap chain bind at scale
132 ✓ Passing
190 store text dump thousand rows parsed back
133 ○ Planned
191 split nested under split piece — OWED: a split nested under another split's piece arm inlines without label clash.
134 ✓ Passing
192 insert literal reads store cell path
135 ✓ Passing
193 stored envelope refuses two stores
136 ✓ Passing
194 store rebuild thousand rows two scalar types
137 ✓ Passing
195 owned column insert from projection
138 ✓ Passing
196 foreign row handle addresses sibling store
139 ✓ Passing
200 schedule overlapping rules stripe
140 ✓ Passing
201 stripe dependent rules whole passes
141 ✓ Passing
202 overlapping unconstrained rules accepted
142 ✓ Passing
210 fold summation order strict
143 ✓ Passing
230 rule body tor call writes foreign store
144 ✓ Passing
231 rule body insert skips standing rules
145 ✓ Passing
232 rule writing own store does not reenter
146 ✓ Passing
233 full arm drops cross module obligation
147 ✓ Passing
234 impl param not captured into sweep arm
148 ✓ Passing
235 single named owned field full arm
149 ✓ Passing
236 a rule is total at its installation point
150 ✓ Passing
238 rule over owned string store
151 ✓ Passing
239 query char column
152 ✓ Passing
240 lifecycle interceptor body runs its transforms
153 ✓ Passing
241 projection derived the same down both lowerings
154 ✓ Passing
242 brand zero is reserved
155 ✓ Passing
243 sweep body reaches enclosing tor input
156 ✓ Passing
244 unary minus before a row reference
157 ✓ Passing
245 indexed read in plural envelope and nested
158 ✓ Passing
246 sweep names its own row handle
159 ✓ Passing
247 rule names its row handle
160 ✓ Passing
248 rule refuses ordinal by name
161 ✓ Passing
249 write row address reads a foreign store
162 ✓ Passing
250 indexed read outside a write block
163 ✓ Passing
251 stored butterfly reads pre state
164 ✓ Passing
252 phantom borrow crosses into a query arm
165 ✓ Passing
253 positional row addressing through a grid
166 ✓ Passing
254 indexed read in a call argument
167 ✓ Passing
255 updated over a char column
168 ✓ Passing
256 branch payload reads a store column
169 ✓ Passing
257 branch payload when a plural store walks first
170 ✓ Passing
258 stripe joins its chain tail
171 ✓ Passing
259 rule guard reads a foreign cell
172 ✓ Passing
260 row read in if condition under rule arm
173 ✓ Passing
261 char column reads on the js target
174 ✓ Passing
262 row read as host proc call argument
175 ✓ Passing
263 lifecycle arm names its row handle
176 ✓ Passing
264 lifecycle arm refuses ordinal and row
177 ✓ Passing
265 clear empties a store and fires cleared once
178 ✓ Passing
266 clear refuses without an aggregate arm
179 ✓ Passing
267 rule arm literal is not a cell read
180 ✓ Passing
268 a written value builds text
181 ✓ Passing
269 a templated write inside an if arm
182 ✓ Passing
270 handle survives a high generation
183 ✓ Passing
271 flow param shadows store name
184 ✓ Passing
272 shared health column one extent
185 ✓ Passing
273 hand tag prefigures synthesized kind
186 ⚠ Broken
274 union members fold to one column — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
187 ⚠ Broken
275 synthesized kind tag round trip — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
188 ⚠ Broken
276 unknown kind refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
189 ⚠ Broken
277 missing kind refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
190 ⚠ Broken
278 is sugar reads kind by name — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
191 ⚠ Broken
279 is sugar unknown member refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
192 ⚠ Broken
280 is sugar kindless store refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
193 ⚠ Broken
281 divergent leaves kinded insert and narrow — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
194 ⚠ Broken
282 unnarrowed private leaf refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
195 ⚠ Broken
283 wrong kind private leaf refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
196 ⚠ Broken
284 insert foreign leaf refused — Sibling-field union (`player: Player, enemy: Enemy` in the store seed) is not the store surface. The signed declaration was `entity: Player | Enemy`. These pins must not stay green in stdlib.
197 ✓ Passing
285 lone store packs two placements
198 ✓ Passing
286 lone store two protos do not fold
199 ✓ Passing
287 store view projects shared leaf
200 ✓ Passing
288 view guard unknown kind refused
201 ✓ Passing
289 is guard on lone store refused
202 ✓ Passing
290 view divergent leaf refused
203 ✓ Passing
291 view private leaf unguarded refused
204 ✓ Passing
292 view private leaf wrong kind refused
205 ✓ Passing
293 view insert foreign leaf refused
206 ✓ Passing
294 capture chain product into nested sweep
207 ✓ Passing
295 bool column round trip
208 ○ Planned
296 set pools kinds folds shared leaf — OWED: std/store:kind + pooled set — kinds have no storage; the set owns capacity; shared leaves fold.
209 ✓ Passing
297 view sweep write body reads leaf
210 ✓ Passing
298 view negated guard excludes member
211 ✓ Passing
299 view compound guard picks two of three
212 ✓ Passing
301 unrelated take query emits fast for
213 ✓ Passing
302 store name inside string literal
214 ✓ Passing
303 module scoped store
215 ✓ Passing
304 insert pipe continuation
216 ✓ Passing
305 query arm take row cursor
217 ✓ Passing
306 query two modules same arm line
218 ✓ Passing
307 sweepbody take in module js
219 ✓ Passing
308 for under query arm
220 ✓ Passing
309 store step pump
221 ✓ Passing
310 store step needs owned column
222 ✓ Passing
311 pump names only step stores
223 ✓ Passing
312 ifcond row read under query sweep
224 ✓ Passing
313 pump idle arm fires on all idle pass
225 ✓ Passing
314 pump wait union poll
226 ✓ Passing
315 store query first none
227 ✓ Passing
316 first stored write none captures
228 ✓ Passing
317 explain reports pump composition
229 ✓ Passing
318 explain reports pump refusals
230 ✓ Passing
319 explain reports store composition
231 ✓ Passing
320 explain reports store participant
232 ✓ Passing
321 store insert refine violation handled
233 ✓ Passing
322 store insert refine violation traps
234 ✓ Passing
323 store insert refine clamp coerces
235 ✓ Passing
324 explain reports insert enforces
236 ✓ Passing
325 store insert refine js
237 ✓ Passing
326 store packed columns js refuses
238 ✓ Passing
327 index store first survives take
239 ✓ Passing
328 index second decl refuses
240 ✓ Passing
329 index decl no column refuses
241 ✓ Passing
330 explain reports index plan
242 ✓ Passing
331 explain reports index plan refused
243 ○ Planned
332 store write inside custom effect arm — std/store sites inside user-defined `!`-pulse arms — parked pending the
244 ✓ Passing
333 lean store elides handle machinery
245 ✓ Passing
334 counted for insert lowers to bulk append
246 ✓ Passing
335 stdlib name collision stays lean
247 ✓ Passing
336 take only rule lowers to drain sweep
248 ✓ Passing
337 reactive take mints dead handle resolves empty
249 ✓ Passing
338 bulk insert mints handles freelist order
250 ✓ Passing
339 take item field as store index
Has docs
251 ✓ Passing
340 guarded watch on plural store fans out
Has docs
252 ✓ Passing
341 index query membership route
253 ✓ Passing
342 indexed store bulk maintains index
254 ✓ Passing
343 index on i32 column
255 ✓ Passing
344 comma less field list names missing comma
256 ✓ Passing
345 store seed fused after typed value refused
257 ✓ Passing
346 stored write fused dotted head refused
258 ✓ Passing
347 store seed nameless field refused
259 ✓ Passing
348 store insert fused after index refused
260 ✓ Passing
349 store keyed addressing refused
261 ○ Planned
350 spawned context store write — OWED-REFUSAL: a store write reachable under a spawn context must refuse — "this store's owner is the pump context; cross-thread mutation routes through a channel to the owner" (ingress-ring semantics). The check is context-coloring propagated through flow/subflow reachability — the same traversal obligation scopes already ride. TODAY the surface can't spell it: spawned work_fns are host Zig; the enforcement fires when generated mutator units are invoked from a spawned context, so this pin lands with the coloring pass. Posture per the doctrine: unknown/mixed context = refuse, never assume-owner — the unanalyzed case fails loud.
262 ✓ Passing
351 pump retired unit fires once
263 ✓ Passing
352 pump retired needs live
264 ✓ Passing
353 schema field trailing comment
265 ✓ Passing
354 query on value store names the tier
266 ✓ Passing
355 query on tor names the kind
267 ✓ Passing
356 query arm discharges record field obligation
268 ✓ Passing
357 construct glyph in query arm
269 ✓ Passing
358 construct glyph in interceptor arm
270 ✓ Passing
359 construct glyph in watch arm
271 ✓ Passing
360 construct glyph in rule arm
272 ✓ Passing
361 query fmt blk colon spec not binding
273 ✓ Passing
362 query field name matches binding
274 ✓ Passing
363 query dotted field matches binding