✖ chat replies: free text, cites with badges, the agent label, changed since and safe links (980.914799ms) ✔ chat replies: a write notice reads as its line with a Revert; a refused revert shows its code (753.988771ms) ✔ chat replies: a read-only Console shows the notice with Revert disabled (672.814814ms) ✔ chat status line: served commit and age, divergence, fetch error and the problems one click away (622.859977ms) ✖ chat status line: limits when the status carries them, no problems, and refusals (583.956229ms) ✔ chat status line: a project with no repository link reads no library status (635.758222ms) ✖ chat status line: unreadable reply limits show their problem and both fallback keys (581.636121ms) ✔ chat replies: unchanged file at a different library commit and incomplete checks stay unmarked (653.788881ms) ℹ tests 8 ℹ suites 0 ℹ pass 5 ℹ fail 3 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 5597.371605 ✖ failing tests: test at packages/webui/tests/chat-replies-browser.test.mjs:81:1 ✖ chat replies: free text, cites with badges, the agent label, changed since and safe links (980.914799ms) AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + undefined - false at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row225/packages/webui/tests/chat-replies-browser.test.mjs:102:10) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1409:7) at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) { generatedMessage: true, code: 'ERR_ASSERTION', actual: undefined, expected: false, operator: 'strictEqual', diff: 'simple' } test at packages/webui/tests/chat-replies-browser.test.mjs:152:1 ✖ chat status line: limits when the status carries them, no problems, and refusals (583.956229ms) AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'Library at ccccccc · fetched 5 min ago · citations required, up to 4 per reply · no problems' - 'Library at ccccccc · fetched 5 min ago · citations required, up to 4 per reply · limits fell back: citationsPerReply · no problems' at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row225/packages/webui/tests/chat-replies-browser.test.mjs:156:10) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1409:7) at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'Library at ccccccc · fetched 5 min ago · citations required, up to 4 per reply · no problems', expected: 'Library at ccccccc · fetched 5 min ago · citations required, up to 4 per reply · limits fell back: citationsPerReply · no problems', operator: 'strictEqual', diff: 'simple' } test at packages/webui/tests/chat-replies-browser.test.mjs:173:1 ✖ chat status line: unreadable reply limits show their problem and both fallback keys (581.636121ms) AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'Library at ccccccc · fetched 5 min ago · citations optional, up to 8 per reply · no problems' - 'Library at ccccccc · fetched 5 min ago · citations optional, up to 8 per reply · limits fell back: requireCitation, citationsPerReply · reply-limits-unreadable · no problems' at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row225/packages/webui/tests/chat-replies-browser.test.mjs:179:10) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1409:7) at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'Library at ccccccc · fetched 5 min ago · citations optional, up to 8 per reply · no problems', expected: 'Library at ccccccc · fetched 5 min ago · citations optional, up to 8 per reply · limits fell back: requireCitation, citationsPerReply · reply-limits-unreadable · no problems', operator: 'strictEqual', diff: 'simple' }