Vitest
PassTypeScript unit, contract and integration tests.
- Passed
- 5,119
- Failed
- 0
- Files
- 341
- Time
- 54.1 s
Coverage + JSON report
AgentDeck · Build health
The latest master run, in full: what passed, what each check proves and does not prove, and where the gaps are. This is the maintainer's evidence that the build works — not a product analytics dashboard.
Pass · 5,578 tests · commit 369cc8a · generated 2026-10-04 13:45 UTC
Build health
What this page ran on the merged master commit. Suites that need a macOS runner or physical boards run elsewhere and are marked as not run here — never counted as passing.
Result
Pass
5,578 tests executed
Passed
5,578
100.00% of executed
Failed
0
across every suite run here
Wall time
1 min 7 s
summed per-file test time
Line coverage
60.4%
TypeScript packages
TypeScript unit, contract and integration tests.
Coverage + JSON report
The real daemon process, driven from outside.
Real daemon process, loopback, temp HOME
JUnit + Robolectric.
JUnit + Robolectric on ubuntu
macOS app and in-process Swift daemon.
Runs in the Apple Tests workflow (macos-26) on apple/** changes; not re-run here
Flash, boot and serial protocol on real boards.
Physical hardware suite; run in the maintainer's lab, not on GitHub-hosted runners
Transparency
Every check the project runs, where it runs, and what it does not prove. Generated from scripts/verification-catalog.json; CI fails if that file stops matching the repository.
Merge policy · checked 2026-09-29
Branch protection on master requires one status check, ESP32 Sim Compile. Every other gate turns a pull request red when it fails but does not stop GitHub from merging it.
Every PR and push to master · ubuntu-latest
Proves
Does not prove
npx vitest run --coverage
Every PR and push to master · ubuntu-latest
Proves
Does not prove
pnpm test:e2e
Opt-in after deploying the Swift app · Maintainer Mac running the signed sandboxed app
Proves
Does not prove
node scripts/verify-swift-codex-live.mjs --port PORT --pid PID --app /path/AgentDeck.app
Lab only — results are not recorded here
Every PR and push to master · ubuntu-latest
Proves
Does not prove
pnpm verify-version && pnpm build && pnpm typecheck && pnpm generate-protocol (no diff)
Every PR and push to master · windows-latest
Proves
Does not prove
node bridge/dist/cli.js diag native --json && vitest run <10 Windows-sensitive files>
Every PR and push to master · ubuntu-latest
Proves
Does not prove
verify-tokens-sync.py, design-system:check, docs:check, devlog:check, surface/GNB/spec-card parity, design/lint.sh
PRs and pushes touching android/** · ubuntu-latest
Proves
Does not prove
./gradlew :app:testDebugUnitTest
PRs and pushes touching apple/**, shared/** or generated/protocol/** · macos-26
Proves
Does not prove
xcodebuild test -scheme AgentDeck_macOS; xcodebuild build -scheme AgentDeck_iOS; validate-appstore-submission.sh
PRs touching esp32/** · ubuntu-latest
Proves
Does not prove
pio run (every esp32/sim env)
Every push to master · ubuntu-latest
Proves
Does not prove
vitest --coverage, pnpm test:e2e, gradlew testDebugUnitTest, then generate-html-report.py
Manually before an ESP32 firmware release · maintainer lab (boards on USB)
Proves
Does not prove
bash esp32/robot/run.sh hw|protocol|perf
Lab only — results are not recorded here
Manually, agent-driven, before releases · maintainer lab (Mac, phones, e-ink readers, Stream Deck, ESP32)
Proves
Does not prove
agentdeck-deploy skill (preflight: bash scripts/macos-preflight.sh)
Lab only — results are not recorded here
Tag npm-v* · ubuntu-latest
Proves
Does not prove
build, pnpm test, publish, verify packages visible on the registry
Tag apple-v* or manual dispatch · macos
Proves
Does not prove
archive, export, verify-appstore-archive.sh, upload
Tag android-v* · ubuntu-latest
Proves
Does not prove
assembleSideload, apksigner verify, bundle, Play internal track
Tag esp32-v* · ubuntu-latest
Proves
Does not prove
pio run per board, merge factory image, checksums, manifest
Tag streamdeck-v* · ubuntu-latest
Proves
Does not prove
package-plugin.sh
Tag ulanzi-v* · ubuntu-latest
Proves
Does not prove
package-ulanzi-plugin.sh
Why not
Needs an authenticated agent CLI and spends model tokens on every run.
What we do instead
The daemon E2E posts the documented hook payloads through the installed snippet; parsers are covered by recorded-output unit tests.
Why not
Every address of the host itself is trusted by design, so a single CI runner cannot be a LAN peer.
What we do instead
The access gate is a pure function with a full truth-table test (http-auth-gate.test.ts); the E2E checks the loopback bind.
Why not
No UI-test or instrumented-test targets exist; the host apps (Stream Deck, Ulanzi Studio) cannot run in CI.
What we do instead
Renderer snapshot tests, layout-engine tests and manual device deploys.
Why not
Physical hardware.
What we do instead
Host-simulator compile gate, protocol unit tests, and the lab Robot suites before firmware releases.
Why not
They belong to a signed app on a real user session.
What we do instead
scripts/macos-preflight.sh checks the grants before a lab run and stops with the exact System Settings path instead of hanging on a dialog.
Evidence levels
Vitest + E2E
Every TypeScript and end-to-end test file, grouped by the question it answers. Open a domain for its files and each test.
9 files
PassIs the LAN surface default-deny, and does pairing hand out credentials only with the operator's consent?
2 files
PassDoes the shipped daemon work when started and driven from outside?
27 files
PassIs every turn, task and approval recorded once, attributed to the right session, and kept across restarts?
15 files
PassAre Claude, Codex and Z.ai quota windows read, relayed and aged correctly?
25 files
PassDoes exactly one daemon own the port, start, upgrade, restart and hand over cleanly on every OS?
45 files
PassAre Claude, Codex, OpenCode, Kiro, Antigravity and Hermes sessions seen, attributed and gated correctly from their hooks and transcripts?
11 files
PassDoes agentdeck claude|codex read the terminal correctly and route commands to the right PTY?
26 files
PassDo agent states transition correctly and reach every client in the documented wire shape?
50 files
PassAre turns and tasks segmented, judged and scored correctly, and does the recommender rank models honestly?
20 files
PassDoes the Gateway proxy stay subscribed, attribute runs and approvals, and report its health truthfully?
63 files
PassDo ESP32, Pixoo, Timebox, iDotMatrix, ADB and mDNS paths discover, flash and render correctly?
6 files
PassAre push-to-talk, transcription and spoken replies routed to the right session and device?
33 files
PassDo the deck plugins connect, recover, lay out keys and encoders, and dispatch host controls per platform?
4 files
PassDoes the TUI dashboard render sessions and the terrarium stably?
7 files
PassDo versions, release notes, runtime support and palette ratchets hold?
Native and hardware
Suites outside the TypeScript toolchain. Apple and hardware results are recorded by their own workflows and the lab.
JUnit + Robolectric on the JVM (ubuntu), 42 suites.
Runs in the Apple Tests workflow (macos-26) on apple/** changes; not re-run here
Physical hardware suite; run in the maintainer's lab, not on GitHub-hosted runners
User flows
Each flow maps to specific tests by file and case name (scripts/scenario-matrix.json). A dash means no test at that level — listed with the known gaps.
| Scenario | Priority | Unit | Integration | Platform | E2E | Known gaps |
|---|---|---|---|---|---|---|
| Session LifecycleStart session -> processing -> idle -> stop. Core state machine transitions that drive all UI. | critical | 4/4 — 4 passed | 2/2 — 2 passed | 1/2 — 1 passed, 1 not executed here | 1/1 — 1 passed |
|
| Permission FlowAgent requests permission -> user sees options -> approves/denies -> state transitions back. | critical | 3/3 — 3 passed | 2/2 — 2 passed | 1/1 — 1 passed | 1/1 — 1 passed |
|
| Multi-agent MonitoringDaemon hub orchestrates multiple session bridges, unified dashboard for all agents. | high | 3/3 — 3 passed | 4/4 — 4 passed | — | — |
|
| Device ConnectionmDNS discovery -> auth token validation -> WebSocket/serial state sync with dashboard clients. | high | 3/3 — 3 passed | 3/3 — 3 passed | 1/1 — 1 passed | — |
|
| Timeline AggregationEvents from multiple sessions -> daemon relay -> dedup -> unified timeline for all clients. | high | 2/2 — 2 passed | 1/1 — 1 passed | 1/2 — 1 passed, 1 not executed here | 1/1 — 1 passed |
|
| Voice Recording & TranscriptionAudio capture -> whisper transcription -> text delivery to Claude PTY or clipboard. | medium | — | 1/1 — 1 passed | — | — |
|
| Encoder & Button InteractionDial rotate -> option scroll -> push select. Button press -> action trigger. Label rendering. | medium | 4/4 — 4 passed | — | — | — |
|
| Usage Tracking & Rate LimitsAPI usage fetch -> rate limit gauge -> sibling relay (429 prevention) -> dashboard display. | medium | 1/1 — 1 passed | 2/2 — 2 passed | 2/2 — 2 passed | — |
|
| Daemon Singleton GuardPID check -> port probe -> prevent double daemon. Auto-fallback on port conflict. | medium | 1/1 — 1 passed | 1/1 — 1 passed | — | 1/1 — 1 passed |
|
| Hook Installation & MigrationInstall Claude Code hooks -> migrate v2.0 flat format to v2.1 matcher groups -> port injection. | medium | 1/1 — 1 passed | — | — | 1/1 — 1 passed |
|
Vitest --coverage
Line, statement, function and branch coverage of bridge, shared, plugin and hooks. The floors are read from vitest.config.ts and enforced on every pull request.
Lines
60.4%
floor 56% · above
Statements
59.4%
floor 55% · above
Functions
60.7%
floor 57% · above
Branches
56.3%
floor 52% · above
bridge
57.8%
15,952 / 27,619 lines · 221 files
hooks
95.0%
499 / 525 lines · 5 files
plugin
54.2%
1,229 / 2,267 lines · 36 files
plugin-ulanzi
89.0%
65 / 73 lines · 1 file
shared
81.7%
2,573 / 3,151 lines · 62 files
| File | Lines | Stmts | Funcs | Branch |
|---|---|---|---|---|
bridge/src/apme/types.ts |
0% | 0% | 0% | 0% |
bridge/src/check-deps.ts |
0% | 0% | 0% | 0% |
bridge/src/daemon.ts |
0% | 0% | 0% | 0% |
bridge/src/diag-analyzer.ts |
0% | 0% | 0% | 0% |
bridge/src/esptool-js-bundle.d.ts |
0% | 0% | 0% | 0% |
bridge/src/esptool-js-node.ts |
0% | 0% | 0% | 0% |
bridge/src/event-journal.ts |
0% | 0% | 0% | 0% |
bridge/src/idotmatrix/idotmatrix-discover.ts |
0% | 0% | 0% | 0% |
bridge/src/index.ts |
0% | 0% | 0% | 0% |
bridge/src/log-stream.ts |
0% | 0% | 0% | 100% |
bridge/src/pty-ringbuffer.ts |
0% | 0% | 0% | 0% |
bridge/src/terminal-status.ts |
0% | 0% | 0% | 0% |
bridge/src/timebox/timebox-discover.ts |
0% | 0% | 0% | 0% |
bridge/src/tui/screen.ts |
0% | 0% | 0% | 0% |
bridge/src/types.ts |
0% | 0% | 0% | 0% |
bridge/src/types/picovoice.d.ts |
0% | 0% | 0% | 0% |
bridge/src/utility-proxy.ts |
0% | 0% | 0% | 0% |
bridge/src/voice.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/iterm-dial.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/launcher-dial.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/option-dial.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/session-slot-button.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/usage-limit-button.ts |
0% | 0% | 0% | 0% |
plugin/src/actions/utility-dial.ts |
0% | 0% | 0% | 0% |
plugin/src/agent-link.ts |
0% | 0% | 0% | 0% |
plugin/src/display-dim.ts |
0% | 0% | 0% | 0% |
plugin/src/encoder-registry.ts |
0% | 0% | 0% | 100% |
plugin/src/plugin.ts |
0% | 0% | 0% | 0% |
plugin/src/renderers/agent-logos.ts |
0% | 0% | 0% | 0% |
plugin/src/renderers/button-renderer.ts |
0% | 0% | 0% | 100% |
plugin/src/renderers/session-slot-renderer.ts |
0% | 0% | 0% | 0% |
plugin/src/renderers/slot-svg.ts |
0% | 0% | 0% | 0% |
plugin/src/system/darwin.ts |
0% | 0% | 0% | 0% |
plugin/src/system/types.ts |
0% | 0% | 0% | 0% |
shared/src/index.ts |
0% | 0% | 0% | 0% |
shared/src/sample.ts |
0% | 0% | 0% | 0% |
shared/src/svg-renderers/index.ts |
0% | 0% | 0% | 0% |
shared/src/telemetry-envelope.ts |
0% | 0% | 0% | 0% |
shared/src/timeline-label.ts |
0% | 0% | 0% | 0% |
bridge/src/wake-word.ts |
2% | 2% | 0% | 0% |
shared/src/net-utils.ts |
2% | 2% | 0% | 0% |
bridge/src/voice-assistant.ts |
2% | 2% | 0% | 0% |
shared/src/command-builders.ts |
4% | 4% | 0% | 100% |
bridge/src/apme/hw-sampler.ts |
4% | 6% | 20% | 4% |
shared/src/gateway-health.ts |
5% | 4% | 0% | 0% |
bridge/src/tts.ts |
5% | 4% | 0% | 0% |
bridge/src/antigravity-local.ts |
5% | 6% | 18% | 3% |
shared/src/matrix-expression.ts |
5% | 4% | 0% | 0% |
bridge/src/apme/index.ts |
5% | 5% | 9% | 0% |
bridge/src/modules/index.ts |
6% | 6% | 33% | 0% |
bridge/src/tui/dashboard.ts |
6% | 5% | 3% | 11% |
bridge/src/timebox/timebox-daemon-sync.ts |
7% | 6% | 0% | 0% |
bridge/src/wifi-config.ts |
7% | 6% | 0% | 0% |
bridge/src/apme/outcome.ts |
8% | 8% | 8% | 2% |
bridge/src/modules/idotmatrix-module.ts |
8% | 6% | 0% | 0% |
bridge/src/modules/timebox-module.ts |
8% | 6% | 0% | 0% |
bridge/src/modules/pixoo-module.ts |
8% | 6% | 0% | 0% |
shared/src/apme-graph.ts |
9% | 9% | 0% | 100% |
bridge/src/daemon-server.ts |
10% | 10% | 12% | 9% |
bridge/src/pixoo/pixoo-client.ts |
10% | 10% | 0% | 0% |
bridge/src/timebox/timebox-settings.ts |
10% | 8% | 8% | 6% |
bridge/src/cli.ts |
10% | 10% | 14% | 8% |
bridge/src/pixoo/pixoo-settings.ts |
12% | 11% | 10% | 0% |
bridge/src/pixoo/pixoo-bridge.ts |
14% | 14% | 10% | 8% |
bridge/src/idotmatrix/idotmatrix-settings.ts |
15% | 18% | 17% | 33% |
bridge/src/idotmatrix/idotmatrix-daemon-sync.ts |
16% | 14% | 0% | 0% |
bridge/src/version-check.ts |
17% | 18% | 23% | 16% |
bridge/src/modules/serial-module.ts |
18% | 17% | 0% | 0% |
bridge/src/review-runner.ts |
18% | 17% | 21% | 22% |
bridge/src/session-transcript-timeline.ts |
23% | 24% | 14% | 17% |
bridge/src/modules/adb-module.ts |
24% | 21% | 0% | 0% |
bridge/src/display-monitor.ts |
28% | 27% | 28% | 30% |
plugin/src/runtime-identity.ts |
29% | 29% | 50% | 100% |
bridge/src/observed-inject.ts |
30% | 31% | 50% | 18% |
bridge/src/pixoo/pixoo-sprites.ts |
30% | 28% | 42% | 15% |
bridge/src/adb-reverse.ts |
38% | 38% | 43% | 53% |
bridge/src/logger.ts |
38% | 38% | 62% | 21% |
bridge/src/esp32-serial.ts |
39% | 39% | 34% | 45% |
shared/src/eval-schema.ts |
40% | 40% | 0% | 0% |
bridge/src/esp32-flash.ts |
41% | 40% | 42% | 35% |
bridge/src/modules/broadcast-module.ts |
43% | 43% | 25% | 100% |
bridge/src/modules/mdns-module.ts |
43% | 43% | 25% | 100% |
bridge/src/usage-tracker.ts |
44% | 44% | 23% | 55% |
bridge/src/opencode-client.ts |
44% | 40% | 57% | 38% |
shared/src/voice-paths.ts |
45% | 42% | 0% | 0% |
bridge/src/model-catalog.ts |
47% | 40% | 40% | 19% |
shared/src/pairing-code.ts |
47% | 44% | 60% | 35% |
bridge/src/session-activity.ts |
49% | 44% | 58% | 42% |
bridge/src/ble-sync-spawn.ts |
49% | 48% | 47% | 39% |
bridge/src/esp32-flash-transport.ts |
51% | 53% | 55% | 49% |
bridge/src/pixoo/pixoo-camera.ts |
51% | 51% | 50% | 37% |
bridge/src/adapters/opencode-adapter.ts |
53% | 49% | 41% | 38% |
bridge/src/windows-service.ts |
54% | 53% | 50% | 78% |
bridge/src/bridge-core.ts |
55% | 54% | 38% | 52% |
bridge/src/hook-server.ts |
56% | 54% | 54% | 32% |
bridge/src/foundation-models-helper.ts |
58% | 59% | 54% | 45% |
bridge/src/codex-auth.ts |
60% | 61% | 40% | 41% |
shared/src/claude-weekly-view.ts |
60% | 71% | 33% | 47% |
bridge/src/claude-usage-recovery.ts |
61% | 62% | 47% | 70% |
bridge/src/session-focus-relay.ts |
62% | 62% | 56% | 61% |
plugin/src/system/index.ts |
62% | 65% | 50% | 100% |
bridge/src/kiro-session.ts |
63% | 60% | 48% | 61% |
bridge/src/apme/antigravity-transcript.ts |
63% | 63% | 33% | 74% |
bridge/src/apme/activity-history.ts |
65% | 59% | 73% | 58% |
bridge/src/ws-server.ts |
65% | 63% | 58% | 56% |
shared/src/format-utils.ts |
66% | 66% | 73% | 66% |
plugin/src/log.ts |
67% | 59% | 33% | 50% |
plugin/src/system/win32.ts |
67% | 63% | 62% | 80% |
plugin/src/bridge-client.ts |
67% | 62% | 75% | 41% |
bridge/src/agent-cli-diagnostics.ts |
68% | 68% | 60% | 44% |
shared/src/svg-renderers/agent-logos.ts |
70% | 70% | 79% | 53% |
bridge/src/mlx-probe.ts |
70% | 64% | 50% | 70% |
bridge/src/adapters/index.ts |
71% | 71% | 100% | 67% |
bridge/src/openclaw-gateway-stability.ts |
72% | 74% | 70% | 80% |
bridge/src/adapters/claude-code.ts |
72% | 72% | 50% | 40% |
bridge/src/apme/http.ts |
73% | 71% | 74% | 64% |
bridge/src/pixoo/pixoo-font.ts |
73% | 72% | 50% | 67% |
bridge/src/pty-manager.ts |
73% | 74% | 76% | 66% |
bridge/src/tui/renderer.ts |
73% | 71% | 95% | 54% |
bridge/src/tui/terrarium.ts |
74% | 72% | 78% | 56% |
bridge/src/daemon-supervisor.ts |
75% | 73% | 85% | 66% |
bridge/src/session-registry.ts |
75% | 72% | 59% | 75% |
bridge/src/apme/payload-prune.ts |
75% | 75% | 57% | 89% |
bridge/src/passive-observer.ts |
75% | 71% | 79% | 65% |
bridge/src/tui/ansi.ts |
75% | 74% | 84% | 49% |
bridge/src/linux-service.ts |
76% | 73% | 72% | 100% |
shared/src/timeline-summarizer.ts |
76% | 73% | 57% | 63% |
shared/src/svg-renderers/session-slot-renderer.ts |
78% | 77% | 80% | 67% |
bridge/src/font-pack.ts |
79% | 79% | 100% | 90% |
bridge/src/apme/recommend.ts |
79% | 77% | 73% | 56% |
bridge/src/adapters/openclaw.ts |
79% | 76% | 74% | 69% |
bridge/src/pixoo/pixoo-renderer.ts |
79% | 77% | 82% | 66% |
bridge/src/gateway-probe.ts |
79% | 66% | 38% | 76% |
bridge/src/python-ble-runtime.ts |
80% | 78% | 88% | 73% |
plugin/src/renderers/display-tile.ts |
80% | 77% | 100% | 53% |
shared/src/d200h-layout.ts |
81% | 81% | 89% | 78% |
bridge/src/learning-pack.ts |
81% | 81% | 100% | 85% |
bridge/src/adapters/monitor.ts |
81% | 81% | 87% | 60% |
bridge/src/pixoo/pixoo-discover.ts |
82% | 74% | 75% | 63% |
bridge/src/adapters/pty-adapter.ts |
82% | 82% | 65% | 81% |
bridge/src/kiro-diagnostics.ts |
84% | 85% | 87% | 64% |
bridge/src/session-timeline-relay.ts |
84% | 80% | 71% | 62% |
bridge/src/apme/adapters/codex-hook.ts |
85% | 79% | 100% | 60% |
bridge/src/apme/runner.ts |
85% | 81% | 79% | 71% |
bridge/src/state-machine.ts |
85% | 85% | 87% | 69% |
shared/src/timeline.ts |
85% | 78% | 100% | 74% |
shared/src/usage-severity.ts |
86% | 89% | 75% | 90% |
bridge/src/kiro-timeline-feed.ts |
86% | 84% | 86% | 65% |
bridge/src/broadcast.ts |
87% | 79% | 56% | 56% |
bridge/src/openclaw-timeline-feed.ts |
87% | 83% | 90% | 57% |
bridge/src/apme/sample-to-timeline.ts |
87% | 82% | 100% | 65% |
bridge/src/usage-api.ts |
87% | 83% | 89% | 80% |
bridge/src/device-photo.ts |
88% | 88% | 87% | 87% |
bridge/src/mdns.ts |
88% | 87% | 94% | 77% |
bridge/src/glance-frame.ts |
88% | 89% | 84% | 79% |
plugin/src/session-slot-manager.ts |
89% | 88% | 92% | 80% |
plugin-ulanzi/src/reconnect-supervisor.ts |
89% | 85% | 75% | 68% |
bridge/src/apme/store.ts |
90% | 77% | 95% | 74% |
plugin/src/focused-detail-state.ts |
90% | 91% | 86% | 76% |
bridge/src/apme/classifier.ts |
91% | 85% | 92% | 81% |
shared/src/apme-classifier-rules.ts |
91% | 92% | 67% | 67% |
shared/src/openclaw-plugin-approval.ts |
91% | 91% | 94% | 87% |
bridge/src/apme/adapters/openclaw-hook.ts |
91% | 88% | 92% | 83% |
plugin/src/utility-modes/usage.ts |
91% | 87% | 86% | 85% |
bridge/src/pocket-autonomy.ts |
91% | 86% | 89% | 66% |
bridge/src/apme/collector.ts |
91% | 87% | 91% | 77% |
hooks/src/install.ts |
91% | 89% | 94% | 90% |
bridge/src/surface-protocol.ts |
91% | 88% | 85% | 82% |
bridge/src/device-voice.ts |
92% | 89% | 83% | 74% |
bridge/src/adapters/codex-cli.ts |
92% | 92% | 88% | 100% |
bridge/src/daemon-ws-client.ts |
92% | 86% | 89% | 75% |
bridge/src/session-aggregator.ts |
92% | 91% | 100% | 75% |
shared/src/timeline-icons.ts |
92% | 89% | 83% | 82% |
bridge/src/network-posture.ts |
92% | 93% | 100% | 88% |
bridge/src/ollama-probe.ts |
92% | 94% | 100% | 92% |
plugin/src/actions/per-action-view-state.ts |
92% | 86% | 80% | 70% |
bridge/src/zai-usage.ts |
92% | 89% | 93% | 77% |
hooks/src/opencode-install.ts |
93% | 93% | 100% | 82% |
bridge/src/mdns-discover.ts |
93% | 90% | 100% | 74% |
bridge/src/session-order-store.ts |
94% | 91% | 77% | 89% |
bridge/src/codex-output-parser.ts |
94% | 90% | 95% | 84% |
shared/src/esp32-boards.ts |
94% | 93% | 91% | 85% |
bridge/src/output-parser.ts |
94% | 90% | 100% | 84% |
bridge/src/apme/adapters/timeline.ts |
94% | 95% | 100% | 76% |
bridge/src/pixoo/micro-glyphs.ts |
94% | 92% | 100% | 85% |
bridge/src/openclaw-transcript-timeline.ts |
94% | 86% | 100% | 77% |
bridge/src/opencode-steering.ts |
94% | 95% | 100% | 87% |
bridge/src/peripheral-mapping.ts |
94% | 96% | 100% | 95% |
hooks/src/codex-install.ts |
95% | 92% | 96% | 86% |
bridge/src/hook-opencode-sessions.ts |
95% | 92% | 100% | 91% |
bridge/src/auth.ts |
95% | 92% | 100% | 88% |
bridge/src/apme/classify-turn.ts |
95% | 91% | 100% | 80% |
bridge/src/fallback-task-timeline.ts |
95% | 95% | 83% | 82% |
bridge/src/device-voice-reply.ts |
95% | 89% | 70% | 84% |
bridge/src/apme/adapters/codex-turn-manager.ts |
95% | 90% | 100% | 79% |
bridge/src/claude-permission-rules.ts |
95% | 96% | 71% | 81% |
shared/src/claude-permission-rules.ts |
95% | 90% | 100% | 87% |
bridge/src/claude-turn-watchdog.ts |
95% | 93% | 88% | 91% |
bridge/src/apme/pareto.ts |
95% | 96% | 100% | 81% |
bridge/src/weather.ts |
95% | 89% | 93% | 75% |
bridge/src/subagent-timeline.ts |
95% | 94% | 93% | 85% |
plugin/src/connection-manager.ts |
96% | 94% | 83% | 91% |
bridge/src/claude-hook-timeline.ts |
96% | 93% | 100% | 82% |
bridge/src/codex-rate-limits-live.ts |
96% | 95% | 94% | 90% |
bridge/src/codex-otel.ts |
96% | 89% | 100% | 84% |
bridge/src/kiro-transcript-timeline.ts |
96% | 91% | 100% | 83% |
shared/src/pricing.ts |
96% | 91% | 88% | 77% |
bridge/src/ask-gate.ts |
96% | 97% | 100% | 97% |
bridge/src/daemon-takeover.ts |
96% | 96% | 100% | 85% |
plugin/src/renderers/usage-gauge.ts |
96% | 94% | 93% | 78% |
bridge/src/codex-exec-children.ts |
96% | 91% | 90% | 85% |
bridge/src/pixoo/matrix-art.ts |
96% | 95% | 100% | 93% |
bridge/src/pairing-window.ts |
96% | 95% | 88% | 89% |
bridge/src/codex-rate-limits.ts |
97% | 93% | 100% | 86% |
bridge/src/daemon-build-identity.ts |
97% | 90% | 100% | 84% |
shared/src/mlx-safety.ts |
97% | 92% | 100% | 89% |
bridge/src/pairing-knocks.ts |
97% | 94% | 90% | 88% |
bridge/src/native-dependency-diagnostics.ts |
97% | 92% | 75% | 55% |
bridge/src/codex-rollout-response.ts |
97% | 92% | 91% | 90% |
bridge/src/apme/claude-transcript-reader.ts |
97% | 92% | 100% | 88% |
bridge/src/calendar.ts |
97% | 95% | 96% | 84% |
bridge/src/observed-steering.ts |
97% | 93% | 96% | 86% |
bridge/src/session-push-channel.ts |
97% | 97% | 50% | 82% |
bridge/src/utils/project-name.ts |
97% | 93% | 100% | 81% |
bridge/src/coordination-evidence.ts |
97% | 93% | 97% | 79% |
shared/src/session-utils.ts |
97% | 97% | 100% | 89% |
plugin/src/system/win32-volume.ts |
97% | 94% | 92% | 81% |
bridge/src/apme/graph.ts |
97% | 93% | 100% | 82% |
bridge/src/observed-turn-watchdogs.ts |
97% | 96% | 100% | 75% |
bridge/src/awaiting-overlay.ts |
98% | 92% | 100% | 84% |
bridge/src/hook-codex-sessions.ts |
98% | 91% | 91% | 89% |
bridge/src/permission-resolver.ts |
98% | 94% | 91% | 70% |
bridge/src/apme/adapters/opencode-hook.ts |
98% | 98% | 100% | 84% |
shared/src/subagent-activity.ts |
98% | 94% | 86% | 88% |
bridge/src/card-feed.ts |
98% | 91% | 100% | 81% |
bridge/src/timeline-store.ts |
98% | 95% | 100% | 85% |
bridge/src/timeline-summarizer.ts |
98% | 91% | 80% | 58% |
shared/src/creature-layout.ts |
98% | 96% | 93% | 86% |
bridge/src/connection-diagnostics.ts |
99% | 95% | 96% | 82% |
bridge/src/apme/adapters/claude-hook.ts |
100% | 100% | 100% | 77% |
bridge/src/apme/dashboard-html.ts |
100% | 100% | 100% | 100% |
bridge/src/apme/judge-detect.ts |
100% | 98% | 100% | 86% |
bridge/src/apme/scorers/index.ts |
100% | 98% | 100% | 79% |
bridge/src/apme/settings.ts |
100% | 98% | 100% | 90% |
bridge/src/apme/task-gradeability.ts |
100% | 100% | 100% | 96% |
bridge/src/ble-sync-status.ts |
100% | 100% | 100% | 91% |
bridge/src/board-timeline-entry.ts |
100% | 83% | 100% | 80% |
bridge/src/card-modules.ts |
100% | 100% | 100% | 90% |
bridge/src/claude-interrupt-marker.ts |
100% | 95% | 100% | 92% |
bridge/src/codex-ambient-hooks.ts |
100% | 100% | 100% | 100% |
bridge/src/codex-hook-silence.ts |
100% | 94% | 100% | 79% |
bridge/src/compact-session-labels.ts |
100% | 100% | 100% | 100% |
bridge/src/daemon-launcher.ts |
100% | 100% | 100% | 100% |
bridge/src/daemon-listen.ts |
100% | 100% | 100% | 100% |
bridge/src/daemon-port.ts |
100% | 100% | 100% | 89% |
bridge/src/daemon-settings.ts |
100% | 95% | 100% | 75% |
bridge/src/daemon-socket-drain.ts |
100% | 81% | 100% | 50% |
bridge/src/dashboard-providers.ts |
100% | 100% | 100% | 100% |
bridge/src/deferred-reply-read.ts |
100% | 100% | 100% | 100% |
bridge/src/device-transcription.ts |
100% | 96% | 100% | 92% |
bridge/src/display-dim.ts |
100% | 95% | 100% | 69% |
bridge/src/esp32-flash-lease.ts |
100% | 100% | 100% | 94% |
bridge/src/event-loop-telemetry.ts |
100% | 100% | 100% | 75% |
bridge/src/hermes-sessions.ts |
100% | 97% | 100% | 97% |
bridge/src/hook-claude-sessions.ts |
100% | 95% | 100% | 91% |
bridge/src/hook-response-source.ts |
100% | 100% | 100% | 100% |
bridge/src/http-auth-gate.ts |
100% | 100% | 100% | 93% |
bridge/src/hub-state-identity.ts |
100% | 100% | 100% | 97% |
bridge/src/ips10-roster.ts |
100% | 79% | 75% | 67% |
bridge/src/legacy-rearm-ledger.ts |
100% | 100% | 100% | 100% |
bridge/src/modules/types.ts |
100% | 100% | 100% | 100% |
bridge/src/observed-launch.ts |
100% | 100% | 50% | 90% |
bridge/src/openclaw-model-catalog.ts |
100% | 100% | 100% | 100% |
bridge/src/openclaw-session.ts |
100% | 100% | 100% | 100% |
bridge/src/personal-voice-turn.ts |
100% | 96% | 100% | 89% |
bridge/src/pixoo/desk-awareness.ts |
100% | 100% | 100% | 100% |
bridge/src/pixoo/hermes-mermaid.generated.ts |
100% | 100% | 100% | 100% |
bridge/src/pixoo/official-dot-glyphs.generated.ts |
100% | 100% | 100% | 100% |
bridge/src/relayed-usage.ts |
100% | 100% | 100% | 95% |
bridge/src/remote-sessions.ts |
100% | 100% | 100% | 100% |
bridge/src/session-id-resolve.ts |
100% | 100% | 100% | 93% |
bridge/src/tui/gauge.ts |
100% | 96% | 100% | 92% |
bridge/src/usage-event.ts |
100% | 100% | 100% | 91% |
bridge/src/utils/redact-secrets.ts |
100% | 100% | 100% | 50% |
bridge/src/weather-config.ts |
100% | 95% | 100% | 86% |
hooks/src/codex-mini-toml.ts |
100% | 96% | 100% | 94% |
hooks/src/hermes-install.ts |
100% | 100% | 100% | 86% |
plugin/src/connection-status-pi.ts |
100% | 100% | 100% | 95% |
plugin/src/device-profile.ts |
100% | 100% | 100% | 100% |
plugin/src/launch-targets.ts |
100% | 100% | 100% | 93% |
plugin/src/renderers/launcher-renderer.ts |
100% | 100% | 100% | 50% |
plugin/src/renderers/usage-dial-renderer.ts |
100% | 90% | 100% | 47% |
plugin/src/renderers/utility-renderer.ts |
100% | 100% | 100% | 75% |
plugin/src/utility-modes/usage-dial-view.ts |
100% | 92% | 100% | 77% |
shared/src/action-fold.ts |
100% | 100% | 100% | 95% |
shared/src/adapter.ts |
100% | 100% | 100% | 100% |
shared/src/collaboration-presentation.ts |
100% | 100% | 100% | 100% |
shared/src/connection-status.ts |
100% | 100% | 100% | 100% |
shared/src/daemon-parity.ts |
100% | 100% | 100% | 90% |
shared/src/design-tokens.ts |
100% | 100% | 100% | 100% |
shared/src/gateway-live-activity.ts |
100% | 99% | 100% | 87% |
shared/src/gateway-protocol.ts |
100% | 100% | 100% | 100% |
shared/src/idotmatrix-identity.ts |
100% | 100% | 100% | 94% |
shared/src/llm-settings.ts |
100% | 100% | 100% | 98% |
shared/src/mdns-identity.ts |
100% | 100% | 100% | 100% |
shared/src/model-provider.ts |
100% | 100% | 100% | 93% |
shared/src/openclaw-approval.ts |
100% | 99% | 100% | 96% |
shared/src/paper-palette.ts |
100% | 100% | 100% | 100% |
shared/src/protocol.ts |
100% | 100% | 100% | 100% |
shared/src/session-state-presentation.ts |
100% | 100% | 100% | 91% |
shared/src/state-colors.ts |
100% | 100% | 100% | 75% |
shared/src/states.ts |
100% | 100% | 100% | 100% |
shared/src/svg-renderers/hermes-brand.ts |
100% | 100% | 100% | 100% |
shared/src/svg-renderers/hermes-mermaid-2d.generated.ts |
100% | 100% | 100% | 100% |
shared/src/svg-renderers/text-utils.ts |
100% | 91% | 100% | 69% |
shared/src/svg-renderers/usage-reserve-marks.ts |
100% | 100% | 100% | 100% |
shared/src/task-title.ts |
100% | 95% | 100% | 92% |
shared/src/terrarium-rules.ts |
100% | 100% | 100% | 100% |
shared/src/timeline-markdown.ts |
100% | 99% | 100% | 92% |
shared/src/timeline-task-display.ts |
100% | 100% | 100% | 96% |
shared/src/usage-presentation.ts |
100% | 100% | 100% | 98% |
shared/src/voice-ptt.ts |
100% | 100% | 100% | 100% |
shared/src/voice-reply-digest.ts |
100% | 97% | 100% | 90% |
shared/src/zai-pair-view.ts |
100% | 100% | 100% | 100% |
shared/src/zai-quota.ts |
100% | 97% | 100% | 96% |
Trend
Totals from the last runs of this page on master.
Tests
5,591
last 50 runs on master
Pass rate
99.8%
last 50 runs on master
Line coverage
60.4%
last 50 runs on master