NODEDC_1C/llm_normalizer/backend/vitest-full-report.json

1 line
328 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"numTotalTestSuites":251,"numPassedTestSuites":225,"numFailedTestSuites":26,"numPendingTestSuites":0,"numTotalTests":670,"numPassedTests":616,"numFailedTests":54,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1775902593352,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":["address MCP encoding repair"],"fullName":"address MCP encoding repair repairs UTF-8/CP1251 mojibake in object rows","status":"passed","title":"repairs UTF-8/CP1251 mojibake in object rows","duration":7.5242000000000075,"failureMessages":[],"meta":{}}],"startTime":1775902595151,"endTime":1775902595158.5242,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/addressMcpClientEncoding.test.ts"},{"assertionResults":[{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier classifies explain question as deep-shape","status":"passed","title":"classifies explain question as deep-shape","duration":0.8351999999999862,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier classifies aggregate lookup question","status":"passed","title":"classifies aggregate lookup question","duration":0.4757000000000744,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier classifies compound factual question","status":"passed","title":"classifies compound factual question","duration":0.17849999999998545,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps company lookup phrasing in address lane","status":"passed","title":"keeps company lookup phrasing in address lane","duration":3.8835000000000264,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps loose by-anchor follow-up phrasing in address lane","status":"passed","title":"keeps loose by-anchor follow-up phrasing in address lane","duration":1.6160999999999603,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps slang transaction phrasing in address lane","status":"passed","title":"keeps slang transaction phrasing in address lane","duration":0.19669999999996435,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps short balance slang with compact account token in address lane","status":"passed","title":"keeps short balance slang with compact account token in address lane","duration":0.08789999999999054,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps management period profile question in address lane","status":"passed","title":"keeps management period profile question in address lane","duration":0.09390000000007603,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps management document/section profile question in address lane","status":"passed","title":"keeps management document/section profile question in address lane","duration":0.1790000000000873,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps management counterparty population question in address lane","status":"passed","title":"keeps management counterparty population question in address lane","duration":0.11519999999995889,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps slang supplier count question in address lane","status":"passed","title":"keeps slang supplier count question in address lane","duration":0.06069999999999709,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps slang client count question in address lane","status":"passed","title":"keeps slang client count question in address lane","duration":0.05119999999999436,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps customer activity lifecycle question in address lane","status":"passed","title":"keeps customer activity lifecycle question in address lane","duration":0.07370000000003074,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps customer list all-time question in address lane","status":"passed","title":"keeps customer list all-time question in address lane","duration":0.049999999999954525,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps customer list short-year question in address lane","status":"passed","title":"keeps customer list short-year question in address lane","duration":0.04469999999992069,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps noisy management phrase about years alive in address lane","status":"passed","title":"keeps noisy management phrase about years alive in address lane","duration":0.03880000000003747,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps noisy month-peak phrase in address lane","status":"passed","title":"keeps noisy month-peak phrase in address lane","duration":0.038399999999910506,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps management contract usage overview question in address lane","status":"passed","title":"keeps management contract usage overview question in address lane","duration":0.04529999999999745,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps customer value ranking question in address lane","status":"passed","title":"keeps customer value ranking question in address lane","duration":0.040300000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps highest inflow slang question in address lane","status":"passed","title":"keeps highest inflow slang question in address lane","duration":0.040100000000052205,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps typo customer highest-check question in address lane","status":"passed","title":"keeps typo customer highest-check question in address lane","duration":0.035399999999981446,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps supplier payout ranking question in address lane","status":"passed","title":"keeps supplier payout ranking question in address lane","duration":0.03409999999996671,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps contract turnover ranking question in address lane","status":"passed","title":"keeps contract turnover ranking question in address lane","duration":0.04499999999995907,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query shape classifier"],"fullName":"address query shape classifier keeps top contract wording with 'контракт' in address lane","status":"passed","title":"keeps top contract wording with 'контракт' in address lane","duration":0.04099999999993997,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders readable russian header for contract document list","status":"passed","title":"renders readable russian header for contract document list","duration":1.0487999999999147,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders readable russian header for contract bank operations","status":"passed","title":"renders readable russian header for contract bank operations","duration":0.06079999999997199,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders readable russian header for contracts-by-counterparty list","status":"passed","title":"renders readable russian header for contracts-by-counterparty list","duration":0.10760000000004766,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders period coverage summary for management profile intent","status":"passed","title":"renders period coverage summary for management profile intent","duration":0.33579999999994925,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders document type + account section profile summary","status":"passed","title":"renders document type + account section profile summary","duration":0.32650000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for active year question (without month block)","status":"passed","title":"returns focused answer for active year question (without month block)","duration":0.5487000000000535,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for active month question (without year block)","status":"passed","title":"returns focused answer for active month question (without year block)","duration":0.3705999999999676,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for passive year question (and ignores low-activity tail year)","status":"passed","title":"returns focused answer for passive year question (and ignores low-activity tail year)","duration":0.1351999999999407,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for passive month question (without year block)","status":"passed","title":"returns focused answer for passive month question (without year block)","duration":0.13160000000004857,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers shows operational range and low-activity tail for coverage question","status":"passed","title":"shows operational range and low-activity tail for coverage question","duration":0.23839999999995598,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused document-type answer without account sections","status":"passed","title":"returns focused document-type answer without account sections","duration":0.4957000000000562,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused account-sections answer without document types","status":"passed","title":"returns focused account-sections answer without document types","duration":0.30760000000009313,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for rare document types question","status":"passed","title":"returns focused answer for rare document types question","duration":0.17709999999999582,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for least-filled account sections question","status":"passed","title":"returns focused answer for least-filled account sections question","duration":0.16789999999991778,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for total counterparties question","status":"passed","title":"returns focused answer for total counterparties question","duration":0.6945999999999231,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for counterparty roles split question","status":"passed","title":"returns focused answer for counterparty roles split question","duration":0.4030999999999949,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for slang supplier count question","status":"passed","title":"returns focused answer for slang supplier count question","duration":0.12260000000003402,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns focused answer for slang client count question","status":"passed","title":"returns focused answer for slang client count question","duration":0.10110000000008768,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns customer activity lifecycle list for year question","status":"passed","title":"returns customer activity lifecycle list for year question","duration":0.4954999999999927,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns explicit 2020 year label for short-year lifecycle question","status":"passed","title":"returns explicit 2020 year label for short-year lifecycle question","duration":1.3813000000000102,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers returns contract usage overview summary","status":"passed","title":"returns contract usage overview summary","duration":0.20000000000004547,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders customer value top list with explicit top-2 limit","status":"passed","title":"renders customer value top list with explicit top-2 limit","duration":2.3671000000000504,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders top incoming deals for highest inflow wording","status":"passed","title":"renders top incoming deals for highest inflow wording","duration":0.4516999999999598,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders max-single ranking for highest-check typo wording","status":"passed","title":"renders max-single ranking for highest-check typo wording","duration":0.15359999999998308,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders supplier payout list by operations count","status":"passed","title":"renders supplier payout list by operations count","duration":0.3366000000000895,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers renders contract value list for minimal active budgets","status":"passed","title":"renders contract value list for minimal active budgets","duration":0.4270000000000209,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers adds deterministic why-zero explanation for VAT forecast follow-up wording","status":"passed","title":"adds deterministic why-zero explanation for VAT forecast follow-up wording","duration":0.4777000000000271,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers adds VAT declaration and payment deadlines for as-of-date forecast window","status":"passed","title":"adds VAT declaration and payment deadlines for as-of-date forecast window","duration":0.9346000000000458,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers builds VAT deadlines correctly for Q4 with next-year rollover","status":"passed","title":"builds VAT deadlines correctly for Q4 with next-year rollover","duration":0.20539999999994052,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers explains zero VAT as no-movements case when VAT turnovers are absent in window","status":"passed","title":"explains zero VAT as no-movements case when VAT turnovers are absent in window","duration":0.15999999999996817,"failureMessages":[],"meta":{}},{"ancestorTitles":["address compose stage utf8 headers"],"fullName":"address compose stage utf8 headers explains zero VAT as offset case when VAT turnovers exist but net is near zero","status":"passed","title":"explains zero VAT as offset case when VAT turnovers exist but net is near zero","duration":0.1352000000000544,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents by counterparty intent","status":"passed","title":"resolves documents by counterparty intent","duration":6.501099999999951,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves bank operations by counterparty intent","status":"passed","title":"resolves bank operations by counterparty intent","duration":1.619899999999916,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents forming balance intent","status":"passed","title":"resolves documents forming balance intent","duration":0.15660000000002583,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents forming balance for russian participle phrasing","status":"passed","title":"resolves documents forming balance for russian participle phrasing","duration":1.1416000000000395,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents forming balance for slang phrase with compact account token","status":"passed","title":"resolves documents forming balance for slang phrase with compact account token","duration":0.0968000000000302,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents forming balance for 'доки под остатком' slang phrase","status":"passed","title":"resolves documents forming balance for 'доки под остатком' slang phrase","duration":0.08529999999996107,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents by company phrase as counterparty intent","status":"passed","title":"resolves documents by company phrase as counterparty intent","duration":3.1820999999999913,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves transliterated docy slang as documents by counterparty intent","status":"passed","title":"resolves transliterated docy slang as documents by counterparty intent","duration":0.42399999999997817,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves bank operations by supplier phrase","status":"passed","title":"resolves bank operations by supplier phrase","duration":0.5025000000000546,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents by contract intent","status":"passed","title":"resolves documents by contract intent","duration":0.6798999999999751,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves bank operations by contract intent","status":"passed","title":"resolves bank operations by contract intent","duration":1.09050000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves shorthand bank-by-contract slang intent","status":"passed","title":"resolves shorthand bank-by-contract slang intent","duration":0.2258000000000493,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves debt-by-contract query to open items intent","status":"passed","title":"resolves debt-by-contract query to open items intent","duration":0.2216999999999416,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves unclosed contracts list query without specific anchor","status":"passed","title":"resolves unclosed contracts list query without specific anchor","duration":0.22839999999996508,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves bank operations by contract for normalized phrase with linked contract wording","status":"passed","title":"resolves bank operations by contract for normalized phrase with linked contract wording","duration":0.22830000000010386,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps bank_operations_by_counterparty even when account hints are present","status":"passed","title":"keeps bank_operations_by_counterparty even when account hints are present","duration":0.47509999999999764,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves documents by client phrase","status":"passed","title":"resolves documents by client phrase","duration":0.25940000000002783,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves short slang docs phrase with loose by-anchor","status":"passed","title":"resolves short slang docs phrase with loose by-anchor","duration":0.155399999999986,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves typo slang docs phrase with implicit anchor","status":"passed","title":"resolves typo slang docs phrase with implicit anchor","duration":0.2685000000000173,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves noisy docs phrase with slang tail","status":"passed","title":"resolves noisy docs phrase with slang tail","duration":0.16179999999997108,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves slang transactions phrase by counterparty","status":"passed","title":"resolves slang transactions phrase by counterparty","duration":0.2518999999999778,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves short balance slang with compact account token","status":"passed","title":"resolves short balance slang with compact account token","duration":0.5275000000000318,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves colloquial 'что на счете' phrasing as account balance snapshot","status":"passed","title":"resolves colloquial 'что на счете' phrasing as account balance snapshot","duration":2.2480000000000473,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves mixed ru/en balance phrasing with account token","status":"passed","title":"resolves mixed ru/en balance phrasing with account token","duration":0.904700000000048,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves 'по докам' slang as documents forming balance","status":"passed","title":"resolves 'по докам' slang as documents forming balance","duration":0.12049999999999272,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves english compact docs-forming phrasing","status":"passed","title":"resolves english compact docs-forming phrasing","duration":0.0725999999999658,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves loose by-anchor follow-up as documents by counterparty fallback","status":"passed","title":"resolves loose by-anchor follow-up as documents by counterparty fallback","duration":0.6623000000000729,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for years-in-database question","status":"passed","title":"resolves period coverage profile for years-in-database question","duration":0.2442999999999529,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for top active year by documents question","status":"passed","title":"resolves period coverage profile for top active year by documents question","duration":0.13400000000001455,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for top active month by operations question","status":"passed","title":"resolves period coverage profile for top active month by operations question","duration":0.12849999999991724,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for passive year by documents question","status":"passed","title":"resolves period coverage profile for passive year by documents question","duration":0.10939999999993688,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for passive month by operations question","status":"passed","title":"resolves period coverage profile for passive month by operations question","duration":0.10979999999995016,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for noisy active-year-by-docs phrase","status":"passed","title":"resolves period coverage profile for noisy active-year-by-docs phrase","duration":0.0808999999999287,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves period coverage profile for month-peak follow-up phrase","status":"passed","title":"resolves period coverage profile for month-peak follow-up phrase","duration":0.07600000000002183,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for document type usage question","status":"passed","title":"resolves document+section profile for document type usage question","duration":0.08540000000004966,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for account section fill question","status":"passed","title":"resolves document+section profile for account section fill question","duration":0.09569999999996526,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for rare document types question","status":"passed","title":"resolves document+section profile for rare document types question","duration":0.07410000000004402,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for least-filled account sections question","status":"passed","title":"resolves document+section profile for least-filled account sections question","duration":0.06609999999989213,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for noisy docs usage phrase","status":"passed","title":"resolves document+section profile for noisy docs usage phrase","duration":0.06729999999993197,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves document+section profile for summary by doc types and share phrase","status":"passed","title":"resolves document+section profile for summary by doc types and share phrase","duration":0.07929999999998927,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for total unique counterparties question","status":"passed","title":"resolves counterparty population intent for total unique counterparties question","duration":0.07740000000001146,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for roles split question","status":"passed","title":"resolves counterparty population intent for roles split question","duration":0.08379999999999654,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for slang supplier count question","status":"passed","title":"resolves counterparty population intent for slang supplier count question","duration":0.07230000000004111,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for slang supplier count in base question","status":"passed","title":"resolves counterparty population intent for slang supplier count in base question","duration":0.07159999999998945,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for slang client count question","status":"passed","title":"resolves counterparty population intent for slang client count question","duration":0.0585999999999558,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty population intent for slang client count in base question","status":"passed","title":"resolves counterparty population intent for slang client count in base question","duration":0.06009999999992033,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for active customers in year question","status":"passed","title":"resolves counterparty lifecycle intent for active customers in year question","duration":0.09109999999998308,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for active customers all-time question","status":"passed","title":"resolves counterparty lifecycle intent for active customers all-time question","duration":0.07650000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for customer list all-time question","status":"passed","title":"resolves counterparty lifecycle intent for customer list all-time question","duration":0.07730000000003656,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for customer list short-year question","status":"passed","title":"resolves counterparty lifecycle intent for customer list short-year question","duration":0.07449999999994361,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for roster wording without explicit period","status":"passed","title":"resolves counterparty lifecycle intent for roster wording without explicit period","duration":0.08420000000000982,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for one-time counterparties wording","status":"passed","title":"resolves counterparty lifecycle intent for one-time counterparties wording","duration":0.08730000000002747,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves counterparty lifecycle intent for longest-running counterparties wording","status":"passed","title":"resolves counterparty lifecycle intent for longest-running counterparties wording","duration":0.08030000000007931,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves supplier lifecycle segmentation wording into lifecycle intent","status":"passed","title":"resolves supplier lifecycle segmentation wording into lifecycle intent","duration":0.15220000000010714,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves stale suppliers wording into lifecycle intent","status":"passed","title":"resolves stale suppliers wording into lifecycle intent","duration":0.12619999999992615,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps supplier lifecycle segmentation with operations wording in lifecycle intent","status":"passed","title":"keeps supplier lifecycle segmentation with operations wording in lifecycle intent","duration":0.10990000000003874,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps stale supplier operations wording in lifecycle intent","status":"passed","title":"keeps stale supplier operations wording in lifecycle intent","duration":0.09149999999999636,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps slang all-customers-all-time wording in lifecycle intent","status":"passed","title":"keeps slang all-customers-all-time wording in lifecycle intent","duration":0.08199999999999363,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps churn wording with year in lifecycle intent","status":"passed","title":"keeps churn wording with year in lifecycle intent","duration":0.07719999999994798,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps one-time-plus-churn wording in lifecycle intent","status":"passed","title":"keeps one-time-plus-churn wording in lifecycle intent","duration":0.07489999999995689,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps oldest-collaboration slang wording in lifecycle intent","status":"passed","title":"keeps oldest-collaboration slang wording in lifecycle intent","duration":0.08199999999999363,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps regular-vs-one-off supplier slang in lifecycle intent (not population)","status":"passed","title":"keeps regular-vs-one-off supplier slang in lifecycle intent (not population)","duration":0.07960000000002765,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves contract usage overview intent","status":"passed","title":"resolves contract usage overview intent","duration":0.09709999999995489,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves stale contracts wording into contract usage overview intent","status":"passed","title":"resolves stale contracts wording into contract usage overview intent","duration":0.14419999999995525,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves customer revenue/payout ranking intent","status":"passed","title":"resolves customer revenue/payout ranking intent","duration":0.15030000000001564,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves major-share revenue wording into customer revenue intent","status":"passed","title":"resolves major-share revenue wording into customer revenue intent","duration":0.1568000000000893,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves customer revenue intent from highest inflow slang wording","status":"passed","title":"resolves customer revenue intent from highest inflow slang wording","duration":0.11360000000001946,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves customer revenue intent from small deals by budget slang wording","status":"passed","title":"resolves customer revenue intent from small deals by budget slang wording","duration":0.2898999999999887,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves customer revenue intent from typo highest-check wording","status":"passed","title":"resolves customer revenue intent from typo highest-check wording","duration":0.13390000000003965,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves top counterparty slang wording into customer revenue intent","status":"passed","title":"resolves top counterparty slang wording into customer revenue intent","duration":0.13139999999998508,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves supplier payouts profile intent from slang wording","status":"passed","title":"resolves supplier payouts profile intent from slang wording","duration":0.13979999999992287,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves contract usage and value intent","status":"passed","title":"resolves contract usage and value intent","duration":0.08229999999991833,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves top contract wording with 'контракт' into contract usage and value intent","status":"passed","title":"resolves top contract wording with 'контракт' into contract usage and value intent","duration":0.10310000000004038,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves revenue-total slang wording into customer revenue intent","status":"passed","title":"resolves revenue-total slang wording into customer revenue intent","duration":0.116800000000012,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves overall-turnover wording into customer revenue intent","status":"passed","title":"resolves overall-turnover wording into customer revenue intent","duration":0.11019999999996344,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves VAT payment forecast wording into dedicated VAT forecast intent","status":"passed","title":"resolves VAT payment forecast wording into dedicated VAT forecast intent","duration":0.5724999999999909,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves colloquial VAT payable estimate wording without explicit 'прогноз'","status":"passed","title":"resolves colloquial VAT payable estimate wording without explicit 'прогноз'","duration":0.13049999999998363,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves multi-contract counterparties wording into contract usage and value intent","status":"passed","title":"resolves multi-contract counterparties wording into contract usage and value intent","duration":0.12990000000002055,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) resolves contracts-by-counterparty intent from list wording","status":"passed","title":"resolves contracts-by-counterparty intent from list wording","duration":0.22800000000006548,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) prefers documents-by-contract intent for explicit document follow-up wording","status":"passed","title":"prefers documents-by-contract intent for explicit document follow-up wording","duration":0.09249999999997272,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes supplier tail-risk wording into payables intent","status":"passed","title":"routes supplier tail-risk wording into payables intent","duration":0.07029999999997472,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) keeps out-of-scope supplier control wording as unknown intent","status":"passed","title":"keeps out-of-scope supplier control wording as unknown intent","duration":0.25480000000004566,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes long shipment-to-payment lag wording into receivables intent","status":"passed","title":"routes long shipment-to-payment lag wording into receivables intent","duration":0.07589999999993324,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes non-paying counterparties month-risk wording into receivables intent","status":"passed","title":"routes non-paying counterparties month-risk wording into receivables intent","duration":0.05560000000002674,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes reconciliation mismatch wording into open contracts intent","status":"passed","title":"routes reconciliation mismatch wording into open contracts intent","duration":0.05349999999998545,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes reconciliation mismatch wording without explicit lookup verb into open contracts intent","status":"passed","title":"routes reconciliation mismatch wording without explicit lookup verb into open contracts intent","duration":0.0544999999999618,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes payments-without-closing-docs wording into open contracts intent","status":"passed","title":"routes payments-without-closing-docs wording into open contracts intent","duration":0.10310000000004038,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes documents-without-payments wording into open contracts intent","status":"passed","title":"routes documents-without-payments wording into open contracts intent","duration":0.09420000000000073,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes stale advances without closing docs wording into open contracts intent","status":"passed","title":"routes stale advances without closing docs wording into open contracts intent","duration":0.18420000000003256,"failureMessages":[],"meta":{}},{"ancestorTitles":["address intent resolver expansion (M2.3a)"],"fullName":"address intent resolver expansion (M2.3a) routes buyers with open debt wording into open-items intent","status":"passed","title":"routes buyers with open debt wording into open-items intent","duration":0.14210000000002765,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not force default limit=20 for management aggregate intents","status":"passed","title":"does not force default limit=20 for management aggregate intents","duration":7.040200000000027,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts short-year period for lifecycle customer list question","status":"passed","title":"extracts short-year period for lifecycle customer list question","duration":0.1468000000000984,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown drops noisy counterparty anchor in ranking question for customer revenue profile","status":"passed","title":"drops noisy counterparty anchor in ranking question for customer revenue profile","duration":2.531600000000026,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not derive fake counterparty anchor for open-contracts stale-advance wording","status":"passed","title":"does not derive fake counterparty anchor for open-contracts stale-advance wording","duration":0.1795000000000755,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives VAT forecast quarter-to-date window when plain date phrase is present","status":"passed","title":"derives VAT forecast quarter-to-date window when plain date phrase is present","duration":0.2601000000000795,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives VAT forecast quarter-to-date window for explicit day+month+year phrase","status":"passed","title":"derives VAT forecast quarter-to-date window for explicit day+month+year phrase","duration":0.1776999999999589,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives VAT forecast quarter-to-date window when strict as-of cue is present","status":"passed","title":"derives VAT forecast quarter-to-date window when strict as-of cue is present","duration":0.3543000000000802,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown defaults as_of_date for documents_forming_balance when date is omitted","status":"passed","title":"defaults as_of_date for documents_forming_balance when date is omitted","duration":1.4861000000000786,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown cuts period tail from counterparty anchor","status":"passed","title":"cuts period tail from counterparty anchor","duration":0.9506999999999834,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown cuts all-time tail from counterparty anchor and skips 90-day default window","status":"passed","title":"cuts all-time tail from counterparty anchor and skips 90-day default window","duration":0.484299999999962,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown keeps all-time period by default for counterparty docs query without explicit window","status":"passed","title":"keeps all-time period by default for counterparty docs query without explicit window","duration":0.1994999999999436,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts counterparty from company phrase and derives year period","status":"passed","title":"extracts counterparty from company phrase and derives year period","duration":0.17349999999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts counterparty from supplier phrase and derives month period","status":"passed","title":"extracts counterparty from supplier phrase and derives month period","duration":0.12350000000003547,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown cuts period-end tail from counterparty anchor and keeps as_of for open-items query","status":"passed","title":"cuts period-end tail from counterparty anchor and keeps as_of for open-items query","duration":0.13139999999998508,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown cuts report-date tail from counterparty anchor and keeps clean as_of filter","status":"passed","title":"cuts report-date tail from counterparty anchor and keeps clean as_of filter","duration":0.0925000000000864,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives month period for balance snapshot from 'на май 2020'","status":"passed","title":"derives month period for balance snapshot from 'на май 2020'","duration":0.1188000000000784,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives month period for balance snapshot from 'на 2020.05'","status":"passed","title":"derives month period for balance snapshot from 'на 2020.05'","duration":0.126700000000028,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown derives month period for balance snapshot from 'на 2020 май'","status":"passed","title":"derives month period for balance snapshot from 'на 2020 май'","duration":0.11300000000005639,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts dotted account by heuristic for docs-forming phrasing without 'счет' keyword","status":"passed","title":"extracts dotted account by heuristic for docs-forming phrasing without 'счет' keyword","duration":0.17639999999994416,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts dotted account by heuristic for short balance slang","status":"passed","title":"extracts dotted account by heuristic for short balance slang","duration":0.13059999999995853,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not derive counterparty from follow-up filler token in bank phrase","status":"passed","title":"does not derive counterparty from follow-up filler token in bank phrase","duration":6.56759999999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown keeps compact account for docs-forming follow-up and avoids fake counterparty anchor","status":"passed","title":"keeps compact account for docs-forming follow-up and avoids fake counterparty anchor","duration":0.1612999999999829,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown drops accidental account for non-account intent without explicit account cue","status":"passed","title":"drops accidental account for non-account intent without explicit account cue","duration":0.7043999999999642,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts leading counterparty token for short bank phrase","status":"passed","title":"extracts leading counterparty token for short bank phrase","duration":1.5855000000000246,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown treats 'за весь период' as all-time hint and does not force 90-day default","status":"passed","title":"treats 'за весь период' as all-time hint and does not force 90-day default","duration":0.21519999999998163,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts loose by-anchor and year period for short slang docs phrase","status":"passed","title":"extracts loose by-anchor and year period for short slang docs phrase","duration":0.16380000000003747,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts implicit counterparty and short-year period for typo slang docs phrase","status":"passed","title":"extracts implicit counterparty and short-year period for typo slang docs phrase","duration":0.15560000000004948,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not use filler token 'есть' as counterparty when explicit shorthand anchor exists","status":"passed","title":"does not use filler token 'есть' as counterparty when explicit shorthand anchor exists","duration":0.2800000000000864,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts free-text counterparty and relaxed short-year period from noisy phrase","status":"passed","title":"extracts free-text counterparty and relaxed short-year period from noisy phrase","duration":0.2159000000000333,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts short ordinal year period from noisy docs phrase","status":"passed","title":"extracts short ordinal year period from noisy docs phrase","duration":0.1250999999999749,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts short bare year period from follow-up phrase","status":"passed","title":"extracts short bare year period from follow-up phrase","duration":0.09940000000005966,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not use action verb as counterparty when phrase is 'Показать документы <counterparty>'","status":"passed","title":"does not use action verb as counterparty when phrase is 'Показать документы <counterparty>'","duration":0.1429000000000542,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts counterparty and short year from transliterated noisy phrase","status":"passed","title":"extracts counterparty and short year from transliterated noisy phrase","duration":1.304300000000012,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not treat transliterated filler verb as counterparty in docy phrase","status":"passed","title":"does not treat transliterated filler verb as counterparty in docy phrase","duration":1.1014000000000124,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown repairs mojibake phrase before extracting counterparty filters","status":"passed","title":"repairs mojibake phrase before extracting counterparty filters","duration":6.95920000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts explicit year range period from phrase","status":"passed","title":"extracts explicit year range period from phrase","duration":0.21900000000005093,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts contract and year period for contract document list","status":"passed","title":"extracts contract and year period for contract document list","duration":0.547200000000089,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts contracts-by-counterparty anchor with numeric suffix from loose 'по ...' phrase","status":"passed","title":"extracts contracts-by-counterparty anchor with numeric suffix from loose 'по ...' phrase","duration":0.21659999999997126,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown cuts trailing as-of date from contract anchor","status":"passed","title":"cuts trailing as-of date from contract anchor","duration":0.3795999999999822,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown does not force 90-day default window for by-contract query without explicit period","status":"passed","title":"does not force 90-day default window for by-contract query without explicit period","duration":0.33550000000002456,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts heuristic contract token for noisy contract phrase","status":"passed","title":"extracts heuristic contract token for noisy contract phrase","duration":0.33619999999996253,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown trims english year tail from contract anchor","status":"passed","title":"trims english year tail from contract anchor","duration":0.1374999999999318,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown trims trailing separated year from contract anchor","status":"passed","title":"trims trailing separated year from contract anchor","duration":0.0886000000000422,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown trims explanatory tail after contract token","status":"passed","title":"trims explanatory tail after contract token","duration":0.08670000000006439,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts multiline year range period from phrase","status":"passed","title":"extracts multiline year range period from phrase","duration":0.27890000000002146,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown extracts russian year range period from 'с ... по ...' phrase","status":"passed","title":"extracts russian year range period from 'с ... по ...' phrase","duration":0.19299999999998363,"failureMessages":[],"meta":{}},{"ancestorTitles":["address filter extraction for balance drilldown"],"fullName":"address filter extraction for balance drilldown treats 'за любой период' as all-time hint and keeps loose by-anchor","status":"passed","title":"treats 'за любой период' as all-time hint and keeps loose by-anchor","duration":0.16800000000000637,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics injects as_of_date from analysis context when user message has no explicit period","status":"passed","title":"injects as_of_date from analysis context when user message has no explicit period","duration":3.094400000000064,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics returns soft out-of-scope reply without technical jargon for unsupported supplier-control wording","status":"passed","title":"returns soft out-of-scope reply without technical jargon for unsupported supplier-control wording","duration":0.9547000000000025,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes supplier tail-risk wording without forcing missing-anchor fallback","status":"passed","title":"routes supplier tail-risk wording without forcing missing-anchor fallback","duration":960.4023000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes shipment-to-payment lag wording into receivables lane without missing-anchor fallback","status":"failed","title":"routes shipment-to-payment lag wording into receivables lane without missing-anchor fallback","duration":5019.4962,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2370:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes payments-without-closing-docs wording into open contracts lane","status":"failed","title":"routes payments-without-closing-docs wording into open contracts lane","duration":5008.013900000001,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2381:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes stale advances wording into open contracts lane without missing-anchor fallback","status":"failed","title":"routes stale advances wording into open contracts lane without missing-anchor fallback","duration":5008.172200000001,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2392:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes non-paying counterparties month-risk wording into receivables lane","status":"failed","title":"routes non-paying counterparties month-risk wording into receivables lane","duration":5014.0358000000015,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2403:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes documents-without-payments wording into open contracts lane","status":"failed","title":"routes documents-without-payments wording into open contracts lane","duration":5015.104200000002,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2415:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes period coverage profile question into dedicated aggregate recipe","status":"failed","title":"routes period coverage profile question into dedicated aggregate recipe","duration":5007.750199999999,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2426:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics does not rewrite active-month management question into bank-ops counterparty lane","status":"failed","title":"does not rewrite active-month management question into bank-ops counterparty lane","duration":5010.999200000002,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2437:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes document+section profile question into dedicated aggregate recipe","status":"failed","title":"routes document+section profile question into dedicated aggregate recipe","duration":5011.141799999998,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2447:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes counterparty population question into dedicated aggregate recipe","status":"failed","title":"routes counterparty population question into dedicated aggregate recipe","duration":5008.8776,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2458:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes contract usage overview question into dedicated aggregate recipe","status":"failed","title":"routes contract usage overview question into dedicated aggregate recipe","duration":5017.268100000001,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2468:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes customer value question into dedicated aggregate recipe","status":"failed","title":"routes customer value question into dedicated aggregate recipe","duration":5001.703800000003,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2478:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes highest inflow slang wording into customer value aggregate recipe","status":"failed","title":"routes highest inflow slang wording into customer value aggregate recipe","duration":5003.028700000003,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2488:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes typo highest-check wording into customer value aggregate recipe","status":"failed","title":"routes typo highest-check wording into customer value aggregate recipe","duration":5012.634200000008,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2498:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes top counterparty slang wording into customer value aggregate recipe","status":"failed","title":"routes top counterparty slang wording into customer value aggregate recipe","duration":5011.106,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2508:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes supplier payout question into dedicated aggregate recipe","status":"failed","title":"routes supplier payout question into dedicated aggregate recipe","duration":5009.163799999995,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\addressQueryRuntimeM23.test.ts:2520:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes contract value question into dedicated aggregate recipe","status":"passed","title":"routes contract value question into dedicated aggregate recipe","duration":3087.0390000000043,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes top contract wording with 'контракт' into contract value aggregate recipe","status":"passed","title":"routes top contract wording with 'контракт' into contract value aggregate recipe","duration":1017.5210999999981,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes revenue-total slang wording into customer value aggregate recipe (no account-missing fallback)","status":"passed","title":"routes revenue-total slang wording into customer value aggregate recipe (no account-missing fallback)","duration":1005.7629000000015,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes overall-turnover wording into customer value aggregate recipe","status":"passed","title":"routes overall-turnover wording into customer value aggregate recipe","duration":1018.3968000000023,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes VAT payment forecast wording into dedicated VAT forecast recipe","status":"passed","title":"routes VAT payment forecast wording into dedicated VAT forecast recipe","duration":1023.620299999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes colloquial VAT payable estimate wording into VAT forecast recipe","status":"passed","title":"routes colloquial VAT payable estimate wording into VAT forecast recipe","duration":1011.3776999999973,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes customer lifecycle question into dedicated aggregate recipe","status":"passed","title":"routes customer lifecycle question into dedicated aggregate recipe","duration":1061.5473000000056,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes roster-style customer wording into lifecycle aggregate recipe","status":"passed","title":"routes roster-style customer wording into lifecycle aggregate recipe","duration":995.5893999999971,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes one-time counterparties wording into lifecycle aggregate recipe","status":"passed","title":"routes one-time counterparties wording into lifecycle aggregate recipe","duration":1006.6540999999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes stale contracts wording into contract usage overview recipe","status":"passed","title":"routes stale contracts wording into contract usage overview recipe","duration":964.4989999999962,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes multi-contract counterparties wording into contract usage and value recipe","status":"passed","title":"routes multi-contract counterparties wording into contract usage and value recipe","duration":1056.4967000000033,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics returns missing_anchor for open items without concrete counterparty/contract anchor","status":"passed","title":"returns missing_anchor for open items without concrete counterparty/contract anchor","duration":1.53870000000461,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics does not return fallback factual rows for unmatched open-items contract anchor","status":"passed","title":"does not return fallback factual rows for unmatched open-items contract anchor","duration":2338.630799999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics does not return broad fallback document list when counterparty anchor is not matched","status":"passed","title":"does not return broad fallback document list when counterparty anchor is not matched","duration":3978.724199999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics does not keep report-date phrase inside open-items counterparty anchor","status":"passed","title":"does not keep report-date phrase inside open-items counterparty anchor","duration":858.4956000000093,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes contract document list intent into address recipe","status":"passed","title":"routes contract document list intent into address recipe","duration":1149.6627000000008,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes contracts-by-counterparty intent into dedicated catalog recipe","status":"passed","title":"routes contracts-by-counterparty intent into dedicated catalog recipe","duration":876.3346999999922,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics routes bank operations by contract intent into address recipe","status":"passed","title":"routes bank operations by contract intent into address recipe","duration":1176.017399999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics includes resolver and row-stage diagnostics","status":"passed","title":"includes resolver and row-stage diagnostics","duration":792.957699999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics keeps short slang docs request in address lane (no deep fallback)","status":"passed","title":"keeps short slang docs request in address lane (no deep fallback)","duration":1026.6021000000037,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics keeps typo slang docs request in address lane and extracts implicit anchor","status":"passed","title":"keeps typo slang docs request in address lane and extracts implicit anchor","duration":1005.8530000000028,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics keeps noisy docs request in address lane and ignores slang tail token","status":"passed","title":"keeps noisy docs request in address lane and ignores slang tail token","duration":1010.7235000000073,"failureMessages":[],"meta":{}},{"ancestorTitles":["address query limited taxonomy and stage diagnostics"],"fullName":"address query limited taxonomy and stage diagnostics auto-broadens out-of-window period and returns available factual rows","status":"passed","title":"auto-broadens out-of-window period and returns available factual rows","duration":2288.273299999986,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps slang all-customers-all-time wording in address lane via resolved intent fallback","status":"passed","title":"keeps slang all-customers-all-time wording in address lane via resolved intent fallback","duration":0.6160000000090804,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps churn wording with year in address lane via resolved intent fallback","status":"passed","title":"keeps churn wording with year in address lane via resolved intent fallback","duration":0.2915000000066357,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover uses short bare year in follow-up period switch","status":"passed","title":"uses short bare year in follow-up period switch","duration":2.422100000010687,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps lifecycle follow-up phrasing with referential pointer and inherits period","status":"passed","title":"keeps lifecycle follow-up phrasing with referential pointer and inherits period","duration":0.8997999999992317,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps short period follow-up in address lane and preserves previous counterparty anchor","status":"passed","title":"keeps short period follow-up in address lane and preserves previous counterparty anchor","duration":1.5663000000058673,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover inherits organization scope from follow-up context when organization is omitted in user text","status":"passed","title":"inherits organization scope from follow-up context when organization is omitted in user text","duration":0.6869000000006054,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover inherits as_of_date from previous period for same-date balance follow-up","status":"passed","title":"inherits as_of_date from previous period for same-date balance follow-up","duration":0.3729999999923166,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps contract scope when follow-up asks for bank operations without explicit anchor","status":"passed","title":"keeps contract scope when follow-up asks for bank operations without explicit anchor","duration":1.0345000000088476,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover replaces noisy follow-up contract anchor with previous contract from context","status":"passed","title":"replaces noisy follow-up contract anchor with previous contract from context","duration":0.6679000000003725,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover replaces noisy referential counterparty anchor with previous counterparty from context","status":"passed","title":"replaces noisy referential counterparty anchor with previous counterparty from context","duration":0.43540000000211876,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover replaces 'кроме этого документа...' pseudo-anchor with previous counterparty from follow-up context","status":"passed","title":"replaces 'кроме этого документа...' pseudo-anchor with previous counterparty from follow-up context","duration":0.5041000000055647,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover promotes open-items intent from follow-up wording with inherited contract anchor","status":"passed","title":"promotes open-items intent from follow-up wording with inherited contract anchor","duration":0.7113000000099419,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps balance family in follow-up when user gives compact account token","status":"passed","title":"keeps balance family in follow-up when user gives compact account token","duration":1.0345000000088476,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover does not downgrade inherited follow-up anchor to missing_anchor when period has no rows","status":"passed","title":"does not downgrade inherited follow-up anchor to missing_anchor when period has no rows","duration":4070.907400000011,"failureMessages":[],"meta":{}},{"ancestorTitles":["address decompose stage follow-up carryover"],"fullName":"address decompose stage follow-up carryover keeps VAT explain follow-up in address lane and inherits previous period window","status":"passed","title":"keeps VAT explain follow-up in address lane and inherits previous period window","duration":0.5942000000068219,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects period coverage profile recipe and keeps aggregate markers","status":"passed","title":"selects period coverage profile recipe and keeps aggregate markers","duration":0.18009999999776483,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects document+section profile recipe and keeps aggregate markers","status":"passed","title":"selects document+section profile recipe and keeps aggregate markers","duration":0.1220000000030268,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects counterparty population recipe and keeps aggregate markers","status":"passed","title":"selects counterparty population recipe and keeps aggregate markers","duration":0.0819000000046799,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects contract usage overview recipe and keeps aggregate markers","status":"passed","title":"selects contract usage overview recipe and keeps aggregate markers","duration":0.06429999999818392,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects customer value recipe and keeps top-20 default","status":"passed","title":"selects customer value recipe and keeps top-20 default","duration":0.06109999999171123,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects supplier payouts recipe and keeps top-20 default","status":"passed","title":"selects supplier payouts recipe and keeps top-20 default","duration":0.05719999999564607,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects contract value recipe and keeps top-20 default","status":"passed","title":"selects contract value recipe and keeps top-20 default","duration":0.06560000000172295,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects contracts-by-counterparty recipe from contract catalog","status":"passed","title":"selects contracts-by-counterparty recipe from contract catalog","duration":0.08049999999639113,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering selects counterparty lifecycle recipe and keeps activity marker","status":"passed","title":"selects counterparty lifecycle recipe and keeps activity marker","duration":0.05139999999664724,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering boosts limit for all-time counterparty queries","status":"passed","title":"boosts limit for all-time counterparty queries","duration":0.09850000000733417,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering supports ascending order plan for historical counterparty lookup","status":"passed","title":"supports ascending order plan for historical counterparty lookup","duration":0.05860000000393484,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering boosts limit for english all-time counterparty queries","status":"passed","title":"boosts limit for english all-time counterparty queries","duration":0.08050000001094304,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering cuts english all-time tail from counterparty anchor","status":"passed","title":"cuts english all-time tail from counterparty anchor","duration":0.1006000000052154,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering boosts limit for account snapshot queries with explicit account","status":"passed","title":"boosts limit for account snapshot queries with explicit account","duration":0.08320000000821892,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering allows extended limit for open-items by contract intent","status":"passed","title":"allows extended limit for open-items by contract intent","duration":0.04879999998956919,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering uses bank-doc profile with contract projection for open-items anchor matching","status":"passed","title":"uses bank-doc profile with contract projection for open-items anchor matching","duration":0.07359999998880085,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering allows extended limit for open-contracts intent","status":"passed","title":"allows extended limit for open-contracts intent","duration":0.043699999994714744,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering injects account condition into movements query for account snapshot","status":"passed","title":"injects account condition into movements query for account snapshot","duration":0.07019999998738058,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering injects subaccount condition variants into movements query for documents_forming_balance","status":"passed","title":"injects subaccount condition variants into movements query for documents_forming_balance","duration":0.06560000000172295,"failureMessages":[],"meta":{}},{"ancestorTitles":["address recipe catalog counterparty filtering"],"fullName":"address recipe catalog counterparty filtering builds VAT forecast query with safe account-prefix checks instead of presentation-like clauses","status":"passed","title":"builds VAT forecast query with safe account-prefix checks instead of presentation-like clauses","duration":0.27079999999841675,"failureMessages":[],"meta":{}}],"startTime":1775902594077,"endTime":1775902704131.2708,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/addressQueryRuntimeM23.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address attempt runtime adapter"],"fullName":"assistant address attempt runtime adapter wires lane, response and living-chat attempt runtimes through one boundary","status":"passed","title":"wires lane, response and living-chat attempt runtimes through one boundary","duration":4.087799999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address attempt runtime adapter"],"fullName":"assistant address attempt runtime adapter passes empty payload fields to address runtime without breaking defaults","status":"passed","title":"passes empty payload fields to address runtime without breaking defaults","duration":0.4031999999999982,"failureMessages":[],"meta":{}}],"startTime":1775902595476,"endTime":1775902595480.4033,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover keeps short follow-up in address lane by reusing previous anchor context","status":"passed","title":"keeps short follow-up in address lane by reusing previous anchor context","duration":63.01340000000005,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover treats short 'по <anchor> также' phrase as follow-up for address lane","status":"passed","title":"treats short 'по <anchor> также' phrase as follow-up for address lane","duration":6.771299999999883,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover treats short affirmative 'давай' as follow-up for previous address answer","status":"passed","title":"treats short affirmative 'давай' as follow-up for previous address answer","duration":6.203199999999924,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover treats typo imperative 'показывыай' as implicit continuation and switches to suggested follow-up intent","status":"passed","title":"treats typo imperative 'показывыай' as implicit continuation and switches to suggested follow-up intent","duration":2.3453000000001794,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover keeps previous counterparty context for referential follow-up 'кроме этого документа...'","status":"passed","title":"keeps previous counterparty context for referential follow-up 'кроме этого документа...'","duration":4.698599999999942,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover retries with raw user message after rewrite degraded anchor and returns factual follow-up result","status":"passed","title":"retries with raw user message after rewrite degraded anchor and returns factual follow-up result","duration":2.9907000000000608,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover reuses last real address context after intermediate clarification fallback","status":"passed","title":"reuses last real address context after intermediate clarification fallback","duration":48.2505000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover does not carry address follow-up context into capability question","status":"passed","title":"does not carry address follow-up context into capability question","duration":6.714999999999918,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address follow-up carryover"],"fullName":"assistant address follow-up carryover passes active organization scope into address lane follow-up context","status":"passed","title":"passes active organization scope into address lane follow-up context","duration":8.339899999999943,"failureMessages":[],"meta":{}}],"startTime":1775902594527,"endTime":1775902594677.3398,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressFollowupContext.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane attempt input builder"],"fullName":"assistant address lane attempt input builder builds lane-attempt runtime input with message, carry meta and analysis date","status":"passed","title":"builds lane-attempt runtime input with message, carry meta and analysis date","duration":1.4598000000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane attempt input builder"],"fullName":"assistant address lane attempt input builder preserves injected callbacks and nullable fields","status":"passed","title":"preserves injected callbacks and nullable fields","duration":0.9743999999999744,"failureMessages":[],"meta":{}}],"startTime":1775902595961,"endTime":1775902595963.9744,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane attempt query options builder"],"fullName":"assistant address lane attempt query options builder extracts followup context object from carry meta","status":"passed","title":"extracts followup context object from carry meta","duration":0.9594999999999914,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane attempt query options builder"],"fullName":"assistant address lane attempt query options builder builds query options with scoped followup context when present","status":"passed","title":"builds query options with scoped followup context when present","duration":0.19409999999999172,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane attempt query options builder"],"fullName":"assistant address lane attempt query options builder builds query options with only analysis date when scoped context is missing","status":"passed","title":"builds query options with only analysis date when scoped context is missing","duration":0.09499999999999886,"failureMessages":[],"meta":{}}],"startTime":1775902596193,"endTime":1775902596194.194,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneAttemptQueryOptionsBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane attempt runtime adapter"],"fullName":"assistant address lane attempt runtime adapter uses scoped followup context when available","status":"passed","title":"uses scoped followup context when available","duration":2.289500000000004,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane attempt runtime adapter"],"fullName":"assistant address lane attempt runtime adapter falls back to plain attempt when scoped followup context is empty","status":"passed","title":"falls back to plain attempt when scoped followup context is empty","duration":0.30400000000000205,"failureMessages":[],"meta":{}}],"startTime":1775902595873,"endTime":1775902595875.304,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane response attempt input builder"],"fullName":"assistant address lane response attempt input builder normalizes optional carryover and predecompose meta to null","status":"passed","title":"normalizes optional carryover and predecompose meta to null","duration":1.6976999999999975,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane response attempt input builder"],"fullName":"assistant address lane response attempt input builder preserves explicit metadata and callback wiring","status":"passed","title":"preserves explicit metadata and callback wiring","duration":1.0964999999999918,"failureMessages":[],"meta":{}}],"startTime":1775902595884,"endTime":1775902595886.0964,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneResponseAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane response attempt runtime adapter"],"fullName":"assistant address lane response attempt runtime adapter returns delegated runtime response","status":"passed","title":"returns delegated runtime response","duration":3.295099999999991,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane response attempt runtime adapter"],"fullName":"assistant address lane response attempt runtime adapter forwards carryover and llm predecompose metadata","status":"passed","title":"forwards carryover and llm predecompose metadata","duration":0.5002000000000066,"failureMessages":[],"meta":{}}],"startTime":1775902595584,"endTime":1775902595587.5002,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneResponseAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane response runtime adapter"],"fullName":"assistant address lane response runtime adapter builds debug payload and finalizes address turn","status":"passed","title":"builds debug payload and finalizes address turn","duration":2.8543999999999983,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane response runtime adapter"],"fullName":"assistant address lane response runtime adapter keeps debug minimal when optional enrichment is absent","status":"passed","title":"keeps debug minimal when optional enrichment is absent","duration":0.29309999999998126,"failureMessages":[],"meta":{}}],"startTime":1775902595538,"endTime":1775902595541.2932,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneResponseRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane response runtime input builder"],"fullName":"assistant address lane response runtime input builder maps lane-response fields into runtime input","status":"passed","title":"maps lane-response fields into runtime input","duration":1.920599999999979,"failureMessages":[],"meta":{}}],"startTime":1775902596272,"endTime":1775902596273.9207,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneResponseRuntimeInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address lane runtime adapter"],"fullName":"assistant address lane runtime adapter returns contextual lane immediately when preferred contextual attempt is factual","status":"passed","title":"returns contextual lane immediately when preferred contextual attempt is factual","duration":2.116899999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane runtime adapter"],"fullName":"assistant address lane runtime adapter retries with raw message after limited result and returns factual retry","status":"passed","title":"retries with raw message after limited result and returns factual retry","duration":0.3914999999999793,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address lane runtime adapter"],"fullName":"assistant address lane runtime adapter returns pending limited result when retry is disabled","status":"passed","title":"returns pending limited result when retry is disabled","duration":0.18770000000000664,"failureMessages":[],"meta":{}}],"startTime":1775902595852,"endTime":1775902595855.1877,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLaneRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference prefers raw fragment when normalized fragment loses counterparty anchor","status":"passed","title":"prefers raw fragment when normalized fragment loses counterparty anchor","duration":54.05060000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference keeps counterparty anchor for docy typo when llm fragment drops anchor","status":"passed","title":"keeps counterparty anchor for docy typo when llm fragment drops anchor","duration":11.200199999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference does not treat service verb as counterparty anchor when llm rewrites noisy bank phrase","status":"passed","title":"does not treat service verb as counterparty anchor when llm rewrites noisy bank phrase","duration":11.712300000000141,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference rejects llm fragment when counterparty anchor is substituted by unrelated noun","status":"passed","title":"rejects llm fragment when counterparty anchor is substituted by unrelated noun","duration":3.534599999999955,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference rejects follow-up intent injection when llm adds documents to same-date account prompt","status":"failed","title":"rejects follow-up intent injection when llm adds documents to same-date account prompt","duration":715.6554000000001,"failureMessages":["AssertionError: expected [] to have a length of 1 but got +0\n at Proxy.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/expect/dist/index.js:1257:20)\n at Proxy.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/expect/dist/index.js:1029:14)\n at Proxy.methodWrapper (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/chai/index.js:1686:25)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAddressLlmPredecompose.test.ts:534:19\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference applies deterministic fallback rule when llm fragment is unusable","status":"passed","title":"applies deterministic fallback rule when llm fragment is unusable","duration":2.116800000000012,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference keeps contract anchor in deterministic fallback when llm output is unusable","status":"passed","title":"keeps contract anchor in deterministic fallback when llm output is unusable","duration":3.0159000000001015,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference keeps bank-by-contract intent in deterministic fallback when llm output is unusable","status":"passed","title":"keeps bank-by-contract intent in deterministic fallback when llm output is unusable","duration":1.7355999999999767,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference keeps month scope for balance fallback in 'year month' phrasing","status":"passed","title":"keeps month scope for balance fallback in 'year month' phrasing","duration":2.057399999999916,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference does not pick service words as counterparty anchor in noisy docs query","status":"passed","title":"does not pick service words as counterparty anchor in noisy docs query","duration":2.1756000000000313,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference rewrites payment-style counterparty phrasing to bank operations","status":"passed","title":"rewrites payment-style counterparty phrasing to bank operations","duration":1.5648000000001048,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference rewrites shorthand bank/contract slang phrase to bank operations by contract","status":"passed","title":"rewrites shorthand bank/contract slang phrase to bank operations by contract","duration":1.0465999999998985,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference keeps loose all-time colloquial lookup in address lane without forcing rewrite","status":"failed","title":"keeps loose all-time colloquial lookup in address lane without forcing rewrite","duration":9.990099999999984,"failureMessages":["AssertionError: expected 'clarification_required' to be 'factual' // Object.is equality\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAddressLlmPredecompose.test.ts:982:33\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference uses llm canonical candidate as gate signal when regex path has no address markers","status":"failed","title":"uses llm canonical candidate as gate signal when regex path has no address markers","duration":553.1720999999998,"failureMessages":["AssertionError: expected 'clarification_required' to be 'factual' // Object.is equality\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAddressLlmPredecompose.test.ts:1050:33\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference normalizes short ordinal year like '20й' in noisy docs phrasing","status":"passed","title":"normalizes short ordinal year like '20й' in noisy docs phrasing","duration":1.625,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address llm pre-decompose candidate preference"],"fullName":"assistant address llm pre-decompose candidate preference does not treat date fragments as account in balance fallback","status":"passed","title":"does not treat date fragments as account in balance fallback","duration":1.7955999999999221,"failureMessages":[],"meta":{}}],"startTime":1775902594530,"endTime":1775902595906.7957,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressLlmPredecompose.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address orchestration runtime adapter"],"fullName":"assistant address orchestration runtime adapter uses llm predecompose payload when feature is enabled","status":"passed","title":"uses llm predecompose payload when feature is enabled","duration":1.8171000000000106,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address orchestration runtime adapter"],"fullName":"assistant address orchestration runtime adapter builds deterministic fallback predecompose payload when feature is disabled","status":"passed","title":"builds deterministic fallback predecompose payload when feature is disabled","duration":0.7352000000000203,"failureMessages":[],"meta":{}}],"startTime":1775902596015,"endTime":1775902596017.735,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressOrchestrationRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address runtime adapter"],"fullName":"assistant address runtime adapter returns unhandled when address feature is disabled","status":"passed","title":"returns unhandled when address feature is disabled","duration":1.1005999999999858,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address runtime adapter"],"fullName":"assistant address runtime adapter returns early when tool-gate chat fallback handles","status":"passed","title":"returns early when tool-gate chat fallback handles","duration":1.0193999999999903,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address runtime adapter"],"fullName":"assistant address runtime adapter finalizes address lane when lane runtime resolves handled selection","status":"passed","title":"finalizes address lane when lane runtime resolves handled selection","duration":1.813699999999983,"failureMessages":[],"meta":{}}],"startTime":1775902595474,"endTime":1775902595478.8137,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address runtime input builder"],"fullName":"assistant address runtime input builder maps payload provider/useMock/period hint into address runtime input","status":"passed","title":"maps payload provider/useMock/period hint into address runtime input","duration":2.3525999999999954,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address runtime input builder"],"fullName":"assistant address runtime input builder keeps empty payload fields safe and preserves runtime callbacks","status":"passed","title":"keeps empty payload fields safe and preserves runtime callbacks","duration":0.5793000000000177,"failureMessages":[],"meta":{}}],"startTime":1775902596117,"endTime":1775902596119.5793,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressRuntimeInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address tool-gate runtime adapter"],"fullName":"assistant address tool-gate runtime adapter does nothing when runAddressLane is true","status":"passed","title":"does nothing when runAddressLane is true","duration":1.3652000000000157,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address tool-gate runtime adapter"],"fullName":"assistant address tool-gate runtime adapter logs skip and returns chat response when chat fallback handles","status":"passed","title":"logs skip and returns chat response when chat fallback handles","duration":0.6961000000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address tool-gate runtime adapter"],"fullName":"assistant address tool-gate runtime adapter logs skip and returns unhandled when mode is not chat","status":"passed","title":"logs skip and returns unhandled when mode is not chat","duration":0.2370999999999981,"failureMessages":[],"meta":{}}],"startTime":1775902595778,"endTime":1775902595781.237,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressToolGateRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant address turn finalize runtime adapter"],"fullName":"assistant address turn finalize runtime adapter builds assistant item and passes expected log details into commit runtime","status":"passed","title":"builds assistant item and passes expected log details into commit runtime","duration":1.5289000000000215,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant address turn finalize runtime adapter"],"fullName":"assistant address turn finalize runtime adapter uses default commit runtime and returns conversation from stored session","status":"passed","title":"uses default commit runtime and returns conversation from stored session","duration":0.8054000000000201,"failureMessages":[],"meta":{}}],"startTime":1775902596026,"endTime":1775902596027.8054,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAddressTurnFinalizeRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant answer encoding sanitizer"],"fullName":"assistant answer encoding sanitizer removes mojibake fragments from user-facing explainable answers","status":"passed","title":"removes mojibake fragments from user-facing explainable answers","duration":13.4983,"failureMessages":[],"meta":{}}],"startTime":1775902595068,"endTime":1775902595081.4983,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAnswerEncodingSanitizer.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant answer leakage guard"],"fullName":"assistant answer leakage guard removes raw technical refs from assistant reply but keeps structured refs in answer structure","status":"passed","title":"removes raw technical refs from assistant reply but keeps structured refs in answer structure","duration":17.104899999999986,"failureMessages":[],"meta":{}}],"startTime":1775902595025,"endTime":1775902595042.105,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAnswerLeakageGuard.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant answer package builder v11"],"fullName":"assistant answer package builder v11 builds baseline answer structure with unresolved mechanism","status":"passed","title":"builds baseline answer structure with unresolved mechanism","duration":1.602800000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant answer package builder v11"],"fullName":"assistant answer package builder v11 adds claim-evidence links when enrichment is explicitly enabled","status":"passed","title":"adds claim-evidence links when enrichment is explicitly enabled","duration":0.6598999999999933,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant answer package builder v11"],"fullName":"assistant answer package builder v11 omits claim-evidence links when enrichment is disabled","status":"passed","title":"omits claim-evidence links when enrichment is disabled","duration":0.17320000000000846,"failureMessages":[],"meta":{}}],"startTime":1775902596079,"endTime":1775902596081.66,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAnswerPackageBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant answer policy v1.1"],"fullName":"assistant answer policy v1.1 keeps focused grounded answer direct and useful","status":"failed","title":"keeps focused grounded answer direct and useful","duration":5016.4271,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAnswerPolicyV11.test.ts:56:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant answer policy v1.1"],"fullName":"assistant answer policy v1.1 renders broad partial answer with explicit limitations and concrete next steps","status":"failed","title":"renders broad partial answer with explicit limitations and concrete next steps","duration":5004.1241,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAnswerPolicyV11.test.ts:85:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant answer policy v1.1"],"fullName":"assistant answer policy v1.1 uses domain-specific clarification prompts when support is insufficient","status":"failed","title":"uses domain-specific clarification prompts when support is insufficient","duration":5014.6939,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAnswerPolicyV11.test.ts:113:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant answer policy v1.1"],"fullName":"assistant answer policy v1.1 does not fabricate mechanism when mechanism_note is unresolved","status":"passed","title":"does not fabricate mechanism when mechanism_note is unresolved","duration":35.83400000000074,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant answer policy v1.1"],"fullName":"assistant answer policy v1.1 preserves legacy reply path when policy flag is OFF","status":"failed","title":"preserves legacy reply path when policy flag is OFF","duration":5008.3699000000015,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantAnswerPolicyV11.test.ts:261:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593883,"endTime":1775902613963.3699,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantAnswerPolicyV11.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant broad guard"],"fullName":"assistant broad guard keeps focused queries from degrading under broad guard","status":"failed","title":"keeps focused queries from degrading under broad guard","duration":5024.4774,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantBroadGuard.test.ts:51:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant broad guard"],"fullName":"assistant broad guard degrades broad ranking output to partial instead of deceptively strong factual","status":"failed","title":"degrades broad ranking output to partial instead of deceptively strong factual","duration":5006.629199999999,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantBroadGuard.test.ts:74:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant broad guard"],"fullName":"assistant broad guard returns clarification when broad query has insufficient support","status":"failed","title":"returns clarification when broad query has insufficient support","duration":5001.070900000001,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantBroadGuard.test.ts:101:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant broad guard"],"fullName":"assistant broad guard supports legacy behavior when broad guard flags are OFF","status":"failed","title":"supports legacy behavior when broad guard flags are OFF","duration":5010.965200000001,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantBroadGuard.test.ts:127:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593730,"endTime":1775902613773.965,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantBroadGuard.test.ts"},{"assertionResults":[{"ancestorTitles":["stage1 contract scaffolding"],"fullName":"stage1 contract scaffolding provides rubric v0.1 for accountant-facing metrics","status":"passed","title":"provides rubric v0.1 for accountant-facing metrics","duration":1.2434999999999832,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage1 contract scaffolding"],"fullName":"stage1 contract scaffolding updates investigation_state with bounded fields","status":"passed","title":"updates investigation_state with bounded fields","duration":3.2404000000000224,"failureMessages":[],"meta":{}}],"startTime":1775902595287,"endTime":1775902595291.2405,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantContracts.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant contracts bundle assembler"],"fullName":"assistant contracts bundle assembler assembles query/execution/coverage contracts with outcome class","status":"passed","title":"assembles query/execution/coverage contracts with outcome class","duration":1.2183999999999742,"failureMessages":[],"meta":{}}],"startTime":1775902596424,"endTime":1775902596425.2185,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantContractsBundleAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant coverage-grounding module"],"fullName":"assistant coverage-grounding module extracts requirements from deterministic route summary","status":"passed","title":"extracts requirements from deterministic route summary","duration":1.6200999999999794,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant coverage-grounding module"],"fullName":"assistant coverage-grounding module evaluates coverage from retrieval outcomes","status":"passed","title":"evaluates coverage from retrieval outcomes","duration":0.5837999999999965,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant coverage-grounding module"],"fullName":"assistant coverage-grounding module produces route mismatch grounding when critical subject token is absent","status":"passed","title":"produces route mismatch grounding when critical subject token is absent","duration":0.32439999999999714,"failureMessages":[],"meta":{}}],"startTime":1775902596062,"endTime":1775902596064.5837,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantCoverageGrounding.test.ts"},{"assertionResults":[{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage captures neighbor branch lifting when linked branch is outside primary 97 scope","status":"passed","title":"captures neighbor branch lifting when linked branch is outside primary 97 scope","duration":226.5623,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage surfaces cross-branch inconsistency as graph-critical conflict signal","status":"passed","title":"surfaces cross-branch inconsistency as graph-critical conflict signal","duration":16.55849999999998,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage keeps terminal gap explicit instead of collapsing it into generic anomaly","status":"passed","title":"keeps terminal gap explicit instead of collapsing it into generic anomaly","duration":11.818299999999908,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage shows ranking shift between graph OFF and graph ON for graph-critical contour","status":"passed","title":"shows ranking shift between graph OFF and graph ON for graph-critical contour","duration":44.477199999999925,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage confirms multi-hop traversal is used for chain reasoning","status":"passed","title":"confirms multi-hop traversal is used for chain reasoning","duration":12.504000000000019,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 graph critical supplemental coverage"],"fullName":"stage4 graph critical supplemental coverage keeps domain separation across deferred, fixed asset, vat, period close, bank and customer settlement","status":"passed","title":"keeps domain separation across deferred, fixed asset, vat, period close, bank and customer settlement","duration":88.96850000000006,"failureMessages":[],"meta":{}}],"startTime":1775902593694,"endTime":1775902594094.9685,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDataLayerGraphCriticalCoverage.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant data layer graph traversal integration"],"fullName":"assistant data layer graph traversal integration applies typed graph traversal for 97 lifecycle query when graph runtime is enabled","status":"passed","title":"applies typed graph traversal for 97 lifecycle query when graph runtime is enabled","duration":221.71869999999998,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant data layer graph traversal integration"],"fullName":"assistant data layer graph traversal integration maps VAT and period close prompts to graph target domains without changing prompt set","status":"passed","title":"maps VAT and period close prompts to graph target domains without changing prompt set","duration":18.95949999999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant data layer graph traversal integration"],"fullName":"assistant data layer graph traversal integration keeps graph traversal disabled when feature flag is off","status":"passed","title":"keeps graph traversal disabled when feature flag is off","duration":10.902199999999993,"failureMessages":[],"meta":{}}],"startTime":1775902593694,"endTime":1775902593944.902,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDataLayerGraphTraversal.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant data scope probe parser"],"fullName":"assistant data scope probe parser extracts organization name and guid from object-ref style row","status":"passed","title":"extracts organization name and guid from object-ref style row","duration":2.10450000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant data scope probe parser"],"fullName":"assistant data scope probe parser extracts guid from hard-key payload (name is best-effort)","status":"passed","title":"extracts guid from hard-key payload (name is best-effort)","duration":0.40289999999998827,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant data scope probe parser"],"fullName":"assistant data scope probe parser resolves names by guid references from ref-name pairs","status":"passed","title":"resolves names by guid references from ref-name pairs","duration":0.4633999999999787,"failureMessages":[],"meta":{}}],"startTime":1775902595928,"endTime":1775902595930.4634,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDataScopeProbeParser.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant debug payload assembler"],"fullName":"assistant debug payload assembler builds deep debug payload with analysis context and optional sections","status":"passed","title":"builds deep debug payload with analysis context and optional sections","duration":2.151299999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant debug payload assembler"],"fullName":"assistant debug payload assembler omits optional fields when they are not provided","status":"passed","title":"omits optional fields when they are not provided","duration":0.3902999999999963,"failureMessages":[],"meta":{}}],"startTime":1775902596247,"endTime":1775902596249.3904,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDebugPayloadAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep response assembler"],"fullName":"assistant deep response assembler strips technical tail and builds fallback answer structure when missing in composition","status":"passed","title":"strips technical tail and builds fallback answer structure when missing in composition","duration":1.5080000000000098,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep response assembler"],"fullName":"assistant deep response assembler uses provided composition answer structure and creates assistant conversation item","status":"passed","title":"uses provided composition answer structure and creates assistant conversation item","duration":0.9658999999999764,"failureMessages":[],"meta":{}}],"startTime":1775902595719,"endTime":1775902595720.9658,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepResponseAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn analysis attempt input builder"],"fullName":"assistant deep turn analysis attempt input builder builds analysis runtime callbacks and delegates stage payload mapping","status":"passed","title":"builds analysis runtime callbacks and delegates stage payload mapping","duration":3.91040000000001,"failureMessages":[],"meta":{}}],"startTime":1775902595285,"endTime":1775902595288.9104,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnAnalysisAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn analysis attempt runtime adapter"],"fullName":"assistant deep turn analysis attempt runtime adapter wires deep-analysis callbacks through delegated runtime","status":"passed","title":"wires deep-analysis callbacks through delegated runtime","duration":3.6946000000000083,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn analysis attempt runtime adapter"],"fullName":"assistant deep turn analysis attempt runtime adapter forwards composition feature flags and investigation state","status":"passed","title":"forwards composition feature flags and investigation state","duration":7.3600999999999885,"failureMessages":[],"meta":{}}],"startTime":1775902595183,"endTime":1775902595194.36,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnAnalysisAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn analysis runtime adapter"],"fullName":"assistant deep turn analysis runtime adapter orchestrates deep pipeline steps in deterministic order","status":"passed","title":"orchestrates deep pipeline steps in deterministic order","duration":2.4776999999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn analysis runtime adapter"],"fullName":"assistant deep turn analysis runtime adapter passes null business scope when not resolved","status":"passed","title":"passes null business scope when not resolved","duration":1.2525000000000261,"failureMessages":[],"meta":{}}],"startTime":1775902595594,"endTime":1775902595597.2524,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnAnalysisRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn attempt input builder"],"fullName":"assistant deep turn attempt input builder builds normalization runtime input from turn fields","status":"passed","title":"builds normalization runtime input from turn fields","duration":1.1916999999999973,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn attempt input builder"],"fullName":"assistant deep turn attempt input builder builds analysis and response attempt inputs from normalization runtime","status":"passed","title":"builds analysis and response attempt inputs from normalization runtime","duration":1.208500000000015,"failureMessages":[],"meta":{}}],"startTime":1775902596016,"endTime":1775902596019.2085,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn attempt runtime adapter"],"fullName":"assistant deep turn attempt runtime adapter orchestrates normalization, analysis and response attempts in order","status":"passed","title":"orchestrates normalization, analysis and response attempts in order","duration":2.4102000000000032,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn attempt runtime adapter"],"fullName":"assistant deep turn attempt runtime adapter computes followupApplied=false when followup usage is absent","status":"passed","title":"computes followupApplied=false when followup usage is absent","duration":1.8680999999999983,"failureMessages":[],"meta":{}}],"startTime":1775902595655,"endTime":1775902595658.8682,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn composition runtime adapter"],"fullName":"assistant deep turn composition runtime adapter uses followup domain hint and company-anchor period signal","status":"passed","title":"uses followup domain hint and company-anchor period signal","duration":1.2164999999999964,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn composition runtime adapter"],"fullName":"assistant deep turn composition runtime adapter falls back to explicit period from normalized payload when anchors are absent","status":"passed","title":"falls back to explicit period from normalized payload when anchors are absent","duration":0.3966999999999814,"failureMessages":[],"meta":{}}],"startTime":1775902596394,"endTime":1775902596396.3967,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnCompositionRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn context runtime adapter"],"fullName":"assistant deep turn context runtime adapter assembles context in deterministic order and propagates followup flag","status":"passed","title":"assembles context in deterministic order and propagates followup flag","duration":1.3926000000000158,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn context runtime adapter"],"fullName":"assistant deep turn context runtime adapter drops unknown inferred domain and disables live temporal hint when context is inactive","status":"passed","title":"drops unknown inferred domain and disables live temporal hint when context is inactive","duration":0.23980000000000246,"failureMessages":[],"meta":{}}],"startTime":1775902596313,"endTime":1775902596315.2397,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnContextRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn finalize runtime adapter"],"fullName":"assistant deep turn finalize runtime adapter commits assistant turn and builds response with committed conversation","status":"passed","title":"commits assistant turn and builds response with committed conversation","duration":1.2723000000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn finalize runtime adapter"],"fullName":"assistant deep turn finalize runtime adapter uses default commit/response functions when custom hooks are not provided","status":"passed","title":"uses default commit/response functions when custom hooks are not provided","duration":0.7680000000000007,"failureMessages":[],"meta":{}}],"startTime":1775902596195,"endTime":1775902596196.768,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnFinalizeRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn grounding runtime adapter"],"fullName":"assistant deep turn grounding runtime adapter runs audits, coverage-grounding pipeline and eligibility overlay in stable order","status":"passed","title":"runs audits, coverage-grounding pipeline and eligibility overlay in stable order","duration":2.1487999999999943,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn grounding runtime adapter"],"fullName":"assistant deep turn grounding runtime adapter threads default pipeline output through without custom hooks","status":"passed","title":"threads default pipeline output through without custom hooks","duration":0.522500000000008,"failureMessages":[],"meta":{}}],"startTime":1775902596018,"endTime":1775902596020.5225,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnGroundingRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn guard runtime adapter"],"fullName":"assistant deep turn guard runtime adapter runs retrieval guards in expected order and threads outputs","status":"passed","title":"runs retrieval guards in expected order and threads outputs","duration":1.350200000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn guard runtime adapter"],"fullName":"assistant deep turn guard runtime adapter evaluates grounding eligibility and applies status overlay","status":"passed","title":"evaluates grounding eligibility and applies status overlay","duration":0.31749999999999545,"failureMessages":[],"meta":{}}],"startTime":1775902596295,"endTime":1775902596296.35,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnGuardRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn input builder"],"fullName":"assistant deep turn input builder applies stable defaults for optional composition and followup fields","status":"passed","title":"applies stable defaults for optional composition and followup fields","duration":1.1329999999999814,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn input builder"],"fullName":"assistant deep turn input builder preserves explicit composition fields and normalizes unit ids array","status":"passed","title":"preserves explicit composition fields and normalizes unit ids array","duration":0.30759999999997945,"failureMessages":[],"meta":{}}],"startTime":1775902596380,"endTime":1775902596381.3076,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn normalization runtime adapter"],"fullName":"assistant deep turn normalization runtime adapter uses followup state binding when feature flags are enabled and state exists","status":"passed","title":"uses followup state binding when feature flags are enabled and state exists","duration":2.2735000000000127,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn normalization runtime adapter"],"fullName":"assistant deep turn normalization runtime adapter falls back to raw user message when followup binding is disabled","status":"passed","title":"falls back to raw user message when followup binding is disabled","duration":0.5567000000000064,"failureMessages":[],"meta":{}}],"startTime":1775902595401,"endTime":1775902595403.5566,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnNormalizationRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn packaging"],"fullName":"assistant deep turn packaging assembles deep artifacts, debug payload and processed log in one call","status":"passed","title":"assembles deep artifacts, debug payload and processed log in one call","duration":2.6593000000000018,"failureMessages":[],"meta":{}}],"startTime":1775902595897,"endTime":1775902595899.6592,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnPackaging.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn packaging runtime adapter"],"fullName":"assistant deep turn packaging runtime adapter executes pre-packaging, snapshot, persist, input-build and assembly in stable order","status":"passed","title":"executes pre-packaging, snapshot, persist, input-build and assembly in stable order","duration":1.858099999999979,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn packaging runtime adapter"],"fullName":"assistant deep turn packaging runtime adapter does not persist investigation snapshot when feature is disabled","status":"passed","title":"does not persist investigation snapshot when feature is disabled","duration":0.25319999999999254,"failureMessages":[],"meta":{}}],"startTime":1775902596207,"endTime":1775902596209.2532,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnPackagingRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn plan runtime adapter"],"fullName":"assistant deep turn plan runtime adapter builds execution plan through extraction, enforcement and guard hints in stable order","status":"passed","title":"builds execution plan through extraction, enforcement and guard hints in stable order","duration":1.4505000000000052,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn plan runtime adapter"],"fullName":"assistant deep turn plan runtime adapter preserves empty execution plan end-to-end","status":"passed","title":"preserves empty execution plan end-to-end","duration":0.19660000000001787,"failureMessages":[],"meta":{}}],"startTime":1775902596072,"endTime":1775902596073.4504,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnPlanRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn pre-packaging context"],"fullName":"assistant deep turn pre-packaging context builds all pre-packaging fields with active analysis context","status":"passed","title":"builds all pre-packaging fields with active analysis context","duration":1.2774,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn pre-packaging context"],"fullName":"assistant deep turn pre-packaging context returns null analysis context when runtime context is inactive","status":"passed","title":"returns null analysis context when runtime context is inactive","duration":0.2506999999999948,"failureMessages":[],"meta":{}}],"startTime":1775902596257,"endTime":1775902596259.2507,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnPrePackagingContext.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn response attempt runtime adapter"],"fullName":"assistant deep turn response attempt runtime adapter maps deep-analysis runtime output into response runtime input","status":"passed","title":"maps deep-analysis runtime output into response runtime input","duration":2.856500000000011,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn response attempt runtime adapter"],"fullName":"assistant deep turn response attempt runtime adapter forwards callbacks and state flags","status":"passed","title":"forwards callbacks and state flags","duration":0.41669999999999163,"failureMessages":[],"meta":{}}],"startTime":1775902595712,"endTime":1775902595715.4167,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnResponseAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn response builder"],"fullName":"assistant deep turn response builder builds canonical assistant message response envelope","status":"passed","title":"builds canonical assistant message response envelope","duration":1.2424999999999784,"failureMessages":[],"meta":{}}],"startTime":1775902596383,"endTime":1775902596384.2424,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnResponseBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn response runtime adapter"],"fullName":"assistant deep turn response runtime adapter wires packaging output into deep finalization","status":"passed","title":"wires packaging output into deep finalization","duration":2.893299999999982,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn response runtime adapter"],"fullName":"assistant deep turn response runtime adapter passes feature flags and followup flags into packaging stage","status":"passed","title":"passes feature flags and followup flags into packaging stage","duration":0.3918000000000177,"failureMessages":[],"meta":{}}],"startTime":1775902595697,"endTime":1775902595700.3918,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnResponseRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn response runtime input builder"],"fullName":"assistant deep turn response runtime input builder maps analysis runtime into response runtime contract","status":"passed","title":"maps analysis runtime into response runtime contract","duration":2.1306000000000154,"failureMessages":[],"meta":{}}],"startTime":1775902596153,"endTime":1775902596155.1306,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnResponseRuntimeInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant deep turn retrieval runtime adapter"],"fullName":"assistant deep turn retrieval runtime adapter handles skipped, executed and failed plan items with stable call records","status":"passed","title":"handles skipped, executed and failed plan items with stable call records","duration":1.9827999999999975,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant deep turn retrieval runtime adapter"],"fullName":"assistant deep turn retrieval runtime adapter passes live temporal hint into route runtime execution","status":"passed","title":"passes live temporal hint into route runtime execution","duration":0.18500000000000227,"failureMessages":[],"meta":{}}],"startTime":1775902596107,"endTime":1775902596109.185,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantDeepTurnRetrievalRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API processes message and returns assistant response with debug payload","status":"passed","title":"processes message and returns assistant response with debug payload","duration":269.21039999999994,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API keeps session-scoped history and returns it via session endpoint","status":"passed","title":"keeps session-scoped history and returns it via session endpoint","duration":147.62580000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API recovers company-specific scope for settlement follow-up without explicit month anchor","status":"failed","title":"recovers company-specific scope for settlement follow-up without explicit month anchor","duration":5006.2452,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEndpoint.test.ts:79:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API executes factual retrieval for routed fragments","status":"failed","title":"executes factual retrieval for routed fragments","duration":5015.116499999999,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEndpoint.test.ts:110:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API keeps in-domain translit queries in scope and routed","status":"passed","title":"keeps in-domain translit queries in scope and routed","duration":129.38659999999982,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API avoids false route mismatch when supported evidence exists for bounded answer","status":"failed","title":"avoids false route mismatch when supported evidence exists for bounded answer","duration":5020.3379,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEndpoint.test.ts:171:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API returns bounded answer when critical domain token has weak grounding","status":"passed","title":"returns bounded answer when critical domain token has weak grounding","duration":133.5036,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API applies semantic narrowing profile for hybrid retrieval without GUID","status":"failed","title":"applies semantic narrowing profile for hybrid retrieval without GUID","duration":5013.816300000002,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEndpoint.test.ts:209:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant mode API"],"fullName":"assistant mode API writes one persistent JSON log file per session","status":"passed","title":"writes one persistent JSON log file per session","duration":131.58539999999994,"failureMessages":[],"meta":{}}],"startTime":1775902594674,"endTime":1775902615541.5854,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantEndpoint.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness runs assistant_stage1 harness and returns raw metrics + rubric bands","status":"failed","title":"runs assistant_stage1 harness and returns raw metrics + rubric bands","duration":5026.4931,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEvalHarness.test.ts:59:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness loads canonical suite metadata and keeps it stable","status":"failed","title":"loads canonical suite metadata and keeps it stable","duration":5004.9193,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEvalHarness.test.ts:97:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness handles follow-up cases as dedicated subset","status":"failed","title":"handles follow-up cases as dedicated subset","duration":5013.5543,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEvalHarness.test.ts:121:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness builds comparison artifact from baseline and current runs","status":"failed","title":"builds comparison artifact from baseline and current runs","duration":5011.050600000002,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEvalHarness.test.ts:143:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness keeps legacy eval path unchanged by default","status":"passed","title":"keeps legacy eval path unchanged by default","duration":130.20730000000185,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant Stage 1 eval harness"],"fullName":"assistant Stage 1 eval harness respects accountant eval feature flag OFF/ON","status":"failed","title":"respects accountant eval feature flag OFF/ON","duration":5004.797600000002,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantEvalHarness.test.ts:202:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593732,"endTime":1775902618923.7976,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantEvalHarness.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant evidence bundle assembler"],"fullName":"assistant evidence bundle assembler builds evidence contract and retrieval status from the same retrieval set","status":"passed","title":"builds evidence contract and retrieval status from the same retrieval set","duration":1.8722999999999956,"failureMessages":[],"meta":{}}],"startTime":1775902596329,"endTime":1775902596330.8723,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantEvidenceBundleAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding applies investigation_state binding in follow-up flow when flags are ON","status":"failed","title":"applies investigation_state binding in follow-up flow when flags are ON","duration":1038.4133,"failureMessages":["AssertionError: expected undefined to be 1 // Object.is equality\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:72:72\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding does not apply follow-up binding when binding flag is OFF","status":"passed","title":"does not apply follow-up binding when binding flag is OFF","duration":119.9556,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding keeps legacy-like behavior when investigation state flag is OFF","status":"passed","title":"keeps legacy-like behavior when investigation state flag is OFF","duration":185.4239,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding applies problem continuity hints only when continuity flag is ON and follow-up has no strong new anchors","status":"failed","title":"applies problem continuity hints only when continuity flag is ON and follow-up has no strong new anchors","duration":114.07940000000008,"failureMessages":["AssertionError: expected undefined to be truthy\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:151:80\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding does not apply follow-up continuity when user gives strong new anchors","status":"failed","title":"does not apply follow-up continuity when user gives strong new anchors","duration":5012.5635999999995,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:167:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding isolates scope for independent cross-domain turn and does not carry stale period/domain","status":"failed","title":"isolates scope for independent cross-domain turn and does not carry stale period/domain","duration":5001.812499999999,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:197:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding rebinds follow-up domain away from settlements on fixed-asset amortization query","status":"failed","title":"rebinds follow-up domain away from settlements on fixed-asset amortization query","duration":246.91679999999906,"failureMessages":["AssertionError: expected '' to match /fixed_asset_amortization|month_close…/i\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:268:26\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant follow-up state binding"],"fullName":"assistant follow-up state binding keeps UTF-8 follow-up period refinement in-scope with soft continuity hints","status":"failed","title":"keeps UTF-8 follow-up period refinement in-scope with soft continuity hints","duration":5008.5201,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantFollowupStateBinding.test.ts:274:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593733,"endTime":1775902610460.52,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantFollowupStateBinding.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant graph-backed answer mode v1"],"fullName":"assistant graph-backed answer mode v1 renders user-facing causal graph explanation without internal graph labels","status":"passed","title":"renders user-facing causal graph explanation without internal graph labels","duration":20.835800000000006,"failureMessages":[],"meta":{}}],"startTime":1775902595030,"endTime":1775902595050.8357,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantGraphBackedAnswerV1.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant investigation state runtime adapter"],"fullName":"assistant investigation state runtime adapter returns null and skips persist when feature disabled","status":"passed","title":"returns null and skips persist when feature disabled","duration":0.8856999999999857,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant investigation state runtime adapter"],"fullName":"assistant investigation state runtime adapter builds snapshot and persists it when feature enabled","status":"passed","title":"builds snapshot and persists it when feature enabled","duration":3.653400000000005,"failureMessages":[],"meta":{}}],"startTime":1775902595351,"endTime":1775902595355.6533,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantInvestigationStateRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant lifecycle-aware answer mode v1"],"fullName":"assistant lifecycle-aware answer mode v1 promotes stage3 lifecycle mode when lifecycle answer flag is enabled","status":"passed","title":"promotes stage3 lifecycle mode when lifecycle answer flag is enabled","duration":22.1978,"failureMessages":[],"meta":{}}],"startTime":1775902594920,"endTime":1775902594942.1978,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLifecycleAwareAnswerV1.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat attempt input builder"],"fullName":"assistant living chat attempt input builder builds living-chat runtime input with derived trace id and session scope","status":"passed","title":"builds living-chat runtime input with derived trace id and session scope","duration":2.321199999999976,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat attempt input builder"],"fullName":"assistant living chat attempt input builder normalizes absent address runtime meta to null and preserves optional api key","status":"passed","title":"normalizes absent address runtime meta to null and preserves optional api key","duration":0.4129000000000076,"failureMessages":[],"meta":{}}],"startTime":1775902596199,"endTime":1775902596201.4128,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat attempt runtime adapter"],"fullName":"assistant living chat attempt runtime adapter wires llm runtime output into living handler execute callback","status":"passed","title":"wires llm runtime output into living handler execute callback","duration":2.728999999999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat attempt runtime adapter"],"fullName":"assistant living chat attempt runtime adapter returns null when delegated handler returns null","status":"passed","title":"returns null when delegated handler returns null","duration":0.4072999999999922,"failureMessages":[],"meta":{}}],"startTime":1775902595666,"endTime":1775902595669.4072,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat attempt runtime input builder"],"fullName":"assistant living chat attempt runtime input builder builds living-chat llm runtime input","status":"passed","title":"builds living-chat llm runtime input","duration":1.512900000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat attempt runtime input builder"],"fullName":"assistant living chat attempt runtime input builder builds living-chat handler runtime input with execute callback","status":"passed","title":"builds living-chat handler runtime input with execute callback","duration":0.9078000000000088,"failureMessages":[],"meta":{}}],"startTime":1775902595837,"endTime":1775902595839.9077,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatAttemptRuntimeInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat handler runtime adapter"],"fullName":"assistant living chat handler runtime adapter returns finalized response when runtime is handled","status":"passed","title":"returns finalized response when runtime is handled","duration":3.941900000000004,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat handler runtime adapter"],"fullName":"assistant living chat handler runtime adapter returns null when runtime is not handled","status":"passed","title":"returns null when runtime is not handled","duration":0.48910000000000764,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat handler runtime adapter"],"fullName":"assistant living chat handler runtime adapter logs warn and returns null on runtime error","status":"passed","title":"logs warn and returns null on runtime error","duration":0.5157000000000096,"failureMessages":[],"meta":{}}],"startTime":1775902595533,"endTime":1775902595538.5156,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatHandlerRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat llm runtime adapter"],"fullName":"assistant living chat llm runtime adapter builds prompt/context internally and calls chat client with bounded output tokens","status":"passed","title":"builds prompt/context internally and calls chat client with bounded output tokens","duration":3.30510000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat llm runtime adapter"],"fullName":"assistant living chat llm runtime adapter uses defaults and fallback text when model output is empty","status":"passed","title":"uses defaults and fallback text when model output is empty","duration":0.4416999999999973,"failureMessages":[],"meta":{}}],"startTime":1775902595476,"endTime":1775902595479.4417,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatLlmRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode resolves active organization from slang mention using previously discovered organization list","status":"passed","title":"resolves active organization from slang mention using previously discovered organization list","duration":7.3271000000002005,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode repairs mojibake user text before persisting conversation","status":"passed","title":"repairs mojibake user text before persisting conversation","duration":60.937799999999925,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode does not treat organization fact lookup as scope-selection confirmation","status":"passed","title":"does not treat organization fact lookup as scope-selection confirmation","duration":10.271799999999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode keeps organization fact follow-up in deterministic boundary mode on short confirmation","status":"passed","title":"keeps organization fact follow-up in deterministic boundary mode on short confirmation","duration":3.901700000000119,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles casual greeting in chat mode without deep-pipeline pass","status":"passed","title":"handles casual greeting in chat mode without deep-pipeline pass","duration":12.29119999999989,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode does not force address lane for unsupported low-confidence predecompose canonical","status":"passed","title":"does not force address lane for unsupported low-confidence predecompose canonical","duration":2.9534000000001015,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode keeps casual 'че как' in chat mode when predecompose canonical is unsupported","status":"passed","title":"keeps casual 'че как' in chat mode when predecompose canonical is unsupported","duration":5.186099999999897,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode returns capability contract and avoids address lane for 'и 1с можешь настроить?'","status":"passed","title":"returns capability contract and avoids address lane for 'и 1с можешь настроить?'","duration":3.7899999999999636,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode returns operational boundary reply for imperative setup request and avoids address lane","status":"passed","title":"returns operational boundary reply for imperative setup request and avoids address lane","duration":3.2281000000000404,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode returns safety refusal for destructive request under coercion and avoids address lane","status":"passed","title":"returns safety refusal for destructive request under coercion and avoids address lane","duration":4.928100000000086,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode strips unexpected CJK fragments from live chat reply when user did not request CJK","status":"passed","title":"strips unexpected CJK fragments from live chat reply when user did not request CJK","duration":2.90319999999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles mojibake capability query and avoids address clarification flow","status":"passed","title":"handles mojibake capability query and avoids address clarification flow","duration":2.4700000000000273,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles mojibake feature-capability wording and avoids free-form llm chat","status":"passed","title":"handles mojibake feature-capability wording and avoids free-form llm chat","duration":3.9318000000000666,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles data-scope meta question as deterministic chat contract","status":"passed","title":"handles data-scope meta question as deterministic chat contract","duration":5.564599999999928,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles 'какая база подрублена?' as deterministic data-scope contract","status":"passed","title":"handles 'какая база подрублена?' as deterministic data-scope contract","duration":2.7198000000000775,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles typo data-scope query with misspelled company token as deterministic contract","status":"passed","title":"handles typo data-scope query with misspelled company token as deterministic contract","duration":2.8411999999998443,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode handles no-question-mark data-scope phrase with interrogative token as deterministic contract","status":"passed","title":"handles no-question-mark data-scope phrase with interrogative token as deterministic contract","duration":17.291200000000117,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat mode"],"fullName":"assistant living chat mode does not misroute contract ranking query to data-scope when canonical text contains 'компании'","status":"passed","title":"does not misroute contract ranking query to data-scope when canonical text contains 'компании'","duration":5.996800000000121,"failureMessages":[],"meta":{}}],"startTime":1775902594530,"endTime":1775902594688.9968,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatMode.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat runtime adapter"],"fullName":"assistant living chat runtime adapter selects deterministic data scope branch and enriches organization context","status":"passed","title":"selects deterministic data scope branch and enriches organization context","duration":1.5813999999999737,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat runtime adapter"],"fullName":"assistant living chat runtime adapter selects safety refusal branch for dangerous capability meta query","status":"passed","title":"selects safety refusal branch for dangerous capability meta query","duration":0.45060000000000855,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat runtime adapter"],"fullName":"assistant living chat runtime adapter runs llm branch and applies script + grounding guards in order","status":"passed","title":"runs llm branch and applies script + grounding guards in order","duration":0.405399999999986,"failureMessages":[],"meta":{}}],"startTime":1775902595659,"endTime":1775902595661.4507,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living chat turn finalize runtime adapter"],"fullName":"assistant living chat turn finalize runtime adapter builds assistant chat item and emits expected living chat log envelope","status":"passed","title":"builds assistant chat item and emits expected living chat log envelope","duration":1.3339999999999748,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living chat turn finalize runtime adapter"],"fullName":"assistant living chat turn finalize runtime adapter uses default commit runtime and returns persisted conversation","status":"passed","title":"uses default commit runtime and returns persisted conversation","duration":0.7606000000000108,"failureMessages":[],"meta":{}}],"startTime":1775902595665,"endTime":1775902595666.7605,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingChatTurnFinalizeRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision returns address_data when address lane already triggered","status":"passed","title":"returns address_data when address lane already triggered","duration":0.9010999999999854,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision keeps deep pipeline in mock mode to avoid test-env network calls","status":"passed","title":"keeps deep pipeline in mock mode to avoid test-env network calls","duration":0.17719999999997071,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes casual non-data phrase to chat mode","status":"passed","title":"routes casual non-data phrase to chat mode","duration":2.713799999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision keeps deep mode for strong data signal","status":"passed","title":"keeps deep mode for strong data signal","duration":0.2939000000000078,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes capability question to chat even when phrase contains 1С","status":"passed","title":"routes capability question to chat even when phrase contains 1С","duration":0.14859999999998763,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes capability question 'ok - what can you do in 1c' to chat","status":"passed","title":"routes capability question 'ok - what can you do in 1c' to chat","duration":0.12999999999999545,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes feature-capability wording to chat","status":"passed","title":"routes feature-capability wording to chat","duration":0.09309999999999263,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes data-scope question to chat instead of address lane","status":"passed","title":"routes data-scope question to chat instead of address lane","duration":0.6259000000000015,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes 'whose base is this' style question to chat","status":"passed","title":"routes 'whose base is this' style question to chat","duration":0.46479999999996835,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes 'какая база подрублена?' to data-scope chat mode","status":"passed","title":"routes 'какая база подрублена?' to data-scope chat mode","duration":0.10669999999998936,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes typo data-scope wording with misspelled company token to chat","status":"passed","title":"routes typo data-scope wording with misspelled company token to chat","duration":0.09029999999995653,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision routes data-scope wording without question mark when interrogative token is present","status":"passed","title":"routes data-scope wording without question mark when interrogative token is present","duration":0.05900000000002592,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant living router mode decision"],"fullName":"assistant living router mode decision does not treat contract ranking data query as data-scope meta question","status":"passed","title":"does not treat contract ranking data query as data-scope meta question","duration":0.08859999999998536,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contract"],"fullName":"assistant orchestration contract keeps VAT payable forecast query in address lane","status":"passed","title":"keeps VAT payable forecast query in address lane","duration":9.20580000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contract"],"fullName":"assistant orchestration contract keeps supported contract analytics query in address lane","status":"passed","title":"keeps supported contract analytics query in address lane","duration":9.033400000000029,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contract"],"fullName":"assistant orchestration contract keeps VAT explain follow-up in address lane when followup context is present","status":"passed","title":"keeps VAT explain follow-up in address lane when followup context is present","duration":8.916499999999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contract"],"fullName":"assistant orchestration contract keeps explicit address-mode unknown-intent data query in address lane","status":"passed","title":"keeps explicit address-mode unknown-intent data query in address lane","duration":2.0230000000000246,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contract"],"fullName":"assistant orchestration contract does not force address lane for deep-analysis unknown intent query with date-like token","status":"passed","title":"does not force address lane for deep-analysis unknown intent query with date-like token","duration":1.3707999999999743,"failureMessages":[],"meta":{}}],"startTime":1775902595057,"endTime":1775902595093.3708,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantLivingRouter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge does not call MCP when runtime flag is disabled","status":"passed","title":"does not call MCP when runtime flag is disabled","duration":55.51220000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge uses MCP live probe for hybrid route when runtime flag is enabled","status":"passed","title":"uses MCP live probe for hybrid route when runtime flag is enabled","duration":24.2962,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge keeps snapshot fallback when MCP responds with error","status":"passed","title":"keeps snapshot fallback when MCP responds with error","duration":12.952600000000018,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge does not inject out-of-scope rows when account filter matched zero","status":"passed","title":"does not inject out-of-scope rows when account filter matched zero","duration":26.340100000000007,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge uses claim-bound live call sequence for RBP lifecycle query","status":"passed","title":"uses claim-bound live call sequence for RBP lifecycle query","duration":22.893799999999942,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge uses claim-bound live call sequence for fixed-asset amortization coverage query","status":"passed","title":"uses claim-bound live call sequence for fixed-asset amortization coverage query","duration":13.267799999999966,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant MCP runtime bridge"],"fullName":"assistant MCP runtime bridge uses claim-bound VAT live path instead of supplier-tail generic probe for VAT chain query","status":"passed","title":"uses claim-bound VAT live path instead of supplier-tail generic probe for VAT chain query","duration":20.69900000000007,"failureMessages":[],"meta":{}}],"startTime":1775902593860,"endTime":1775902594036.699,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantMcpRuntimeBridge.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant message log assembler"],"fullName":"assistant message log assembler builds deep analysis log details and resolves full coverage status","status":"passed","title":"builds deep analysis log details and resolves full coverage status","duration":2.3319999999999936,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant message log assembler"],"fullName":"assistant message log assembler marks partial coverage and omits optional sections when empty","status":"passed","title":"marks partial coverage and omits optional sections when empty","duration":0.279200000000003,"failureMessages":[],"meta":{}}],"startTime":1775902595900,"endTime":1775902595902.332,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantMessageLogAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant orchestration contracts v1"],"fullName":"assistant orchestration contracts v1 builds query frame and execution plan contracts with normalized analysis context","status":"passed","title":"builds query frame and execution plan contracts with normalized analysis context","duration":1.93780000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contracts v1"],"fullName":"assistant orchestration contracts v1 classifies fully answered and misrouted outcomes","status":"passed","title":"classifies fully answered and misrouted outcomes","duration":0.4444999999999766,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contracts v1"],"fullName":"assistant orchestration contracts v1 classifies tooling and entity-binding failures","status":"passed","title":"classifies tooling and entity-binding failures","duration":0.1670000000000016,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration contracts v1"],"fullName":"assistant orchestration contracts v1 builds evidence bundle and coverage contracts","status":"passed","title":"builds evidence bundle and coverage contracts","duration":0.3581000000000074,"failureMessages":[],"meta":{}}],"startTime":1775902595900,"endTime":1775902595903.3582,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantOrchestrationContracts.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant orchestration runtime adapter"],"fullName":"assistant orchestration runtime adapter runs requirement -> coverage -> grounding pipeline in order","status":"passed","title":"runs requirement -> coverage -> grounding pipeline in order","duration":1.3404000000000167,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant orchestration runtime adapter"],"fullName":"assistant orchestration runtime adapter reuses precomputed requirement extraction when provided","status":"passed","title":"reuses precomputed requirement extraction when provided","duration":0.8688999999999965,"failureMessages":[],"meta":{}}],"startTime":1775902595722,"endTime":1775902595723.869,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantOrchestrationRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant organization scope runtime adapter"],"fullName":"assistant organization scope runtime adapter resolves selected organization from user message and promotes it to active scope","status":"passed","title":"resolves selected organization from user message and promotes it to active scope","duration":1.8954999999999984,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant organization scope runtime adapter"],"fullName":"assistant organization scope runtime adapter falls back active organization to last assistant scope when selection is absent","status":"passed","title":"falls back active organization to last assistant scope when selection is absent","duration":0.686099999999982,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant organization scope runtime adapter"],"fullName":"assistant organization scope runtime adapter merges organization into followup previous filters when organization is missing","status":"passed","title":"merges organization into followup previous filters when organization is missing","duration":0.18719999999999004,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant organization scope runtime adapter"],"fullName":"assistant organization scope runtime adapter keeps existing organization in followup filters and returns null for empty context without org","status":"passed","title":"keeps existing organization in followup filters and returns null for empty context without org","duration":0.1671000000000049,"failureMessages":[],"meta":{}}],"startTime":1775902595837,"endTime":1775902595840.1873,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantOrganizationScopeRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant outgoing encoding repair"],"fullName":"assistant outgoing encoding repair repairs mojibake in address-lane replies before returning to user","status":"passed","title":"repairs mojibake in address-lane replies before returning to user","duration":64.7869,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant outgoing encoding repair"],"fullName":"assistant outgoing encoding repair repairs mojibake in living-chat LLM replies before script guard","status":"passed","title":"repairs mojibake in living-chat LLM replies before script guard","duration":17.23580000000004,"failureMessages":[],"meta":{}}],"startTime":1775902594528,"endTime":1775902594609.2358,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantOutgoingEncodingRepair.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant P0 eval harness (Wave 7)"],"fullName":"assistant P0 eval harness (Wave 7) runs assistant_p0 eval and returns formal product metrics + verdict","status":"failed","title":"runs assistant_p0 eval and returns formal product metrics + verdict","duration":5026.7389,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantP0EvalHarness.test.ts:53:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant P0 eval harness (Wave 7)"],"fullName":"assistant P0 eval harness (Wave 7) loads formal P0 corpus split for 3 domains","status":"passed","title":"loads formal P0 corpus split for 3 domains","duration":195.98449999999957,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant P0 eval harness (Wave 7)"],"fullName":"assistant P0 eval harness (Wave 7) supports Wave 9 expanded corpus classes and follow-up context metrics","status":"passed","title":"supports Wave 9 expanded corpus classes and follow-up context metrics","duration":231.3168000000005,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant P0 eval harness (Wave 7)"],"fullName":"assistant P0 eval harness (Wave 7) builds before/after comparison and returns formal verdict delta","status":"failed","title":"builds before/after comparison and returns formal verdict delta","duration":5012.3256,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantP0EvalHarness.test.ts:161:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant P0 eval harness (Wave 7)"],"fullName":"assistant P0 eval harness (Wave 7) respects P0 eval feature gate via Stage2 eval flag OFF/ON","status":"passed","title":"respects P0 eval feature gate via Stage2 eval flag OFF/ON","duration":216.22539999999935,"failureMessages":[],"meta":{}}],"startTime":1775902593732,"endTime":1775902604416.2253,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantP0EvalHarness.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 uses problem-centric answer mode on problem-heavy case when flag is ON","status":"passed","title":"uses problem-centric answer mode on problem-heavy case when flag is ON","duration":25.490399999999994,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 falls back to Stage 1 path for the same case when problem-centric flag is OFF","status":"passed","title":"falls back to Stage 1 path for the same case when problem-centric flag is OFF","duration":8.028999999999996,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 keeps focused grounded case on Stage 1 path even when problem-centric flag is ON","status":"passed","title":"keeps focused grounded case on Stage 1 path even when problem-centric flag is ON","duration":2.5516999999999825,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 enables problem-centric mode on mixed focused case when weak mechanism signals are present","status":"passed","title":"enables problem-centric mode on mixed focused case when weak mechanism signals are present","duration":1.9382999999999981,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 does not expose raw technical refs in primary problem-centric text","status":"passed","title":"does not expose raw technical refs in primary problem-centric text","duration":3.1928000000000054,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant problem-centric answer mode v1"],"fullName":"assistant problem-centric answer mode v1 produces limited answer for weak problem units without false overclaim","status":"passed","title":"produces limited answer for weak problem units without false overclaim","duration":3.1122000000000014,"failureMessages":[],"meta":{}}],"startTime":1775902594787,"endTime":1775902594832.1123,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantProblemCentricAnswerV1.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant problem-unit continuity state"],"fullName":"assistant problem-unit continuity state stores bounded problem_unit_state in investigation snapshot and session state","status":"failed","title":"stores bounded problem_unit_state in investigation snapshot and session state","duration":5015.7169,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantProblemUnitContinuityState.test.ts:48:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593866,"endTime":1775902598881.7168,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantProblemUnitContinuityState.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant problem-unit runtime rollout"],"fullName":"assistant problem-unit runtime rollout emits problem-unit layer on problem-heavy scenarios when flag is ON","status":"failed","title":"emits problem-unit layer on problem-heavy scenarios when flag is ON","duration":1030.001,"failureMessages":["AssertionError: expected 0 to be greater than 0\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantProblemUnitRuntimeRollout.test.ts:83:29\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:20"],"meta":{}},{"ancestorTitles":["assistant problem-unit runtime rollout"],"fullName":"assistant problem-unit runtime rollout does not emit problem-unit layer when flag is OFF","status":"failed","title":"does not emit problem-unit layer when flag is OFF","duration":5013.53,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantProblemUnitRuntimeRollout.test.ts:129:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593730,"endTime":1775902599773.53,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantProblemUnitRuntimeRollout.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant query planning module"],"fullName":"assistant query planning module builds fragment text map with account hints enrichment","status":"passed","title":"builds fragment text map with account hints enrichment","duration":0.8473999999999933,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant query planning module"],"fullName":"assistant query planning module builds deterministic execution plan from route summary","status":"passed","title":"builds deterministic execution plan from route summary","duration":1.1773000000000025,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant query planning module"],"fullName":"assistant query planning module builds legacy debug routes via resolver","status":"passed","title":"builds legacy debug routes via resolver","duration":0.2261000000000024,"failureMessages":[],"meta":{}}],"startTime":1775902595665,"endTime":1775902595667.226,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantQueryPlanning.test.ts"},{"assertionResults":[{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards flags temporal anchor drift outside July 2020 snapshot","status":"passed","title":"flags temporal anchor drift outside July 2020 snapshot","duration":3.304899999999975,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards locks July month window when question has month-only anchor","status":"passed","title":"locks July month window when question has month-only anchor","duration":1.1800999999999249,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards filters customer settlement semantics from supplier/payable case","status":"failed","title":"filters customer settlement semantics from supplier/payable case","duration":10.168800000000033,"failureMessages":["AssertionError: expected 'mixed_or_unresolved' to be 'supplier_payable' // Object.is equality\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantRuntimeGuardsStage4Pack.test.ts:237:28\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20\n at new Promise (<anonymous>)\n at runWithTimeout (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)\n at runTest (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)\n at runSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)"],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards resolves supplier polarity with dominant 60-account signals despite weak customer noise","status":"passed","title":"resolves supplier polarity with dominant 60-account signals despite weak customer noise","duration":1.6304999999999836,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards cleans polluted account anchors from date/amount numerics","status":"passed","title":"cleans polluted account anchors from date/amount numerics","duration":1.3999000000000024,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards rejects inadmissible live evidence on zero matched_rows and wrong account/date","status":"passed","title":"rejects inadmissible live evidence on zero matched_rows and wrong account/date","duration":3.423000000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards degrades grounded status when eligibility guard fails","status":"failed","title":"degrades grounded status when eligibility guard fails","duration":3.170600000000036,"failureMessages":["AssertionError: expected 'Запрошенный период выходит за доступн…' to match /Недостаточно РґРѕРїСѓСЃС…/i\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantRuntimeGuardsStage4Pack.test.ts:424:40\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20\n at new Promise (<anonymous>)\n at runWithTimeout (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1863:10)\n at runTest (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1574:12)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)\n at runSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1729:8)"],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards reconstructs fixed-asset expected vs actual coverage in claim-bound targeting","status":"passed","title":"reconstructs fixed-asset expected vs actual coverage in claim-bound targeting","duration":6.638000000000034,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards does not misclassify settlement 62.02 question into VAT or FA claim paths","status":"passed","title":"does not misclassify settlement 62.02 question into VAT or FA claim paths","duration":1.313600000000065,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 blocker-pack runtime guards"],"fullName":"stage4 blocker-pack runtime guards keeps VAT priority over supplier wording in shared domain inference","status":"passed","title":"keeps VAT priority over supplier wording in shared domain inference","duration":1.9667000000000598,"failureMessages":[],"meta":{}}],"startTime":1775902593926,"endTime":1775902593959.9668,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantRuntimeGuardsStage4Pack.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant stage2 duplicate collapse probe suite"],"fullName":"assistant stage2 duplicate collapse probe suite loads supplemental probe suite and confirms duplicate collapse signal","status":"passed","title":"loads supplemental probe suite and confirms duplicate collapse signal","duration":4.161599999999993,"failureMessages":[],"meta":{}}],"startTime":1775902595397,"endTime":1775902595401.1616,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage2DuplicateCollapseProbe.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness runs assistant_stage2 harness and returns Stage 2 raw metrics + rubric bands","status":"failed","title":"runs assistant_stage2 harness and returns Stage 2 raw metrics + rubric bands","duration":5028.2522,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage2EvalHarness.test.ts:62:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness loads Stage 2 canonical suite metadata and keeps it stable","status":"failed","title":"loads Stage 2 canonical suite metadata and keeps it stable","duration":5003.0019999999995,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage2EvalHarness.test.ts:103:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness handles follow-up subset and keeps subset denominator explicit","status":"failed","title":"handles follow-up subset and keeps subset denominator explicit","duration":5001.1746,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage2EvalHarness.test.ts:130:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness builds Stage 2 comparison artifact from baseline and current runs","status":"failed","title":"builds Stage 2 comparison artifact from baseline and current runs","duration":5012.191699999999,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage2EvalHarness.test.ts:155:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}},{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness keeps legacy eval path unchanged by default","status":"passed","title":"keeps legacy eval path unchanged by default","duration":128.76970000000074,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant Stage 2 eval harness"],"fullName":"assistant Stage 2 eval harness respects Stage 2 eval feature flag OFF/ON","status":"failed","title":"respects Stage 2 eval feature flag OFF/ON","duration":5018.0658,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage2EvalHarness.test.ts:223:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593730,"endTime":1775902618922.066,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage2EvalHarness.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant stage3 lifecycle acceptance probe suite"],"fullName":"assistant stage3 lifecycle acceptance probe suite runs stage3 lifecycle probe prompts with separate acceptance checks","status":"failed","title":"runs stage3 lifecycle probe prompts with separate acceptance checks","duration":5014.6967,"failureMessages":["Error: STACK_TRACE_ERROR\n at task (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:638:27)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:662:16)\n at Object.<anonymous> (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:458:28)\n at chain (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:369:14)\n at X:\\1C\\NDC_1C\\llm_normalizer\\backend\\tests\\assistantStage3LifecycleAcceptanceProbe.test.ts:109:3\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:40\n at runWithSuite (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1849:8)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:734:10)\n at Object.collect (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:738:54)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at collectTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1179:25)\n at startTests (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/@vitest/runner/dist/chunk-hooks.js:1817:17)\n at file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:117:26\n at withEnv (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:84:3)\n at run (file:///X:/1C/NDC_1C/llm_normalizer/backend/node_modules/vitest/dist/chunks/runBaseTests.9Ij9_de-.js:109:2)"],"meta":{}}],"startTime":1775902593735,"endTime":1775902598749.6968,"status":"failed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage3LifecycleAcceptanceProbe.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant stage3 lifecycle prompt suite separation"],"fullName":"assistant stage3 lifecycle prompt suite separation keeps stage2 canonical prompts as regression and stage3 prompts as separate lifecycle probe","status":"passed","title":"keeps stage2 canonical prompts as regression and stage3 prompts as separate lifecycle probe","duration":1.633800000000008,"failureMessages":[],"meta":{}}],"startTime":1775902596266,"endTime":1775902596267.6338,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage3LifecyclePromptSuite.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant stage4 lifecycle 97 user-facing"],"fullName":"assistant stage4 lifecycle 97 user-facing keeps lifecycle answer human and scoped without technical leakage","status":"passed","title":"keeps lifecycle answer human and scoped without technical leakage","duration":20.489599999999996,"failureMessages":[],"meta":{}}],"startTime":1775902594944,"endTime":1775902594964.4895,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage4Lifecycle97UserFacing.test.ts"},{"assertionResults":[{"ancestorTitles":["stage4 wave4 user-facing answer patch"],"fullName":"stage4 wave4 user-facing answer patch renders problem-first causal answer and hides internal debug fragments","status":"passed","title":"renders problem-first causal answer and hides internal debug fragments","duration":10.383600000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 wave4 user-facing answer patch"],"fullName":"stage4 wave4 user-facing answer patch marks weak single-signal contour as potentially noisy","status":"passed","title":"marks weak single-signal contour as potentially noisy","duration":1.1329999999999814,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4 wave4 user-facing answer patch"],"fullName":"stage4 wave4 user-facing answer patch changes top-level answer when graph causal signals are present","status":"passed","title":"changes top-level answer when graph causal signals are present","duration":2.211500000000001,"failureMessages":[],"meta":{}}],"startTime":1775902595058,"endTime":1775902595072.2114,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantStage4Wave4UserFacing.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant turn attempt input builder"],"fullName":"assistant turn attempt input builder builds address runtime input from user turn and organization scope","status":"passed","title":"builds address runtime input from user turn and organization scope","duration":1.1414999999999793,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn attempt input builder"],"fullName":"assistant turn attempt input builder builds deep runtime input with investigation state and address meta","status":"passed","title":"builds deep runtime input with investigation state and address meta","duration":0.25449999999997885,"failureMessages":[],"meta":{}}],"startTime":1775902596380,"endTime":1775902596381.2544,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantTurnAttemptInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant turn attempt runtime adapter"],"fullName":"assistant turn attempt runtime adapter returns address response and skips deep runtime when address lane handled the turn","status":"passed","title":"returns address response and skips deep runtime when address lane handled the turn","duration":3.6477999999999895,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn attempt runtime adapter"],"fullName":"assistant turn attempt runtime adapter falls through to deep runtime when address lane does not return final response","status":"passed","title":"falls through to deep runtime when address lane does not return final response","duration":0.8452000000000055,"failureMessages":[],"meta":{}}],"startTime":1775902595282,"endTime":1775902595286.8452,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantTurnAttemptRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant turn commit runtime adapter"],"fullName":"assistant turn commit runtime adapter appends item, persists existing session, clones conversation and logs event","status":"passed","title":"appends item, persists existing session, clones conversation and logs event","duration":2.004000000000019,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn commit runtime adapter"],"fullName":"assistant turn commit runtime adapter skips persist when session is missing and still logs with empty conversation","status":"passed","title":"skips persist when session is missing and still logs with empty conversation","duration":0.6580999999999904,"failureMessages":[],"meta":{}}],"startTime":1775902596069,"endTime":1775902596071.6582,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantTurnCommitRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant turn runtime deps adapter"],"fullName":"assistant turn runtime deps adapter builds runtime deps with service wrappers and static flags/defaults","status":"passed","title":"builds runtime deps with service wrappers and static flags/defaults","duration":3.659400000000005,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn runtime deps adapter"],"fullName":"assistant turn runtime deps adapter preserves helper functions in merged deps payload","status":"passed","title":"preserves helper functions in merged deps payload","duration":0.43729999999999336,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn runtime deps adapter"],"fullName":"assistant turn runtime deps adapter preserves method context for stateful service instances","status":"passed","title":"preserves method context for stateful service instances","duration":0.30469999999999686,"failureMessages":[],"meta":{}}],"startTime":1775902595476,"endTime":1775902595480.4373,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantTurnRuntimeDepsAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant turn runtime input builder"],"fullName":"assistant turn runtime input builder builds bootstrap runtime input from shared deps","status":"passed","title":"builds bootstrap runtime input from shared deps","duration":2.4416999999999973,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn runtime input builder"],"fullName":"assistant turn runtime input builder builds address attempt input and preserves address context mapping","status":"passed","title":"builds address attempt input and preserves address context mapping","duration":1.8532000000000153,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant turn runtime input builder"],"fullName":"assistant turn runtime input builder builds deep attempt input with shared guards and state hooks","status":"passed","title":"builds deep attempt input with shared guards and state hooks","duration":0.630500000000012,"failureMessages":[],"meta":{}}],"startTime":1775902595228,"endTime":1775902595232.6306,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantTurnRuntimeInputBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant user turn bootstrap runtime adapter"],"fullName":"assistant user turn bootstrap runtime adapter normalizes user message, appends user turn and persists session","status":"passed","title":"normalizes user message, appends user turn and persists session","duration":4.060200000000009,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant user turn bootstrap runtime adapter"],"fullName":"assistant user turn bootstrap runtime adapter falls back to raw message when repaired text is empty","status":"passed","title":"falls back to raw message when repaired text is empty","duration":1.1040000000000134,"failureMessages":[],"meta":{}}],"startTime":1775902595281,"endTime":1775902595286.104,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantUserTurnBootstrapRuntimeAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression multi_fragment_settlement_60_62_should_not_fall_into_deferred_expense","status":"passed","title":"multi_fragment_settlement_60_62_should_not_fall_into_deferred_expense","duration":18.267399999999952,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression settlement_question_must_not_promote_vat_or_period_close_as_primary_domain_without_handoff","status":"passed","title":"settlement_question_must_not_promote_vat_or_period_close_as_primary_domain_without_handoff","duration":3.4588000000001102,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression retrieval_empty_requirement_must_not_be_marked_covered","status":"passed","title":"retrieval_empty_requirement_must_not_be_marked_covered","duration":0.9565000000000055,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression retrieval_ok_without_evidence_or_problem_units_must_not_be_marked_covered","status":"passed","title":"retrieval_ok_without_evidence_or_problem_units_must_not_be_marked_covered","duration":0.24510000000009313,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression partial_coverage_answer_must_separate_confirmed_and_unconfirmed_requirements","status":"passed","title":"partial_coverage_answer_must_separate_confirmed_and_unconfirmed_requirements","duration":2.582300000000032,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression settlement_domain_answer_must_suggest_settlement_checks_not_period_only","status":"passed","title":"settlement_domain_answer_must_suggest_settlement_checks_not_period_only","duration":2.423599999999851,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression user_facing_answer_must_not_leak_internal_debug_for_partial_coverage_case","status":"passed","title":"user_facing_answer_must_not_leak_internal_debug_for_partial_coverage_case","duration":2.671600000000126,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression settlement_broad_query_with_explicit_month_must_not_claim_period_missing","status":"passed","title":"settlement_broad_query_with_explicit_month_must_not_claim_period_missing","duration":2.4003000000000156,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression settlement_answer_must_not_be_grounded_by_vat_or_deferred_expense_primary_evidence","status":"passed","title":"settlement_answer_must_not_be_grounded_by_vat_or_deferred_expense_primary_evidence","duration":3.054399999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression user_facing_answer_must_not_include_debug_payload_json_marker","status":"passed","title":"user_facing_answer_must_not_include_debug_payload_json_marker","duration":2.8834999999999127,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave10 settlement corrective regression"],"fullName":"wave10 settlement corrective regression followup_on_same_settlement_case_must_bind_to_active_focus","status":"passed","title":"followup_on_same_settlement_case_must_bind_to_active_focus","duration":549.5663999999999,"failureMessages":[],"meta":{}}],"startTime":1775902594522,"endTime":1775902595111.5664,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave10SettlementCorrectiveRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["wave11 data-layer recovery"],"fullName":"wave11 data-layer recovery settlement_object_trace_with_number_date_amount_must_not_require_guid_by_default","status":"passed","title":"settlement_object_trace_with_number_date_amount_must_not_require_guid_by_default","duration":94.4862,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave11 data-layer recovery"],"fullName":"wave11 data-layer recovery broad_settlement_query_must_not_drop_all_retrieval_due_to_strict_purity_if_in_scope","status":"passed","title":"broad_settlement_query_must_not_drop_all_retrieval_due_to_strict_purity_if_in_scope","duration":27.081899999999962,"failureMessages":[],"meta":{}}],"startTime":1775902593821,"endTime":1775902593943.0818,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave11DataLayerRecovery.test.ts"},{"assertionResults":[{"ancestorTitles":["wave11 subject token pollution cleanup"],"fullName":"wave11 subject token pollution cleanup settlement_query_subject_tokens_must_not_include_spurious_accounts_from_dates","status":"passed","title":"settlement_query_subject_tokens_must_not_include_spurious_accounts_from_dates","duration":1.928200000000004,"failureMessages":[],"meta":{}}],"startTime":1775902596398,"endTime":1775902596399.9282,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave11SubjectTokenPollution.test.ts"},{"assertionResults":[{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation vat_query_with_strong_signal_must_override_stale_settlement_focus_hint","status":"passed","title":"vat_query_with_strong_signal_must_override_stale_settlement_focus_hint","duration":25.860799999999983,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation month_close_query_with_strong_signal_must_override_stale_vat_focus_hint","status":"passed","title":"month_close_query_with_strong_signal_must_override_stale_vat_focus_hint","duration":4.596499999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation vat_domain_with_foreign_primary_evidence_must_degrade_to_clarification","status":"passed","title":"vat_domain_with_foreign_primary_evidence_must_degrade_to_clarification","duration":6.918300000000016,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation month_close_domain_with_vat_primary_evidence_must_degrade_to_clarification","status":"passed","title":"month_close_domain_with_vat_primary_evidence_must_degrade_to_clarification","duration":3.787399999999991,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation confidence_limitation_must_not_contradict_each_other","status":"passed","title":"confidence_limitation_must_not_contradict_each_other","duration":3.9890000000000043,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave12 vat/month-close consistency + confidence reconciliation"],"fullName":"wave12 vat/month-close consistency + confidence reconciliation settlement_regression_must_remain_pass","status":"passed","title":"settlement_regression_must_remain_pass","duration":2.655000000000001,"failureMessages":[],"meta":{}}],"startTime":1775902594235,"endTime":1775902594283.655,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave12VatMonthCloseConsistencyRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding settlement_query_must_keep_settlement_domain_even_if_retrieval_contains_vat_noise","status":"passed","title":"settlement_query_must_keep_settlement_domain_even_if_retrieval_contains_vat_noise","duration":23.08499999999998,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding question_type_where_break_is_must_produce_localization_style_line","status":"passed","title":"question_type_where_break_is_must_produce_localization_style_line","duration":9.236100000000022,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding question_type_prove_or_guess_must_explicitly_separate_proven_vs_hypothesis","status":"passed","title":"question_type_prove_or_guess_must_explicitly_separate_proven_vs_hypothesis","duration":4.227299999999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding anchor_usage_lines_must_be_present_when_company_anchors_are_used","status":"passed","title":"anchor_usage_lines_must_be_present_when_company_anchors_are_used","duration":3.1389999999999816,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding anchor_usage_must_be_honest_when_part_of_anchors_not_confirmed","status":"passed","title":"anchor_usage_must_be_honest_when_part_of_anchors_not_confirmed","duration":4.035799999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave13 domain fit + question-type fit + company-anchor grounding"],"fullName":"wave13 domain fit + question-type fit + company-anchor grounding answers_for_different_question_types_must_not_collapse_to_same_generic_pattern","status":"passed","title":"answers_for_different_question_types_must_not_collapse_to_same_generic_pattern","duration":5.608299999999986,"failureMessages":[],"meta":{}}],"startTime":1775902594494,"endTime":1775902594543.6084,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave13DomainFitQuestionTypeAnchorRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["wave15 question-type contract + first-check relevance"],"fullName":"wave15 question-type contract + first-check relevance prove_or_guess answer keeps proof-vs-hypothesis framing","status":"passed","title":"prove_or_guess answer keeps proof-vs-hypothesis framing","duration":28.013800000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave15 question-type contract + first-check relevance"],"fullName":"wave15 question-type contract + first-check relevance grounded_on answer is basis-oriented, not generic mechanism dump","status":"passed","title":"grounded_on answer is basis-oriented, not generic mechanism dump","duration":8.127499999999998,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave15 question-type contract + first-check relevance"],"fullName":"wave15 question-type contract + first-check relevance chains question provides complete-vs-incomplete framing","status":"passed","title":"chains question provides complete-vs-incomplete framing","duration":2.8494999999999777,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave15 question-type contract + first-check relevance"],"fullName":"wave15 question-type contract + first-check relevance where_break_is answer localizes break node","status":"passed","title":"where_break_is answer localizes break node","duration":3.1754000000000246,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave15 question-type contract + first-check relevance"],"fullName":"wave15 question-type contract + first-check relevance what_to_check_first answer gives short operational route","status":"passed","title":"what_to_check_first answer gives short operational route","duration":2.6374000000000137,"failureMessages":[],"meta":{}}],"startTime":1775902594839,"endTime":1775902594883.6375,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave15QuestionTypeContractFirstCheckRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions removes leaked debug payload scaffolding from user-facing reply","status":"passed","title":"removes leaked debug payload scaffolding from user-facing reply","duration":23.590599999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions does not claim missing period when normalization already extracted explicit period","status":"passed","title":"does not claim missing period when normalization already extracted explicit period","duration":5.08420000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions blocks VAT primary synthesis when top evidence is cross-domain polluted","status":"passed","title":"blocks VAT primary synthesis when top evidence is cross-domain polluted","duration":3.7727000000000146,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions uses VAT-specific partial-coverage wording instead of generic chain template","status":"passed","title":"uses VAT-specific partial-coverage wording instead of generic chain template","duration":2.388300000000015,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions renders RBP answer in RBP language with RBP-first checks","status":"passed","title":"renders RBP answer in RBP language with RBP-first checks","duration":4.5093000000000245,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 live corrective pass regressions"],"fullName":"wave16 live corrective pass regressions does not collapse fixed-asset amortization question into month-close primary narrative","status":"passed","title":"does not collapse fixed-asset amortization question into month-close primary narrative","duration":4.625399999999985,"failureMessages":[],"meta":{}}],"startTime":1775902594271,"endTime":1775902594314.6255,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave16LiveCorrectivePassRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup q10-style VAT query must not derive account scope from percent/amount fragments","status":"passed","title":"q10-style VAT query must not derive account scope from percent/amount fragments","duration":19.95150000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup q13-style broad VAT query on batch route must stay VAT-domain","status":"passed","title":"q13-style broad VAT query on batch route must stay VAT-domain","duration":17.126800000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup q06 first-check should be settlement-specific for prove_or_guess without explicit account tokens","status":"passed","title":"q06 first-check should be settlement-specific for prove_or_guess without explicit account tokens","duration":22.69040000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup q12-like question should resolve prove_or_guess instead of chain classification","status":"passed","title":"q12-like question should resolve prove_or_guess instead of chain classification","duration":0.7549000000000206,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup why_breaks short line should avoid generic collapse and keep domain-specific mechanism","status":"passed","title":"why_breaks short line should avoid generic collapse and keep domain-specific mechanism","duration":4.559100000000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["wave16 residual fail cleanup"],"fullName":"wave16 residual fail cleanup VAT why_breaks first-check must include VAT-specific checks","status":"passed","title":"VAT why_breaks first-check must include VAT-specific checks","duration":3.344799999999964,"failureMessages":[],"meta":{}}],"startTime":1775902594332,"endTime":1775902594400.3447,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave16ResidualCleanupRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["stage4 wave5 P0 domain purity + route discipline regression"],"fullName":"stage4 wave5 P0 domain purity + route discipline regression keeps top-3 domain-pure and reroutes symptom/lifecycle intents away from canonical path","status":"passed","title":"keeps top-3 domain-pure and reroutes symptom/lifecycle intents away from canonical path","duration":63.16099999999997,"failureMessages":[],"meta":{}}],"startTime":1775902594636,"endTime":1775902594699.161,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave5P0DomainPurityRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract enforces leakage guard in direct user-facing answer","status":"passed","title":"enforces leakage guard in direct user-facing answer","duration":22.721499999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract keeps narrative mechanism-first and avoids entity-list direct answer","status":"passed","title":"keeps narrative mechanism-first and avoids entity-list direct answer","duration":6.073099999999982,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract does not expose route/profile explanation in user-facing text","status":"passed","title":"does not expose route/profile explanation in user-facing text","duration":4.566600000000022,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract collapses duplicate problem lines for the same mechanism","status":"passed","title":"collapses duplicate problem lines for the same mechanism","duration":3.6753999999999962,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract shows explicit limitation when period is missing","status":"passed","title":"shows explicit limitation when period is missing","duration":4.747100000000017,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant wave6 problem-first answer contract"],"fullName":"assistant wave6 problem-first answer contract returns short accountant-readable answers for P0 domains without technical dump","status":"passed","title":"returns short accountant-readable answers for P0 domains without technical dump","duration":10.507600000000025,"failureMessages":[],"meta":{}}],"startTime":1775902594494,"endTime":1775902594546.5076,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/assistantWave6ProblemFirstAnswerContract.test.ts"},{"assertionResults":[{"ancestorTitles":["conversation export regression"],"fullName":"conversation export regression default export excludes debug payload sections and keeps user-facing text","status":"passed","title":"default export excludes debug payload sections and keeps user-facing text","duration":2.386599999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["conversation export regression"],"fullName":"conversation export regression technical export includes debug payload in dedicated section only","status":"passed","title":"technical export includes debug payload in dedicated section only","duration":0.28249999999999886,"failureMessages":[],"meta":{}},{"ancestorTitles":["conversation export regression"],"fullName":"conversation export regression sanitizeConversationExportText removes technical tails","status":"passed","title":"sanitizeConversationExportText removes technical tails","duration":0.15709999999998558,"failureMessages":[],"meta":{}}],"startTime":1775902595481,"endTime":1775902595484.2825,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/conversationExportRegression.test.ts"},{"assertionResults":[{"ancestorTitles":["POST /api/eval/run"],"fullName":"POST /api/eval/run runs v2 eval using inline rawQuestions batch","status":"passed","title":"runs v2 eval using inline rawQuestions batch","duration":74.9914,"failureMessages":[],"meta":{}}],"startTime":1775902594671,"endTime":1775902594745.9915,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/evalEndpoint.test.ts"},{"assertionResults":[{"ancestorTitles":["investigation_state flow scaffolding"],"fullName":"investigation_state flow scaffolding keeps bounded investigation_state across follow-up turns","status":"passed","title":"keeps bounded investigation_state across follow-up turns","duration":424.32569999999987,"failureMessages":[],"meta":{}}],"startTime":1775902594670,"endTime":1775902595094.3257,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/investigationStateFlow.test.ts"},{"assertionResults":[{"ancestorTitles":["stage3 lifecycle registry and resolver wave2"],"fullName":"stage3 lifecycle registry and resolver wave2 exposes all lifecycle domains in the registry","status":"passed","title":"exposes all lifecycle domains in the registry","duration":1.2708000000000084,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage3 lifecycle registry and resolver wave2"],"fullName":"stage3 lifecycle registry and resolver wave2 infers lifecycle domain for all covered stage3 domains","status":"passed","title":"infers lifecycle domain for all covered stage3 domains","duration":2.1847999999999956,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage3 lifecycle registry and resolver wave2"],"fullName":"stage3 lifecycle registry and resolver wave2 normalizes unknown explicit states against registry and records limitations","status":"passed","title":"normalizes unknown explicit states against registry and records limitations","duration":0.7660000000000196,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage3 lifecycle registry and resolver wave2"],"fullName":"stage3 lifecycle registry and resolver wave2 infers missing transition from registry transition path","status":"passed","title":"infers missing transition from registry transition path","duration":0.36360000000001946,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage3 lifecycle registry and resolver wave2"],"fullName":"stage3 lifecycle registry and resolver wave2 builds previous state chain from registry model","status":"passed","title":"builds previous state chain from registry model","duration":0.29760000000001696,"failureMessages":[],"meta":{}}],"startTime":1775902595285,"endTime":1775902595290.2976,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/lifecycleRegistryResolverWave2.test.ts"},{"assertionResults":[{"ancestorTitles":["lifecycle runtime stage3"],"fullName":"lifecycle runtime stage3 resolves stale missing transition for bank settlement chains","status":"passed","title":"resolves stale missing transition for bank settlement chains","duration":2.4946999999999946,"failureMessages":[],"meta":{}},{"ancestorTitles":["lifecycle runtime stage3"],"fullName":"lifecycle runtime stage3 classifies cross-branch conflicts for VAT flow","status":"passed","title":"classifies cross-branch conflicts for VAT flow","duration":0.8718999999999824,"failureMessages":[],"meta":{}},{"ancestorTitles":["lifecycle runtime stage3"],"fullName":"lifecycle runtime stage3 sorts lifecycle-ranked units by lifecycle severity and ranking score","status":"passed","title":"sorts lifecycle-ranked units by lifecycle severity and ranking score","duration":0.7267999999999972,"failureMessages":[],"meta":{}}],"startTime":1775902595830,"endTime":1775902595834.7268,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/lifecycleRuntime.test.ts"},{"assertionResults":[{"ancestorTitles":["stage3 lifecycle probe semantics"],"fullName":"stage3 lifecycle probe semantics validates lifecycle acceptance targets on synthetic runtime inputs","status":"passed","title":"validates lifecycle acceptance targets on synthetic runtime inputs","duration":4.001299999999986,"failureMessages":[],"meta":{}}],"startTime":1775902595469,"endTime":1775902595473.0012,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/lifecycleStage3AcceptanceProbeSemantics.test.ts"},{"assertionResults":[{"ancestorTitles":["POST /api/normalize"],"fullName":"POST /api/normalize returns normalized v1 payload in mock mode","status":"passed","title":"returns normalized v1 payload in mock mode","duration":62.41039999999998,"failureMessages":[],"meta":{}},{"ancestorTitles":["POST /api/normalize"],"fullName":"POST /api/normalize returns normalized v2 payload in mock mode","status":"passed","title":"returns normalized v2 payload in mock mode","duration":53.774900000000116,"failureMessages":[],"meta":{}},{"ancestorTitles":["POST /api/normalize"],"fullName":"POST /api/normalize returns normalized v2.0.1 payload in mock mode with execution_readiness","status":"passed","title":"returns normalized v2.0.1 payload in mock mode with execution_readiness","duration":29.83979999999997,"failureMessages":[],"meta":{}},{"ancestorTitles":["POST /api/normalize"],"fullName":"POST /api/normalize returns normalized v2.0.2 payload in mock mode with route_status and no_route_reason","status":"passed","title":"returns normalized v2.0.2 payload in mock mode with route_status and no_route_reason","duration":26.532600000000002,"failureMessages":[],"meta":{}}],"startTime":1775902594670,"endTime":1775902594842.5327,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/normalizeEndpoint.test.ts"},{"assertionResults":[{"ancestorTitles":["NormalizerService coercion layer"],"fullName":"NormalizerService coercion layer coerces malformed v2.0.2 local payload into a usable routed fragment","status":"passed","title":"coerces malformed v2.0.2 local payload into a usable routed fragment","duration":42.379999999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["NormalizerService coercion layer"],"fullName":"NormalizerService coercion layer coerces period_type month payload into explicit YYYY-MM time scope","status":"passed","title":"coerces period_type month payload into explicit YYYY-MM time scope","duration":21.463499999999982,"failureMessages":[],"meta":{}}],"startTime":1775902594527,"endTime":1775902594591.4634,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/normalizerServiceCoercion.test.ts"},{"assertionResults":[{"ancestorTitles":["openai local responses fallback"],"fullName":"openai local responses fallback falls back to /chat/completions when /responses payload is parseable JSON but has no output_text","status":"passed","title":"falls back to /chat/completions when /responses payload is parseable JSON but has no output_text","duration":5.3259000000000185,"failureMessages":[],"meta":{}},{"ancestorTitles":["openai local responses fallback"],"fullName":"openai local responses fallback retries alternative local base when endpoint mismatch payload is returned for chat completions","status":"passed","title":"retries alternative local base when endpoint mismatch payload is returned for chat completions","duration":1.726699999999994,"failureMessages":[],"meta":{}}],"startTime":1775902595155,"endTime":1775902595161.7268,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/openaiResponsesClientLocalFallback.test.ts"},{"assertionResults":[{"ancestorTitles":["problemUnitAssembler scaffold"],"fullName":"problemUnitAssembler scaffold groups candidate evidence by route/source/pattern signature","status":"passed","title":"groups candidate evidence by route/source/pattern signature","duration":1.8687999999999931,"failureMessages":[],"meta":{}},{"ancestorTitles":["problemUnitAssembler scaffold"],"fullName":"problemUnitAssembler scaffold detects baseline problem unit type from anomaly hints","status":"passed","title":"detects baseline problem unit type from anomaly hints","duration":0.31860000000000355,"failureMessages":[],"meta":{}},{"ancestorTitles":["problemUnitAssembler scaffold"],"fullName":"problemUnitAssembler scaffold collapses duplicate problem units by signature","status":"passed","title":"collapses duplicate problem units by signature","duration":0.619400000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["problemUnitAssembler scaffold"],"fullName":"problemUnitAssembler scaffold assembles problem units and summary with bounded scaffold fields","status":"passed","title":"assembles problem units and summary with bounded scaffold fields","duration":3.001800000000003,"failureMessages":[],"meta":{}}],"startTime":1775902595270,"endTime":1775902595276.0017,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/problemUnitAssembler.test.ts"},{"assertionResults":[{"ancestorTitles":["promptBuilder"],"fullName":"promptBuilder loads default prompts","status":"passed","title":"loads default prompts","duration":1.452399999999983,"failureMessages":[],"meta":{}},{"ancestorTitles":["promptBuilder"],"fullName":"promptBuilder exposes v1, v1.1, v1.1.1, v1.1.2, v1.1.2.1, v2, v2.0.1 and v2.0.2 builtin presets","status":"passed","title":"exposes v1, v1.1, v1.1.1, v1.1.2, v1.1.2.1, v2, v2.0.1 and v2.0.2 builtin presets","duration":1.715599999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["promptBuilder"],"fullName":"promptBuilder merges user prompt values","status":"passed","title":"merges user prompt values","duration":0.37980000000001723,"failureMessages":[],"meta":{}}],"startTime":1775902595407,"endTime":1775902595410.7156,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/promptBuilder.test.ts"},{"assertionResults":[{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver resolves what_to_check_first for operational check phrasing","status":"passed","title":"resolves what_to_check_first for operational check phrasing","duration":2.8422999999999945,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver resolves where_break_is for localization phrasing","status":"passed","title":"resolves where_break_is for localization phrasing","duration":1.2898000000000138,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver resolves prove_or_guess without collapsing to generic yes/no","status":"passed","title":"resolves prove_or_guess without collapsing to generic yes/no","duration":0.41909999999998604,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver resolves grounded_on when question asks for evidence basis","status":"passed","title":"resolves grounded_on when question asks for evidence basis","duration":0.11720000000002528,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver resolves chains completeness classification questions","status":"passed","title":"resolves chains completeness classification questions","duration":0.08789999999999054,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver falls back to why_breaks for generic why-question","status":"passed","title":"falls back to why_breaks for generic why-question","duration":0.09860000000000468,"failureMessages":[],"meta":{}},{"ancestorTitles":["questionTypeResolver"],"fullName":"questionTypeResolver keeps generic non-why questions as unknown","status":"passed","title":"keeps generic non-why questions as unknown","duration":0.15540000000001442,"failureMessages":[],"meta":{}}],"startTime":1775902595218,"endTime":1775902595223.4192,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/questionTypeResolver.test.ts"},{"assertionResults":[{"ancestorTitles":["retrieval dual payload compatibility for graph runtime"],"fullName":"retrieval dual payload compatibility for graph runtime keeps stage2 payload when graph runtime flag is OFF","status":"passed","title":"keeps stage2 payload when graph runtime flag is OFF","duration":15.295899999999989,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval dual payload compatibility for graph runtime"],"fullName":"retrieval dual payload compatibility for graph runtime adds graph runtime payload when graph runtime flag is ON","status":"passed","title":"adds graph runtime payload when graph runtime flag is ON","duration":15.873799999999989,"failureMessages":[],"meta":{}}],"startTime":1775902594797,"endTime":1775902594827.8738,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/retrievalGraphRuntimeDualPayload.test.ts"},{"assertionResults":[{"ancestorTitles":["retrieval lifecycle runtime rollout"],"fullName":"retrieval lifecycle runtime rollout keeps Stage 2 payload when lifecycle runtime flag is OFF","status":"passed","title":"keeps Stage 2 payload when lifecycle runtime flag is OFF","duration":23.907600000000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval lifecycle runtime rollout"],"fullName":"retrieval lifecycle runtime rollout adds lifecycle fields to problem units when lifecycle runtime flag is ON","status":"passed","title":"adds lifecycle fields to problem units when lifecycle runtime flag is ON","duration":9.692199999999985,"failureMessages":[],"meta":{}}],"startTime":1775902594891,"endTime":1775902594924.6921,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/retrievalLifecycleRuntimeRollout.test.ts"},{"assertionResults":[{"ancestorTitles":["retrieval dual payload compatibility for problem units"],"fullName":"retrieval dual payload compatibility for problem units keeps legacy payload intact when FEATURE_ASSISTANT_PROBLEM_UNITS_V1 is OFF","status":"passed","title":"keeps legacy payload intact when FEATURE_ASSISTANT_PROBLEM_UNITS_V1 is OFF","duration":13.783999999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval dual payload compatibility for problem units"],"fullName":"retrieval dual payload compatibility for problem units adds Stage 2 dual payload fields when FEATURE_ASSISTANT_PROBLEM_UNITS_V1 is ON","status":"passed","title":"adds Stage 2 dual payload fields when FEATURE_ASSISTANT_PROBLEM_UNITS_V1 is ON","duration":20.805800000000005,"failureMessages":[],"meta":{}}],"startTime":1775902594784,"endTime":1775902594818.806,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/retrievalProblemUnitDualPayload.test.ts"},{"assertionResults":[{"ancestorTitles":["retrieval evidence enrichment"],"fullName":"retrieval evidence enrichment builds deterministic canonical source_ref from pointer/source","status":"passed","title":"builds deterministic canonical source_ref from pointer/source","duration":316.74760000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval evidence enrichment"],"fullName":"retrieval evidence enrichment uses honest weak-evidence fallback when mechanism is not reliable","status":"passed","title":"uses honest weak-evidence fallback when mechanism is not reliable","duration":10.80460000000005,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval evidence enrichment"],"fullName":"retrieval evidence enrichment maps explicit limitation to reason-coded structure","status":"passed","title":"maps explicit limitation to reason-coded structure","duration":22.69010000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["retrieval evidence enrichment"],"fullName":"retrieval evidence enrichment keeps legacy inferred mechanism when enrichment flag is OFF","status":"passed","title":"keeps legacy inferred mechanism when enrichment flag is OFF","duration":7.851700000000051,"failureMessages":[],"meta":{}}],"startTime":1775902593689,"endTime":1775902594047.8518,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/retrievalResultEvidenceEnrichment.test.ts"},{"assertionResults":[{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter builds v1 route hint summary","status":"passed","title":"builds v1 route hint summary","duration":1.7134000000000071,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter builds v2 deterministic route simulation","status":"passed","title":"builds v2 deterministic route simulation","duration":1.119400000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter builds router input contract for v1","status":"passed","title":"builds router input contract for v1","duration":0.2342999999999904,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter keeps v2.0.1 soft assumptions executable in deterministic routing","status":"passed","title":"keeps v2.0.1 soft assumptions executable in deterministic routing","duration":0.5700999999999965,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter uses explicit v2.0.2 route_status/no_route_reason contract","status":"passed","title":"uses explicit v2.0.2 route_status/no_route_reason contract","duration":0.3674000000000035,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter promotes lifecycle chain intent to hybrid route even without multi-entity flag","status":"passed","title":"promotes lifecycle chain intent to hybrid route even without multi-entity flag","duration":0.13059999999998695,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter promotes mixed-ambiguity symptom fragment to hybrid when domain anchors are present","status":"passed","title":"promotes mixed-ambiguity symptom fragment to hybrid when domain anchors are present","duration":0.4224999999999852,"failureMessages":[],"meta":{}},{"ancestorTitles":["routeHintAdapter"],"fullName":"routeHintAdapter keeps canonical path only for factual fragments without symptom/lifecycle markers","status":"passed","title":"keeps canonical path only for factual fragments without symptom/lifecycle markers","duration":0.23329999999998563,"failureMessages":[],"meta":{}}],"startTime":1775902595350,"endTime":1775902595355.4226,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/routeHintAdapter.test.ts"},{"assertionResults":[{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator passes valid normalized payload","status":"passed","title":"passes valid normalized payload","duration":38.740399999999994,"failureMessages":[],"meta":{}},{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator fails invalid payload","status":"passed","title":"fails invalid payload","duration":0.3731999999999971,"failureMessages":[],"meta":{}},{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator passes valid normalized v2 payload","status":"passed","title":"passes valid normalized v2 payload","duration":26.360199999999992,"failureMessages":[],"meta":{}},{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator fails invalid v2 payload","status":"passed","title":"fails invalid v2 payload","duration":0.4017000000000053,"failureMessages":[],"meta":{}},{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator passes valid normalized v2.0.1 payload","status":"passed","title":"passes valid normalized v2.0.1 payload","duration":14.982100000000003,"failureMessages":[],"meta":{}},{"ancestorTitles":["schemaValidator"],"fullName":"schemaValidator passes valid normalized v2.0.2 payload","status":"passed","title":"passes valid normalized v2.0.2 payload","duration":13.98599999999999,"failureMessages":[],"meta":{}}],"startTime":1775902594209,"endTime":1775902594303.986,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/schemaValidator.test.ts"},{"assertionResults":[{"ancestorTitles":["assistant session backward compatibility"],"fullName":"assistant session backward compatibility lazy-upgrades legacy session objects without investigation_state","status":"passed","title":"lazy-upgrades legacy session objects without investigation_state","duration":1.3613,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant session backward compatibility"],"fullName":"assistant session backward compatibility normalizes malformed legacy sessions with missing items array","status":"passed","title":"normalizes malformed legacy sessions with missing items array","duration":0.23059999999998126,"failureMessages":[],"meta":{}},{"ancestorTitles":["assistant session backward compatibility"],"fullName":"assistant session backward compatibility preserves optional stage2 problem_unit_state in session clone flow","status":"passed","title":"preserves optional stage2 problem_unit_state in session clone flow","duration":0.5725999999999942,"failureMessages":[],"meta":{}}],"startTime":1775902596097,"endTime":1775902596099.5725,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/sessionBackwardCompat.test.ts"},{"assertionResults":[{"ancestorTitles":["stage4GraphRuntime"],"fullName":"stage4GraphRuntime builds graph bindings for deferred expense lifecycle with missing transition","status":"passed","title":"builds graph bindings for deferred expense lifecycle with missing transition","duration":7.170600000000007,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4GraphRuntime"],"fullName":"stage4GraphRuntime marks cross-branch conflicts for vat graph branches","status":"passed","title":"marks cross-branch conflicts for vat graph branches","duration":0.992999999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["stage4GraphRuntime"],"fullName":"stage4GraphRuntime infers 97 domain mapping when lifecycle domain is absent","status":"passed","title":"infers 97 domain mapping when lifecycle domain is absent","duration":0.2803000000000111,"failureMessages":[],"meta":{}}],"startTime":1775902595096,"endTime":1775902595105.2803,"status":"passed","message":"","name":"X:/1C/NDC_1C/llm_normalizer/backend/tests/stage4GraphRuntime.test.ts"}]}