RUN v3.2.7 /tmp/circe-6892749-review × counterexamples.test.ts > pinned explicit seed is dropped after 64 soft active-scope seeds 19ms → expected true to be false // Object.is equality × counterexamples.test.ts > recent-activity provider drops the 17th entity without reporting incompleteness 11ms → expected true to be false // Object.is equality × counterexamples.test.ts > relation evidence beyond per-candidate cap is omitted with no incompleteness flag 3ms → expected true to be false // Object.is equality × counterexamples.test.ts > ambiguous upstream choice is supplied to a dependent model stage 2ms → expected undefined to be 'A' // Object.is equality × counterexamples.test.ts > backend-level ambiguity still yields an individually resolved trace 1ms → expected 'AMBIGUOUS' to be 'RESOLVED' // Object.is equality × counterexamples.test.ts > two runs and different workflows overwrite the same stored decision id 1ms → expected 'decision:run:frame:test:w:3:s:pick' to be 'decision:run:frame:test:other-workflo…' // Object.is equality × counterexamples.test.ts > null backend result escapes validation as an uncaught TypeError 4ms → promise resolved "{ runId: 'run:frame:test:w:5', …(11) }" instead of rejecting × counterexamples.test.ts > out-of-range score with a uniform distribution auto-binds using self-reported confidence 1ms → expected [ { specId: 'risk', …(2) }, …(2) ] to deeply equal [] × counterexamples.test.ts > a belief arriving after its source changed remains active 1ms → expected '2026-09-22T09:00:00.000Z' to be undefined × counterexamples.test.ts > re-ingesting identical observation invalidates a still-valid belief 1ms → expected undefined to be '2026-09-22T09:00:00.000Z' // Object.is equality × counterexamples.test.ts > new incident relation does not invalidate a belief over the previous neighborhood 1ms → expected '2026-09-22T09:00:00.000Z' to be undefined × counterexamples.test.ts > persisted deterministic assertions never enter the frame 1ms → expected true to be false // Object.is equality × counterexamples.test.ts > capability order changes backend input without changing frame hash 1ms → expected '234de7b23236c657' to be '23fbf7520e0f49bf' // Object.is equality × counterexamples.test.ts > kernel ignores semantically selected capability when lexicon does not match 3ms → expected [ { id: 'intent:1', …(6) } ] to have a length of +0 but got 1 × counterexamples.test.ts > kernel invokes an unobserved selected entity with zero authority validations 1ms → expected [] to have a length of 1 but got +0 × counterexamples.test.ts > empty validation result is treated as successful validation 7ms → Target cannot be null or undefined. × counterexamples.test.ts > kernel binds first-ever snapshot token after observing a newer version 1ms → Cannot read properties of undefined (reading '0') × counterexamples.test.ts > executor applies then throws: effect remains RUNNING rather than UNKNOWN 3ms → promise resolved "{ semanticEvents: [ { …(10) } ], …(9) }" instead of rejecting × counterexamples.test.ts > duplicate observation delivery creates two distinct effect/idempotency keys 1ms → expected [] to have a length of 2 but got +0 × counterexamples.test.ts > two overlapping commits pass the gate and invoke twice 1ms → expected [] to have a length of 2 but got +0 × counterexamples.test.ts > hard utterance routes the negative-clause lexicon token and all of the scope 1ms → Cannot read properties of undefined (reading 'capability') × counterexamples.test.ts > cancellation during authority validation is overwritten and the effect executes 1ms → Cannot read properties of undefined (reading 'state') × counterexamples.test.ts > history seeding pulls bindings from a different interaction in a shared store 0ms → Cannot read properties of undefined (reading 'ref') × counterexamples.test.ts > new observations do not invalidate a relation derived from the old observation 0ms → expected [] to have a length of 1 but got +0 × counterexamples.test.ts > identity string encoding collides across namespace/type delimiters 0ms → expected 'a|x%3Ay|z|D' to be 'a|x|y%3Az|D' // Object.is equality ⎯⎯⎯⎯⎯⎯ Failed Tests 25 ⎯⎯⎯⎯⎯⎯⎯ FAIL counterexamples.test.ts > pinned explicit seed is dropped after 64 soft active-scope seeds AssertionError: expected true to be false // Object.is equality - Expected + Received - false + true ❯ counterexamples.test.ts:26:60 24| req.hints = { refs: [focus] }; 25| const { frame } = await assembleFrame(store, req); 26| expect(frame.candidates.some(c => c.ref.id === 'focus')).toBe(false); | ^ 27| expect(frame.assembly.completeness.pinnedSeedCount).toBe(0); 28| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/25]⎯ FAIL counterexamples.test.ts > recent-activity provider drops the 17th entity without reporting incompleteness AssertionError: expected true to be false // Object.is equality - Expected + Received - false + true ❯ counterexamples.test.ts:36:101 34| expect(frame.candidates).toHaveLength(16); 35| const c = frame.assembly.completeness; 36| expect(c.seedTruncated || c.traversalTruncated || c.candidateTruncat… | ^ 37| expect(evaluateAnswer(ACCEPTANCE_POLICY_V1, { ...spec, exhaustive: t… 38| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/25]⎯ FAIL counterexamples.test.ts > relation evidence beyond per-candidate cap is omitted with no incompleteness flag AssertionError: expected true to be false // Object.is equality - Expected + Received - false + true ❯ counterexamples.test.ts:45:85 43| const { frame } = await assembleFrame(store, request([a,b]) as any); 44| expect(frame.candidates.every(c => c.relations.length === 12)).toBe(… 45| expect(frame.candidates.some(c => c.relations.some(r => r.type === '… | ^ 46| expect(frame.assembly.completeness).toMatchObject({ seedTruncated: f… 47| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/25]⎯ FAIL counterexamples.test.ts > ambiguous upstream choice is supplied to a dependent model stage AssertionError: expected undefined to be 'A' // Object.is equality - Expected: "A" + Received: undefined ❯ counterexamples.test.ts:54:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/25]⎯ FAIL counterexamples.test.ts > backend-level ambiguity still yields an individually resolved trace AssertionError: expected 'AMBIGUOUS' to be 'RESOLVED' // Object.is equality Expected: "RESOLVED" Received: "AMBIGUOUS" ❯ counterexamples.test.ts:60:76 58| it('backend-level ambiguity still yields an individually resolved trac… 59| const result = await run(testFrame(), backend([answer()], 'AMBIGUOUS… 60| expect(result.status).toBe('AMBIGUOUS'); expect(result.traces[0].sta… | ^ 61| }); 62| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/25]⎯ FAIL counterexamples.test.ts > two runs and different workflows overwrite the same stored decision id AssertionError: expected 'decision:run:frame:test:w:3:s:pick' to be 'decision:run:frame:test:other-workflo…' // Object.is equality Expected: "decision:run:frame:test:other-workflow:4:other-step:pick" Received: "decision:run:frame:test:w:3:s:pick" ❯ counterexamples.test.ts:68:30 66| const second = await run(testFrame(), backend([answer(.9)]), { id: '… 67| store.recordDecision(first.traces[0]); store.recordDecision(second.t… 68| expect(first.traces[0].id).toBe(second.traces[0].id); | ^ 69| expect(store.decisions()).toHaveLength(1); 70| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/25]⎯ FAIL counterexamples.test.ts > null backend result escapes validation as an uncaught TypeError AssertionError: promise resolved "{ runId: 'run:frame:test:w:5', …(11) }" instead of rejecting - Expected + Received - Error { - "message": "rejected promise", + { + "backend": "fake", + "calls": 1, + "errors": [ + "stage s: malformed-result (pick): backend result is not an object: null", + ], + "failures": [ + { + "at": "2026-09-22T09:00:00.000Z", + "detail": "malformed-result: backend result is not an object: null", + "reason": "malformed-backend-output", + "runId": "run:frame:test:w:5", + "specIds": [ + "pick", + ], + "stageId": "s", + }, + ], + "frameHash": "hash:test", + "frameId": "frame:test", + "model": "fake", + "runId": "run:frame:test:w:5", + "state": { + "accepted": Map {}, + "answers": Map {}, + "notes": [], + "outcomes": Map {}, + "traces": [], + }, + "status": "ERROR", + "traces": [], + "workflowId": "w", } ❯ counterexamples.test.ts:74:35 72| it('null backend result escapes validation as an uncaught TypeError', … 73| const b: any = { id: 'fake', model: 'fake', async decide() { return … 74| await expect(run(testFrame(), b)).rejects.toThrow(TypeError); | ^ 75| }); 76| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/25]⎯ FAIL counterexamples.test.ts > out-of-range score with a uniform distribution auto-binds using self-reported confidence AssertionError: expected [ { specId: 'risk', …(2) }, …(2) ] to deeply equal [] - Expected + Received - [] + [ + { + "detail": "score -999 is outside the declared support [0, 2]", + "kind": "invalid-score", + "specId": "risk", + }, + { + "detail": "score -999 is inconsistent with the distribution mean 1.000", + "kind": "inconsistent-score", + "specId": "risk", + }, + { + "detail": "confidence 0.99 exceeds the strongest level probability 0.333", + "kind": "inconsistent-confidence", + "specId": "risk", + }, + ] ❯ counterexamples.test.ts:80:116 78| const s: any = { id: 'risk', kind: 'score', decision: 'risk', questi… 79| const a: any = { id: 'risk', kind: 'score', score: -999, probabiliti… 80| expect(validatePerceptionResult([s], { status: 'RESOLVED', answers: … | ^ 81| expect(evaluateAnswer(ACCEPTANCE_POLICY_V1,s,a,{ decision:'risk', ri… 82| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/25]⎯ FAIL counterexamples.test.ts > a belief arriving after its source changed remains active AssertionError: expected '2026-09-22T09:00:00.000Z' to be undefined - Expected: undefined + Received: "2026-09-22T09:00:00.000Z" ❯ counterexamples.test.ts:89:47 87| store.recordObservation(obs(r, now, '2') as any); 88| const id = store.addAnnotation(annotation([r],[first]) as any); 89| expect(store.annotation(id)?.invalidatedAt).toBeUndefined(); | ^ 90| expect(store.annotationsFor(r)).toHaveLength(1); 91| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/25]⎯ FAIL counterexamples.test.ts > re-ingesting identical observation invalidates a still-valid belief AssertionError: expected undefined to be '2026-09-22T09:00:00.000Z' // Object.is equality - Expected: "2026-09-22T09:00:00.000Z" + Received: undefined ❯ counterexamples.test.ts:97:47 95| const first = store.recordObservation(input); const id = store.addAn… 96| store.recordObservation(input); 97| expect(store.annotation(id)?.invalidatedAt).toBe(now); | ^ 98| }); 99| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/25]⎯ FAIL counterexamples.test.ts > new incident relation does not invalidate a belief over the previous neighborhood AssertionError: expected '2026-09-22T09:00:00.000Z' to be undefined - Expected: undefined + Received: "2026-09-22T09:00:00.000Z" ❯ counterexamples.test.ts:105:47 103| const id = store.addAnnotation(annotation([r],[first]) as any); 104| store.addRelation({ type: 'blockedBy', from:r, to:ref('failure'), ob… 105| expect(store.annotation(id)?.invalidatedAt).toBeUndefined(); | ^ 106| }); 107| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/25]⎯ FAIL counterexamples.test.ts > persisted deterministic assertions never enter the frame AssertionError: expected true to be false // Object.is equality - Expected + Received - false + true ❯ counterexamples.test.ts:113:77 111| store.recordAssertion({ refs:[r], predicate:'must-not-run', value:tr… 112| const {frame} = await assembleFrame(store,request([r]) as any); 113| expect(frame.candidates[0].derived.some(a=>a.predicate==='must-not-r… | ^ 114| }); 115| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/25]⎯ FAIL counterexamples.test.ts > capability order changes backend input without changing frame hash AssertionError: expected '234de7b23236c657' to be '23fbf7520e0f49bf' // Object.is equality Expected: "23fbf7520e0f49bf" Received: "234de7b23236c657" ❯ counterexamples.test.ts:121:88 119| const a = await assembleFrame(store,{...request(),capabilities:caps}… 120| const b = await assembleFrame(store,{...request(),capabilities:[...c… 121| expect(a.frame.capabilities).not.toEqual(b.frame.capabilities); expe… | ^ 122| }); 123| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/25]⎯ FAIL counterexamples.test.ts > kernel ignores semantically selected capability when lexicon does not match AssertionError: expected [ { id: 'intent:1', …(6) } ] to have a length of +0 but got 1 - Expected + Received - 0 + 1 ❯ counterexamples.test.ts:138:26 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[14/25]⎯ FAIL counterexamples.test.ts > kernel invokes an unobserved selected entity with zero authority validations AssertionError: expected [] to have a length of 1 but got +0 - Expected + Received - 1 + 0 ❯ counterexamples.test.ts:144:58 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/25]⎯ FAIL counterexamples.test.ts > empty validation result is treated as successful validation AssertionError: Target cannot be null or undefined. ❯ counterexamples.test.ts:149:26 147| it('empty validation result is treated as successful validation', asyn… 148| const r=rig({validate:()=>[]}); await r.say('show me tasks'); await … 149| expect(r.validates[0]).toHaveLength(1); expect(r.invokes).toHaveLeng… | ^ 150| }); 151| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/25]⎯ FAIL counterexamples.test.ts > kernel binds first-ever snapshot token after observing a newer version TypeError: Cannot read properties of undefined (reading '0') ❯ counterexamples.test.ts:154:23 152| it('kernel binds first-ever snapshot token after observing a newer ver… 153| const r=rig(); await r.say('show me tasks'); await r.say('show me ta… 154| expect(r.validates[0][0].token.token).toBe('1'); | ^ 155| }); 156| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/25]⎯ FAIL counterexamples.test.ts > executor applies then throws: effect remains RUNNING rather than UNKNOWN AssertionError: promise resolved "{ semanticEvents: [ { …(10) } ], …(9) }" instead of rejecting - Expected + Received - Error { - "message": "rejected promise", + { + "calls": [], + "effects": [], + "errors": undefined, + "intents": [], + "provenance": [ + { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "request", + "confidence": 1, + "inputs": [ + { + "label": "text", + "source": "observation", + "value": "resume the first one", + }, + { + "label": "gate", + "source": "state", + "value": false, + }, + ], + "rule": "lexicon.v1", + }, + { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "a|tasks|task|A", + "confidence": 1, + "inputs": [ + { + "label": "phrase", + "source": "observation", + "value": "the first one", + }, + { + "label": "scope", + "source": "state", + "value": [ + "a|tasks|task|A", + ], + }, + { + "label": "index", + "source": "resolver", + "value": 0, + }, + ], + "rule": "ordinal.v1", + }, + ], + "references": [ + { + "kind": "ordinal", + "phrase": "the first one", + "polarity": "include", + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "a|tasks|task|A", + "confidence": 1, + "inputs": [ + { + "label": "phrase", + "source": "observation", + "value": "the first one", + }, + { + "label": "scope", + "source": "state", + "value": [ + "a|tasks|task|A", + ], + }, + { + "label": "index", + "source": "resolver", + "value": 0, + }, + ], + "rule": "ordinal.v1", + }, + "refs": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + "scopeId": "scope:01", + }, + ], + "reply": { + "kind": "question", + }, + "scope": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + "semanticEvents": [ + { + "act": "request", + "at": "2026-09-22T09:00:00.000Z", + "confidence": 1, + "frame": { + "verb": "resume", + }, + "id": "event:input:2", + "mentions": [], + "observationIds": [ + "input:2", + ], + "operations": [ + "reference", + ], + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "request", + "confidence": 1, + "inputs": [ + { + "label": "text", + "source": "observation", + "value": "resume the first one", + }, + { + "label": "gate", + "source": "state", + "value": false, + }, + ], + "rule": "lexicon.v1", + }, + "references": [ + { + "kind": "ordinal", + "phrase": "the first one", + "polarity": "include", + "provenance": { + "at": "2026-09-22T09:00:00.000Z", + "conclusion": "a|tasks|task|A", + "confidence": 1, + "inputs": [ + { + "label": "phrase", + "source": "observation", + "value": "the first one", + }, + { + "label": "scope", + "source": "state", + "value": [ + "a|tasks|task|A", + ], + }, + { + "label": "index", + "source": "resolver", + "value": 0, + }, + ], + "rule": "ordinal.v1", + }, + "refs": [ + { + "authority": "a", + "id": "A", + "namespace": "tasks", + "type": "task", + }, + ], + "scopeId": "scope:01", + }, + ], + }, + ], + "transactions": [], } ❯ counterexamples.test.ts:159:75 157| it('executor applies then throws: effect remains RUNNING rather than U… 158| let applied = false; const r=rig({invoke:()=>{applied=true;throw new… 159| await r.say('show me tasks'); await expect(r.say('resume the first o… | ^ 160| expect(applied).toBe(true); expect([...r.runtime.state().effects.val… 161| expect([...r.runtime.state().transactions.values()][0].state).toBe('… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/25]⎯ FAIL counterexamples.test.ts > duplicate observation delivery creates two distinct effect/idempotency keys AssertionError: expected [] to have a length of 2 but got +0 - Expected + Received - 2 + 0 ❯ counterexamples.test.ts:168:21 166| const input:any={kind:'utterance',id:'same-input',text:'resume the f… 167| await r.runtime.ingest(input); await r.runtime.ingest(input); 168| expect(r.invokes).toHaveLength(2); expect(r.invokes[0].idempotencyKe… | ^ 169| }); 170| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[19/25]⎯ FAIL counterexamples.test.ts > two overlapping commits pass the gate and invoke twice AssertionError: expected [] to have a length of 2 but got +0 - Expected + Received - 2 + 0 ❯ counterexamples.test.ts:177:20 175| const a=r.say('yes'); const b=r.say('yes'); 176| for(let i=0;i<20 && releases.length<2;i++)await Promise.resolve(); 177| expect(releases).toHaveLength(2); releases.forEach(f=>f()); await Pr… | ^ 178| expect(r.invokes).toHaveLength(2); 179| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[20/25]⎯ FAIL counterexamples.test.ts > hard utterance routes the negative-clause lexicon token and all of the scope TypeError: Cannot read properties of undefined (reading 'capability') ❯ counterexamples.test.ts:186:28 184| expect(result.semanticEvents[0].act).toBe('request'); 185| expect(result.semanticEvents[0].references[0].provenance.rule).toBe(… 186| expect(result.intents[0].capability).toBe('task.leave'); expect(r.in… | ^ 187| }); 188| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[21/25]⎯ FAIL counterexamples.test.ts > cancellation during authority validation is overwritten and the effect executes TypeError: Cannot read properties of undefined (reading 'state') ❯ counterexamples.test.ts:195:58 193| const commit=r.say('yes'); for(let i=0;i<20 && !release;i++)await Pr… 194| await r.say("actually don't"); 195| expect([...r.runtime.state().transactions.values()][0].state).toBe('… | ^ 196| release(); await commit; 197| expect(r.invokes).toHaveLength(1); expect([...r.runtime.state().tran… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[22/25]⎯ FAIL counterexamples.test.ts > history seeding pulls bindings from a different interaction in a shared store TypeError: Cannot read properties of undefined (reading 'ref') ❯ counterexamples.test.ts:205:30 203| store.addBinding({interactionId:'different-conversation',observation… 204| const {frame}=await assembleFrame(store,request() as any); 205| expect(frame.candidates[0].ref.id).toBe('foreign'); | ^ 206| expect(frame.candidates[0].reasons).toContain('seed:history:definite… 207| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[23/25]⎯ FAIL counterexamples.test.ts > new observations do not invalidate a relation derived from the old observation AssertionError: expected [] to have a length of 1 but got +0 - Expected + Received - 1 + 0 ❯ counterexamples.test.ts:214:33 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[24/25]⎯ FAIL counterexamples.test.ts > identity string encoding collides across namespace/type delimiters AssertionError: expected 'a|x%3Ay|z|D' to be 'a|x|y%3Az|D' // Object.is equality Expected: "a|x|y%3Az|D" Received: "a|x%3Ay|z|D" ❯ counterexamples.test.ts:218:64 216| 217| it('identity string encoding collides across namespace/type delimiters… 218| expect(entityRefKey({...ref('D'),namespace:'x:y',type:'z'})).toBe(en… | ^ 219| }); 220| ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[25/25]⎯ Test Files 1 failed (1) Tests 25 failed (25) Start at 04:37:22 Duration 567ms (transform 184ms, setup 0ms, collect 229ms, tests 66ms, environment 0ms, prepare 55ms)