Orchestrata Ultimate › Tests › Reference › agents › volks › codedirector
Tests reference — tests/agents/volks/codedirector
tests/agents/volks/codedirector — 15 test modules, 408 test functions (cumulative over subdirectories). Source tree: tests/agents/volks/codedirector at commit 8a2cb42ad. Generated from the tests AST snapshot by scripts/gen-data-pages.py.
Prose pending.
Subdirectories
| Directory | Modules | Tests |
|---|---|---|
scaffold/ |
3 | 22 |
Modules
| Module | Tests | Covers |
|---|---|---|
test_implementation.py |
26 | 2 |
test_parser_extended.py |
51 | 1 |
test_prompts.py |
8 | 1 |
test_review.py |
29 | 2 |
test_review_checks.py |
104 | 1 |
test_review_checks_extended.py |
38 | 1 |
test_scaffold_generator.py |
17 | 2 |
test_scaffold_parser.py |
39 | 2 |
test_selfreview_identity.py |
4 | 1 |
test_volk.py |
40 | 6 |
test_volk_extended.py |
30 | 3 |
Module details
tests/agents/volks/codedirector/test_implementation.py
source · 26 tests · 395 lines
Covers: agents.volks.codedirector.implementation, core.packet/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_extract_design_docs_all_keys_present |
50 | |
| function | test_extract_design_docs_missing_defaults |
74 | |
| function | test_generate_skeleton_files_empty_docs |
91 | |
| function | test_fan_out_single_file_serial |
103 | |
| function | test_fan_out_multiple_files_parallel |
109 | |
| function | test_fan_out_caps_at_10 |
117 | |
| function | test_fan_out_uses_prolog_when_available |
123 | |
| function | test_fan_out_prolog_without_method_falls_back |
133 | |
| function | test_build_skeleton_prompt_reads_files |
144 | |
| function | test_build_skeleton_prompt_missing_file |
162 | |
| function | test_build_fallback_prompt_minimal |
168 | |
| function | test_build_fallback_prompt_with_architecture |
183 | |
| function | test_append_prompt_extras_with_all |
199 | |
| function | test_append_prompt_extras_empty_extras |
207 | |
| function | test_read_file_contents_reads_each |
219 | |
| function | test_read_file_contents_skips_missing |
228 | |
| function | test_scan_workspace_missing_returns_empty |
235 | |
| function | test_scan_workspace_filters |
239 | |
| function | test_build_swarm_response |
256 | |
| function | test_generate_skeleton_files_tolerates_template_error |
286 | When file_tree and api_spec are provided, generate_skeleton_files |
| function | test_execute_swarm_path_empty_source_list |
312 | |
| class | TestGenerateSkeletonFromContract |
336 | |
| method | TestGenerateSkeletonFromContract.test_valid_contract_produces_file_and_leafmap |
337 | |
| method | TestGenerateSkeletonFromContract.test_invalid_contract_returns_empty_list |
350 | |
| class | TestGenerateSkeletonFilesSkeletonFlow |
358 | |
| method | TestGenerateSkeletonFilesSkeletonFlow.test_flag_on_uses_contract |
359 | |
| class | TestBuildSkeletonPromptLeafFill |
381 | |
| method | TestBuildSkeletonPromptLeafFill.test_adds_strict_leaf_fill_for_gen_skeleton |
382 | |
| method | TestBuildSkeletonPromptLeafFill.test_no_extra_leaf_rule_for_scaffold_skeleton |
392 |
tests/agents/volks/codedirector/test_parser_extended.py
source · 51 tests · 633 lines
Covers: agents.volks.codedirector.scaffold.parser
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_parse_file_tree_header_in_middle |
49 | |
| function | test_parse_file_tree_mixed_tree_and_plain |
61 | |
| function | test_parse_api_spec_py_module_flushes_previous_class |
78 | |
| function | test_parse_api_spec_non_py_module_flushes_previous |
96 | |
| function | test_parse_api_spec_inline_import |
115 | |
| function | test_parse_api_spec_multiple_classes |
128 | |
| function | test_parse_api_spec_classes_marker |
146 | |
| function | test_parse_api_spec_decorator_lines |
163 | |
| function | test_parse_api_spec_class_docstring |
178 | |
| function | test_parse_api_spec_module_function_raises |
191 | |
| function | test_parse_api_spec_empty |
203 | |
| function | test_parse_api_spec_dataclass_names |
207 | |
| function | test_parse_api_spec_architect_method_no_def |
229 | |
| function | test_parse_api_spec_return_type_with_colon |
243 | |
| function | test_parse_api_spec_from_imports |
255 | |
| function | test_parse_api_spec_field_with_generic_type |
271 | |
| function | test_parse_api_spec_skip_enum_and_raises_as_field_names |
284 | |
| function | test_parse_code_blocks_stops_at_next_module |
305 | |
| function | test_parse_code_blocks_module_no_codeblock |
318 | |
| function | test_parse_code_blocks_path_match_blank_lines |
327 | |
| function | test_parse_code_blocks_src_dot_prefix |
341 | |
| function | test_parse_code_blocks_src_slash_prefix |
352 | |
| function | test_parse_code_blocks_mod_match_blank_lines |
363 | |
| function | test_parse_code_blocks_file_match_blank_lines |
375 | |
| function | test_parse_code_blocks_empty_codeblock |
388 | |
| function | test_parse_code_blocks_prevents_double_src |
398 | |
| function | test_parse_code_blocks_section_dir_resolved |
411 | |
| function | test_parse_code_blocks_file_header_no_colon |
425 | |
| function | test_parse_single_block_version_comment |
442 | |
| function | test_parse_single_block_multiple_modules |
457 | |
| function | test_parse_single_block_no_fence |
474 | |
| function | test_resolve_path_ambiguous_filename |
483 | |
| function | test_parse_dependencies_single_quotes |
496 | |
| function | test_parse_dependencies_no_section |
508 | |
| function | test_extract_package_name_deep_src_fallback |
521 | |
| function | test_extract_package_name_only_project_fallback |
526 | |
| function | test_build_project_spec_no_requirements_key |
535 | |
| function | test_build_project_spec_no_python_match |
544 | |
| function | test_parse_params_cls_skipped |
559 | |
| function | test_parse_params_args_kwargs |
565 | |
| function | test_parse_params_nested_brackets |
571 | |
| function | test_parse_params_trailing_comma |
576 | |
| function | test_add_param_no_colon_with_equals |
582 | |
| function | test_add_param_colon_no_equals |
589 | |
| function | test_normalize_module_path_basic |
600 | |
| function | test_normalize_module_path_with_py_extension |
604 | |
| function | test_normalize_module_path_src_dot_prefix |
608 | |
| function | test_normalize_module_path_src_slash_prefix |
612 | |
| function | test_normalize_module_path_double_src_dot |
616 | |
| function | test_normalize_module_path_no_double_nesting |
621 | |
| function | test_normalize_module_path_taskq_models |
628 |
tests/agents/volks/codedirector/test_prompts.py
source · 8 tests · 62 lines
Tests for agents.volks.codedirector.prompts.
Covers: agents.volks.codedirector.prompts
| Kind | Name | Line | Description |
|---|---|---|---|
| class | TestCodeDirectorPrompts |
31 | |
| method | TestCodeDirectorPrompts.test_constants |
32 | |
| method | TestCodeDirectorPrompts.test_system_prompt_non_empty |
38 | |
| method | TestCodeDirectorPrompts.test_system_prompt_contains_role |
42 | |
| method | TestCodeDirectorPrompts.test_system_prompt_contains_implementation_plan |
45 | |
| method | TestCodeDirectorPrompts.test_system_prompt_contains_tool_instructions |
48 | |
| method | TestCodeDirectorPrompts.test_self_review_prompt_non_empty |
52 | |
| method | TestCodeDirectorPrompts.test_self_review_prompt_contains_verdict |
56 | |
| method | TestCodeDirectorPrompts.test_self_review_prompt_contains_tags |
59 |
tests/agents/volks/codedirector/test_review.py
source · 29 tests · 479 lines
Covers: agents.volks.codedirector.review, core.packet/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_parse_verdict_pass |
54 | |
| function | test_parse_verdict_fail |
58 | |
| function | test_parse_verdict_default_fail |
62 | |
| function | test_parse_verdict_case_insensitive |
66 | |
| function | test_parse_issues_bulleted |
70 | |
| function | test_parse_issues_inline |
75 | |
| function | test_parse_issues_empty_marker |
80 | |
| function | test_parse_issues_stops_on_section |
85 | |
| function | test_parse_issues_no_section_returns_empty |
90 | |
| function | test_prioritize_issues_critical_first |
99 | |
| function | test_prioritize_issues_cap_to_5 |
109 | |
| function | test_prioritize_issues_mixed_unknown_tag |
115 | |
| function | test_build_fix_prompt_contains_sections |
126 | |
| function | test_review_context_holds_fields |
139 | |
| function | test_read_source_files_reads |
154 | |
| function | test_cap_issues_trims |
165 | |
| function | test_cap_issues_no_trim |
171 | |
| function | test_print_issues_no_raise |
176 | |
| function | test_prepare_fix_delegation_builds_junior_packet |
188 | |
| function | test_handle_fix_return_success |
220 | |
| function | test_handle_fix_return_failure_from_test_fix |
242 | |
| function | test_handle_fix_return_failure_not_from_test_fix |
262 | |
| function | test_build_qa_packet |
281 | |
| function | test_build_fix_failed_response |
301 | |
| function | test_self_review_loop_no_source_returns_input |
362 | With no files to review, loop returns input unchanged (and the LLM |
| function | test_self_review_loop_pass_first_cycle |
378 | |
| function | test_self_review_loop_fail_then_pass |
397 | |
| function | test_self_review_loop_folds_graph_context_into_user_message |
427 | W4.3b regression: _call_llm_with_tools has no graph_context= |
| function | test_apply_review_fixes_runs |
464 |
tests/agents/volks/codedirector/test_review_checks.py
source · 104 tests · 909 lines
Covers: agents.volks.codedirector.review_checks
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_parse_file_valid |
93 | |
| function | test_parse_file_syntax_error |
99 | |
| function | test_parse_file_missing |
105 | |
| function | test_read_lines_ok |
109 | |
| function | test_read_lines_missing |
115 | |
| function | test_is_public |
119 | |
| function | test_function_line_count_with_docstring |
124 | |
| function | test_function_line_count_empty_body |
137 | |
| function | test_get_pyproject_deps_none |
144 | |
| function | test_get_pyproject_deps_parses |
148 | |
| function | test_collect_imported_modules |
163 | |
| function | test_collect_imported_modules_ignores_relative |
173 | |
| function | test_check_imports_relative_flagged |
185 | |
| function | test_check_imports_order_violation |
194 | |
| function | test_check_imports_correct_order_passes |
206 | |
| function | test_check_file_completeness_missing_module |
220 | |
| function | test_check_file_completeness_present |
230 | |
| function | test_check_entry_point_missing |
246 | |
| function | test_check_entry_point_present |
252 | |
| function | test_check_entry_point_non_main |
258 | |
| function | test_check_dependency_declaration_missing |
268 | |
| function | test_check_dependency_declaration_satisfied |
276 | |
| function | test_check_dependency_declaration_empty_deps |
284 | |
| function | test_check_dependency_declaration_alias_pil |
292 | |
| function | test_check_dependency_declaration_skips_project_modules |
300 | |
| function | test_check_function_length_over_limit |
313 | |
| function | test_check_function_length_under_limit |
321 | |
| function | test_check_function_args_over_limit |
326 | |
| function | test_check_function_args_self_excluded |
332 | |
| function | test_check_no_placeholder_only_pass |
342 | |
| function | test_check_no_placeholder_not_implemented |
348 | |
| function | test_check_no_placeholder_has_body |
354 | |
| function | test_check_error_handling_bare_except |
364 | |
| function | test_check_error_handling_specific |
370 | |
| function | test_check_type_hints_missing_return |
380 | |
| function | test_check_type_hints_missing_param |
386 | |
| function | test_check_type_hints_init_params_checked |
392 | |
| function | test_check_type_hints_private_skipped |
398 | |
| function | test_check_mutable_defaults_list |
408 | |
| function | test_check_mutable_defaults_dict |
414 | |
| function | test_check_mutable_defaults_safe |
420 | |
| function | test_check_docstrings_missing_function |
430 | |
| function | test_check_docstrings_missing_class |
436 | |
| function | test_check_docstrings_present |
442 | |
| function | test_check_docstrings_skips_private |
451 | |
| function | test_check_line_length_over_limit |
461 | |
| function | test_check_line_length_url_exempted |
467 | |
| function | test_check_line_length_many_over |
473 | |
| function | test_check_security_eval_flagged |
485 | |
| function | test_check_security_exec_flagged |
491 | |
| function | test_check_security_hardcoded_secret |
497 | |
| function | test_check_security_env_var_not_secret |
504 | |
| function | test_check_security_comment_skipped |
511 | |
| function | test_check_security_api_key_pattern |
518 | |
| function | test_check_todo_comments_found |
530 | |
| function | test_check_todo_comments_none |
536 | |
| function | test_check_no_except_pass_bare |
545 | |
| function | test_check_no_except_pass_swallow |
551 | |
| function | test_check_no_except_pass_clean |
557 | |
| function | test_check_no_mocks_unittest_mock |
567 | |
| function | test_check_no_mocks_magicmock_usage |
573 | |
| function | test_check_no_mocks_comment_ignored |
579 | |
| function | test_check_no_mocks_clean |
584 | |
| function | test_check_real_infra_skipif_flagged |
594 | |
| function | test_check_real_infra_redis_without_host |
603 | |
| function | test_check_real_infra_neo4j_without_uri |
609 | The remediation text must name a key that still EXISTS. It used to say |
| function | test_check_real_infra_non_test_file_skipped |
619 | |
| function | test_check_real_infra_redis_with_host_ok |
624 | |
| function | test_check_lint_runs |
638 | |
| function | test_check_parameter_validation_missing |
651 | |
| function | test_check_parameter_validation_with_isinstance |
657 | |
| function | test_check_parameter_validation_with_assert |
668 | |
| function | test_check_parameter_validation_with_guard_raise |
674 | |
| function | test_check_parameter_validation_private_skipped |
682 | |
| function | test_check_parameter_validation_test_file_skipped |
687 | |
| function | test_check_parameter_validation_init_file_skipped |
692 | |
| function | test_check_parameter_validation_no_params_ok |
697 | |
| function | test_check_traceability_missing_on_public_class |
707 | |
| function | test_check_traceability_missing_on_public_function |
713 | |
| function | test_check_traceability_private_skipped |
719 | |
| function | test_check_traceability_test_file_skipped |
724 | |
| function | test_check_traceability_with_decorator |
729 | |
| function | test_check_traceability_attribute_decorator |
736 | |
| function | test_check_traceability_bare_name_decorator |
741 | |
| function | test_check_file_paths_invalid_identifier |
751 | |
| function | test_check_file_paths_traversal |
756 | |
| function | test_check_file_paths_missing_init |
761 | |
| function | test_check_file_paths_non_py_skipped |
766 | |
| function | test_check_file_paths_init_valid |
770 | |
| function | test_run_deterministic_review_empty_workspace |
782 | |
| function | test_run_deterministic_review_clean_project |
788 | |
| function | test_run_deterministic_review_with_syntax_error |
821 | |
| function | test_run_deterministic_review_filters_module_prefix |
827 | |
| function | test_review_gate_syntax_clean |
838 | |
| function | test_review_gate_syntax_detects_error |
844 | |
| function | test_review_gate_syntax_filepath_error |
850 | |
| function | test_review_gate_lint_runs |
856 | |
| function | test_review_gate_checklist_runs |
862 | |
| function | test_get_fix_instructions_empty |
873 | |
| function | test_get_fix_instructions_known_checks |
877 | |
| function | test_get_fix_instructions_unknown_check |
885 | |
| function | test_format_review_report_pass |
890 | |
| function | test_format_review_report_fail |
894 | |
| function | test_format_review_report_more_than_5 |
906 |
tests/agents/volks/codedirector/test_review_checks_extended.py
source · 38 tests · 477 lines
Covers: agents.volks.codedirector.review_checks
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_get_pyproject_deps_read_error |
63 | OSError on read (e.g. pyproject.toml is a directory). |
| function | test_check_imports_from_relative_module_flagged |
74 | Relative import from a module (level=1, module set). |
| function | test_check_file_completeness_skips_stdlib |
88 | Stdlib imports are skipped even if in project_modules. |
| function | test_check_file_completeness_dotted_import_missing |
99 | Dotted import like 'mypkg.submod' triggers sub-module candidate checks. |
| function | test_check_file_completeness_dotted_import_found_pkg_py |
110 | Dotted import found as mypkg/submod.py. |
| function | test_check_file_completeness_dotted_import_found_src_py |
122 | Dotted import found as src/mypkg/submod.py. |
| function | test_check_file_completeness_dotted_import_found_src_init |
134 | Dotted import found as src/mypkg/submod/init.py. |
| function | test_check_dependency_declaration_skips_stdlib |
151 | Stdlib imports are skipped even when declared_deps is non-empty. |
| function | test_check_function_length_async_over_limit |
165 | |
| function | test_check_type_hints_cls_param |
178 | classmethod with cls first param should skip cls when checking hints. |
| function | test_check_docstrings_private_class_skipped |
195 | Private class names (leading underscore) should be skipped. |
| function | test_check_docstrings_async_function_missing |
201 | Async public functions need docstrings too. |
| function | test_check_line_length_http_url_exempted |
213 | Lines with http:// URLs are exempt from line-length check. |
| function | test_check_security_os_environ_skipped |
225 | Lines containing os.environ should not be flagged as hardcoded secrets. |
| function | test_check_security_os_getenv_skipped |
233 | Lines containing os.getenv should not be flagged as hardcoded secrets. |
| function | test_check_no_except_pass_bare_and_swallow |
246 | Bare except + pass generates two issues. |
| function | test_check_parameter_validation_no_params_after_self |
260 | Method with only self should be skipped. |
| function | test_check_parameter_validation_validator_attribute |
267 | Validator called as attribute (e.g. self.validate_input). |
| function | test_check_parameter_validation_raise_call |
279 | raise ValueError('msg') counts as validation. |
| function | test_check_parameter_validation_raise_name |
286 | raise ValueError (without call) counts as validation. |
| function | test_check_parameter_validation_isinstance_standalone |
293 | isinstance called outside of if/raise still counts as validation. |
| function | test_check_file_paths_valid_nested_package |
305 | All package directories have init.py — no issues. |
| function | test_run_deterministic_review_scans_test_files |
319 | Workspace scan discovers test files not in the input list. |
| function | test_run_deterministic_review_missing_file |
328 | Non-existent files in the input list are skipped gracefully. |
| function | test_run_deterministic_review_filters_pseudo_files |
334 | Files with 'Module:' prefix in path are filtered out. |
| function | test_review_gate_syntax_missing_file |
347 | Non-existent files are skipped in syntax gate. |
| function | test_review_gate_lint_with_src_modules |
353 | Gate discovers project modules under src/. |
| function | test_review_gate_lint_with_workspace_package |
363 | Gate discovers project modules at workspace root. |
| function | test_review_gate_lint_missing_file |
373 | Non-existent files are skipped in lint gate. |
| function | test_review_gate_lint_syntax_error_skipped |
379 | Syntax-error files are skipped (Gate 1 would catch them). |
| function | test_review_gate_checklist_with_src_modules |
386 | Checklist gate discovers project modules under src/. |
| function | test_review_gate_checklist_with_workspace_package |
396 | Checklist gate discovers project modules at workspace root. |
| function | test_review_gate_checklist_missing_file |
406 | Non-existent files are skipped in checklist gate. |
| function | test_review_gate_checklist_syntax_error_skipped |
412 | Syntax-error files are skipped in checklist gate. |
| function | test_format_review_report_exactly_five |
424 | Five issues for one check should not show '...and more'. |
| function | test_format_review_report_six_shows_more |
431 | Six issues for one check should show '...and 1 more'. |
| function | test_get_fix_instructions_duplicate_checks |
438 | Duplicate check IDs should only show instruction once. |
| function | test_get_fix_instructions_all_known_checks |
447 | Smoke test that every known check ID maps to an instruction. |
tests/agents/volks/codedirector/test_scaffold_generator.py
source · 17 tests · 373 lines
Covers: agents.volks.codedirector.scaffold.generator, agents.volks.codedirector.scaffold.types
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_method_params_self |
128 | |
| function | test_method_params_classmethod_cls |
133 | |
| function | test_func_params_no_self |
138 | |
| function | test_func_params_empty |
143 | |
| function | test_create_jinja_env_has_filters |
152 | |
| function | test_find_module_spec_match |
163 | |
| function | test_find_module_spec_no_match |
175 | |
| function | test_write_file_creates_parents |
185 | |
| function | test_write_code_blocks |
191 | |
| function | test_generate_skeleton_via_code_blocks_fallback |
208 | When templates are unavailable the call should raise loudly. |
| function | test_generate_pyproject_writes_file |
262 | |
| function | test_generate_conftest_writes_file |
271 | |
| function | test_generate_init_files_writes |
278 | |
| function | test_generate_modules_writes |
286 | |
| function | test_create_directories_creates_tests_subdirs |
296 | |
| function | test_generate_skeleton_happy_path |
311 | Install DictLoader env so the full pipeline runs. |
| function | test_generate_skeleton_with_code_blocks |
348 | Kimi-style API_SPEC uses code blocks and bypasses module stubs. |
tests/agents/volks/codedirector/test_scaffold_parser.py
source · 39 tests · 459 lines
Covers: agents.volks.codedirector.scaffold.parser, agents.volks.codedirector.scaffold.types
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_parse_file_tree_simple_plain |
51 | |
| function | test_parse_file_tree_tree_chars |
65 | |
| function | test_parse_file_tree_empty_and_header_skipped |
76 | |
| function | test_parse_file_tree_nested |
81 | |
| function | test_parse_api_spec_module_with_class_and_method |
99 | |
| function | test_parse_api_spec_async_method |
122 | |
| function | test_parse_api_spec_module_level_function |
135 | |
| function | test_parse_api_spec_bases |
147 | |
| function | test_parse_api_spec_fields |
159 | |
| function | test_parse_api_spec_docstring_applied |
175 | |
| function | test_parse_api_spec_raises_line |
188 | |
| function | test_parse_api_spec_skips_non_py_modules |
203 | |
| function | test_parse_api_spec_enum_values |
214 | |
| function | test_parse_dependencies |
234 | |
| function | test_parse_dependencies_empty |
246 | |
| function | test_extract_package_name_simple |
255 | |
| function | test_extract_package_name_fallback |
260 | |
| function | test_extract_package_name_with_dotted |
264 | |
| function | test_parse_code_blocks_file_header |
276 | |
| function | test_parse_code_blocks_module_header_dotted |
290 | |
| function | test_parse_code_blocks_module_header_with_py_suffix |
303 | |
| function | test_parse_code_blocks_section_dir_file_header |
314 | |
| function | test_parse_code_blocks_standard_module_header |
327 | |
| function | test_parse_code_blocks_fallback_single_block |
338 | |
| function | test_parse_code_blocks_none_returns_empty |
352 | |
| function | test_parse_single_block_empty |
356 | |
| function | test_resolve_path_unique_match |
365 | |
| function | test_resolve_path_current_dir |
370 | |
| function | test_resolve_path_no_match |
374 | |
| function | test_build_project_spec_integration |
383 | |
| function | test_build_project_spec_default_python |
409 | |
| function | test_parse_params_empty |
419 | |
| function | test_parse_params_self_only |
423 | |
| function | test_parse_params_typed |
427 | |
| function | test_parse_params_with_default |
433 | |
| function | test_parse_params_no_type_defaults_to_any |
438 | |
| function | test_parse_params_respects_brackets |
443 | |
| function | test_add_param_empty_noop |
449 | |
| function | test_add_param_self_skipped |
455 |
tests/agents/volks/codedirector/test_selfreview_identity.py
source · 4 tests · 42 lines
VP-A8: SELF_REVIEW_PROMPT identifies as U:Cd and notes the fix_issues handoff.
Covers: agents.volks.codedirector.prompts
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_self_review_identifies_as_codedirector |
11 | |
| function | test_self_review_notes_fail_routes_fix_issues |
18 | |
| function | test_self_review_preserves_output_format_markers |
25 | |
| function | test_self_review_preserves_methodology_steps |
32 |
tests/agents/volks/codedirector/test_volk.py
source · 40 tests · 984 lines
Covers: agents.exceptions, agents.volks.codedirector.implementation, agents.volks.codedirector.volk, llm.client, core.packet/ (package), core.protocols/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_init_defaults |
53 | |
| function | test_codedirector_agent_subclass |
63 | |
| function | test_process_unknown_subject_returns_none |
73 | |
| function | test_init_from_packet_sets_fields |
90 | |
| function | test_init_from_packet_empty_project_keeps_workspace |
112 | |
| function | test_build_aider_prompt_with_skeleton |
131 | |
| function | test_build_aider_prompt_fallback |
150 | |
| function | test_serial_path_builds_junior_packet |
175 | |
| function | test_handle_fix_issues_delegates_to_junior |
200 | |
| function | test_make_ready_packet_basic |
232 | |
| function | test_make_ready_packet_swarm_flag |
252 | |
| function | test_make_ready_packet_full_output |
265 | |
| function | test_files_summary_with_files |
286 | |
| function | test_files_summary_without_files |
292 | |
| function | test_extract_aider_prompt_present |
303 | |
| function | test_extract_aider_prompt_absent |
311 | |
| function | test_get_fan_out_decision_no_prolog |
321 | |
| function | test_log_junior_output_appends |
328 | |
| function | test_handle_junior_complete_with_pending_fix |
342 | |
| function | test_handle_junior_complete_empty_files_no_review |
369 | |
| function | test_handle_junior_complete_driver_failure_raises_not_ready |
399 | success=False + zero files must raise, not emit implementation_ready. |
| function | test_handle_junior_complete_driver_failure_with_stray_files_still_raises |
426 | Regression matching the exact dogfood run-1 shape: scan_workspace() |
| function | test_handle_junior_complete_pending_fix_bypasses_success_check |
453 | The pending-fix branch returns before the success check runs -- a |
| function | test_handle_implement_serial_without_postman |
484 | |
| function | test_handle_implement_swarm_path_triggered |
506 | Exercise the _swarm_path branch by pre-populating skeleton files and |
| function | test_get_junior_driver_returns_instance |
591 | |
| function | test_process_junior_complete_self_review_routes_through_tools |
610 | process() with subject='implementation_complete' drives self-review |
| function | test_self_review_executes_real_tool_call_via_sandbox |
710 | The tool-calling loop lets U:Cd actually inspect the codebase (a real |
| function | test_multi_agent_review_edit_returns_verdict |
797 | The real dispatch path — process() with a real review_edit CXPPacket |
| function | test_review_edit_approves_valid_syntax |
813 | |
| function | test_review_edit_blocks_syntax_error |
823 | |
| function | test_review_edit_approves_indented_mid_function_fragment |
834 | F1 regression: new_code is typically an indented FRAGMENT (a |
| function | test_review_edit_blocks_genuinely_broken_indented_fragment |
848 | A fragment that is broken Python even after dedent/wrap-fallback |
| function | test_review_edit_blocks_massive_deletion |
860 | |
| function | test_review_edit_blocks_new_bare_except |
870 | |
| function | test_review_edit_reads_nested_edit_payload_shape |
881 | The real MultiAgentCoordinator.dispatch_review sends |
| class | TestPreserveGenSkeletonOriginals |
913 | |
| method | TestPreserveGenSkeletonOriginals.test_copies_only_files_with_leafmap |
914 | |
| method | TestPreserveGenSkeletonOriginals.test_skips_scaffold_files_without_leafmap |
926 | |
| class | TestCheckGenSkeletonStructuralEscapes |
935 | |
| method | TestCheckGenSkeletonStructuralEscapes.test_detects_method_deletion |
936 | |
| method | TestCheckGenSkeletonStructuralEscapes.test_no_escape_when_only_leaf_body_changes |
963 |
tests/agents/volks/codedirector/test_volk_extended.py
source · 30 tests · 667 lines
Covers: agents.volks.codedirector.implementation, agents.volks.codedirector.volk, core.packet/ (package)
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_agent_alias_and_role |
43 | |
| function | test_agent_subclass_alias_preserved |
49 | |
| function | test_set_postman_sets_private_attr |
55 | |
| function | test_set_kg_sets_private_attr |
62 | |
| function | test_init_defaults_all_fields |
69 | |
| function | test_process_routes_implement |
87 | |
| function | test_process_routes_implementation_complete |
106 | |
| function | test_process_routes_fix_issues |
122 | |
| function | test_init_from_packet_no_optional_fields |
150 | |
| function | test_init_from_packet_with_project_dir |
169 | |
| function | test_build_aider_prompt_with_monorepo_and_intent |
191 | |
| function | test_build_aider_prompt_fallback_all_design_docs |
212 | |
| function | test_handle_implement_serial_with_skeleton_but_no_postman |
245 | When skeleton files exist but postman is None, serial path is taken. |
| function | test_handle_implement_prolog_disallowed_with_postman |
291 | Prolog disallows fan-out → serial path even with postman present. |
| function | test_swarm_path_empty_files_created_skips_self_review |
364 | When execute_swarm_path returns empty files, skip self-review. |
| function | test_handle_junior_complete_with_files_triggers_self_review |
426 | When files are present and no pending fix, self-review runs. |
| function | test_handle_fix_issues_without_project_dir |
462 | fix_issues packet without project_dir should not alter workspace. |
| function | test_handle_fix_issues_empty_issues_list |
487 | fix_issues with empty issues list still produces a valid delegation. |
| function | test_make_ready_packet_neither_swarm_nor_full_output |
514 | |
| function | test_files_summary_various_modes |
537 | |
| function | test_extract_aider_prompt_with_extra_text |
552 | |
| function | test_extract_aider_prompt_multiline |
561 | |
| function | test_get_fan_out_decision_with_prolog |
573 | |
| function | test_get_fan_out_decision_fallback_two_files |
583 | |
| function | test_get_fan_out_decision_fallback_one_file |
592 | |
| function | test_log_junior_output_empty_files |
606 | |
| function | test_get_output_display_with_artifacts |
620 | |
| function | test_get_output_display_empty |
628 | |
| function | test_process_implement_missing_payload_keys |
639 | _handle_implement should survive missing optional payload keys. |
| function | test_process_junior_complete_missing_payload_keys |
654 | _handle_junior_complete should survive missing payload keys. |
Support files
Fixtures, package markers and helpers without test functions.