| src / __init__.py |
__getattr__ |
|
4 |
2 |
0 |
|
50% |
| src / __init__.py |
(no function) |
|
4 |
0 |
2 |
|
100% |
| src / cli / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / cli / cli.py |
_lazy |
|
1 |
1 |
0 |
|
0% |
| src / cli / cli.py |
bootstrap |
|
13 |
7 |
0 |
|
46% |
| src / cli / cli.py |
is_braintrust_enabled |
|
1 |
1 |
0 |
|
0% |
| src / cli / cli.py |
display_dry_run_tasks |
|
35 |
35 |
0 |
|
0% |
| src / cli / cli.py |
_print_task_line |
|
13 |
13 |
0 |
|
0% |
| src / cli / cli.py |
ConfigOverrideResult.is_error |
|
1 |
1 |
0 |
|
0% |
| src / cli / cli.py |
_build_cli_args_metadata |
|
1 |
1 |
0 |
|
0% |
| src / cli / cli.py |
_apply_config_overrides |
|
8 |
8 |
0 |
|
0% |
| src / cli / cli.py |
_handle_dry_run |
|
3 |
3 |
0 |
|
0% |
| src / cli / cli.py |
_handle_dry_run._dry_run |
|
3 |
3 |
0 |
|
0% |
| src / cli / cli.py |
_validate_run_args |
|
32 |
32 |
0 |
|
0% |
| src / cli / cli.py |
run |
|
22 |
22 |
0 |
|
0% |
| src / cli / cli.py |
epic_verify |
|
31 |
31 |
0 |
|
0% |
| src / cli / cli.py |
clean |
|
13 |
13 |
0 |
|
0% |
| src / cli / cli.py |
status |
|
56 |
56 |
0 |
|
0% |
| src / cli / cli.py |
_display_instance |
|
34 |
34 |
0 |
|
0% |
| src / cli / cli.py |
__getattr__ |
|
32 |
30 |
0 |
|
6% |
| src / cli / cli.py |
(no function) |
|
48 |
0 |
2 |
|
100% |
| src / cli / main.py |
(no function) |
|
5 |
5 |
0 |
|
0% |
| src / core / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / core / log_events.py |
LogParseError.__init__ |
|
4 |
4 |
0 |
|
0% |
| src / core / log_events.py |
_parse_content_block |
|
27 |
27 |
0 |
|
0% |
| src / core / log_events.py |
_parse_content_block_strict |
|
39 |
39 |
0 |
|
0% |
| src / core / log_events.py |
parse_log_entry |
|
23 |
23 |
0 |
|
0% |
| src / core / log_events.py |
parse_log_entry_strict |
|
26 |
26 |
1 |
|
0% |
| src / core / log_events.py |
(no function) |
|
37 |
0 |
0 |
|
100% |
| src / core / models.py |
(no function) |
|
56 |
0 |
2 |
|
100% |
| src / core / protocols.py |
ValidationEvidenceProtocol.has_any_evidence |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
ValidationEvidenceProtocol.to_evidence_dict |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
DeadlockMonitorProtocol.handle_event |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.get_log_path |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.iter_events |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.get_end_offset |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.extract_bash_commands |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.extract_tool_results |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LogProvider.extract_assistant_text_blocks |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.get_ready_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.claim_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.close_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.mark_needs_followup_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.add_dependency_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.get_issue_description_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.close_eligible_epics_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.commit_issues_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.reset_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.get_epic_children_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.get_parent_epic_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.create_issue_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.find_issue_by_tag_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.update_issue_description_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
IssueProvider.update_issue_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
CodeReviewer.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
GateChecker.check_with_resolution |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
GateChecker.get_log_end_offset |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
GateChecker.check_no_progress |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
GateChecker.parse_validation_evidence_with_spec |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
GateChecker.check_commit_exists |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
EpicVerificationModel.verify |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientProtocol.__aenter__ |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientProtocol.__aexit__ |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientProtocol.query |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientProtocol.receive_response |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientProtocol.disconnect |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientFactoryProtocol.create |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientFactoryProtocol.create_options |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
SDKClientFactoryProtocol.create_hook_matcher |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
CommandResultProtocol.stdout_tail |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
CommandResultProtocol.stderr_tail |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
CommandRunnerPort.run |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
CommandRunnerPort.run_async |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
EnvConfigPort.scripts_dir |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
EnvConfigPort.cache_dir |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
EnvConfigPort.lock_dir |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
EnvConfigPort.find_cerberus_bin_path |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LockManagerPort.lock_path |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LockManagerPort.try_lock |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LockManagerPort.wait_for_lock |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LockManagerPort.release_lock |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
LoggerPort.log |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_run_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_run_completed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_ready_issues |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_waiting_for_agents |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_no_more_issues |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_agent_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_agent_completed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_claim_failed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_tool_use |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_agent_text |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_gate_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_gate_passed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_gate_failed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_gate_retry |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_gate_result |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_review_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_review_passed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_review_retry |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_review_warning |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_fixer_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_fixer_completed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_fixer_failed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_issue_closed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_issue_completed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_epic_closed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_result |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_step_running |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_step_skipped |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_step_passed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_validation_step_failed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_warning |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_log_timeout |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_locks_cleaned |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_locks_released |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_issues_committed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_run_metadata_saved |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_run_level_validation_disabled |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_abort_requested |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_tasks_aborting |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_epic_verification_started |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_epic_verification_passed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_epic_verification_failed |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_epic_remediation_created |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_lifecycle_state |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_log_waiting |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_log_ready |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_review_skipped_no_progress |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_fixer_text |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_fixer_tool_use |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
MalaEventSink.on_deadlock_detected |
|
0 |
0 |
1 |
|
100% |
| src / core / protocols.py |
(no function) |
|
282 |
0 |
133 |
|
100% |
| src / core / tool_name_extractor.py |
_is_env_assignment |
|
6 |
1 |
0 |
|
83% |
| src / core / tool_name_extractor.py |
_strip_path_prefix |
|
3 |
0 |
0 |
|
100% |
| src / core / tool_name_extractor.py |
_parse_command |
|
5 |
0 |
0 |
|
100% |
| src / core / tool_name_extractor.py |
_skip_builtin_arguments |
|
6 |
0 |
0 |
|
100% |
| src / core / tool_name_extractor.py |
_skip_wrapper_flags |
|
10 |
0 |
0 |
|
100% |
| src / core / tool_name_extractor.py |
_extract_from_tokens |
|
50 |
5 |
0 |
|
90% |
| src / core / tool_name_extractor.py |
_is_meaningful_tool |
|
10 |
1 |
0 |
|
90% |
| src / core / tool_name_extractor.py |
extract_tool_name |
|
24 |
0 |
0 |
|
100% |
| src / core / tool_name_extractor.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| src / domain / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph.add_hold |
|
7 |
1 |
0 |
|
86% |
| src / domain / deadlock.py |
WaitForGraph.add_wait |
|
7 |
2 |
0 |
|
71% |
| src / domain / deadlock.py |
WaitForGraph.remove_hold |
|
6 |
1 |
0 |
|
83% |
| src / domain / deadlock.py |
WaitForGraph.remove_agent |
|
5 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph.get_holder |
|
1 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph.get_waited_lock |
|
1 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph.detect_cycle |
|
8 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
WaitForGraph._find_cycle_from |
|
21 |
2 |
0 |
|
90% |
| src / domain / deadlock.py |
DeadlockMonitor.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
DeadlockMonitor.register_agent |
|
2 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
DeadlockMonitor.unregister_agent |
|
4 |
0 |
0 |
|
100% |
| src / domain / deadlock.py |
DeadlockMonitor.handle_event |
|
18 |
1 |
0 |
|
94% |
| src / domain / deadlock.py |
DeadlockMonitor._check_for_deadlock |
|
14 |
1 |
0 |
|
93% |
| src / domain / deadlock.py |
DeadlockMonitor._select_victim |
|
6 |
1 |
0 |
|
83% |
| src / domain / deadlock.py |
(no function) |
|
40 |
0 |
3 |
|
100% |
| src / domain / lifecycle.py |
GateOutcome.passed |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
GateOutcome.failure_reasons |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
GateOutcome.commit_hash |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
GateOutcome.no_progress |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
GateOutcome.resolution |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.file |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.line_start |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.line_end |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.priority |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.title |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.body |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewIssue.reviewer |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewOutcome.passed |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewOutcome.parse_error |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewOutcome.fatal_error |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ReviewOutcome.issues |
|
0 |
0 |
1 |
|
100% |
| src / domain / lifecycle.py |
ContextUsage.tracking_disabled |
|
1 |
0 |
0 |
|
100% |
| src / domain / lifecycle.py |
ContextUsage.disable_tracking |
|
1 |
0 |
0 |
|
100% |
| src / domain / lifecycle.py |
ContextUsage.pressure_ratio |
|
3 |
1 |
0 |
|
67% |
| src / domain / lifecycle.py |
ImplementerLifecycle.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / domain / lifecycle.py |
ImplementerLifecycle.state |
|
1 |
0 |
0 |
|
100% |
| src / domain / lifecycle.py |
ImplementerLifecycle.is_terminal |
|
1 |
0 |
0 |
|
100% |
| src / domain / lifecycle.py |
ImplementerLifecycle.start |
|
5 |
1 |
0 |
|
80% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_messages_complete |
|
10 |
1 |
0 |
|
90% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_log_ready |
|
4 |
1 |
0 |
|
75% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_log_timeout |
|
6 |
6 |
0 |
|
0% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_gate_result |
|
28 |
10 |
0 |
|
64% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_review_result |
|
49 |
26 |
0 |
|
47% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_timeout |
|
6 |
1 |
0 |
|
83% |
| src / domain / lifecycle.py |
ImplementerLifecycle.on_error |
|
6 |
1 |
0 |
|
83% |
| src / domain / lifecycle.py |
(no function) |
|
114 |
0 |
21 |
|
100% |
| src / domain / prompts.py |
load_prompts |
|
1 |
0 |
0 |
|
100% |
| src / domain / prompts.py |
format_implementer_prompt |
|
1 |
1 |
0 |
|
0% |
| src / domain / prompts.py |
get_default_validation_commands |
|
2 |
0 |
0 |
|
100% |
| src / domain / prompts.py |
_default_prompt_dir |
|
1 |
1 |
0 |
|
0% |
| src / domain / prompts.py |
load_prompt |
|
3 |
3 |
0 |
|
0% |
| src / domain / prompts.py |
extract_checkpoint |
|
21 |
5 |
0 |
|
76% |
| src / domain / prompts.py |
build_continuation_prompt |
|
1 |
0 |
0 |
|
100% |
| src / domain / prompts.py |
build_prompt_validation_commands |
|
14 |
14 |
0 |
|
0% |
| src / domain / prompts.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| src / domain / quality_gate.py |
ValidationEvidence.pytest_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.pytest_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ruff_check_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ruff_check_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ruff_format_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ruff_format_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ty_check_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.ty_check_ran |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.has_any_evidence |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.has_minimum_validation |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.missing_commands |
|
10 |
10 |
0 |
|
0% |
| src / domain / quality_gate.py |
ValidationEvidence.to_evidence_dict |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
get_required_evidence_kinds |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
check_evidence_against_spec |
|
11 |
11 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.__init__ |
|
3 |
3 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate._match_resolution_pattern |
|
5 |
5 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate._match_spec_pattern_with_kinds |
|
8 |
8 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate._build_spec_patterns |
|
7 |
7 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate._iter_jsonl_entries |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.parse_issue_resolution |
|
2 |
2 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.parse_issue_resolution_from_offset |
|
11 |
11 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.check_working_tree_clean |
|
6 |
6 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.parse_validation_evidence_with_spec |
|
18 |
18 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.get_log_end_offset |
|
1 |
1 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.check_no_progress |
|
15 |
15 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate._has_working_tree_changes |
|
4 |
4 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.extract_issue_from_rationale |
|
4 |
4 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.check_commit_exists |
|
25 |
25 |
0 |
|
0% |
| src / domain / quality_gate.py |
QualityGate.check_with_resolution |
|
37 |
37 |
0 |
|
0% |
| src / domain / quality_gate.py |
(no function) |
|
66 |
0 |
5 |
|
100% |
| src / domain / validation / __init__.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| src / domain / validation / code_pattern_matcher.py |
glob_to_regex |
|
34 |
34 |
0 |
|
0% |
| src / domain / validation / code_pattern_matcher.py |
matches_pattern |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / code_pattern_matcher.py |
filter_matching_files |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / code_pattern_matcher.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| src / domain / validation / config.py |
PresetNotFoundError.__init__ |
|
7 |
1 |
0 |
|
86% |
| src / domain / validation / config.py |
CommandConfig.from_value |
|
16 |
13 |
0 |
|
19% |
| src / domain / validation / config.py |
YamlCoverageConfig.__post_init__ |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / config.py |
YamlCoverageConfig.from_dict |
|
25 |
25 |
0 |
|
0% |
| src / domain / validation / config.py |
CommandsConfig.from_dict |
|
9 |
1 |
0 |
|
89% |
| src / domain / validation / config.py |
CommandsConfig.from_dict.parse_command |
|
8 |
1 |
0 |
|
88% |
| src / domain / validation / config.py |
ValidationConfig.__post_init__ |
|
6 |
3 |
0 |
|
50% |
| src / domain / validation / config.py |
ValidationConfig.from_dict |
|
31 |
9 |
0 |
|
71% |
| src / domain / validation / config.py |
ValidationConfig.from_dict.parse_string_list |
|
13 |
2 |
0 |
|
85% |
| src / domain / validation / config.py |
ValidationConfig.has_any_command |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / config.py |
PromptValidationCommands.from_validation_config |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / config.py |
(no function) |
|
57 |
0 |
0 |
|
100% |
| src / domain / validation / config_loader.py |
ConfigMissingError.__init__ |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / config_loader.py |
load_config |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / config_loader.py |
_parse_yaml |
|
10 |
10 |
0 |
|
0% |
| src / domain / validation / config_loader.py |
_validate_schema |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / config_loader.py |
_build_config |
|
1 |
0 |
0 |
|
100% |
| src / domain / validation / config_loader.py |
_validate_config |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / config_loader.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| src / domain / validation / config_merger.py |
_is_field_explicitly_set |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / config_merger.py |
merge_configs |
|
15 |
15 |
0 |
|
0% |
| src / domain / validation / config_merger.py |
_merge_commands |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / config_merger.py |
_merge_command_field |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / config_merger.py |
_merge_coverage |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / config_merger.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| src / domain / validation / coverage.py |
_infer_coverage_base_command |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / coverage.py |
CoverageResult.short_summary |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / coverage.py |
parse_coverage_xml |
|
27 |
27 |
0 |
|
0% |
| src / domain / validation / coverage.py |
check_coverage_threshold |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / coverage.py |
parse_and_check_coverage |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / coverage.py |
check_coverage_from_config |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / coverage.py |
get_baseline_coverage |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / coverage.py |
is_baseline_stale |
|
20 |
20 |
0 |
|
0% |
| src / domain / validation / coverage.py |
baseline_worktree |
|
15 |
15 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineRefreshResult.ok |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineRefreshResult.fail |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineCoverageService.__init__ |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineCoverageService.refresh_if_stale |
|
32 |
32 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineCoverageService._run_coverage_with_fallback |
|
32 |
32 |
0 |
|
0% |
| src / domain / validation / coverage.py |
BaselineCoverageService._run_refresh |
|
31 |
31 |
0 |
|
0% |
| src / domain / validation / coverage.py |
(no function) |
|
57 |
0 |
4 |
|
100% |
| src / domain / validation / coverage_args.py |
strip_xdist_flags |
|
13 |
13 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
strip_cov_fail_under |
|
13 |
13 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
extract_marker_expr |
|
16 |
16 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
normalize_marker_expr |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
strip_cov_report_xml |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
rewrite_coverage_command |
|
10 |
10 |
0 |
|
0% |
| src / domain / validation / coverage_args.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| src / domain / validation / e2e.py |
E2EPrereqResult.failure_reason |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / e2e.py |
E2EResult.short_summary |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / e2e.py |
E2ERunner.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / domain / validation / e2e.py |
E2ERunner.check_prereqs |
|
16 |
5 |
0 |
|
69% |
| src / domain / validation / e2e.py |
E2ERunner.run |
|
24 |
24 |
0 |
|
0% |
| src / domain / validation / e2e.py |
E2ERunner._setup_fixture |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / e2e.py |
E2ERunner._run_mala |
|
15 |
15 |
0 |
|
0% |
| src / domain / validation / e2e.py |
check_e2e_prereqs |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / e2e.py |
(no function) |
|
46 |
0 |
3 |
|
100% |
| src / domain / validation / helpers.py |
tail |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / helpers.py |
decode_timeout_output |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / helpers.py |
format_step_output |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / helpers.py |
check_e2e_prereqs |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / helpers.py |
_generate_fixture_programmatically |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / helpers.py |
write_fixture_repo |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / helpers.py |
init_fixture_repo |
|
10 |
10 |
0 |
|
0% |
| src / domain / validation / helpers.py |
get_ready_issue_id |
|
13 |
13 |
0 |
|
0% |
| src / domain / validation / helpers.py |
annotate_issue |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / helpers.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| src / domain / validation / lint_cache.py |
_run_git_command |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCacheKey.to_dict |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCacheKey.from_dict |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCacheEntry.to_dict |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCacheEntry.from_dict |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.__init__ |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache._load |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache._save |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache._get_key_str |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache._get_current_state |
|
17 |
17 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache._hash_uncommitted |
|
25 |
25 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.should_skip |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.mark_passed |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.invalidate |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.invalidate_all |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
LintCache.clear |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / lint_cache.py |
(no function) |
|
34 |
0 |
3 |
|
100% |
| src / domain / validation / preset_registry.py |
PresetRegistry.get |
|
4 |
0 |
0 |
|
100% |
| src / domain / validation / preset_registry.py |
PresetRegistry.list_presets |
|
1 |
0 |
0 |
|
100% |
| src / domain / validation / preset_registry.py |
PresetRegistry._load_preset_yaml |
|
9 |
0 |
0 |
|
100% |
| src / domain / validation / preset_registry.py |
(no function) |
|
12 |
0 |
2 |
|
100% |
| src / domain / validation / presets / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / domain / validation / result.py |
ValidationResult.short_summary |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / result.py |
(no function) |
|
22 |
0 |
4 |
|
100% |
| src / domain / validation / runner.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| src / domain / validation / spec.py |
ValidationSpec.commands_by_kind |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / spec.py |
ValidationSpec.extract_lint_tools |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / spec.py |
classify_change |
|
15 |
15 |
0 |
|
0% |
| src / domain / validation / spec.py |
build_validation_spec |
|
36 |
36 |
0 |
|
0% |
| src / domain / validation / spec.py |
_apply_command_overrides |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec.py |
_apply_command_overrides.is_explicit |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec.py |
_apply_command_overrides.pick |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / spec.py |
_build_commands_from_config |
|
14 |
14 |
0 |
|
0% |
| src / domain / validation / spec.py |
_tool_name_to_pattern |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec.py |
extract_lint_tools_from_spec |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec.py |
(no function) |
|
74 |
0 |
3 |
|
100% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor.__init__ |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor.execute |
|
21 |
21 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._create_lint_cache |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._should_skip_cached |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._create_skipped_step |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._write_start_marker |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._run_command |
|
12 |
12 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._wrap_with_mutex |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._write_file_flushed |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._write_step_logs |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._log_success |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._log_failure |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
SpecCommandExecutor._format_failure_reason |
|
5 |
5 |
0 |
|
0% |
| src / domain / validation / spec_executor.py |
(no function) |
|
43 |
0 |
5 |
|
100% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder.build |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._check_coverage_if_enabled |
|
14 |
14 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._run_coverage_command_if_configured |
|
17 |
17 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._check_coverage |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._run_e2e_if_enabled |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._run_e2e |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
SpecResultBuilder._build_failure_result |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / spec_result_builder.py |
(no function) |
|
29 |
0 |
7 |
|
100% |
| src / domain / validation / spec_runner.py |
CommandFailure.__init__ |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner.__init__ |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner.run_spec |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._run_spec_sync |
|
17 |
17 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._invalidate_lint_cache_for_config_change |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._run_validation_pipeline |
|
14 |
14 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._write_file_flushed |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._write_initial_manifest |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._run_commands |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._write_completion_manifest |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
SpecValidationRunner._build_spec_env |
|
2 |
2 |
0 |
|
0% |
| src / domain / validation / spec_runner.py |
(no function) |
|
25 |
0 |
5 |
|
100% |
| src / domain / validation / spec_workspace.py |
SetupError.__init__ |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / spec_workspace.py |
setup_workspace |
|
23 |
23 |
0 |
|
0% |
| src / domain / validation / spec_workspace.py |
cleanup_workspace |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / spec_workspace.py |
workspace_context |
|
6 |
6 |
0 |
|
0% |
| src / domain / validation / spec_workspace.py |
(no function) |
|
24 |
0 |
5 |
|
100% |
| src / domain / validation / validation_gating.py |
should_trigger_validation |
|
11 |
11 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
get_matching_code_files |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
should_invalidate_lint_cache |
|
8 |
8 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
should_invalidate_setup_cache |
|
4 |
4 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
get_config_files_changed |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
get_setup_files_changed |
|
3 |
3 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
_is_mala_config |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / validation_gating.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| src / domain / validation / worktree.py |
WorktreeContext._validate_path_components |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / worktree.py |
WorktreeContext.path |
|
9 |
9 |
0 |
|
0% |
| src / domain / validation / worktree.py |
WorktreeContext.to_result |
|
1 |
1 |
0 |
|
0% |
| src / domain / validation / worktree.py |
create_worktree |
|
28 |
28 |
0 |
|
0% |
| src / domain / validation / worktree.py |
remove_worktree |
|
29 |
29 |
0 |
|
0% |
| src / domain / validation / worktree.py |
cleanup_stale_worktrees |
|
13 |
13 |
0 |
|
0% |
| src / domain / validation / worktree.py |
_cleanup_run_dir |
|
23 |
23 |
0 |
|
0% |
| src / domain / validation / worktree.py |
_format_git_error |
|
7 |
7 |
0 |
|
0% |
| src / domain / validation / worktree.py |
(no function) |
|
49 |
0 |
3 |
|
100% |
| src / infra / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.__init__ |
|
10 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.with_hooks |
|
4 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.with_env |
|
4 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.with_mcp |
|
5 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.with_disallowed_tools |
|
5 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.with_lint_tools |
|
2 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
AgentRuntimeBuilder.build |
|
29 |
0 |
0 |
|
100% |
| src / infra / agent_runtime.py |
(no function) |
|
24 |
0 |
4 |
|
100% |
| src / infra / clients / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| src / infra / clients / anthropic_client.py |
create_anthropic_client |
|
18 |
18 |
0 |
|
0% |
| src / infra / clients / anthropic_client.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| src / infra / clients / beads_client.py |
BeadsClient.__init__ |
|
8 |
8 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._run_subprocess_async |
|
8 |
8 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_epic_children_async |
|
9 |
9 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._sort_by_epic_groups |
|
6 |
6 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._negate_timestamp |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.fetch_ready_issues_async |
|
9 |
9 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.fetch_wip_issues_async |
|
10 |
10 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.enrich_with_epics_async |
|
5 |
5 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._fetch_base_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._merge_wip_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._apply_filters |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._enrich_with_epics |
|
6 |
6 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._sort_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._sort_by_epic_groups_sync |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._fetch_wip_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._warn_missing_ids |
|
3 |
3 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._resolve_epic_children |
|
6 |
6 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._fetch_and_filter_issues |
|
17 |
17 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_ready_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_ready_issues_async |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.claim_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.reset_async |
|
9 |
9 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_issue_status_async |
|
12 |
12 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_issue_description_async |
|
19 |
19 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.commit_issues_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.close_eligible_epics_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.mark_needs_followup_async |
|
5 |
5 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.close_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.add_dependency_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.create_issue_async |
|
22 |
22 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.find_issue_by_tag_async |
|
10 |
10 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.update_issue_description_async |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.update_issue_async |
|
9 |
9 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_parent_epic_async |
|
25 |
25 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_parent_epics_async |
|
5 |
5 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient.get_epic_blockers_async |
|
18 |
18 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._is_epic_blocked_async |
|
26 |
26 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
BeadsClient._get_blocked_epics_async |
|
6 |
6 |
0 |
|
0% |
| src / infra / clients / beads_client.py |
(no function) |
|
49 |
0 |
3 |
|
100% |
| src / infra / clients / braintrust_integration.py |
is_braintrust_enabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
flush_braintrust |
|
5 |
5 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.__init__ |
|
9 |
9 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.__enter__ |
|
13 |
13 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.__exit__ |
|
12 |
12 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.log_input |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.log_message |
|
8 |
8 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution._handle_assistant_message |
|
11 |
11 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution._handle_result_message |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.set_success |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
TracedAgentExecution.set_error |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.__init__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.__enter__ |
|
2 |
2 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.__exit__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.log_input |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.log_message |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.set_success |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustSpan.set_error |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustProvider.is_enabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustProvider.create_span |
|
3 |
3 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
BraintrustProvider.flush |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / braintrust_integration.py |
(no function) |
|
41 |
2 |
5 |
|
95% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI._review_gate_bin |
|
3 |
3 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.validate_binary |
|
12 |
12 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.build_env |
|
5 |
5 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.spawn_code_review |
|
22 |
22 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.wait_for_review |
|
17 |
17 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.resolve_gate |
|
10 |
10 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.check_diff_empty |
|
7 |
7 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
CerberusGateCLI.extract_wait_timeout |
|
15 |
15 |
0 |
|
0% |
| src / infra / clients / cerberus_gate_cli.py |
(no function) |
|
38 |
0 |
3 |
|
100% |
| src / infra / clients / cerberus_review.py |
DefaultReviewer._get_cli |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / cerberus_review.py |
DefaultReviewer._validate_review_gate_bin |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / cerberus_review.py |
DefaultReviewer._extract_wait_timeout |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / cerberus_review.py |
DefaultReviewer.__call__ |
|
39 |
39 |
0 |
|
0% |
| src / infra / clients / cerberus_review.py |
_to_relative_path |
|
10 |
8 |
0 |
|
20% |
| src / infra / clients / cerberus_review.py |
format_review_issues |
|
18 |
1 |
0 |
|
94% |
| src / infra / clients / cerberus_review.py |
(no function) |
|
24 |
0 |
3 |
|
100% |
| src / infra / clients / review_output_parser.py |
ReviewOutputParser.parse_json |
|
48 |
48 |
0 |
|
0% |
| src / infra / clients / review_output_parser.py |
ReviewOutputParser.map_exit_code_to_result |
|
30 |
30 |
0 |
|
0% |
| src / infra / clients / review_output_parser.py |
parse_cerberus_json |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / review_output_parser.py |
map_exit_code_to_result |
|
1 |
1 |
0 |
|
0% |
| src / infra / clients / review_output_parser.py |
(no function) |
|
28 |
0 |
2 |
|
100% |
| src / infra / epic_scope.py |
EpicScopeAnalyzer.__init__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / epic_scope.py |
EpicScopeAnalyzer.compute_scoped_commits |
|
4 |
4 |
0 |
|
0% |
| src / infra / epic_scope.py |
EpicScopeAnalyzer._compute_commit_list |
|
15 |
15 |
0 |
|
0% |
| src / infra / epic_scope.py |
EpicScopeAnalyzer._summarize_commit_range |
|
22 |
22 |
0 |
|
0% |
| src / infra / epic_scope.py |
EpicScopeAnalyzer._format_commit_summary |
|
15 |
15 |
0 |
|
0% |
| src / infra / epic_scope.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| src / infra / epic_verifier.py |
epic_verify_lock |
|
10 |
10 |
0 |
|
0% |
| src / infra / epic_verifier.py |
_compute_criterion_hash |
|
1 |
1 |
0 |
|
0% |
| src / infra / epic_verifier.py |
extract_spec_paths |
|
11 |
11 |
0 |
|
0% |
| src / infra / epic_verifier.py |
_load_prompt_template |
|
6 |
6 |
0 |
|
0% |
| src / infra / epic_verifier.py |
_extract_json_from_code_blocks |
|
7 |
7 |
0 |
|
0% |
| src / infra / epic_verifier.py |
ClaudeEpicVerificationModel.__init__ |
|
5 |
5 |
0 |
|
0% |
| src / infra / epic_verifier.py |
ClaudeEpicVerificationModel.verify |
|
3 |
3 |
0 |
|
0% |
| src / infra / epic_verifier.py |
ClaudeEpicVerificationModel._verify_with_agent_sdk |
|
15 |
15 |
0 |
|
0% |
| src / infra / epic_verifier.py |
ClaudeEpicVerificationModel._parse_verdict |
|
21 |
21 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.__init__ |
|
8 |
8 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.verify_and_close_eligible |
|
16 |
16 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.verify_epic |
|
2 |
2 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier._verify_epic_with_context |
|
27 |
27 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier._get_eligible_epics |
|
21 |
21 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier._is_epic_eligible |
|
2 |
2 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.verify_and_close_epic |
|
1 |
1 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.verify_epic_with_options |
|
54 |
54 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier._truncate_text |
|
3 |
3 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier._format_remediation_context |
|
16 |
16 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.create_remediation_issues |
|
30 |
30 |
0 |
|
0% |
| src / infra / epic_verifier.py |
EpicVerifier.add_epic_blockers |
|
2 |
2 |
0 |
|
0% |
| src / infra / epic_verifier.py |
(no function) |
|
48 |
0 |
5 |
|
100% |
| src / infra / git_utils.py |
get_git_commit_async |
|
4 |
4 |
0 |
|
0% |
| src / infra / git_utils.py |
get_git_branch_async |
|
4 |
4 |
0 |
|
0% |
| src / infra / git_utils.py |
get_baseline_for_issue |
|
13 |
13 |
0 |
|
0% |
| src / infra / git_utils.py |
get_issue_commits_async |
|
9 |
9 |
0 |
|
0% |
| src / infra / git_utils.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src / infra / hooks / __init__.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| src / infra / hooks / dangerous_commands.py |
block_dangerous_commands |
|
20 |
20 |
0 |
|
0% |
| src / infra / hooks / dangerous_commands.py |
block_mala_disallowed_tools |
|
4 |
4 |
0 |
|
0% |
| src / infra / hooks / dangerous_commands.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
_strip_quotes |
|
5 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
_is_safe_batch_command |
|
26 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
_extract_all_lock_paths |
|
9 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
_extract_lock_path |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
_get_exit_code |
|
5 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
make_lock_event_hook |
|
4 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
make_lock_event_hook.lock_event_hook |
|
48 |
1 |
0 |
|
98% |
| src / infra / hooks / deadlock.py |
make_lock_wait_hook |
|
4 |
0 |
0 |
|
100% |
| src / infra / hooks / deadlock.py |
make_lock_wait_hook.lock_wait_hook |
|
22 |
22 |
0 |
|
0% |
| src / infra / hooks / deadlock.py |
(no function) |
|
18 |
0 |
3 |
|
100% |
| src / infra / hooks / file_cache.py |
FileReadCache.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / file_cache.py |
FileReadCache.check_and_update |
|
25 |
25 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
FileReadCache._compute_hash |
|
5 |
5 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
FileReadCache.invalidate |
|
7 |
7 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
FileReadCache.blocked_count |
|
1 |
1 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
FileReadCache.cache_size |
|
1 |
1 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
make_file_read_cache_hook |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / file_cache.py |
make_file_read_cache_hook.file_read_cache_hook |
|
17 |
17 |
0 |
|
0% |
| src / infra / hooks / file_cache.py |
(no function) |
|
23 |
0 |
2 |
|
100% |
| src / infra / hooks / lint_cache.py |
_get_git_state |
|
14 |
14 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
_detect_lint_command |
|
10 |
3 |
0 |
|
70% |
| src / infra / hooks / lint_cache.py |
LintCache.__init__ |
|
5 |
0 |
0 |
|
100% |
| src / infra / hooks / lint_cache.py |
LintCache._make_cache_key |
|
2 |
2 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.check_and_update |
|
11 |
11 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.mark_success |
|
4 |
4 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.invalidate |
|
6 |
6 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.skipped_count |
|
1 |
1 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.cache_size |
|
1 |
1 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
LintCache.lint_tools |
|
1 |
0 |
0 |
|
100% |
| src / infra / hooks / lint_cache.py |
LintCache.detect_lint_command |
|
1 |
0 |
0 |
|
100% |
| src / infra / hooks / lint_cache.py |
make_lint_cache_hook |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / lint_cache.py |
make_lint_cache_hook.lint_cache_hook |
|
14 |
14 |
0 |
|
0% |
| src / infra / hooks / lint_cache.py |
(no function) |
|
32 |
0 |
3 |
|
100% |
| src / infra / hooks / locking.py |
make_lock_enforcement_hook |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / locking.py |
make_lock_enforcement_hook.enforce_lock_ownership |
|
15 |
15 |
0 |
|
0% |
| src / infra / hooks / locking.py |
make_stop_hook |
|
2 |
0 |
0 |
|
100% |
| src / infra / hooks / locking.py |
make_stop_hook.cleanup_locks_on_stop |
|
6 |
2 |
0 |
|
67% |
| src / infra / hooks / locking.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| src / infra / io / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| src / infra / io / base_sink.py |
BaseEventSink.on_run_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_run_completed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_ready_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_waiting_for_agents |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_no_more_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_agent_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_agent_completed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_claim_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_tool_use |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_agent_text |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_gate_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_gate_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_gate_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_gate_retry |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_gate_result |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_review_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_review_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_review_retry |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_review_warning |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_fixer_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_fixer_completed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_fixer_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_issue_closed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_issue_completed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_epic_closed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_result |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_step_running |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_step_skipped |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_step_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_validation_step_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_warning |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_log_timeout |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_locks_cleaned |
|
1 |
0 |
0 |
|
100% |
| src / infra / io / base_sink.py |
BaseEventSink.on_locks_released |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_issues_committed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_run_metadata_saved |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_run_level_validation_disabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_abort_requested |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_tasks_aborting |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_epic_verification_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_epic_verification_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_epic_verification_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_epic_remediation_created |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_lifecycle_state |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_log_waiting |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_log_ready |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_review_skipped_no_progress |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_fixer_text |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_fixer_tool_use |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
BaseEventSink.on_deadlock_detected |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / base_sink.py |
(no function) |
|
58 |
0 |
0 |
|
100% |
| src / infra / io / config.py |
parse_cerberus_args |
|
6 |
4 |
0 |
|
33% |
| src / infra / io / config.py |
parse_cerberus_env |
|
21 |
19 |
0 |
|
10% |
| src / infra / io / config.py |
_normalize_cerberus_env |
|
1 |
0 |
0 |
|
100% |
| src / infra / io / config.py |
_find_cerberus_bin_path |
|
29 |
20 |
0 |
|
31% |
| src / infra / io / config.py |
_find_cerberus_bin_path._iter_plugin_entries |
|
5 |
5 |
0 |
|
0% |
| src / infra / io / config.py |
_safe_int |
|
6 |
4 |
0 |
|
33% |
| src / infra / io / config.py |
ConfigurationError.__init__ |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / config.py |
MalaConfig.__post_init__ |
|
10 |
5 |
0 |
|
50% |
| src / infra / io / config.py |
MalaConfig.from_env |
|
43 |
19 |
0 |
|
56% |
| src / infra / io / config.py |
MalaConfig.validate |
|
12 |
12 |
0 |
|
0% |
| src / infra / io / config.py |
MalaConfig.ensure_directories |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / config.py |
build_resolved_config |
|
22 |
22 |
0 |
|
0% |
| src / infra / io / config.py |
(no function) |
|
65 |
0 |
0 |
|
100% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_run_started |
|
15 |
15 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink._log_limits |
|
7 |
7 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink._log_review_config |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink._log_braintrust_config |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink._log_cli_args |
|
4 |
4 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_run_completed |
|
8 |
8 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_ready_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_waiting_for_agents |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_no_more_issues |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_agent_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_agent_completed |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_claim_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_tool_use |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_agent_text |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_gate_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_gate_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_gate_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_gate_retry |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_gate_result |
|
6 |
6 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_review_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_review_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_review_retry |
|
6 |
6 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_review_warning |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_fixer_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_fixer_completed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_fixer_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_issue_closed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_issue_completed |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_epic_closed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_result |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_step_running |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_step_skipped |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_step_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_validation_step_failed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_warning |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_log_timeout |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_locks_cleaned |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_locks_released |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_issues_committed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_run_metadata_saved |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_run_level_validation_disabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_abort_requested |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_tasks_aborting |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_epic_verification_started |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_epic_verification_passed |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_epic_verification_failed |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_epic_remediation_created |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_lifecycle_state |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_log_waiting |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_log_ready |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_review_skipped_no_progress |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_fixer_text |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_fixer_tool_use |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / console_sink.py |
ConsoleEventSink.on_deadlock_detected |
|
4 |
4 |
0 |
|
0% |
| src / infra / io / console_sink.py |
(no function) |
|
62 |
0 |
0 |
|
100% |
| src / infra / io / event_sink.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / infra / io / log_output / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src / infra / io / log_output / console.py |
set_verbose |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
is_verbose_enabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
truncate_text |
|
5 |
5 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
get_agent_color |
|
4 |
4 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
log |
|
9 |
9 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
log_verbose |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
_format_arguments |
|
41 |
41 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
log_tool |
|
21 |
21 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
_get_quiet_summary |
|
17 |
17 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
log_agent_text |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
ConsoleLoggerAdapter.log |
|
7 |
7 |
0 |
|
0% |
| src / infra / io / log_output / console.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| src / infra / io / log_output / run_metadata.py |
configure_debug_logging |
|
22 |
22 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
cleanup_debug_logging |
|
8 |
8 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.__init__ |
|
9 |
9 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.record_issue |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.record_run_validation |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._serialize_validation_artifacts |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._serialize_validation_result |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._serialize_issue_resolution |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._to_dict |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._deserialize_validation_artifacts |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._deserialize_validation_result |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata._deserialize_issue_resolution |
|
3 |
3 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.load |
|
25 |
25 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.cleanup |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
RunMetadata.save |
|
12 |
12 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
_get_marker_path |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
write_run_marker |
|
9 |
9 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
remove_run_marker |
|
5 |
5 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
get_running_instances |
|
23 |
23 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
get_running_instances_for_dir |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
_is_process_running |
|
5 |
5 |
0 |
|
0% |
| src / infra / io / log_output / run_metadata.py |
(no function) |
|
69 |
0 |
0 |
|
100% |
| src / infra / io / session_log_parser.py |
SessionLogParser.iter_jsonl_entries |
|
21 |
21 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser.get_log_end_offset |
|
8 |
8 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser.extract_bash_commands |
|
10 |
10 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser._extract_bash_commands_from_data |
|
12 |
12 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser.extract_tool_results |
|
9 |
9 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser._extract_tool_results_from_data |
|
10 |
10 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser.extract_assistant_text_blocks |
|
9 |
9 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
SessionLogParser._extract_assistant_text_blocks_from_data |
|
10 |
10 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.__init__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.get_log_path |
|
2 |
2 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.iter_events |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.get_end_offset |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.extract_bash_commands |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.extract_tool_results |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
FileSystemLogProvider.extract_assistant_text_blocks |
|
1 |
1 |
0 |
|
0% |
| src / infra / io / session_log_parser.py |
(no function) |
|
29 |
0 |
6 |
|
100% |
| src / infra / issue_manager.py |
IssueManager.merge_wip_issues |
|
2 |
2 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.filter_blocked_wip |
|
1 |
1 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.filter_blocked_epics |
|
3 |
3 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.apply_filters |
|
1 |
1 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.negate_timestamp |
|
3 |
3 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.sort_by_epic_groups |
|
13 |
13 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.sort_by_epic_groups.get_priority |
|
4 |
4 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.sort_by_epic_groups.get_updated_at |
|
2 |
2 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.sort_by_epic_groups.group_sort_key |
|
4 |
4 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.sort_issues |
|
6 |
6 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.find_missing_ids |
|
3 |
3 |
0 |
|
0% |
| src / infra / issue_manager.py |
IssueManager.filter_orphans_only |
|
1 |
1 |
0 |
|
0% |
| src / infra / issue_manager.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| src / infra / mcp.py |
get_mcp_servers |
|
1 |
0 |
0 |
|
100% |
| src / infra / mcp.py |
get_disallowed_tools |
|
1 |
0 |
0 |
|
100% |
| src / infra / mcp.py |
(no function) |
|
5 |
0 |
2 |
|
100% |
| src / infra / sdk_adapter.py |
SDKClientFactory.create |
|
2 |
2 |
0 |
|
0% |
| src / infra / sdk_adapter.py |
SDKClientFactory.create_options |
|
2 |
2 |
0 |
|
0% |
| src / infra / sdk_adapter.py |
SDKClientFactory.create_hook_matcher |
|
2 |
2 |
0 |
|
0% |
| src / infra / sdk_adapter.py |
(no function) |
|
6 |
0 |
3 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.__enter__ |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.__exit__ |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.log_input |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.log_message |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.set_success |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetrySpan.set_error |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetryProvider.is_enabled |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetryProvider.create_span |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
TelemetryProvider.flush |
|
0 |
0 |
1 |
|
100% |
| src / infra / telemetry.py |
NullSpan.__enter__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullSpan.__exit__ |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullSpan.log_input |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullSpan.log_message |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullSpan.set_success |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullSpan.set_error |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullTelemetryProvider.is_enabled |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullTelemetryProvider.create_span |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
NullTelemetryProvider.flush |
|
1 |
1 |
0 |
|
0% |
| src / infra / telemetry.py |
(no function) |
|
24 |
0 |
13 |
|
100% |
| src / infra / tools / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
_tail |
|
9 |
1 |
0 |
|
89% |
| src / infra / tools / command_runner.py |
CommandResult.ok |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandResult.stdout_tail |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandResult.stderr_tail |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandRunner.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandRunner.run |
|
14 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandRunner._terminate_process_sync |
|
28 |
4 |
0 |
|
86% |
| src / infra / tools / command_runner.py |
CommandRunner.run_async |
|
24 |
5 |
0 |
|
79% |
| src / infra / tools / command_runner.py |
CommandRunner._terminate_process |
|
25 |
6 |
0 |
|
76% |
| src / infra / tools / command_runner.py |
CommandRunner._merge_env |
|
3 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
CommandRunner._decode_output |
|
5 |
5 |
0 |
|
0% |
| src / infra / tools / command_runner.py |
run_command |
|
2 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
run_command_async |
|
2 |
0 |
0 |
|
100% |
| src / infra / tools / command_runner.py |
(no function) |
|
35 |
0 |
3 |
|
100% |
| src / infra / tools / env.py |
_get_xdg_config_home |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / env.py |
get_cache_dir |
|
3 |
3 |
0 |
|
0% |
| src / infra / tools / env.py |
get_runs_dir |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / env.py |
get_repo_runs_dir |
|
2 |
2 |
0 |
|
0% |
| src / infra / tools / env.py |
get_lock_dir |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / env.py |
load_user_env |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / env.py |
load_env |
|
3 |
3 |
0 |
|
0% |
| src / infra / tools / env.py |
encode_repo_path |
|
3 |
3 |
0 |
|
0% |
| src / infra / tools / env.py |
get_claude_config_dir |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / env.py |
get_claude_log_path |
|
2 |
2 |
0 |
|
0% |
| src / infra / tools / env.py |
EnvConfig.scripts_dir |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / env.py |
EnvConfig.cache_dir |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / env.py |
EnvConfig.lock_dir |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / env.py |
EnvConfig.find_cerberus_bin_path |
|
2 |
2 |
0 |
|
0% |
| src / infra / tools / env.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
canonicalize_path |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
_get_lock_dir |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_is_literal_key |
|
1 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_resolve_with_parents |
|
21 |
5 |
0 |
|
76% |
| src / infra / tools / locking.py |
_canonicalize_path |
|
17 |
8 |
0 |
|
53% |
| src / infra / tools / locking.py |
_lock_key |
|
6 |
1 |
0 |
|
83% |
| src / infra / tools / locking.py |
lock_path |
|
3 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
release_all_locks |
|
5 |
5 |
0 |
|
0% |
| src / infra / tools / locking.py |
release_run_locks |
|
14 |
2 |
0 |
|
86% |
| src / infra / tools / locking.py |
try_lock |
|
31 |
9 |
0 |
|
71% |
| src / infra / tools / locking.py |
wait_for_lock |
|
10 |
10 |
0 |
|
0% |
| src / infra / tools / locking.py |
is_locked |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
release_lock |
|
8 |
8 |
0 |
|
0% |
| src / infra / tools / locking.py |
get_lock_holder |
|
7 |
2 |
0 |
|
71% |
| src / infra / tools / locking.py |
parse_lock_file |
|
9 |
9 |
0 |
|
0% |
| src / infra / tools / locking.py |
get_all_locks |
|
18 |
18 |
0 |
|
0% |
| src / infra / tools / locking.py |
cleanup_agent_locks |
|
13 |
3 |
0 |
|
77% |
| src / infra / tools / locking.py |
LockManager.lock_path |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
LockManager.try_lock |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
LockManager.wait_for_lock |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
LockManager.release_lock |
|
1 |
1 |
0 |
|
0% |
| src / infra / tools / locking.py |
_cmd_try |
|
3 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_cmd_wait |
|
3 |
3 |
0 |
|
0% |
| src / infra / tools / locking.py |
_cmd_check |
|
4 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_cmd_holder |
|
4 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_cmd_release |
|
6 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_cmd_release_all |
|
2 |
0 |
0 |
|
100% |
| src / infra / tools / locking.py |
_cli_main |
|
39 |
12 |
0 |
|
69% |
| src / infra / tools / locking.py |
(no function) |
|
44 |
1 |
0 |
|
98% |
| src / orchestration / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| src / orchestration / cli_support.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| src / orchestration / factory.py |
_derive_config |
|
15 |
15 |
0 |
|
0% |
| src / orchestration / factory.py |
_check_review_availability |
|
25 |
25 |
0 |
|
0% |
| src / orchestration / factory.py |
_build_dependencies |
|
41 |
41 |
0 |
|
0% |
| src / orchestration / factory.py |
create_orchestrator |
|
12 |
12 |
0 |
|
0% |
| src / orchestration / factory.py |
(no function) |
|
13 |
13 |
7 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_gate_runner |
|
4 |
4 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_review_runner |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_run_coordinator |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_issue_coordinator |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_finalizer_callbacks |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_epic_callbacks |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_session_callback_factory |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
build_session_config |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / orchestration_wiring.py |
(no function) |
|
70 |
0 |
11 |
|
100% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.__init__ |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._init_from_factory |
|
32 |
32 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._init_runtime_state |
|
13 |
13 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._init_pipeline_runners |
|
11 |
11 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._build_wiring_dependencies |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._build_issue_finalizer |
|
4 |
4 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._build_epic_verification_coordinator |
|
4 |
4 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._create_review_tracking_issues |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.active_tasks |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.failed_issues |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.max_issues |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.max_issues |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.abort_run |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.abort_reason |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._cleanup_agent_locks |
|
6 |
1 |
0 |
|
83% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._handle_deadlock |
|
30 |
30 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._resolve_deadlock |
|
11 |
11 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._request_abort |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._is_review_enabled |
|
5 |
5 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._on_session_log_path |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._on_review_log_path |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._cleanup_active_session_path |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._finalize_issue_result |
|
11 |
11 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._abort_active_tasks |
|
18 |
18 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._build_session_callbacks |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.run_implementer |
|
26 |
26 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.spawn_agent |
|
7 |
7 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._run_main_loop |
|
3 |
3 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._run_main_loop.finalize_callback |
|
8 |
8 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._run_main_loop.abort_callback |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator._finalize_run |
|
16 |
16 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.run |
|
25 |
25 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
MalaOrchestrator.run_sync |
|
7 |
7 |
0 |
|
0% |
| src / orchestration / orchestrator.py |
(no function) |
|
67 |
0 |
14 |
|
100% |
| src / orchestration / review_tracking.py |
_get_finding_fingerprint |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / review_tracking.py |
_build_findings_section |
|
27 |
27 |
0 |
|
0% |
| src / orchestration / review_tracking.py |
_extract_existing_fingerprints |
|
6 |
6 |
0 |
|
0% |
| src / orchestration / review_tracking.py |
_update_header_count |
|
4 |
4 |
0 |
|
0% |
| src / orchestration / review_tracking.py |
create_review_tracking_issues |
|
52 |
52 |
0 |
|
0% |
| src / orchestration / review_tracking.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| src / orchestration / run_config.py |
build_event_run_config |
|
1 |
1 |
0 |
|
0% |
| src / orchestration / run_config.py |
build_run_metadata |
|
2 |
2 |
0 |
|
0% |
| src / orchestration / run_config.py |
(no function) |
|
6 |
0 |
2 |
|
100% |
| src / orchestration / types.py |
(no function) |
|
40 |
40 |
3 |
|
0% |
| src / pipeline / __init__.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
_emit_review_result_events |
|
12 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
_emit_gate_passed_events |
|
4 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
_count_blocking_issues |
|
3 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
_make_review_effect_result |
|
2 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
_build_review_retry_prompt |
|
2 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._initialize_session |
|
16 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._run_lifecycle_loop |
|
47 |
18 |
0 |
|
62% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._handle_gate_check |
|
16 |
2 |
0 |
|
88% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._handle_review_check |
|
12 |
3 |
0 |
|
75% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._build_session_output |
|
1 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._handle_log_waiting |
|
25 |
11 |
0 |
|
56% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._handle_gate_effect |
|
20 |
6 |
0 |
|
70% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._check_review_no_progress |
|
12 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._handle_review_effect |
|
28 |
3 |
0 |
|
89% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._apply_retry_backoff |
|
7 |
1 |
0 |
|
86% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._disconnect_client_safely |
|
6 |
4 |
0 |
|
33% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._prepare_idle_retry |
|
19 |
2 |
0 |
|
89% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._get_stream_processor |
|
3 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._process_message_stream |
|
2 |
0 |
0 |
|
100% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner._run_message_iteration |
|
29 |
1 |
0 |
|
97% |
| src / pipeline / agent_session_runner.py |
AgentSessionRunner.run_session |
|
34 |
7 |
0 |
|
79% |
| src / pipeline / agent_session_runner.py |
(no function) |
|
132 |
0 |
10 |
|
100% |
| src / pipeline / context_pressure_handler.py |
ContextPressureHandler.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / pipeline / context_pressure_handler.py |
ContextPressureHandler.fetch_checkpoint |
|
28 |
0 |
0 |
|
100% |
| src / pipeline / context_pressure_handler.py |
ContextPressureHandler.build_continuation_prompt |
|
4 |
0 |
0 |
|
100% |
| src / pipeline / context_pressure_handler.py |
ContextPressureHandler.handle_pressure_error |
|
6 |
0 |
0 |
|
100% |
| src / pipeline / context_pressure_handler.py |
(no function) |
|
24 |
0 |
2 |
|
100% |
| src / pipeline / epic_verification_coordinator.py |
EpicVerificationCoordinator.check_epic_closure |
|
12 |
12 |
0 |
|
0% |
| src / pipeline / epic_verification_coordinator.py |
EpicVerificationCoordinator._verify_epic_with_retries |
|
18 |
18 |
0 |
|
0% |
| src / pipeline / epic_verification_coordinator.py |
EpicVerificationCoordinator._execute_remediation_issues |
|
22 |
22 |
0 |
|
0% |
| src / pipeline / epic_verification_coordinator.py |
EpicVerificationCoordinator._extract_task_result |
|
7 |
7 |
0 |
|
0% |
| src / pipeline / epic_verification_coordinator.py |
(no function) |
|
31 |
0 |
5 |
|
100% |
| src / pipeline / gate_metadata.py |
build_gate_metadata |
|
14 |
14 |
0 |
|
0% |
| src / pipeline / gate_metadata.py |
build_gate_metadata_from_logs |
|
13 |
13 |
0 |
|
0% |
| src / pipeline / gate_metadata.py |
(no function) |
|
10 |
0 |
5 |
|
100% |
| src / pipeline / gate_runner.py |
GateRunner._get_or_build_spec |
|
5 |
5 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
GateRunner.run_per_issue_gate |
|
12 |
12 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
GateRunner.get_cached_spec |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
GateRunner.set_cached_spec |
|
2 |
2 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
AsyncGateRunner._run_gate_sync |
|
8 |
8 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
AsyncGateRunner.run_gate_async |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
AsyncGateRunner.get_last_gate_result |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
AsyncGateRunner.clear_gate_result |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / gate_runner.py |
(no function) |
|
42 |
0 |
5 |
|
100% |
| src / pipeline / issue_execution_coordinator.py |
SpawnCallback.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / issue_execution_coordinator.py |
FinalizeCallback.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / issue_execution_coordinator.py |
AbortCallback.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.__init__ |
|
8 |
8 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.request_abort |
|
6 |
6 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.run_loop |
|
39 |
39 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.register_task |
|
2 |
2 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.mark_failed |
|
2 |
2 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
IssueExecutionCoordinator.mark_completed |
|
3 |
3 |
0 |
|
0% |
| src / pipeline / issue_execution_coordinator.py |
(no function) |
|
28 |
0 |
8 |
|
100% |
| src / pipeline / issue_finalizer.py |
IssueFinalizer.finalize |
|
13 |
13 |
0 |
|
0% |
| src / pipeline / issue_finalizer.py |
IssueFinalizer._build_gate_metadata |
|
8 |
8 |
0 |
|
0% |
| src / pipeline / issue_finalizer.py |
IssueFinalizer._record_issue_run |
|
4 |
4 |
0 |
|
0% |
| src / pipeline / issue_finalizer.py |
IssueFinalizer._emit_completion |
|
6 |
6 |
0 |
|
0% |
| src / pipeline / issue_finalizer.py |
(no function) |
|
40 |
0 |
8 |
|
100% |
| src / pipeline / issue_result.py |
(no function) |
|
17 |
0 |
4 |
|
100% |
| src / pipeline / message_stream_processor.py |
LintCacheProtocol.detect_lint_command |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / message_stream_processor.py |
LintCacheProtocol.mark_success |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / message_stream_processor.py |
ContextPressureError.__init__ |
|
6 |
0 |
0 |
|
100% |
| src / pipeline / message_stream_processor.py |
IdleTimeoutStream.__init__ |
|
3 |
0 |
0 |
|
100% |
| src / pipeline / message_stream_processor.py |
IdleTimeoutStream.__aiter__ |
|
1 |
0 |
0 |
|
100% |
| src / pipeline / message_stream_processor.py |
IdleTimeoutStream.__anext__ |
|
7 |
0 |
0 |
|
100% |
| src / pipeline / message_stream_processor.py |
MessageStreamProcessor.__init__ |
|
2 |
0 |
0 |
|
100% |
| src / pipeline / message_stream_processor.py |
MessageStreamProcessor.process_stream |
|
15 |
1 |
0 |
|
93% |
| src / pipeline / message_stream_processor.py |
MessageStreamProcessor._process_assistant_message |
|
28 |
13 |
0 |
|
54% |
| src / pipeline / message_stream_processor.py |
MessageStreamProcessor._process_result_message |
|
20 |
3 |
0 |
|
85% |
| src / pipeline / message_stream_processor.py |
(no function) |
|
50 |
0 |
8 |
|
100% |
| src / pipeline / review_runner.py |
ReviewRunner.run_review |
|
21 |
21 |
0 |
|
0% |
| src / pipeline / review_runner.py |
ReviewRunner.check_no_progress |
|
3 |
3 |
0 |
|
0% |
| src / pipeline / review_runner.py |
(no function) |
|
39 |
0 |
4 |
|
100% |
| src / pipeline / run_coordinator.py |
_FixerPromptNotSet.format |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
SpecResultBuilder.derive_e2e_passed |
|
5 |
5 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
SpecResultBuilder.build_meta_result |
|
4 |
4 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
RunCoordinator.run_validation |
|
48 |
48 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
RunCoordinator._build_validation_failure_output |
|
22 |
22 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
RunCoordinator._run_fixer_agent |
|
54 |
54 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
RunCoordinator.cleanup_fixer_locks |
|
3 |
3 |
0 |
|
0% |
| src / pipeline / run_coordinator.py |
(no function) |
|
48 |
0 |
7 |
|
100% |
| src / pipeline / session_callback_factory.py |
GateAsyncRunner.run_gate_async |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.__init__ |
|
10 |
10 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build |
|
10 |
10 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.on_gate_check |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.on_review_check |
|
8 |
8 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.on_review_no_progress |
|
2 |
2 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.get_log_path |
|
3 |
3 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.get_log_offset |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.on_tool_use |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
SessionCallbackFactory.build.on_agent_text |
|
1 |
1 |
0 |
|
0% |
| src / pipeline / session_callback_factory.py |
GetPerIssueSpec.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / session_callback_factory.py |
IsVerboseCheck.__call__ |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / session_callback_factory.py |
GateChecker.get_log_end_offset |
|
0 |
0 |
1 |
|
100% |
| src / pipeline / session_callback_factory.py |
(no function) |
|
14 |
0 |
18 |
|
100% |