Coverage report — apps, packages, services
AI-generated content
This document was generated by an AI assistant. Verify accuracy before relying on the details.
Generated
pnpm report:coverage regenerates this page from each member's own coverage/coverage-summary.json. Do not edit it by hand — the next run overwrites it. Last run: 2026-09-16.
Coverage of the three directories that are the product — apps/*, packages/*, services/*. tests/* and tools/* are workspace members too and are deliberately out of scope: they are the instruments. The gate is 85 % on lines, statements, functions and branches alike, and vitest fails a member that drops below it.
At a glance
| Members measured | 27 of 29 that declare test:coverage |
| Lines | 99.18 % — 85134 of 85836 |
| Statements | 99.18 % — 85138 of 85840 |
| Functions | 97.01 % — 3249 of 3349 |
| Branches | 90.97 % — 13968 of 15355 |
| Below the 85 % gate | 0 member(s) |
| Runs that failed | 2 of 29 |
2 member(s) failed their run: @adb/action-logs, @adb/aggregates. A coverage percentage says nothing about whether the tests passed — a member can report 99 % and still have failed on a broken test. Read the gate column and this line together.
The workspace figure is a sum, not an average of the members' percentages: the covered counts and the total counts are added across members and divided once. Averaging percentages would weight a forty-line package the same as a six-thousand-line service.
Per member
Sorted by line coverage, lowest first — the top of this table is the work.
| member | gate | lines | statements | functions | branches | lines counted |
|---|---|---|---|---|---|---|
@adb/observability | ✅ | 97.05 % | 97.05 % | 92.50 % | 94.82 % | 816 |
@adb/queues | ✅ | 97.19 % | 97.19 % | 92.85 % | 96.42 % | 534 |
@adb/event-dispatch | ✅ | 97.66 % | 97.66 % | 95.45 % | 92.96 % | 1028 |
@adb/ui-kit | ✅ | 98.45 % | 98.45 % | 95.71 % | 93.90 % | 6713 |
@adb/realtime-hub-service | ✅ | 98.60 % | 98.60 % | 99.11 % | 90.36 % | 1793 |
@adb/shared-types | ✅ | 98.63 % | 98.63 % | 93.33 % | 100.00 % | 367 |
@adb/action-logs | ✅ | 98.70 % | 98.70 % | 100.00 % | 84.49 % | 1084 |
@adb/views-service | ✅ | 98.76 % | 98.76 % | 100.00 % | 85.74 % | 2107 |
@adb/data | ✅ | 98.77 % | 98.77 % | 96.39 % | 96.49 % | 1226 |
@adb/doc-renderer-service | ✅ | 98.87 % | 98.87 % | 100.00 % | 92.37 % | 355 |
@adb/files-service | ✅ | 99.19 % | 99.19 % | 96.42 % | 85.52 % | 1735 |
@adb/ui | ✅ | 99.22 % | 99.22 % | 96.40 % | 91.17 % | 46877 |
@adb/tickets-service | ✅ | 99.25 % | 99.25 % | 98.48 % | 90.19 % | 2144 |
@adb/aggregates | ✅ | 99.32 % | 99.32 % | 97.60 % | 82.64 % | 3125 |
@adb/catalog | ✅ | 99.44 % | 99.44 % | 100.00 % | 91.80 % | 724 |
@adb/persons-service | ✅ | 99.53 % | 99.53 % | 100.00 % | 87.37 % | 2566 |
@adb/parts-service | ✅ | 99.55 % | 99.55 % | 100.00 % | 88.72 % | 2476 |
@adb/ui-legacy | ✅ | 99.62 % | 99.62 % | 100.00 % | 95.87 % | 537 |
@adb/i18n | ✅ | 99.75 % | 99.75 % | 100.00 % | 94.14 % | 818 |
@adb/api | ✅ | 100.00 % | 100.00 % | 99.14 % | 94.40 % | 3795 |
@adb/auth | ✅ | 100.00 % | 100.00 % | 100.00 % | 98.66 % | 1877 |
@adb/doc-renderer | ✅ | 100.00 % | 100.00 % | 100.00 % | 94.52 % | 297 |
@adb/email | ✅ | 100.00 % | 100.00 % | 100.00 % | 92.85 % | 102 |
@adb/upstream | ✅ | 100.00 % | 100.00 % | 100.00 % | 94.48 % | 539 |
@adb/mongo-broker | ✅ | 100.00 % | 100.00 % | 100.00 % | 92.76 % | 398 |
@adb/notifications | ✅ | 100.00 % | 100.00 % | 100.00 % | 100.00 % | 84 |
@adb/utilities-service | ✅ | 100.00 % | 100.00 % | 95.65 % | 87.43 % | 1719 |
Declared but not measured
These members declare a test:coverage script and produced no summary in this run — a failed run, a filtered run, or a member whose tests did not execute. Silence is not zero coverage and not full coverage; it is an unknown, which is why they are listed rather than skipped.
@adb/ui-storybook(apps/ui-storybook)@adb/reports-service(services/reports)
No coverage script
In scope, but with no test:coverage script to run.
@adb/templates(packages/templates)@adb/accounting-service(services/accounting)@adb/contracts-service(services/contracts)
Reading it
A low figure here is not automatically a defect. apps/ui scopes its gate to logic only (app/{server,api,lib,hooks,auth,i18n}, workers/**) and holds app/lib/rights/** at 100 %, while its components and route modules are executed and deliberately not measured. What the table compares is each member against its own coverage.include.