Skip to content

Code Metrics

Generated: 2026-07-21 22:30 UTC


Lines of Code

Files Code Comment Blank Total
Source 36 2 874 987 245 4 106
Tests 31 3 495 454 417 4 366
Combined 67 6 369 1 441 662 8 472
  • Comment/code ratio: 34%
  • Test/source ratio: 121.6%
Source by module (click to expand)
Module Files Code Comment Blank
terok_clearance/ 36 2 874 987 245
terok_clearance/cli/ 8 192 92 50
terok_clearance/cli/verbs/ 5 57 48 22
terok_clearance/cli/verbs/clearance.py 9 12 7
terok_clearance/cli/verbs/notify.py 30 14 1
terok_clearance/cli/verbs/serve.py 9 11 7
terok_clearance/cli/verbs/serve_verdict.py 9 11 7
terok_clearance/cli/main.py 23 19 1
terok_clearance/cli/terminal_clearance.py 112 25 27
terok_clearance/client/ 3 848 194 31
terok_clearance/client/client.py 172 57 9
terok_clearance/client/subscriber.py 676 137 22
terok_clearance/domain/ 2 48 44 11
terok_clearance/domain/events.py 48 44 11
terok_clearance/hub/ 3 442 159 20
terok_clearance/hub/ingester.py 132 39 6
terok_clearance/hub/server.py 310 120 14
terok_clearance/notifications/ 5 618 220 53
terok_clearance/notifications/callback.py 150 28 6
terok_clearance/notifications/desktop.py 394 124 29
terok_clearance/notifications/factory.py 21 36 13
terok_clearance/notifications/protocol.py 53 32 5
terok_clearance/resources/ 1 82 1 1
terok_clearance/runtime/ 2 17 20 7
terok_clearance/runtime/service.py 17 20 7
terok_clearance/verdict/ 5 295 93 33
terok_clearance/verdict/client.py 102 7 2
terok_clearance/verdict/interface.py 31 31 11
terok_clearance/verdict/server.py 157 44 14
terok_clearance/verdict/socket.py 5 11 6
terok_clearance/wire/ 5 196 136 34
terok_clearance/wire/errors.py 59 9 7
terok_clearance/wire/interface.py 43 35 5
terok_clearance/wire/sanitize.py 26 69 8
terok_clearance/wire/socket.py 68 23 14
terok_clearance/__init__.py 113 14 2
terok_clearance/commands.py 23 14 3

Architecture

Module Dependency Graph

graph TD
    terok_clearance.wire.errors --> terok_clearance.wire.interface
    terok_clearance.notifications.factory --> terok_clearance.notifications.desktop
    terok_clearance.hub.server --> terok_clearance.hub.ingester
    terok_clearance.hub.server --> terok_clearance.runtime.service
    terok_clearance.hub.server --> terok_clearance.verdict.client
    terok_clearance.verdict.socket --> terok_clearance.wire.socket
    terok_clearance.verdict.server --> terok_clearance.runtime.service
    terok_clearance.client.subscriber --> terok_clearance.client.client
    terok_clearance.cli.main --> terok_clearance.commands
    terok_clearance.cli.verbs.clearance --> terok_clearance.cli.terminal_clearance
    terok_clearance
    terok_clearance.domain.events
    terok_clearance.wire.socket
    terok_clearance.wire.interface
    terok_clearance.wire.sanitize
    terok_clearance.notifications.protocol
    terok_clearance.notifications.callback
    terok_clearance.notifications.desktop
    terok_clearance.hub.ingester
    terok_clearance.verdict.interface
    terok_clearance.verdict.client
    terok_clearance.client.client
    terok_clearance.runtime.service
    terok_clearance.commands
    terok_clearance.cli.terminal_clearance
    terok_clearance.cli.verbs.notify
    terok_clearance.cli.verbs.serve
    terok_clearance.cli.verbs.serve_verdict

Module Boundaries

26 modules, 10 dependency edges — all boundaries validated.

Module Summary

26 modules (click to expand)
Module Deps Description
terok_clearance 0
terok_clearance.domain.events 0
terok_clearance.wire.socket 0
terok_clearance.wire.interface 0
terok_clearance.wire.errors 1
terok_clearance.wire.sanitize 0 without having to climb back up to renderer-specific helpers.
terok_clearance.notifications.protocol 0 notification tree; the three concrete backends are infrastructure.
terok_clearance.notifications.callback 0
terok_clearance.notifications.desktop 0
terok_clearance.notifications.factory 1
terok_clearance.hub.ingester 0 Hub — varlink server + reader ingestion + shield exec.
terok_clearance.hub.server 3
terok_clearance.verdict.interface 0 the hub handles all authz before forwarding a triple here.
terok_clearance.verdict.socket 1
terok_clearance.verdict.client 0
terok_clearance.verdict.server 1
terok_clearance.client.client 0 Client — varlink consumer library.
terok_clearance.client.subscriber 1
terok_clearance.runtime.service 0 Runtime — deployment helpers.
terok_clearance.cli.main 1
terok_clearance.commands 0 through importlib at wire time. No intra-package static edge.
terok_clearance.cli.terminal_clearance 0
terok_clearance.cli.verbs.notify 0
terok_clearance.cli.verbs.serve 0
terok_clearance.cli.verbs.serve_verdict 0
terok_clearance.cli.verbs.clearance 1

Test Coverage

Overall line coverage: 89.5% (1165/1302 statements).

Each rectangle is a source file. Area is proportional to the number of statements; colour encodes the coverage percentage (green = fully covered, red = uncovered). Files are grouped by the first 3 directory levels.

Cognitive Complexity

Threshold: 15 (functions above this are listed below)

  • Functions analyzed: 135
  • Median complexity: 1 · Average: 2.1 · Max: 29
  • Within threshold (15): 99% (133/135)
    0–  3 │ ██████████████████████████████ 113 (83.7%)
    4–  6 │ ████                            15 (11.1%)
    7–  9 │ █                                3 ( 2.2%)
   10– 12 │ █                                2 ( 1.5%)
   13– 15 │                                  0 ( 0.0%) ◄ threshold
   16– 18 │                                  0 ( 0.0%)
   19– 21 │                                  1 ( 0.7%)
   22– 25 │                                  0 ( 0.0%)
   26+    │                                  1 ( 0.7%)

2 functions exceeding threshold:

Complexity Function File
29 ClearanceClient::_run_stream src/terok_clearance/client/client.py
21 EventSubscriber::_on_event src/terok_clearance/client/subscriber.py

Dead Code Analysis

No dead code found at 80% confidence threshold.

Docstring Coverage

  • Needed: 10; Found: 9; Missing: 1; Coverage: 90.0%
  • Needed: 16; Found: 15; Missing: 1; Coverage: 93.8%
  • Needed: 11; Found: 10; Missing: 1; Coverage: 90.9%
  • Needed: 193 - Found: 190 - Missing: 3
  • Total coverage: 98.4% - Grade: Excellent

Generated by scc, complexipy, vulture, tach, and docstr-coverage.