| little_loops / cli / auto.py |
main_auto |
|
18 |
18 |
0 |
|
0% |
| little_loops / cli / auto.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| little_loops / cli / deps.py |
_load_issues |
|
20 |
20 |
0 |
|
0% |
| little_loops / cli / deps.py |
main_deps |
|
127 |
127 |
0 |
|
0% |
| little_loops / cli / deps.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| little_loops / cli / docs.py |
main_verify_docs |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / docs.py |
main_check_links |
|
23 |
23 |
0 |
|
0% |
| little_loops / cli / docs.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| little_loops / cli / gitignore.py |
main_gitignore |
|
29 |
29 |
0 |
|
0% |
| little_loops / cli / gitignore.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| little_loops / cli / history.py |
main_history |
|
63 |
63 |
0 |
|
0% |
| little_loops / cli / history.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| little_loops / cli / issues / append_log.py |
cmd_append_log |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / issues / append_log.py |
(no function) |
|
5 |
5 |
2 |
|
0% |
| little_loops / cli / issues / count_cmd.py |
cmd_count |
|
18 |
18 |
0 |
|
0% |
| little_loops / cli / issues / count_cmd.py |
(no function) |
|
5 |
5 |
2 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_infer_effort |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_infer_impact |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_issue_slug |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_render_quadrant_lines |
|
17 |
17 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_render_grid |
|
53 |
53 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
_render_grid.pad |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
cmd_impact_effort |
|
26 |
26 |
0 |
|
0% |
| little_loops / cli / issues / impact_effort.py |
(no function) |
|
14 |
14 |
3 |
|
0% |
| little_loops / cli / issues / list_cmd.py |
cmd_list |
|
72 |
72 |
0 |
|
0% |
| little_loops / cli / issues / list_cmd.py |
(no function) |
|
5 |
5 |
2 |
|
0% |
| little_loops / cli / issues / next_id.py |
cmd_next_id |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / issues / next_id.py |
(no function) |
|
3 |
3 |
2 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_cmd_label |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_source_label |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_truncate |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_col |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_rcol |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_apply_cell_color |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_compute_min_total_width |
|
16 |
16 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_elide_columns |
|
20 |
20 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_elide_columns.fits |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status |
|
55 |
55 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._canonical_sort_key |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._sort_key |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._get_col_display_width |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._render_cell |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._header_cell |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._cell_value |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
cmd_refine_status._build_row |
|
23 |
23 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
_print_key |
|
12 |
12 |
0 |
|
0% |
| little_loops / cli / issues / refine_status.py |
(no function) |
|
33 |
33 |
3 |
|
0% |
| little_loops / cli / issues / search.py |
_parse_discovered_date |
|
11 |
11 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
_parse_labels_from_content |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
_parse_priority_filter |
|
11 |
11 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
_load_issues_with_status |
|
29 |
29 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
_sort_issues |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
_sort_issues.key |
|
27 |
27 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
cmd_search |
|
119 |
119 |
0 |
|
0% |
| little_loops / cli / issues / search.py |
(no function) |
|
12 |
12 |
3 |
|
0% |
| little_loops / cli / issues / sequence.py |
cmd_sequence |
|
31 |
31 |
0 |
|
0% |
| little_loops / cli / issues / sequence.py |
(no function) |
|
5 |
5 |
2 |
|
0% |
| little_loops / cli / issues / show.py |
_resolve_issue_id |
|
33 |
33 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
_parse_card_fields |
|
58 |
58 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
_strip_ansi |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
_ljust |
|
2 |
2 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
_render_card |
|
97 |
97 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
cmd_show |
|
12 |
12 |
0 |
|
0% |
| little_loops / cli / issues / show.py |
(no function) |
|
14 |
14 |
2 |
|
0% |
| little_loops / cli / loop / _helpers.py |
_loop_signal_handler |
|
16 |
16 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
register_loop_signal_handlers |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
get_builtin_loops_dir |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
resolve_loop_path |
|
13 |
13 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
load_loop |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
load_loop_with_spec |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
print_execution_plan |
|
42 |
42 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
run_background |
|
37 |
37 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
run_foreground |
|
27 |
27 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
run_foreground.display_progress |
|
93 |
93 |
0 |
|
0% |
| little_loops / cli / loop / _helpers.py |
(no function) |
|
23 |
0 |
3 |
|
100% |
| little_loops / cli / loop / config_cmds.py |
cmd_validate |
|
17 |
17 |
0 |
|
0% |
| little_loops / cli / loop / config_cmds.py |
cmd_install |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / loop / config_cmds.py |
(no function) |
|
6 |
6 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_load_loop_meta |
|
8 |
8 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
cmd_list |
|
78 |
78 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_truncate |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_format_history_event |
|
113 |
113 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_format_duration |
|
10 |
10 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_list_archived_runs |
|
44 |
44 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
cmd_history |
|
22 |
22 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_compact_transitions |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_print_state_overview_table |
|
39 |
39 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
_humanize_evaluate_type |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
cmd_show |
|
141 |
141 |
0 |
|
0% |
| little_loops / cli / loop / info.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| little_loops / cli / loop / layout.py |
_colorize_label |
|
13 |
13 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_colorize_diagram_labels |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_badge_display_width |
|
2 |
2 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_get_state_badge |
|
9 |
9 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_box_inner_lines |
|
19 |
19 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_collect_edges |
|
18 |
18 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_bfs_order |
|
11 |
11 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_trace_main_path |
|
18 |
18 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_classify_edges |
|
17 |
17 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
TopologyDetector.__init__ |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
TopologyDetector.classify |
|
10 |
10 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
LayerAssigner.__init__ |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
LayerAssigner.assign |
|
51 |
51 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
CrossingMinimizer.__init__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
CrossingMinimizer.minimize |
|
34 |
34 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_compute_display_labels |
|
9 |
9 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_compute_box_sizes |
|
24 |
24 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_draw_box |
|
56 |
56 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_draw_box._bc |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_render_layered_diagram |
|
511 |
511 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_render_fsm_diagram |
|
37 |
37 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
_render_horizontal_simple |
|
44 |
44 |
0 |
|
0% |
| little_loops / cli / loop / layout.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| little_loops / cli / loop / lifecycle.py |
_read_pid_file |
|
6 |
6 |
0 |
|
0% |
| little_loops / cli / loop / lifecycle.py |
cmd_status |
|
31 |
31 |
0 |
|
0% |
| little_loops / cli / loop / lifecycle.py |
cmd_stop |
|
34 |
34 |
0 |
|
0% |
| little_loops / cli / loop / lifecycle.py |
cmd_resume |
|
51 |
51 |
0 |
|
0% |
| little_loops / cli / loop / lifecycle.py |
cmd_resume._cleanup_pid |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / loop / lifecycle.py |
(no function) |
|
14 |
14 |
0 |
|
0% |
| little_loops / cli / loop / run.py |
cmd_run |
|
90 |
90 |
0 |
|
0% |
| little_loops / cli / loop / run.py |
cmd_run._cleanup_pid |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / loop / run.py |
(no function) |
|
9 |
9 |
0 |
|
0% |
| little_loops / cli / loop / testing.py |
cmd_test |
|
96 |
96 |
0 |
|
0% |
| little_loops / cli / loop / testing.py |
cmd_simulate |
|
29 |
29 |
0 |
|
0% |
| little_loops / cli / loop / testing.py |
cmd_simulate.simulation_callback |
|
20 |
20 |
0 |
|
0% |
| little_loops / cli / loop / testing.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / messages.py |
main_messages |
|
63 |
63 |
0 |
|
0% |
| little_loops / cli / messages.py |
_save_combined |
|
13 |
13 |
0 |
|
0% |
| little_loops / cli / messages.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| little_loops / cli / output.py |
terminal_width |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / output.py |
wrap_text |
|
2 |
2 |
0 |
|
0% |
| little_loops / cli / output.py |
configure_output |
|
7 |
7 |
0 |
|
0% |
| little_loops / cli / output.py |
colorize |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli / output.py |
print_json |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / output.py |
(no function) |
|
15 |
0 |
2 |
|
100% |
| little_loops / cli / parallel.py |
main_parallel |
|
53 |
53 |
0 |
|
0% |
| little_loops / cli / parallel.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| little_loops / cli / sprint / _helpers.py |
_render_execution_plan |
|
78 |
78 |
0 |
|
0% |
| little_loops / cli / sprint / _helpers.py |
_build_issue_contents |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / sprint / _helpers.py |
_render_dependency_analysis |
|
49 |
49 |
0 |
|
0% |
| little_loops / cli / sprint / _helpers.py |
(no function) |
|
6 |
0 |
4 |
|
100% |
| little_loops / cli / sprint / create.py |
_cmd_sprint_create |
|
29 |
29 |
0 |
|
0% |
| little_loops / cli / sprint / create.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| little_loops / cli / sprint / edit.py |
_cmd_sprint_edit |
|
84 |
84 |
0 |
|
0% |
| little_loops / cli / sprint / edit.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| little_loops / cli / sprint / manage.py |
_cmd_sprint_list |
|
20 |
20 |
0 |
|
0% |
| little_loops / cli / sprint / manage.py |
_cmd_sprint_delete |
|
6 |
6 |
0 |
|
0% |
| little_loops / cli / sprint / manage.py |
_cmd_sprint_analyze |
|
93 |
93 |
0 |
|
0% |
| little_loops / cli / sprint / manage.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| little_loops / cli / sprint / run.py |
_sprint_signal_handler |
|
5 |
5 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
_get_sprint_state_file |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
_load_sprint_state |
|
12 |
12 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
_save_sprint_state |
|
6 |
6 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
_cleanup_sprint_state |
|
4 |
4 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
_cmd_sprint_run |
|
236 |
236 |
0 |
|
0% |
| little_loops / cli / sprint / run.py |
(no function) |
|
21 |
0 |
3 |
|
100% |
| little_loops / cli / sprint / show.py |
_render_dependency_graph |
|
26 |
26 |
0 |
|
0% |
| little_loops / cli / sprint / show.py |
_render_dependency_graph.build_chain |
|
13 |
13 |
0 |
|
0% |
| little_loops / cli / sprint / show.py |
_render_health_summary |
|
34 |
34 |
0 |
|
0% |
| little_loops / cli / sprint / show.py |
_cmd_sprint_show |
|
58 |
58 |
0 |
|
0% |
| little_loops / cli / sprint / show.py |
(no function) |
|
11 |
0 |
3 |
|
100% |
| little_loops / cli / sync.py |
main_sync |
|
63 |
63 |
0 |
|
0% |
| little_loops / cli / sync.py |
_print_sync_status |
|
16 |
16 |
0 |
|
0% |
| little_loops / cli / sync.py |
_print_sync_result |
|
30 |
30 |
0 |
|
0% |
| little_loops / cli / sync.py |
_print_diff_result |
|
13 |
13 |
0 |
|
0% |
| little_loops / cli / sync.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| little_loops / cli_args.py |
add_dry_run_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_resume_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_config_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_only_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_skip_arg |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli_args.py |
add_max_workers_arg |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli_args.py |
add_timeout_arg |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli_args.py |
add_idle_timeout_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_handoff_threshold_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_quiet_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_skip_analysis_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
add_max_issues_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
parse_issue_ids |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli_args.py |
parse_issue_ids_ordered |
|
3 |
3 |
0 |
|
0% |
| little_loops / cli_args.py |
add_type_arg |
|
1 |
1 |
0 |
|
0% |
| little_loops / cli_args.py |
parse_issue_types |
|
9 |
9 |
0 |
|
0% |
| little_loops / cli_args.py |
add_common_auto_args |
|
10 |
10 |
0 |
|
0% |
| little_loops / cli_args.py |
add_common_parallel_args |
|
10 |
10 |
0 |
|
0% |
| little_loops / cli_args.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| little_loops / config / automation.py |
AutomationConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / automation.py |
ParallelAutomationConfig.from_dict |
|
2 |
2 |
0 |
|
0% |
| little_loops / config / automation.py |
ConfidenceGateConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / automation.py |
CommandsConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / automation.py |
ScoringWeightsConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / automation.py |
DependencyMappingConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / automation.py |
(no function) |
|
60 |
0 |
0 |
|
100% |
| little_loops / config / cli.py |
CliColorsLoggerConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
CliColorsPriorityConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
CliColorsTypeConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
CliColorsConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
RefineStatusConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
CliConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / cli.py |
(no function) |
|
48 |
0 |
0 |
|
100% |
| little_loops / config / core.py |
ProjectConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.__init__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig._load_config |
|
5 |
5 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig._parse_config |
|
14 |
14 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.project |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.issues |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.automation |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.parallel |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.commands |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.scan |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.sprints |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.loops |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.sync |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.dependency_mapping |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.cli |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.refine_status |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.repo_path |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_issue_dir |
|
4 |
4 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_completed_dir |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_deferred_dir |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_issue_prefix |
|
3 |
3 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_category_action |
|
3 |
3 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_loops_dir |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_src_path |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_worktree_base |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_state_file |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.get_parallel_state_file |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.create_parallel_config |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.issue_categories |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.issue_priorities |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / core.py |
BRConfig.resolve_variable |
|
11 |
11 |
0 |
|
0% |
| little_loops / config / core.py |
(no function) |
|
72 |
0 |
0 |
|
100% |
| little_loops / config / features.py |
CategoryConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
IssuesConfig.from_dict |
|
6 |
6 |
0 |
|
0% |
| little_loops / config / features.py |
IssuesConfig.get_category_by_prefix |
|
4 |
4 |
0 |
|
0% |
| little_loops / config / features.py |
IssuesConfig.get_category_by_dir |
|
4 |
4 |
0 |
|
0% |
| little_loops / config / features.py |
IssuesConfig.get_all_prefixes |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
IssuesConfig.get_all_dirs |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
ScanConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
SprintsConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
LoopsConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
GitHubSyncConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
SyncConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / config / features.py |
(no function) |
|
63 |
0 |
0 |
|
100% |
| little_loops / dependency_graph.py |
DependencyGraph.from_issues |
|
18 |
18 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.get_ready_issues |
|
10 |
10 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.get_execution_waves |
|
16 |
16 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.is_blocked |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.get_blocking_issues |
|
3 |
3 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.get_blocked_by_issue |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.topological_sort |
|
21 |
21 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.detect_cycles |
|
9 |
9 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.detect_cycles.dfs |
|
13 |
13 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.has_cycles |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.__len__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_graph.py |
DependencyGraph.__contains__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_graph.py |
refine_waves_for_contention |
|
43 |
43 |
0 |
|
0% |
| little_loops / dependency_graph.py |
(no function) |
|
30 |
0 |
3 |
|
100% |
| little_loops / dependency_mapper / analysis.py |
_basename |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
_extract_semantic_targets |
|
11 |
11 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
_extract_section_mentions |
|
14 |
14 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
_classify_modification_type |
|
9 |
9 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
compute_conflict_score |
|
18 |
18 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
find_file_overlaps |
|
69 |
69 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
validate_dependencies |
|
25 |
25 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
analyze_dependencies |
|
4 |
4 |
0 |
|
0% |
| little_loops / dependency_mapper / analysis.py |
(no function) |
|
22 |
22 |
3 |
|
0% |
| little_loops / dependency_mapper / formatting.py |
format_report |
|
67 |
67 |
0 |
|
0% |
| little_loops / dependency_mapper / formatting.py |
format_text_graph |
|
39 |
39 |
0 |
|
0% |
| little_loops / dependency_mapper / formatting.py |
format_text_graph.build_chain |
|
16 |
16 |
0 |
|
0% |
| little_loops / dependency_mapper / formatting.py |
(no function) |
|
5 |
5 |
3 |
|
0% |
| little_loops / dependency_mapper / models.py |
ValidationResult.has_issues |
|
1 |
1 |
0 |
|
0% |
| little_loops / dependency_mapper / models.py |
(no function) |
|
38 |
38 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
apply_proposals |
|
11 |
11 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
_add_to_section |
|
30 |
30 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
_remove_from_section |
|
25 |
25 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
fix_dependencies |
|
34 |
34 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
gather_all_issue_ids |
|
13 |
13 |
0 |
|
0% |
| little_loops / dependency_mapper / operations.py |
(no function) |
|
11 |
11 |
3 |
|
0% |
| little_loops / doc_counts.py |
VerificationResult.add_result |
|
3 |
3 |
0 |
|
0% |
| little_loops / doc_counts.py |
count_files |
|
6 |
6 |
0 |
|
0% |
| little_loops / doc_counts.py |
extract_count_from_line |
|
5 |
5 |
0 |
|
0% |
| little_loops / doc_counts.py |
verify_documentation |
|
22 |
22 |
0 |
|
0% |
| little_loops / doc_counts.py |
format_result_text |
|
9 |
9 |
0 |
|
0% |
| little_loops / doc_counts.py |
format_result_json |
|
3 |
3 |
0 |
|
0% |
| little_loops / doc_counts.py |
format_result_markdown |
|
11 |
11 |
0 |
|
0% |
| little_loops / doc_counts.py |
fix_counts |
|
24 |
24 |
0 |
|
0% |
| little_loops / doc_counts.py |
(no function) |
|
30 |
30 |
0 |
|
0% |
| little_loops / frontmatter.py |
parse_frontmatter |
|
28 |
28 |
0 |
|
0% |
| little_loops / frontmatter.py |
strip_frontmatter |
|
6 |
6 |
0 |
|
0% |
| little_loops / frontmatter.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| little_loops / fsm / concurrency.py |
_process_alive |
|
7 |
7 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
_iso_now |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
ScopeLock.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
ScopeLock.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.__init__ |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.acquire |
|
15 |
15 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.release |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.find_conflict |
|
17 |
17 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.list_locks |
|
14 |
14 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager.wait_for_scope |
|
7 |
7 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager._scopes_overlap |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager._paths_overlap |
|
15 |
15 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager._normalize_path |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
LockManager._process_alive |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / concurrency.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| little_loops / fsm / evaluators.py |
evaluate_exit_code |
|
6 |
6 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_output_numeric |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
_extract_json_path |
|
14 |
14 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
_compare_values |
|
4 |
4 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_output_json |
|
16 |
16 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_output_contains |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_convergence |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_diff_stall |
|
36 |
36 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_mcp_result |
|
12 |
12 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate_llm_structured |
|
55 |
55 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
evaluate |
|
59 |
59 |
0 |
|
0% |
| little_loops / fsm / evaluators.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| little_loops / fsm / executor.py |
ExecutionResult.to_dict |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / executor.py |
ActionRunner.run |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
DefaultActionRunner.__init__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
DefaultActionRunner.run |
|
26 |
26 |
0 |
|
0% |
| little_loops / fsm / executor.py |
DefaultActionRunner.run._drain_stderr |
|
3 |
3 |
0 |
|
0% |
| little_loops / fsm / executor.py |
SimulationActionRunner.run |
|
11 |
11 |
0 |
|
0% |
| little_loops / fsm / executor.py |
SimulationActionRunner._scenario_result |
|
11 |
11 |
0 |
|
0% |
| little_loops / fsm / executor.py |
SimulationActionRunner._prompt_result |
|
20 |
20 |
0 |
|
0% |
| little_loops / fsm / executor.py |
_now_ms |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
_iso_now |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor.__init__ |
|
18 |
18 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor.request_shutdown |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor.run |
|
65 |
65 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._execute_sub_loop |
|
14 |
14 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._execute_state |
|
27 |
27 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._run_action |
|
27 |
27 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._run_action._on_line |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._run_subprocess |
|
21 |
21 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._run_subprocess._drain_stderr |
|
3 |
3 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._evaluate |
|
25 |
25 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._route |
|
20 |
20 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._resolve_route |
|
3 |
3 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._action_mode |
|
9 |
9 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._build_context |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._emit |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._finish |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / executor.py |
FSMExecutor._handle_handoff |
|
6 |
6 |
0 |
|
0% |
| little_loops / fsm / executor.py |
(no function) |
|
66 |
0 |
0 |
|
100% |
| little_loops / fsm / handoff_handler.py |
HandoffHandler.__init__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / handoff_handler.py |
HandoffHandler.handle |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / handoff_handler.py |
HandoffHandler._spawn_continuation |
|
6 |
6 |
0 |
|
0% |
| little_loops / fsm / handoff_handler.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| little_loops / fsm / interpolation.py |
InterpolationContext.resolve |
|
22 |
22 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
InterpolationContext._get_nested |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
InterpolationContext._get_state_value |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
InterpolationContext._get_loop_value |
|
9 |
9 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
interpolate |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
interpolate.replace_var |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
interpolate_dict |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
_interpolate_list |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
_format_duration |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / interpolation.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| little_loops / fsm / persistence.py |
_iso_now |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
_now_ms |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
LoopState.to_dict |
|
8 |
8 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
LoopState.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.__init__ |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.initialize |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.save_state |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.load_state |
|
11 |
11 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.clear_state |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.append_event |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.read_events |
|
12 |
12 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.clear_events |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.archive_run |
|
15 |
15 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
StatePersistence.clear_all |
|
3 |
3 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor.__init__ |
|
12 |
12 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor.request_shutdown |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor._handle_event |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor._save_state |
|
7 |
7 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor.run |
|
13 |
13 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
PersistentExecutor.resume |
|
21 |
21 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
list_running_loops |
|
12 |
12 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
list_run_history |
|
13 |
13 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
get_archived_events |
|
14 |
14 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
get_loop_history |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / persistence.py |
(no function) |
|
56 |
0 |
0 |
|
100% |
| little_loops / fsm / schema.py |
EvaluateConfig.to_dict |
|
32 |
32 |
0 |
|
0% |
| little_loops / fsm / schema.py |
EvaluateConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / schema.py |
RouteConfig.to_dict |
|
6 |
6 |
0 |
|
0% |
| little_loops / fsm / schema.py |
RouteConfig.from_dict |
|
2 |
2 |
0 |
|
0% |
| little_loops / fsm / schema.py |
StateConfig.to_dict |
|
40 |
40 |
0 |
|
0% |
| little_loops / fsm / schema.py |
StateConfig.from_dict |
|
7 |
7 |
0 |
|
0% |
| little_loops / fsm / schema.py |
StateConfig.get_referenced_states |
|
24 |
24 |
0 |
|
0% |
| little_loops / fsm / schema.py |
LLMConfig.to_dict |
|
10 |
10 |
0 |
|
0% |
| little_loops / fsm / schema.py |
LLMConfig.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / schema.py |
FSMLoop.to_dict |
|
25 |
25 |
0 |
|
0% |
| little_loops / fsm / schema.py |
FSMLoop.from_dict |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / schema.py |
FSMLoop.get_all_state_names |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / schema.py |
FSMLoop.get_terminal_states |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / schema.py |
FSMLoop.get_all_referenced_states |
|
4 |
4 |
0 |
|
0% |
| little_loops / fsm / schema.py |
(no function) |
|
89 |
0 |
0 |
|
100% |
| little_loops / fsm / signal_detector.py |
SignalPattern.__init__ |
|
2 |
0 |
0 |
|
100% |
| little_loops / fsm / signal_detector.py |
SignalPattern.search |
|
5 |
5 |
0 |
|
0% |
| little_loops / fsm / signal_detector.py |
SignalDetector.__init__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / signal_detector.py |
SignalDetector.detect |
|
1 |
1 |
0 |
|
0% |
| little_loops / fsm / signal_detector.py |
SignalDetector.detect_first |
|
4 |
4 |
0 |
|
0% |
| little_loops / fsm / signal_detector.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| little_loops / fsm / validation.py |
ValidationError.__str__ |
|
4 |
4 |
0 |
|
0% |
| little_loops / fsm / validation.py |
_validate_evaluator |
|
21 |
21 |
0 |
|
0% |
| little_loops / fsm / validation.py |
_validate_state_action |
|
7 |
7 |
0 |
|
0% |
| little_loops / fsm / validation.py |
_validate_state_routing |
|
18 |
18 |
0 |
|
0% |
| little_loops / fsm / validation.py |
validate_fsm |
|
31 |
31 |
0 |
|
0% |
| little_loops / fsm / validation.py |
_find_reachable_states |
|
13 |
13 |
0 |
|
0% |
| little_loops / fsm / validation.py |
load_and_validate |
|
27 |
27 |
0 |
|
0% |
| little_loops / fsm / validation.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| little_loops / git_operations.py |
GitignorePattern.__post_init__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / git_operations.py |
GitignorePattern.is_wildcard |
|
1 |
1 |
0 |
|
0% |
| little_loops / git_operations.py |
GitignorePattern.is_directory |
|
1 |
1 |
0 |
|
0% |
| little_loops / git_operations.py |
GitignoreSuggestion.has_suggestions |
|
1 |
1 |
0 |
|
0% |
| little_loops / git_operations.py |
GitignoreSuggestion.files_to_ignore |
|
4 |
4 |
0 |
|
0% |
| little_loops / git_operations.py |
GitignoreSuggestion.summary |
|
5 |
5 |
0 |
|
0% |
| little_loops / git_operations.py |
check_git_status |
|
13 |
13 |
0 |
|
0% |
| little_loops / git_operations.py |
get_untracked_files |
|
15 |
15 |
0 |
|
0% |
| little_loops / git_operations.py |
_read_existing_gitignore |
|
13 |
13 |
0 |
|
0% |
| little_loops / git_operations.py |
_file_matches_pattern |
|
22 |
22 |
0 |
|
0% |
| little_loops / git_operations.py |
_is_already_ignored |
|
7 |
7 |
0 |
|
0% |
| little_loops / git_operations.py |
suggest_gitignore_patterns |
|
29 |
29 |
0 |
|
0% |
| little_loops / git_operations.py |
add_patterns_to_gitignore |
|
33 |
33 |
0 |
|
0% |
| little_loops / git_operations.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| little_loops / goals_parser.py |
Persona.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / goals_parser.py |
Priority.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / goals_parser.py |
ProductGoals.from_file |
|
7 |
7 |
0 |
|
0% |
| little_loops / goals_parser.py |
ProductGoals.from_content |
|
25 |
25 |
0 |
|
0% |
| little_loops / goals_parser.py |
ProductGoals.is_valid |
|
1 |
1 |
0 |
|
0% |
| little_loops / goals_parser.py |
validate_goals |
|
16 |
16 |
0 |
|
0% |
| little_loops / goals_parser.py |
(no function) |
|
30 |
30 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_extract_fix_commit |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_extract_files_changed |
|
9 |
9 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_extract_completion_date |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_commit_exists_in_history |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_get_files_modified_since_commit |
|
20 |
20 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
detect_regression_or_duplicate |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
_build_reopen_section |
|
26 |
26 |
0 |
|
0% |
| little_loops / issue_discovery / extraction.py |
(no function) |
|
14 |
14 |
2 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_skip |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_update |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_create |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_reopen |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_reopen_as_regression |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.should_reopen_as_invalid_fix |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
FindingMatch.is_unverified |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
_normalize_text |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
_extract_line_numbers |
|
8 |
8 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
_matches_issue_type |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_discovery / matching.py |
(no function) |
|
47 |
47 |
2 |
|
0% |
| little_loops / issue_discovery / search.py |
_get_all_issue_files |
|
17 |
17 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
search_issues_by_content |
|
17 |
17 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
search_issues_by_file_path |
|
12 |
12 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
find_existing_issue |
|
55 |
55 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
_get_category_from_issue_path |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
reopen_issue |
|
30 |
30 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
update_existing_issue |
|
15 |
15 |
0 |
|
0% |
| little_loops / issue_discovery / search.py |
(no function) |
|
15 |
15 |
3 |
|
0% |
| little_loops / issue_history / _utils.py |
get_issue_content |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_history / _utils.py |
(no function) |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_history / analysis.py |
_load_issue_contents |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_history / analysis.py |
calculate_analysis |
|
45 |
45 |
0 |
|
0% |
| little_loops / issue_history / analysis.py |
(no function) |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_history / coupling.py |
analyze_coupling |
|
32 |
32 |
0 |
|
0% |
| little_loops / issue_history / coupling.py |
_build_coupling_clusters |
|
30 |
30 |
0 |
|
0% |
| little_loops / issue_history / coupling.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_history / debt.py |
detect_cross_cutting_smells |
|
38 |
38 |
0 |
|
0% |
| little_loops / issue_history / debt.py |
analyze_agent_effectiveness |
|
37 |
37 |
0 |
|
0% |
| little_loops / issue_history / debt.py |
analyze_complexity_proxy |
|
75 |
75 |
0 |
|
0% |
| little_loops / issue_history / debt.py |
_calculate_debt_metrics |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_history / debt.py |
(no function) |
|
13 |
13 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
score_relevance |
|
15 |
15 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
_compute_corpus_stats |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
_extract_section |
|
10 |
10 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
_extract_title |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
synthesize_docs |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
build_narrative_doc |
|
30 |
30 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
build_structured_doc |
|
42 |
42 |
0 |
|
0% |
| little_loops / issue_history / doc_synthesis.py |
(no function) |
|
13 |
13 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_summary_text |
|
26 |
26 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_summary_json |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_analysis_json |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_analysis_yaml |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_analysis_text |
|
293 |
293 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
format_analysis_markdown |
|
324 |
324 |
0 |
|
0% |
| little_loops / issue_history / formatting.py |
(no function) |
|
9 |
9 |
0 |
|
0% |
| little_loops / issue_history / hotspots.py |
analyze_hotspots |
|
49 |
49 |
0 |
|
0% |
| little_loops / issue_history / hotspots.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_history / models.py |
CompletedIssue.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
HistorySummary.date_range_days |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
HistorySummary.velocity |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
HistorySummary.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
PeriodMetrics.bug_ratio |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_history / models.py |
PeriodMetrics.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
SubsystemHealth.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
Hotspot.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
HotspotAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
CouplingPair.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
CouplingAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RegressionCluster.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RegressionAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
TestGap.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
TestGapAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RejectionMetrics.rejection_rate |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RejectionMetrics.invalid_rate |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RejectionMetrics.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
RejectionAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ManualPattern.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ManualPatternAnalysis.automatable_percentage |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ManualPatternAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ConfigGap.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ConfigGapsAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
AgentOutcome.total_count |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
AgentOutcome.success_rate |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_history / models.py |
AgentOutcome.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
AgentEffectivenessAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
TechnicalDebtMetrics.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ComplexityProxy.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
ComplexityProxyAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
CrossCuttingSmell.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
CrossCuttingAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
HistoryAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / models.py |
(no function) |
|
253 |
253 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
parse_completed_issue |
|
17 |
17 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_parse_discovered_by |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_parse_completion_date |
|
11 |
11 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_parse_resolution_action |
|
20 |
20 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_detect_processing_agent |
|
21 |
21 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
scan_completed_issues |
|
10 |
10 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_parse_discovered_date |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_extract_subsystem |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_extract_paths_from_issue |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
_find_test_file |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
scan_active_issues |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_history / parsing.py |
(no function) |
|
19 |
19 |
0 |
|
0% |
| little_loops / issue_history / quality.py |
analyze_test_gaps |
|
35 |
35 |
0 |
|
0% |
| little_loops / issue_history / quality.py |
analyze_rejection_rates |
|
69 |
69 |
0 |
|
0% |
| little_loops / issue_history / quality.py |
detect_manual_patterns |
|
33 |
33 |
0 |
|
0% |
| little_loops / issue_history / quality.py |
detect_config_gaps |
|
45 |
45 |
0 |
|
0% |
| little_loops / issue_history / quality.py |
(no function) |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_history / regressions.py |
analyze_regression_clustering |
|
57 |
57 |
0 |
|
0% |
| little_loops / issue_history / regressions.py |
(no function) |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
calculate_summary |
|
15 |
15 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
_calculate_period_label |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
_group_by_period |
|
42 |
42 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
_calculate_trend |
|
13 |
13 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
_analyze_subsystems |
|
25 |
25 |
0 |
|
0% |
| little_loops / issue_history / summary.py |
(no function) |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
classify_failure |
|
20 |
20 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_build_closure_resolution |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_build_completion_resolution |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_prepare_issue_content |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_is_git_tracked |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_cleanup_stale_source |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_move_issue_to_completed |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_commit_issue_completion |
|
21 |
21 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
verify_issue_completed |
|
12 |
12 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
create_issue_from_failure |
|
23 |
23 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
close_issue |
|
28 |
28 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
complete_issue_lifecycle |
|
25 |
25 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_build_deferred_section |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
_build_undeferred_section |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
defer_issue |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
undefer_issue |
|
28 |
28 |
0 |
|
0% |
| little_loops / issue_lifecycle.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| little_loops / issue_manager.py |
_compute_relative_path |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_manager.py |
timed_phase |
|
7 |
7 |
0 |
|
0% |
| little_loops / issue_manager.py |
run_claude_command |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_manager.py |
run_claude_command.stream_callback |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_manager.py |
run_with_continuation |
|
24 |
24 |
0 |
|
0% |
| little_loops / issue_manager.py |
detect_plan_creation |
|
9 |
9 |
0 |
|
0% |
| little_loops / issue_manager.py |
check_content_markers |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_manager.py |
process_issue_inplace |
|
139 |
139 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager.__init__ |
|
28 |
28 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager._signal_handler |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager._get_next_issue |
|
19 |
19 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager._log_blocked_issues |
|
8 |
8 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager.run |
|
34 |
34 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager._log_timing_summary |
|
30 |
30 |
0 |
|
0% |
| little_loops / issue_manager.py |
AutoManager._process_issue |
|
16 |
16 |
0 |
|
0% |
| little_loops / issue_manager.py |
(no function) |
|
48 |
0 |
0 |
|
100% |
| little_loops / issue_parser.py |
is_normalized |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
is_formatted |
|
27 |
27 |
0 |
|
0% |
| little_loops / issue_parser.py |
slugify |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_parser.py |
get_next_issue_number |
|
18 |
18 |
0 |
|
0% |
| little_loops / issue_parser.py |
ProductImpact.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
ProductImpact.from_dict |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueInfo.priority_int |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueInfo.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueInfo.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser.__init__ |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._build_prefix_map |
|
3 |
3 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser.parse_file |
|
26 |
26 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_priority |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._get_category_for_prefix |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_type_and_id |
|
12 |
12 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._generate_id_from_filename |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._read_content |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_title_from_content |
|
8 |
8 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_section_items |
|
14 |
14 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._strip_code_fences |
|
10 |
10 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_blocked_by |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_blocks |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_parser.py |
IssueParser._parse_product_impact |
|
4 |
4 |
0 |
|
0% |
| little_loops / issue_parser.py |
find_issues |
|
34 |
34 |
0 |
|
0% |
| little_loops / issue_parser.py |
find_highest_priority_issue |
|
2 |
2 |
0 |
|
0% |
| little_loops / issue_parser.py |
(no function) |
|
64 |
0 |
2 |
|
100% |
| little_loops / issue_template.py |
_default_templates_dir |
|
1 |
1 |
0 |
|
0% |
| little_loops / issue_template.py |
load_issue_sections |
|
5 |
5 |
0 |
|
0% |
| little_loops / issue_template.py |
assemble_issue_markdown |
|
36 |
36 |
0 |
|
0% |
| little_loops / issue_template.py |
_append_section |
|
6 |
6 |
0 |
|
0% |
| little_loops / issue_template.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| little_loops / link_checker.py |
LinkCheckResult.has_errors |
|
1 |
1 |
0 |
|
0% |
| little_loops / link_checker.py |
extract_links_from_markdown |
|
13 |
13 |
0 |
|
0% |
| little_loops / link_checker.py |
is_internal_reference |
|
7 |
7 |
0 |
|
0% |
| little_loops / link_checker.py |
should_ignore_url |
|
4 |
4 |
0 |
|
0% |
| little_loops / link_checker.py |
check_url |
|
15 |
15 |
0 |
|
0% |
| little_loops / link_checker.py |
check_markdown_links |
|
40 |
40 |
0 |
|
0% |
| little_loops / link_checker.py |
load_ignore_patterns |
|
19 |
19 |
0 |
|
0% |
| little_loops / link_checker.py |
format_result_text |
|
20 |
20 |
0 |
|
0% |
| little_loops / link_checker.py |
format_result_json |
|
2 |
2 |
0 |
|
0% |
| little_loops / link_checker.py |
format_result_markdown |
|
23 |
23 |
0 |
|
0% |
| little_loops / link_checker.py |
(no function) |
|
39 |
39 |
0 |
|
0% |
| little_loops / logger.py |
Logger.__init__ |
|
10 |
10 |
0 |
|
0% |
| little_loops / logger.py |
Logger._timestamp |
|
1 |
1 |
0 |
|
0% |
| little_loops / logger.py |
Logger._format |
|
4 |
4 |
0 |
|
0% |
| little_loops / logger.py |
Logger.info |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.debug |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.success |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.warning |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.error |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.timing |
|
2 |
2 |
0 |
|
0% |
| little_loops / logger.py |
Logger.header |
|
5 |
5 |
0 |
|
0% |
| little_loops / logger.py |
format_duration |
|
3 |
3 |
0 |
|
0% |
| little_loops / logger.py |
(no function) |
|
25 |
0 |
2 |
|
100% |
| little_loops / logo.py |
get_logo |
|
4 |
4 |
0 |
|
0% |
| little_loops / logo.py |
print_logo |
|
4 |
4 |
0 |
|
0% |
| little_loops / logo.py |
(no function) |
|
4 |
4 |
0 |
|
0% |
| little_loops / mcp_call.py |
_load_mcp_config |
|
5 |
5 |
0 |
|
0% |
| little_loops / mcp_call.py |
_find_server_config |
|
3 |
3 |
0 |
|
0% |
| little_loops / mcp_call.py |
_send_jsonrpc |
|
26 |
26 |
0 |
|
0% |
| little_loops / mcp_call.py |
call_mcp_tool |
|
59 |
59 |
0 |
|
0% |
| little_loops / mcp_call.py |
call_mcp_tool._drain_stderr |
|
3 |
3 |
0 |
|
0% |
| little_loops / mcp_call.py |
main |
|
20 |
20 |
0 |
|
0% |
| little_loops / mcp_call.py |
(no function) |
|
15 |
15 |
2 |
|
0% |
| little_loops / output_parsing.py |
_clean_verdict_content |
|
6 |
6 |
0 |
|
0% |
| little_loops / output_parsing.py |
_extract_verdict_from_text |
|
11 |
11 |
0 |
|
0% |
| little_loops / output_parsing.py |
parse_sections |
|
12 |
12 |
0 |
|
0% |
| little_loops / output_parsing.py |
parse_validation_table |
|
7 |
7 |
0 |
|
0% |
| little_loops / output_parsing.py |
parse_status_lines |
|
4 |
4 |
0 |
|
0% |
| little_loops / output_parsing.py |
parse_ready_issue_output |
|
95 |
95 |
0 |
|
0% |
| little_loops / output_parsing.py |
parse_manage_issue_output |
|
36 |
36 |
0 |
|
0% |
| little_loops / output_parsing.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| little_loops / parallel / file_hints.py |
FileHints.all_paths |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
FileHints.is_empty |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
FileHints.overlaps_with |
|
28 |
28 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
FileHints.contends_with |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
FileHints.get_overlapping_paths |
|
29 |
29 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
_is_common_file |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
_directories_overlap |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
_file_in_directory |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
_extract_write_target_files |
|
8 |
8 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
extract_file_hints |
|
9 |
9 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
_is_valid_path |
|
10 |
10 |
0 |
|
0% |
| little_loops / parallel / file_hints.py |
(no function) |
|
30 |
0 |
2 |
|
100% |
| little_loops / parallel / git_lock.py |
GitLock.__init__ |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
GitLock.__enter__ |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
GitLock.__exit__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
GitLock.run |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
GitLock._run_with_retry |
|
27 |
27 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
GitLock._is_index_lock_error |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / git_lock.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.__init__ |
|
17 |
17 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.start |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.shutdown |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.queue_merge |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._stash_local_changes |
|
33 |
33 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._pop_stash |
|
21 |
21 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._mark_state_file_assume_unchanged |
|
11 |
11 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._restore_state_file_tracking |
|
10 |
10 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_lifecycle_file_move |
|
9 |
9 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._commit_pending_lifecycle_moves |
|
18 |
18 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_local_changes_error |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_untracked_files_error |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_index_error |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_rebase_in_progress |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._abort_rebase_if_in_progress |
|
9 |
9 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._is_unmerged_files_error |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._detect_conflict_commit |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._check_and_recover_index |
|
37 |
37 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._attempt_hard_reset |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._merge_loop |
|
10 |
10 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._process_merge |
|
88 |
88 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._handle_conflict |
|
34 |
34 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._handle_untracked_conflict |
|
35 |
35 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._finalize_merge |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._handle_failure |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator._cleanup_worktree |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.merged_ids |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.failed_merges |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.pending_count |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.stash_pop_failures |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
MergeCoordinator.wait_for_completion |
|
9 |
9 |
0 |
|
0% |
| little_loops / parallel / merge_coordinator.py |
(no function) |
|
46 |
0 |
2 |
|
100% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator.__init__ |
|
21 |
21 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator.execution_duration |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator.run |
|
24 |
24 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._setup_signal_handlers |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._restore_signal_handlers |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._ensure_gitignore_entries |
|
18 |
18 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._cleanup_orphaned_worktrees |
|
35 |
35 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._inspect_worktree |
|
16 |
16 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._check_pending_worktrees |
|
31 |
31 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._merge_pending_worktrees |
|
20 |
20 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._signal_handler |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._load_state |
|
16 |
16 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._save_state |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._cleanup_state |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._dry_run |
|
28 |
28 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._maybe_report_status |
|
39 |
39 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._execute |
|
36 |
36 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._scan_issues |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._process_sequential |
|
11 |
11 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._process_parallel |
|
11 |
11 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._on_worker_complete |
|
33 |
33 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._requeue_deferred_issues |
|
11 |
11 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._merge_sequential |
|
13 |
13 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._wait_for_completion |
|
18 |
18 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._report_results |
|
66 |
66 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._complete_issue_lifecycle_if_needed |
|
40 |
40 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
ParallelOrchestrator._cleanup |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / orchestrator.py |
(no function) |
|
48 |
0 |
2 |
|
100% |
| little_loops / parallel / overlap_detector.py |
OverlapResult.__bool__ |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.__init__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.register_issue |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.unregister_issue |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.check_overlap |
|
14 |
14 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.get_active_issues |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.get_hints |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
OverlapDetector.clear |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / overlap_detector.py |
(no function) |
|
21 |
0 |
3 |
|
100% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.__init__ |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.add |
|
13 |
13 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.add_many |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.get |
|
8 |
8 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.mark_completed |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.mark_failed |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.requeue |
|
9 |
9 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.empty |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.qsize |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.in_progress_count |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.completed_count |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.failed_count |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.in_progress_ids |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.completed_ids |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.failed_ids |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.load_completed |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.load_failed |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
IssuePriorityQueue.scan_issues |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / priority_queue.py |
(no function) |
|
33 |
0 |
3 |
|
100% |
| little_loops / parallel / types.py |
QueuedIssue.__lt__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / types.py |
QueuedIssue.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
WorkerResult.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
WorkerResult.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
MergeRequest.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
OrchestratorState.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
OrchestratorState.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
PendingWorktreeInfo.has_pending_work |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
ParallelConfig.get_ready_command |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / types.py |
ParallelConfig.get_manage_command |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / types.py |
ParallelConfig.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / types.py |
ParallelConfig.from_dict |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / types.py |
(no function) |
|
117 |
0 |
2 |
|
100% |
| little_loops / parallel / worker_pool.py |
WorkerPool.__init__ |
|
15 |
15 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.start |
|
6 |
6 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.shutdown |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.set_shutdown_requested |
|
1 |
1 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.terminate_all_processes |
|
17 |
17 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.submit |
|
8 |
8 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._handle_completion |
|
19 |
19 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._process_issue |
|
70 |
70 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._setup_worktree |
|
38 |
38 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._detect_worktree_model_via_api |
|
12 |
12 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._cleanup_worktree |
|
13 |
13 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._run_claude_command |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._run_claude_command.stream_callback |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._run_claude_command.on_start |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._run_claude_command.on_end |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._run_with_continuation |
|
24 |
24 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._get_changed_files |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._update_branch_base |
|
10 |
10 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._verify_work_was_done |
|
13 |
13 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._has_other_issue_id |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._detect_main_repo_leaks |
|
30 |
30 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._cleanup_leaked_files |
|
42 |
42 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._get_main_repo_baseline |
|
12 |
12 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._get_main_head_sha |
|
4 |
4 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._detect_committed_leaks |
|
10 |
10 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool._recover_committed_leaks |
|
17 |
17 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.active_count |
|
5 |
5 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.set_worker_stage |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.get_worker_stage |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.get_active_stages |
|
3 |
3 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.remove_worker_stage |
|
2 |
2 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
WorkerPool.cleanup_all_worktrees |
|
7 |
7 |
0 |
|
0% |
| little_loops / parallel / worker_pool.py |
(no function) |
|
51 |
0 |
4 |
|
100% |
| little_loops / session_log.py |
parse_session_log |
|
5 |
5 |
0 |
|
0% |
| little_loops / session_log.py |
count_session_commands |
|
7 |
7 |
0 |
|
0% |
| little_loops / session_log.py |
get_current_session_jsonl |
|
7 |
7 |
0 |
|
0% |
| little_loops / session_log.py |
append_session_log_entry |
|
16 |
16 |
0 |
|
0% |
| little_loops / session_log.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| little_loops / sprint.py |
SprintOptions.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sprint.py |
SprintOptions.from_dict |
|
3 |
3 |
0 |
|
0% |
| little_loops / sprint.py |
SprintState.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sprint.py |
SprintState.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sprint.py |
Sprint.to_dict |
|
4 |
4 |
0 |
|
0% |
| little_loops / sprint.py |
Sprint.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sprint.py |
Sprint.save |
|
5 |
5 |
0 |
|
0% |
| little_loops / sprint.py |
Sprint.load |
|
6 |
6 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.__init__ |
|
7 |
7 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.get_default_options |
|
3 |
3 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.create |
|
3 |
3 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.load |
|
1 |
1 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.list_all |
|
6 |
6 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.delete |
|
5 |
5 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager._find_issue_path |
|
7 |
7 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.validate_issues |
|
8 |
8 |
0 |
|
0% |
| little_loops / sprint.py |
SprintManager.load_issue_infos |
|
14 |
14 |
0 |
|
0% |
| little_loops / sprint.py |
(no function) |
|
51 |
0 |
3 |
|
100% |
| little_loops / state.py |
ProcessingState.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / state.py |
ProcessingState.from_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / state.py |
StateManager.__init__ |
|
3 |
3 |
0 |
|
0% |
| little_loops / state.py |
StateManager.state |
|
3 |
3 |
0 |
|
0% |
| little_loops / state.py |
StateManager.load |
|
11 |
11 |
0 |
|
0% |
| little_loops / state.py |
StateManager.save |
|
6 |
6 |
0 |
|
0% |
| little_loops / state.py |
StateManager.cleanup |
|
6 |
6 |
0 |
|
0% |
| little_loops / state.py |
StateManager.update_current |
|
3 |
3 |
0 |
|
0% |
| little_loops / state.py |
StateManager.mark_attempted |
|
3 |
3 |
0 |
|
0% |
| little_loops / state.py |
StateManager.mark_completed |
|
6 |
6 |
0 |
|
0% |
| little_loops / state.py |
StateManager.mark_failed |
|
2 |
2 |
0 |
|
0% |
| little_loops / state.py |
StateManager.is_attempted |
|
1 |
1 |
0 |
|
0% |
| little_loops / state.py |
StateManager.record_corrections |
|
3 |
3 |
0 |
|
0% |
| little_loops / state.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| little_loops / subprocess_utils.py |
detect_context_handoff |
|
1 |
1 |
0 |
|
0% |
| little_loops / subprocess_utils.py |
read_continuation_prompt |
|
4 |
4 |
0 |
|
0% |
| little_loops / subprocess_utils.py |
run_claude_command |
|
58 |
58 |
0 |
|
0% |
| little_loops / subprocess_utils.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| little_loops / sync.py |
SyncResult.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sync.py |
SyncStatus.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / sync.py |
_run_gh_command |
|
4 |
4 |
0 |
|
0% |
| little_loops / sync.py |
_check_gh_auth |
|
6 |
6 |
0 |
|
0% |
| little_loops / sync.py |
_get_repo_name |
|
7 |
7 |
0 |
|
0% |
| little_loops / sync.py |
_update_issue_frontmatter |
|
8 |
8 |
0 |
|
0% |
| little_loops / sync.py |
_parse_issue_title |
|
11 |
11 |
0 |
|
0% |
| little_loops / sync.py |
_get_issue_body |
|
7 |
7 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.__init__ |
|
6 |
6 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._get_local_issues |
|
12 |
12 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._extract_issue_id |
|
4 |
4 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._get_labels_for_issue |
|
13 |
13 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.push_issues |
|
27 |
27 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._push_single_issue |
|
19 |
19 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._create_github_issue |
|
16 |
16 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._update_github_issue |
|
8 |
8 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._update_local_frontmatter |
|
7 |
7 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.pull_issues |
|
42 |
42 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._get_local_github_numbers |
|
11 |
11 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._determine_issue_type |
|
8 |
8 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._create_local_issue |
|
38 |
38 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.get_status |
|
18 |
18 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager._find_local_issue |
|
9 |
9 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.diff_issue |
|
33 |
33 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.diff_all |
|
28 |
28 |
0 |
|
0% |
| little_loops / sync.py |
GitHubSyncManager.close_issues |
|
43 |
43 |
0 |
|
0% |
| little_loops / sync.py |
(no function) |
|
68 |
0 |
3 |
|
100% |
| little_loops / text_utils.py |
extract_file_paths |
|
13 |
13 |
0 |
|
0% |
| little_loops / text_utils.py |
extract_words |
|
2 |
2 |
0 |
|
0% |
| little_loops / text_utils.py |
calculate_word_overlap |
|
5 |
5 |
0 |
|
0% |
| little_loops / text_utils.py |
score_bm25 |
|
10 |
10 |
0 |
|
0% |
| little_loops / text_utils.py |
(no function) |
|
14 |
14 |
0 |
|
0% |
| little_loops / user_messages.py |
UserMessage.to_dict |
|
4 |
4 |
0 |
|
0% |
| little_loops / user_messages.py |
ResponseMetadata.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / user_messages.py |
CommandRecord.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / user_messages.py |
_extract_response_metadata |
|
27 |
27 |
0 |
|
0% |
| little_loops / user_messages.py |
_aggregate_response_metadata |
|
35 |
35 |
0 |
|
0% |
| little_loops / user_messages.py |
_detect_completion_status |
|
12 |
12 |
0 |
|
0% |
| little_loops / user_messages.py |
_detect_error_message |
|
10 |
10 |
0 |
|
0% |
| little_loops / user_messages.py |
get_project_folder |
|
9 |
9 |
0 |
|
0% |
| little_loops / user_messages.py |
extract_user_messages |
|
38 |
38 |
0 |
|
0% |
| little_loops / user_messages.py |
extract_commands |
|
26 |
26 |
0 |
|
0% |
| little_loops / user_messages.py |
_parse_command_record |
|
31 |
31 |
0 |
|
0% |
| little_loops / user_messages.py |
_parse_user_record |
|
31 |
31 |
0 |
|
0% |
| little_loops / user_messages.py |
_extract_messages_with_context |
|
17 |
17 |
0 |
|
0% |
| little_loops / user_messages.py |
save_messages |
|
11 |
11 |
0 |
|
0% |
| little_loops / user_messages.py |
print_messages_to_stdout |
|
3 |
3 |
0 |
|
0% |
| little_loops / user_messages.py |
(no function) |
|
47 |
0 |
0 |
|
100% |
| little_loops / work_verification.py |
filter_excluded_files |
|
1 |
1 |
0 |
|
0% |
| little_loops / work_verification.py |
verify_work_was_done |
|
33 |
33 |
0 |
|
0% |
| little_loops / work_verification.py |
(no function) |
|
6 |
0 |
2 |
|
100% |
| little_loops / workflow_sequence_analyzer.py |
SessionLink.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
EntityCluster.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
WorkflowBoundary.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
Workflow.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
WorkflowAnalysis.to_dict |
|
1 |
1 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
extract_entities |
|
7 |
7 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
calculate_boundary_weight |
|
13 |
13 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
entity_overlap |
|
5 |
5 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
get_verb_class |
|
6 |
6 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
semantic_similarity |
|
9 |
9 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_load_messages |
|
15 |
15 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_load_patterns |
|
2 |
2 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_group_by_session |
|
7 |
7 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_detect_handoff |
|
3 |
3 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_parse_timestamps |
|
12 |
12 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_link_sessions |
|
47 |
47 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_cluster_by_entities |
|
45 |
45 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_compute_boundaries |
|
21 |
21 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_get_message_category |
|
6 |
6 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
_detect_workflows |
|
50 |
50 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
analyze_workflows |
|
56 |
56 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
main |
|
51 |
51 |
0 |
|
0% |
| little_loops / workflow_sequence_analyzer.py |
(no function) |
|
84 |
84 |
2 |
|
0% |