Coverage report: 46%

Files Functions Classes

coverage.py v7.13.0, created at 2026-01-04 04:43 +0000

File class   statements missing excluded   coverage
src / __init__.py (no class)   8 2 2   75%
src / cli / __init__.py (no class)   0 0 0   100%
src / cli / cli.py ValidatedRunArgs   0 0 0   100%
src / cli / cli.py ConfigOverrideResult   1 1 0   0%
src / cli / cli.py (no class)   346 290 2   16%
src / cli / main.py (no class)   5 5 0   0%
src / core / __init__.py (no class)   0 0 0   100%
src / core / log_events.py TextBlock   0 0 0   100%
src / core / log_events.py ToolUseBlock   0 0 0   100%
src / core / log_events.py ToolResultBlock   0 0 0   100%
src / core / log_events.py AssistantMessage   0 0 0   100%
src / core / log_events.py UserMessage   0 0 0   100%
src / core / log_events.py AssistantLogEntry   0 0 0   100%
src / core / log_events.py UserLogEntry   0 0 0   100%
src / core / log_events.py LogParseError   4 4 0   0%
src / core / log_events.py (no class)   152 115 1   24%
src / core / models.py LockEventType   0 0 0   100%
src / core / models.py LockEvent   0 0 0   100%
src / core / models.py ResolutionOutcome   0 0 0   100%
src / core / models.py IssueResolution   0 0 0   100%
src / core / models.py ValidationArtifacts   0 0 0   100%
src / core / models.py UnmetCriterion   0 0 0   100%
src / core / models.py EpicVerdict   0 0 0   100%
src / core / models.py EpicVerificationResult   0 0 0   100%
src / core / models.py RetryConfig   0 0 0   100%
src / core / models.py (no class)   56 0 2   100%
src / core / protocols.py JsonlEntryProtocol   0 0 0   100%
src / core / protocols.py ValidationSpecProtocol   0 0 0   100%
src / core / protocols.py ValidationEvidenceProtocol   0 0 2   100%
src / core / protocols.py CommitResultProtocol   0 0 0   100%
src / core / protocols.py IssueResolutionProtocol   0 0 0   100%
src / core / protocols.py GateResultProtocol   0 0 0   100%
src / core / protocols.py ReviewIssueProtocol   0 0 0   100%
src / core / protocols.py ReviewResultProtocol   0 0 0   100%
src / core / protocols.py UnmetCriterionProtocol   0 0 0   100%
src / core / protocols.py EpicVerdictProtocol   0 0 0   100%
src / core / protocols.py DeadlockInfoProtocol   0 0 0   100%
src / core / protocols.py LockEventProtocol   0 0 0   100%
src / core / protocols.py DeadlockMonitorProtocol   0 0 1   100%
src / core / protocols.py LogProvider   0 0 6   100%
src / core / protocols.py IssueProvider   0 0 15   100%
src / core / protocols.py CodeReviewer   0 0 1   100%
src / core / protocols.py GateChecker   0 0 5   100%
src / core / protocols.py EpicVerificationModel   0 0 1   100%
src / core / protocols.py SDKClientProtocol   0 0 5   100%
src / core / protocols.py SDKClientFactoryProtocol   0 0 3   100%
src / core / protocols.py CommandResultProtocol   0 0 2   100%
src / core / protocols.py CommandRunnerPort   0 0 2   100%
src / core / protocols.py EnvConfigPort   0 0 4   100%
src / core / protocols.py LockManagerPort   0 0 4   100%
src / core / protocols.py LoggerPort   0 0 1   100%
src / core / protocols.py EventRunConfig   0 0 0   100%
src / core / protocols.py MalaEventSink   0 0 51   100%
src / core / protocols.py (no class)   282 0 133   100%
src / core / tool_name_extractor.py (no class)   134 7 0   95%
src / domain / __init__.py (no class)   0 0 0   100%
src / domain / deadlock.py DeadlockInfo   0 0 0   100%
src / domain / deadlock.py AgentInfo   0 0 0   100%
src / domain / deadlock.py WaitForGraph   58 6 0   90%
src / domain / deadlock.py DeadlockMonitor   47 3 0   94%
src / domain / deadlock.py (no class)   40 0 3   100%
src / domain / lifecycle.py GateOutcome   0 0 5   100%
src / domain / lifecycle.py ReviewIssue   0 0 7   100%
src / domain / lifecycle.py ReviewOutcome   0 0 4   100%
src / domain / lifecycle.py LifecycleState   0 0 0   100%
src / domain / lifecycle.py Effect   0 0 0   100%
src / domain / lifecycle.py LifecycleConfig   0 0 0   100%
src / domain / lifecycle.py RetryState   0 0 0   100%
src / domain / lifecycle.py ContextUsage   5 1 0   80%
src / domain / lifecycle.py LifecycleContext   0 0 0   100%
src / domain / lifecycle.py TransitionResult   0 0 0   100%
src / domain / lifecycle.py ImplementerLifecycle   118 47 0   60%
src / domain / lifecycle.py (no class)   114 0 21   100%
src / domain / prompts.py PromptProvider   0 0 0   100%
src / domain / prompts.py (no class)   66 24 2   64%
src / domain / quality_gate.py ValidationEvidence   21 21 0   0%
src / domain / quality_gate.py CommitResult   0 0 0   100%
src / domain / quality_gate.py GateResult   0 0 0   100%
src / domain / quality_gate.py QualityGate   147 147 0   0%
src / domain / quality_gate.py (no class)   78 12 5   85%
src / domain / validation / __init__.py (no class)   9 0 0   100%
src / domain / validation / code_pattern_matcher.py (no class)   52 44 0   15%
src / domain / validation / config.py ConfigError   0 0 0   100%
src / domain / validation / config.py PresetNotFoundError   7 1 0   86%
src / domain / validation / config.py CommandConfig   16 13 0   19%
src / domain / validation / config.py YamlCoverageConfig   32 32 0   0%
src / domain / validation / config.py CommandsConfig   17 2 0   88%
src / domain / validation / config.py ValidationConfig   51 15 0   71%
src / domain / validation / config.py PromptValidationCommands   2 2 0   0%
src / domain / validation / config.py (no class)   57 0 0   100%
src / domain / validation / config_loader.py ConfigMissingError   3 3 0   0%
src / domain / validation / config_loader.py (no class)   40 26 2   35%
src / domain / validation / config_merger.py (no class)   36 28 2   22%
src / domain / validation / coverage.py CoverageStatus   0 0 0   100%
src / domain / validation / coverage.py CoverageResult   7 7 0   0%
src / domain / validation / coverage.py WorktreeRefreshContext   0 0 0   100%
src / domain / validation / coverage.py BaselineRefreshResult   2 2 0   0%
src / domain / validation / coverage.py BaselineCoverageService   101 101 0   0%
src / domain / validation / coverage.py (no class)   149 92 4   38%
src / domain / validation / coverage_args.py (no class)   65 57 0   12%
src / domain / validation / e2e.py E2EStatus   0 0 0   100%
src / domain / validation / e2e.py E2EPrereqResult   5 5 0   0%
src / domain / validation / e2e.py E2EResult   5 5 0   0%
src / domain / validation / e2e.py E2EConfig   0 0 0   100%
src / domain / validation / e2e.py E2ERunner   60 46 0   23%
src / domain / validation / e2e.py (no class)   49 3 3   94%
src / domain / validation / helpers.py (no class)   77 63 2   18%
src / domain / validation / lint_cache.py LintCacheKey   2 2 0   0%
src / domain / validation / lint_cache.py LintCacheEntry   2 2 0   0%
src / domain / validation / lint_cache.py LintCache   87 87 0   0%
src / domain / validation / lint_cache.py (no class)   38 4 3   89%
src / domain / validation / preset_registry.py PresetRegistry   14 0 0   100%
src / domain / validation / preset_registry.py (no class)   12 0 2   100%
src / domain / validation / presets / __init__.py (no class)   0 0 0   100%
src / domain / validation / result.py ValidationStepResult   0 0 0   100%
src / domain / validation / result.py ValidationResult   5 5 0   0%
src / domain / validation / result.py (no class)   22 0 4   100%
src / domain / validation / runner.py (no class)   4 0 0   100%
src / domain / validation / spec.py ValidationScope   0 0 0   100%
src / domain / validation / spec.py CommandKind   0 0 0   100%
src / domain / validation / spec.py ValidationCommand   0 0 0   100%
src / domain / validation / spec.py CoverageConfig   0 0 0   100%
src / domain / validation / spec.py E2EConfig   0 0 0   100%
src / domain / validation / spec.py ValidationContext   0 0 0   100%
src / domain / validation / spec.py ValidationSpec   9 9 0   0%
src / domain / validation / spec.py (no class)   154 80 3   48%
src / domain / validation / spec_executor.py ExecutorConfig   0 0 0   100%
src / domain / validation / spec_executor.py ExecutorInput   0 0 0   100%
src / domain / validation / spec_executor.py ExecutorOutput   0 0 0   100%
src / domain / validation / spec_executor.py SpecCommandExecutor   74 74 0   0%
src / domain / validation / spec_executor.py (no class)   43 0 5   100%
src / domain / validation / spec_result_builder.py ResultBuilderInput   0 0 0   100%
src / domain / validation / spec_result_builder.py SpecResultBuilder   60 60 0   0%
src / domain / validation / spec_result_builder.py (no class)   29 0 7   100%
src / domain / validation / spec_runner.py CommandFailure   3 3 0   0%
src / domain / validation / spec_runner.py SpecValidationRunner   66 66 0   0%
src / domain / validation / spec_runner.py (no class)   25 0 5   100%
src / domain / validation / spec_workspace.py SetupError   3 3 0   0%
src / domain / validation / spec_workspace.py SpecRunWorkspace   0 0 0   100%
src / domain / validation / spec_workspace.py (no class)   60 36 5   40%
src / domain / validation / validation_gating.py ValidationSpecLike   0 0 0   100%
src / domain / validation / validation_gating.py (no class)   53 37 0   30%
src / domain / validation / worktree.py WorktreeState   0 0 0   100%
src / domain / validation / worktree.py WorktreeConfig   0 0 0   100%
src / domain / validation / worktree.py WorktreeResult   0 0 0   100%
src / domain / validation / worktree.py WorktreeContext   19 19 0   0%
src / domain / validation / worktree.py (no class)   149 100 3   33%
src / infra / __init__.py (no class)   0 0 0   100%
src / infra / agent_runtime.py AgentRuntime   0 0 0   100%
src / infra / agent_runtime.py AgentRuntimeBuilder   59 0 0   100%
src / infra / agent_runtime.py (no class)   24 0 4   100%
src / infra / clients / __init__.py (no class)   6 0 0   100%
src / infra / clients / anthropic_client.py (no class)   21 18 0   14%
src / infra / clients / beads_client.py BeadsClient   275 275 0   0%
src / infra / clients / beads_client.py (no class)   49 0 3   100%
src / infra / clients / braintrust_integration.py TracedAgentExecution   58 58 0   0%
src / infra / clients / braintrust_integration.py BraintrustSpan   8 8 0   0%
src / infra / clients / braintrust_integration.py BraintrustProvider   5 5 0   0%
src / infra / clients / braintrust_integration.py (no class)   47 8 5   83%
src / infra / clients / cerberus_gate_cli.py SpawnResult   0 0 0   100%
src / infra / clients / cerberus_gate_cli.py WaitResult   0 0 0   100%
src / infra / clients / cerberus_gate_cli.py ResolveResult   0 0 0   100%
src / infra / clients / cerberus_gate_cli.py CerberusGateCLI   91 91 0   0%
src / infra / clients / cerberus_gate_cli.py (no class)   38 0 3   100%
src / infra / clients / cerberus_review.py DefaultReviewer   42 42 0   0%
src / infra / clients / cerberus_review.py (no class)   52 9 3   83%
src / infra / clients / review_output_parser.py ReviewIssue   0 0 0   100%
src / infra / clients / review_output_parser.py ReviewResult   0 0 0   100%
src / infra / clients / review_output_parser.py ReviewOutputParser   78 78 0   0%
src / infra / clients / review_output_parser.py (no class)   30 2 2   93%
src / infra / epic_scope.py ScopedCommits   0 0 0   100%
src / infra / epic_scope.py EpicScopeAnalyzer   57 57 0   0%
src / infra / epic_scope.py (no class)   11 0 0   100%
src / infra / epic_verifier.py EpicVerificationContext   0 0 0   100%
src / infra / epic_verifier.py ClaudeEpicVerificationModel   44 44 0   0%
src / infra / epic_verifier.py EpicVerifier   182 182 0   0%
src / infra / epic_verifier.py (no class)   83 35 5   58%
src / infra / git_utils.py (no class)   40 30 0   25%
src / infra / hooks / __init__.py (no class)   7 0 0   100%
src / infra / hooks / dangerous_commands.py (no class)   36 24 0   33%
src / infra / hooks / deadlock.py (no class)   143 23 3   84%
src / infra / hooks / file_cache.py CachedFileInfo   0 0 0   100%
src / infra / hooks / file_cache.py FileReadCache   41 39 0   5%
src / infra / hooks / file_cache.py (no class)   42 17 2   60%
src / infra / hooks / lint_cache.py LintCacheEntry   0 0 0   100%
src / infra / hooks / lint_cache.py LintCache   32 25 0   22%
src / infra / hooks / lint_cache.py (no class)   72 31 3   57%
src / infra / hooks / locking.py (no class)   36 17 2   53%
src / infra / io / __init__.py (no class)   6 0 0   100%
src / infra / io / base_sink.py BaseEventSink   51 50 0   2%
src / infra / io / base_sink.py NullEventSink   0 0 0   100%
src / infra / io / base_sink.py (no class)   58 0 0   100%
src / infra / io / config.py ConfigurationError   3 3 0   0%
src / infra / io / config.py MalaConfig   67 38 0   43%
src / infra / io / config.py CLIOverrides   0 0 0   100%
src / infra / io / config.py ResolvedConfig   0 0 0   100%
src / infra / io / config.py (no class)   155 74 0   52%
src / infra / io / console_sink.py ConsoleEventSink   108 108 0   0%
src / infra / io / console_sink.py (no class)   62 0 0   100%
src / infra / io / event_sink.py (no class)   0 0 0   100%
src / infra / io / log_output / __init__.py (no class)   0 0 0   100%
src / infra / io / log_output / console.py Colors   0 0 0   100%
src / infra / io / log_output / console.py ConsoleLoggerAdapter   7 7 0   0%
src / infra / io / log_output / console.py (no class)   140 104 0   26%
src / infra / io / log_output / run_metadata.py QualityGateResult   0 0 0   100%
src / infra / io / log_output / run_metadata.py ValidationResult   0 0 0   100%
src / infra / io / log_output / run_metadata.py IssueRun   0 0 0   100%
src / infra / io / log_output / run_metadata.py RunConfig   0 0 0   100%
src / infra / io / log_output / run_metadata.py RunMetadata   69 69 0   0%
src / infra / io / log_output / run_metadata.py RunningInstance   0 0 0   100%
src / infra / io / log_output / run_metadata.py (no class)   144 75 0   48%
src / infra / io / session_log_parser.py JsonlEntry   0 0 0   100%
src / infra / io / session_log_parser.py SessionLogParser   89 89 0   0%
src / infra / io / session_log_parser.py FileSystemLogProvider   8 8 0   0%
src / infra / io / session_log_parser.py (no class)   29 0 6   100%
src / infra / issue_manager.py IssueManager   43 43 0   0%
src / infra / issue_manager.py (no class)   20 0 0   100%
src / infra / mcp.py (no class)   7 0 2   100%
src / infra / sdk_adapter.py SDKClientFactory   6 6 0   0%
src / infra / sdk_adapter.py (no class)   6 0 3   100%
src / infra / telemetry.py TelemetrySpan   0 0 6   100%
src / infra / telemetry.py TelemetryProvider   0 0 3   100%
src / infra / telemetry.py NullSpan   6 6 0   0%
src / infra / telemetry.py NullTelemetryProvider   3 3 0   0%
src / infra / telemetry.py (no class)   24 0 13   100%
src / infra / tools / __init__.py (no class)   4 0 0   100%
src / infra / tools / command_runner.py CommandResult   3 0 0   100%
src / infra / tools / command_runner.py CommandRunner   102 20 0   80%
src / infra / tools / command_runner.py (no class)   48 1 3   98%
src / infra / tools / env.py EnvConfig   5 5 0   0%
src / infra / tools / env.py (no class)   42 15 0   64%
src / infra / tools / locking.py LockManager   4 4 0   0%
src / infra / tools / locking.py CliContext   0 0 0   100%
src / infra / tools / locking.py (no class)   271 98 0   64%
src / orchestration / __init__.py (no class)   1 0 0   100%
src / orchestration / cli_support.py (no class)   7 0 0   100%
src / orchestration / factory.py (no class)   106 106 7   0%
src / orchestration / orchestration_wiring.py WiringDependencies   0 0 0   100%
src / orchestration / orchestration_wiring.py FinalizerCallbackRefs   0 0 0   100%
src / orchestration / orchestration_wiring.py EpicCallbackRefs   0 0 0   100%
src / orchestration / orchestration_wiring.py (no class)   85 15 11   82%
src / orchestration / orchestrator.py MalaOrchestrator   265 260 0   2%
src / orchestration / orchestrator.py (no class)   67 0 14   100%
src / orchestration / review_tracking.py (no class)   100 91 2   9%
src / orchestration / run_config.py (no class)   9 3 2   67%
src / orchestration / types.py OrchestratorConfig   0 0 0   100%
src / orchestration / types.py OrchestratorDependencies   0 0 0   100%
src / orchestration / types.py _DerivedConfig   0 0 0   100%
src / orchestration / types.py (no class)   40 40 3   0%
src / pipeline / __init__.py (no class)   8 0 0   100%
src / pipeline / agent_session_runner.py SessionConfig   0 0 0   100%
src / pipeline / agent_session_runner.py SessionExecutionState   0 0 0   100%
src / pipeline / agent_session_runner.py SessionPrompts   0 0 0   100%
src / pipeline / agent_session_runner.py AgentSessionConfig   0 0 0   100%
src / pipeline / agent_session_runner.py AgentSessionInput   0 0 0   100%
src / pipeline / agent_session_runner.py AgentSessionOutput   0 0 0   100%
src / pipeline / agent_session_runner.py SessionCallbacks   0 0 0   100%
src / pipeline / agent_session_runner.py ReviewEffectResult   0 0 0   100%
src / pipeline / agent_session_runner.py AgentSessionRunner   278 58 0   79%
src / pipeline / agent_session_runner.py (no class)   155 0 10   100%
src / pipeline / context_pressure_handler.py ContextPressureConfig   0 0 0   100%
src / pipeline / context_pressure_handler.py CheckpointResult   0 0 0   100%
src / pipeline / context_pressure_handler.py ContextPressureHandler   40 0 0   100%
src / pipeline / context_pressure_handler.py (no class)   24 0 2   100%
src / pipeline / epic_verification_coordinator.py EpicVerificationConfig   0 0 0   100%
src / pipeline / epic_verification_coordinator.py EpicVerificationCallbacks   0 0 0   100%
src / pipeline / epic_verification_coordinator.py EpicVerificationCoordinator   59 59 0   0%
src / pipeline / epic_verification_coordinator.py (no class)   31 0 5   100%
src / pipeline / gate_metadata.py GateMetadata   0 0 0   100%
src / pipeline / gate_metadata.py (no class)   37 27 5   27%
src / pipeline / gate_runner.py GateRunnerConfig   0 0 0   100%
src / pipeline / gate_runner.py PerIssueGateInput   0 0 0   100%
src / pipeline / gate_runner.py PerIssueGateOutput   0 0 0   100%
src / pipeline / gate_runner.py GateRunner   20 20 0   0%
src / pipeline / gate_runner.py AsyncGateRunner   11 11 0   0%
src / pipeline / gate_runner.py (no class)   42 0 5   100%
src / pipeline / issue_execution_coordinator.py SpawnCallback   0 0 1   100%
src / pipeline / issue_execution_coordinator.py FinalizeCallback   0 0 1   100%
src / pipeline / issue_execution_coordinator.py AbortCallback   0 0 1   100%
src / pipeline / issue_execution_coordinator.py CoordinatorConfig   0 0 0   100%
src / pipeline / issue_execution_coordinator.py IssueExecutionCoordinator   60 60 0   0%
src / pipeline / issue_execution_coordinator.py (no class)   28 0 8   100%
src / pipeline / issue_finalizer.py IssueFinalizeConfig   0 0 0   100%
src / pipeline / issue_finalizer.py IssueFinalizeInput   0 0 0   100%
src / pipeline / issue_finalizer.py IssueFinalizeOutput   0 0 0   100%
src / pipeline / issue_finalizer.py IssueFinalizeCallbacks   0 0 0   100%
src / pipeline / issue_finalizer.py IssueFinalizer   31 31 0   0%
src / pipeline / issue_finalizer.py (no class)   40 0 8   100%
src / pipeline / issue_result.py IssueResult   0 0 0   100%
src / pipeline / issue_result.py (no class)   17 0 4   100%
src / pipeline / message_stream_processor.py LintCacheProtocol   0 0 2   100%
src / pipeline / message_stream_processor.py IdleTimeoutError   0 0 0   100%
src / pipeline / message_stream_processor.py ContextPressureError   6 0 0   100%
src / pipeline / message_stream_processor.py IdleTimeoutStream   11 0 0   100%
src / pipeline / message_stream_processor.py MessageIterationState   0 0 0   100%
src / pipeline / message_stream_processor.py MessageIterationResult   0 0 0   100%
src / pipeline / message_stream_processor.py StreamProcessorConfig   0 0 0   100%
src / pipeline / message_stream_processor.py StreamProcessorCallbacks   0 0 0   100%
src / pipeline / message_stream_processor.py MessageStreamProcessor   65 17 0   74%
src / pipeline / message_stream_processor.py (no class)   50 0 8   100%
src / pipeline / review_runner.py ReviewRunnerConfig   0 0 0   100%
src / pipeline / review_runner.py ReviewInput   0 0 0   100%
src / pipeline / review_runner.py ReviewOutput   0 0 0   100%
src / pipeline / review_runner.py NoProgressInput   0 0 0   100%
src / pipeline / review_runner.py ReviewRunner   24 24 0   0%
src / pipeline / review_runner.py (no class)   39 0 4   100%
src / pipeline / run_coordinator.py _FixerPromptNotSet   1 1 0   0%
src / pipeline / run_coordinator.py RunCoordinatorConfig   0 0 0   100%
src / pipeline / run_coordinator.py RunLevelValidationInput   0 0 0   100%
src / pipeline / run_coordinator.py RunLevelValidationOutput   0 0 0   100%
src / pipeline / run_coordinator.py SpecResultBuilder   9 9 0   0%
src / pipeline / run_coordinator.py RunCoordinator   127 127 0   0%
src / pipeline / run_coordinator.py (no class)   48 0 7   100%
src / pipeline / session_callback_factory.py GateAsyncRunner   0 0 1   100%
src / pipeline / session_callback_factory.py SessionCallbackFactory   37 37 0   0%
src / pipeline / session_callback_factory.py GetPerIssueSpec   0 0 1   100%
src / pipeline / session_callback_factory.py IsVerboseCheck   0 0 1   100%
src / pipeline / session_callback_factory.py GateChecker   0 0 1   100%
src / pipeline / session_callback_factory.py (no class)   14 0 18   100%
Total     8748 4759 543   46%

No items found using the specified filter.