Coverage report:
90%
hide covered
Files
Functions
Classes
coverage.py v7.13.2
, created at 2026-02-18 11:12 -0600
File
class
statements
missing
excluded
coverage
src / harnessutils / __init__.py
(no class)
10
0
0
100%
src / harnessutils / compaction / __init__.py
(no class)
2
0
0
100%
src / harnessutils / compaction / pruning.py
PruningDecision
4
0
0
100%
src / harnessutils / compaction / pruning.py
PruningResult
16
4
0
75%
src / harnessutils / compaction / pruning.py
OutputImportance
1
0
0
100%
src / harnessutils / compaction / pruning.py
(no class)
268
30
0
89%
src / harnessutils / compaction / summarization.py
SummarizationResult
0
0
0
100%
src / harnessutils / compaction / summarization.py
(no class)
106
3
0
97%
src / harnessutils / compaction / truncation.py
TruncationResult
0
0
0
100%
src / harnessutils / compaction / truncation.py
(no class)
225
40
0
82%
src / harnessutils / config.py
TruncationConfig
13
4
0
69%
src / harnessutils / config.py
PruningConfig
13
2
0
85%
src / harnessutils / config.py
TokenConfig
0
0
0
100%
src / harnessutils / config.py
ModelLimitsConfig
7
2
0
71%
src / harnessutils / config.py
StorageConfig
0
0
0
100%
src / harnessutils / config.py
SummarizationConfig
5
1
0
80%
src / harnessutils / config.py
CompactionConfig
5
1
0
80%
src / harnessutils / config.py
HarnessConfig
40
17
0
58%
src / harnessutils / config.py
(no class)
81
0
0
100%
src / harnessutils / conversion / __init__.py
(no class)
2
0
0
100%
src / harnessutils / conversion / to_model.py
(no class)
58
0
0
100%
src / harnessutils / exceptions.py
HarnessError
6
1
0
83%
src / harnessutils / exceptions.py
ConfigurationError
0
0
0
100%
src / harnessutils / exceptions.py
PruningError
0
0
0
100%
src / harnessutils / exceptions.py
SummarizationError
0
0
0
100%
src / harnessutils / exceptions.py
TruncationError
0
0
0
100%
src / harnessutils / exceptions.py
SnapshotError
0
0
0
100%
src / harnessutils / exceptions.py
StorageError
0
0
0
100%
src / harnessutils / exceptions.py
(no class)
9
0
0
100%
src / harnessutils / inspection.py
ContextSummary
0
0
0
100%
src / harnessutils / inspection.py
ImpactPrediction
0
0
0
100%
src / harnessutils / inspection.py
ContextInspector
111
22
0
80%
src / harnessutils / inspection.py
(no class)
33
0
0
100%
src / harnessutils / maintenance.py
CleanupResult
1
0
0
100%
src / harnessutils / maintenance.py
ContextIssue
1
0
0
100%
src / harnessutils / maintenance.py
(no class)
194
18
0
91%
src / harnessutils / manager.py
ConversationManager
215
11
1
95%
src / harnessutils / manager.py
(no class)
47
0
0
100%
src / harnessutils / models / __init__.py
(no class)
5
0
0
100%
src / harnessutils / models / conversation.py
Conversation
22
0
0
100%
src / harnessutils / models / conversation.py
(no class)
19
0
2
100%
src / harnessutils / models / message.py
Message
12
0
0
100%
src / harnessutils / models / message.py
(no class)
22
0
0
100%
src / harnessutils / models / parts.py
TimeInfo
0
0
0
100%
src / harnessutils / models / parts.py
ToolState
0
0
0
100%
src / harnessutils / models / parts.py
Part
0
0
0
100%
src / harnessutils / models / parts.py
TextPart
1
0
0
100%
src / harnessutils / models / parts.py
ReasoningPart
1
0
0
100%
src / harnessutils / models / parts.py
ToolPart
1
0
0
100%
src / harnessutils / models / parts.py
StepStartPart
1
0
0
100%
src / harnessutils / models / parts.py
StepFinishPart
1
0
0
100%
src / harnessutils / models / parts.py
CompactionPart
1
0
0
100%
src / harnessutils / models / parts.py
PatchPart
1
0
0
100%
src / harnessutils / models / parts.py
SubtaskPart
1
0
0
100%
src / harnessutils / models / parts.py
(no class)
64
0
0
100%
src / harnessutils / models / usage.py
CacheUsage
0
0
0
100%
src / harnessutils / models / usage.py
Usage
3
0
0
100%
src / harnessutils / models / usage.py
(no class)
17
0
0
100%
src / harnessutils / models / velocity.py
ConversationVelocity
21
0
0
100%
src / harnessutils / models / velocity.py
(no class)
15
0
0
100%
src / harnessutils / quality.py
QualitySnapshot
2
0
0
100%
src / harnessutils / quality.py
QualityHistory
12
0
0
100%
src / harnessutils / quality.py
(no class)
173
17
0
90%
src / harnessutils / query.py
MessageFilter
50
16
0
68%
src / harnessutils / query.py
QueryOptions
0
0
0
100%
src / harnessutils / query.py
ContextSummary
1
0
0
100%
src / harnessutils / query.py
(no class)
74
0
0
100%
src / harnessutils / snapshots.py
Snapshot
2
0
0
100%
src / harnessutils / snapshots.py
SnapshotDiff
0
0
0
100%
src / harnessutils / snapshots.py
SnapshotManager
112
14
0
88%
src / harnessutils / snapshots.py
(no class)
36
0
0
100%
src / harnessutils / storage / __init__.py
(no class)
3
0
0
100%
src / harnessutils / storage / filesystem.py
FilesystemStorage
89
14
0
84%
src / harnessutils / storage / filesystem.py
(no class)
22
0
0
100%
src / harnessutils / storage / memory.py
MemoryStorage
43
13
0
70%
src / harnessutils / storage / memory.py
(no class)
18
0
0
100%
src / harnessutils / tokens / __init__.py
(no class)
2
0
0
100%
src / harnessutils / tokens / estimator.py
(no class)
2
0
0
100%
src / harnessutils / tokens / exact.py
(no class)
39
0
0
100%
src / harnessutils / turn / __init__.py
(no class)
4
0
0
100%
src / harnessutils / turn / hooks.py
TurnHooks
0
0
0
100%
src / harnessutils / turn / hooks.py
(no class)
23
0
0
100%
src / harnessutils / turn / processor.py
TurnProcessor
95
11
0
88%
src / harnessutils / turn / processor.py
(no class)
21
0
0
100%
src / harnessutils / turn / state_machine.py
ToolStateMachine
13
2
0
85%
src / harnessutils / turn / state_machine.py
(no class)
23
2
0
91%
src / harnessutils / types.py
LLMClient
0
0
1
100%
src / harnessutils / types.py
StorageBackend
0
0
14
100%
src / harnessutils / types.py
(no class)
20
0
15
100%
src / harnessutils / utils / __init__.py
(no class)
2
0
0
100%
src / harnessutils / utils / ids.py
(no class)
6
0
0
100%
Total
2568
245
33
90%
No items found using the specified filter.