@@ -1,232 +1,295 @@
3+ "Alt falls back to second layer on failure",
5+ "timestamp": "1775221839085.0",
3 "Automatic Memoization builds the same layer only once when used in two branches",
10 "Automatic Memoization builds the same layer only once when used in two branches",
5− "timestamp": "1771460758484.0",
12+ "timestamp": "1775221839085.0",
6 "success": true
13 "success": true
10 "Automatic Memoization memoized bracketLayer acquires and releases only once",
17 "Automatic Memoization memoized bracketLayer acquires and releases only once",
12− "timestamp": "1771460758484.0",
19+ "timestamp": "1775221839085.0",
13 "success": true
20 "success": true
17 "Automatic Memoization memoized scoped layer runs finalizer only once",
24 "Automatic Memoization memoized scoped layer runs finalizer only once",
19− "timestamp": "1771460758484.0",
26+ "timestamp": "1775221839085.0",
20 "success": true
27 "success": true
24 "Composition proves Row.Nub deduplicates shared requirements at type level",
31 "Composition proves Row.Nub deduplicates shared requirements at type level",
26− "timestamp": "1771460758484.0",
33+ "timestamp": "1775221839085.0",
27 "success": true
34 "success": true
31 "Composition proves deduplication at runtime via shared Ref",
38 "Composition proves deduplication at runtime via shared Ref",
33− "timestamp": "1771460758484.0",
40+ "timestamp": "1775221839085.0",
34 "success": true
41 "success": true
38 "Error Channel composes layers with different error types",
45 "Error Channel composes layers with different error types",
40− "timestamp": "1771460758484.0",
47+ "timestamp": "1775221839085.0",
41 "success": true
48 "success": true
45 "Error Channel propagates errors from the first layer",
52 "Error Channel propagates errors from the first layer",
47− "timestamp": "1771460758484.0",
54+ "timestamp": "1775221839085.0",
48 "success": true
55 "success": true
52 "Error Channel propagates errors from the second layer",
59 "Error Channel propagates errors from the second layer",
54− "timestamp": "1771460758484.0",
61+ "timestamp": "1775221839085.0",
55 "success": true
62 "success": true
59 "Error Channel propagates errors through vertical composition",
66 "Error Channel propagates errors through vertical composition",
61− "timestamp": "1771460758484.0",
68+ "timestamp": "1775221839085.0",
62 "success": true
69 "success": true
66 "Error Channel scoped layer error triggers finalizers",
73 "Error Channel scoped layer error triggers finalizers",
68− "timestamp": "1771460758484.0",
75+ "timestamp": "1775221839085.0",
69 "success": true
76 "success": true
73 "Error Channel scoped layers with errors run via runScopedWith",
80 "Error Channel scoped layers with errors run via runScopedWith",
75− "timestamp": "1771460758484.0",
82+ "timestamp": "1775221839085.0",
76 "success": true
83 "success": true
80 "Functor / Apply / Bind applies two layers",
87 "Functor / Apply / Bind applies two layers",
82− "timestamp": "1771460758484.0",
89+ "timestamp": "1775221839085.0",
83 "success": true
90 "success": true
87 "Functor / Apply / Bind binds layers sequentially",
94 "Functor / Apply / Bind binds layers sequentially",
89− "timestamp": "1771460758484.0",
96+ "timestamp": "1775221839085.0",
90 "success": true
97 "success": true
94 "Functor / Apply / Bind maps over layer output",
101 "Functor / Apply / Bind maps over layer output",
96− "timestamp": "1771460758484.0",
103+ "timestamp": "1775221839085.0",
108+ "Functor / Apply / Bind runs layers against a superset context",
110+ "timestamp": "1775221839085.0",
97 "success": true
111 "success": true
101 "Layer recovering does not retry on non-matching errors",
115 "Layer recovering does not retry on non-matching errors",
103− "timestamp": "1771460758484.0",
117+ "timestamp": "1775221839085.0",
104 "success": true
118 "success": true
108 "Layer recovering only retries the specified error in a multi-error layer",
122 "Layer recovering only retries the specified error in a multi-error layer",
110− "timestamp": "1771460758484.0",
124+ "timestamp": "1775221839085.0",
111 "success": true
125 "success": true
115 "Layer recovering preserves the error when retries are exhausted",
129 "Layer recovering preserves the error when retries are exhausted",
117− "timestamp": "1771460758484.0",
131+ "timestamp": "1775221839085.0",
118 "success": true
132 "success": true
122 "Layer recovering retries layer construction on matching errors",
136 "Layer recovering retries layer construction on matching errors",
124− "timestamp": "1771460758484.0",
138+ "timestamp": "1775221839085.0",
125 "success": true
139 "success": true
129 "Layer recovering uses RetryStatus in the check",
143 "Layer recovering uses RetryStatus in the check",
131− "timestamp": "1771460758484.0",
145+ "timestamp": "1775221839085.0",
132 "success": true
146 "success": true
136 "Layer repeating repeats layer construction while condition holds",
150 "Layer repeating repeats layer construction while condition holds",
138− "timestamp": "1771460758484.0",
152+ "timestamp": "1775221839085.0",
139 "success": true
153 "success": true
143 "Layer repeating stops when policy exhausted",
157 "Layer repeating stops when policy exhausted",
145− "timestamp": "1771460758484.0",
159+ "timestamp": "1775221839085.0",
164+ "MonadAsk / MonadReader ask reads the context directly",
166+ "timestamp": "1775221839085.0",
171+ "MonadAsk / MonadReader local modifies context for a layer",
173+ "timestamp": "1775221839085.0",
178+ "MonadEffect / MonadAff liftEffect works directly in layer bind",
180+ "timestamp": "1775221839085.0",
185+ "MonadThrow / MonadError throwError raises into the error channel",
187+ "timestamp": "1775221839085.0",
146 "success": true
188 "success": true
150 "Parallel runs layers in parallel via parApply",
192 "Parallel runs layers in parallel via parApply",
152− "timestamp": "1771460758484.0",
194+ "timestamp": "1775221839085.0",
153 "success": true
195 "success": true
157 "Scoped Layers combines scoped and non-scoped layers",
199 "Scoped Layers combines scoped and non-scoped layers",
159− "timestamp": "1771460758484.0",
201+ "timestamp": "1775221839085.0",
160 "success": true
202 "success": true
164 "Scoped Layers fresh layer builds twice even when same base layer",
206 "Scoped Layers fresh layer builds twice even when same base layer",
166− "timestamp": "1771460758484.0",
208+ "timestamp": "1775221839085.0",
167 "success": true
209 "success": true
171 "Scoped Layers runs finalizers in reverse order on success",
213 "Scoped Layers runs finalizers in reverse order on success",
173− "timestamp": "1771460758484.0",
215+ "timestamp": "1775221839085.0",
174 "success": true
216 "success": true
178 "Scoped Layers runs finalizers when the callback throws",
220 "Scoped Layers runs finalizers when the callback throws",
180− "timestamp": "1771460758484.0",
222+ "timestamp": "1775221839085.0",
181 "success": true
223 "success": true
185 "Scoped Layers threads finalizers through vertical composition (provide)",
227 "Scoped Layers threads finalizers through vertical composition (provide)",
187− "timestamp": "1771460758484.0",
229+ "timestamp": "1775221839085.0",
188 "success": true
230 "success": true
192 "Scoped Layers works with bracketLayer",
234 "Scoped Layers works with bracketLayer",
194− "timestamp": "1771460758484.0",
236+ "timestamp": "1775221839085.0",
241+ "Semigroup appends layer outputs",
243+ "timestamp": "1775221839085.0",
248+ "combinePure combines a plain record with a layer without needing VTA",
250+ "timestamp": "1775214062703.0",
195 "success": true
251 "success": true
199 "wireLayers memoizes shared dependencies within wireLayers",
255 "wireLayers memoizes shared dependencies within wireLayers",
201− "timestamp": "1771460758484.0",
257+ "timestamp": "1775221839085.0",
202 "success": true
258 "success": true
206 "wireLayers wireLayersDebug emits dependency graph as compiler warning",
262 "wireLayers wireLayersDebug emits dependency graph as compiler warning",
208− "timestamp": "1771460758484.0",
264+ "timestamp": "1775221839085.0",
209 "success": true
265 "success": true
213 "wireLayers wires a diamond dependency",
269 "wireLayers wires a diamond dependency",
215− "timestamp": "1771460758484.0",
271+ "timestamp": "1775221839085.0",
216 "success": true
272 "success": true
220 "wireLayers wires a simple linear chain (A -> B -> C)",
276 "wireLayers wires a simple linear chain (A -> B -> C)",
222− "timestamp": "1771460758484.0",
278+ "timestamp": "1775221839085.0",
223 "success": true
279 "success": true
227 "wireLayers wires independent layers with no inter-dependencies",
283 "wireLayers wires independent layers with no inter-dependencies",
229− "timestamp": "1771460758484.0",
285+ "timestamp": "1775221839085.0",
290+ "withValue combines a plain record with a layer without needing VTA",
292+ "timestamp": "1775221839085.0",
230 "success": true
293 "success": true