primus.cli.procedure package
Subpackages
- primus.cli.procedure.lua_dsl package
LuaDSLRuntime- Subpackages
- Submodules
- primus.cli.procedure.lua_dsl.execution_context module
- primus.cli.procedure.lua_dsl.lua_sandbox module
- primus.cli.procedure.lua_dsl.output_validator module
- primus.cli.procedure.lua_dsl.runtime module
- primus.cli.procedure.lua_dsl.test_runtime_basic module
- primus.cli.procedure.lua_dsl.test_runtime_failure_session_status module
- primus.cli.procedure.lua_dsl.yaml_parser module
- primus.cli.procedure.tactus_adapters package
OptimizerExternalChildResolverPrimusChatAdapterPrimusHITLAdapterPrimusStorageAdapterPrimusStorageAdapter.__init__()PrimusStorageAdapter.checkpoint_clear_after()PrimusStorageAdapter.checkpoint_clear_all()PrimusStorageAdapter.checkpoint_exists()PrimusStorageAdapter.checkpoint_get()PrimusStorageAdapter.checkpoint_save()PrimusStorageAdapter.get_state()PrimusStorageAdapter.load_procedure_metadata()PrimusStorageAdapter.save_procedure_metadata()PrimusStorageAdapter.set_state()PrimusStorageAdapter.state_clear()PrimusStorageAdapter.state_delete()PrimusStorageAdapter.state_get()PrimusStorageAdapter.state_set()PrimusStorageAdapter.update_procedure_status()
PrimusTraceSinkTerminalHITLAdapter- Submodules
- primus.cli.procedure.tactus_adapters.chat module
- primus.cli.procedure.tactus_adapters.external_children module
- primus.cli.procedure.tactus_adapters.hitl module
- primus.cli.procedure.tactus_adapters.rubric_memory_toolset module
- primus.cli.procedure.tactus_adapters.score_editor_toolset module
- primus.cli.procedure.tactus_adapters.storage module
- primus.cli.procedure.tactus_adapters.terminal_hitl module
- primus.cli.procedure.tactus_adapters.trace module
Submodules
- primus.cli.procedure.builtin_procedures module
- primus.cli.procedure.chat_recorder module
LangChainChatRecorderHookProcedureChatRecorderProcedureChatRecorder.__init__()ProcedureChatRecorder.end_session()ProcedureChatRecorder.get_console_session_history()ProcedureChatRecorder.get_latest_console_chat_metadata()ProcedureChatRecorder.get_latest_console_trigger_message()ProcedureChatRecorder.get_steering_messages()ProcedureChatRecorder.record_assistant_message()ProcedureChatRecorder.record_message()ProcedureChatRecorder.record_message_sync()ProcedureChatRecorder.record_message_with_sequence()ProcedureChatRecorder.record_system_message()ProcedureChatRecorder.record_tool_call()ProcedureChatRecorder.record_tool_response()ProcedureChatRecorder.record_user_message()ProcedureChatRecorder.start_session()ProcedureChatRecorder.update_message()ProcedureChatRecorder.update_session_name()
truncate_for_log()
- primus.cli.procedure.continuation_service module
- primus.cli.procedure.conversation_filter module
- primus.cli.procedure.conversation_utils module
- primus.cli.procedure.logging_utils module
- primus.cli.procedure.mcp_adapter module
- primus.cli.procedure.mcp_tool module
- primus.cli.procedure.mcp_transport module
- primus.cli.procedure.model_config module
ModelConfigModelConfig.__init__()ModelConfig.create_langchain_llm()ModelConfig.from_dict()ModelConfig.max_tokensModelConfig.modelModelConfig.model_kwargsModelConfig.openai_api_keyModelConfig.reasoning_effortModelConfig.streamModelConfig.temperatureModelConfig.to_langchain_kwargs()ModelConfig.verbosity
ModelConfigscreate_configured_llm()
- primus.cli.procedure.model_performance_frontier module
FrontierVariantFrontierVariant.__init__()FrontierVariant.as_dict()FrontierVariant.base_model_nameFrontierVariant.is_currentFrontierVariant.labelFrontierVariant.max_tokensFrontierVariant.model_nameFrontierVariant.model_providerFrontierVariant.reasoning_effortFrontierVariant.temperatureFrontierVariant.verbosityFrontierVariant.yaml_content
apply_override()build_result_row()build_variants()compact_report_envelope()mark_pareto_frontier()render_artifacts()
- primus.cli.procedure.parameter_parser module
- primus.cli.procedure.procedure_executor module
- primus.cli.procedure.procedures module
- primus.cli.procedure.reset_service module
- primus.cli.procedure.resume_service module
- primus.cli.procedure.scheduled_continuation module
- primus.cli.procedure.scorecard_model_retarget module
- primus.cli.procedure.service module
ProcedureCreationResultProcedureInfoProcedureServiceProcedureService.__init__()ProcedureService.create_procedure()ProcedureService.delete_procedure()ProcedureService.get_experiment_yaml()ProcedureService.get_or_create_default_template()ProcedureService.get_procedure_info()ProcedureService.get_procedure_yaml()ProcedureService.list_procedures()ProcedureService.run_procedure()ProcedureService.test_procedure_specs()ProcedureService.update_procedure_config()
- primus.cli.procedure.stale_timeout module
- primus.cli.procedure.state_machine module
ProcedureStateMachineProcedureStateMachine.__init__()ProcedureStateMachine.analyzeProcedureStateMachine.analyze_resultsProcedureStateMachine.beginProcedureStateMachine.completedProcedureStateMachine.continue_iterationProcedureStateMachine.errorProcedureStateMachine.evaluationProcedureStateMachine.fail_from_evaluationProcedureStateMachine.fail_from_hypothesisProcedureStateMachine.fail_from_insightsProcedureStateMachine.fail_from_startProcedureStateMachine.fail_from_testProcedureStateMachine.final_statesProcedureStateMachine.finish_from_hypothesisProcedureStateMachine.finish_from_insightsProcedureStateMachine.hypothesisProcedureStateMachine.idProcedureStateMachine.initial_stateProcedureStateMachine.insightsProcedureStateMachine.nameProcedureStateMachine.on_analyze()ProcedureStateMachine.on_analyze_results()ProcedureStateMachine.on_begin()ProcedureStateMachine.on_continue_iteration()ProcedureStateMachine.on_enter_error()ProcedureStateMachine.on_finish_from_hypothesis()ProcedureStateMachine.on_finish_from_insights()ProcedureStateMachine.on_restart_from_error()ProcedureStateMachine.on_retry_from_error()ProcedureStateMachine.on_start_testing()ProcedureStateMachine.prepareProcedureStateMachine.restart_from_errorProcedureStateMachine.retry_from_errorProcedureStateMachine.startProcedureStateMachine.start_testingProcedureStateMachine.state_valueProcedureStateMachine.statesProcedureStateMachine.states_mapProcedureStateMachine.test
create_state_machine()get_valid_transitions()is_valid_transition()
- primus.cli.procedure.state_machine_stages module
- primus.cli.procedure.states module
- primus.cli.procedure.tactus_runtime_controls module
- primus.cli.procedure.test_builtin_procedures module
test_builtin_console_portfolio_read_does_not_force_a_second_agent_invocation()test_builtin_console_procedure_allows_scorecard_wide_deictic_analysis()test_builtin_console_procedure_consumes_score_disambiguation_followups()test_builtin_console_procedure_disambiguates_deictic_score_references()test_builtin_console_procedure_guards_against_uuid_only_replies()test_builtin_console_procedure_prompt_blocks_direct_score_code_update()test_builtin_console_procedure_prompt_contains_nontechnical_intent_routing()test_builtin_console_procedure_prompt_enforces_score_edit_completion_contract()test_builtin_console_procedure_prompt_is_cs_domain_focused()test_builtin_console_procedure_prompt_teaches_docs_primitives()test_builtin_console_procedure_prompt_teaches_guidelines_validation_runtime_helper()test_builtin_console_procedure_prompt_teaches_planning_mode_contract()test_builtin_console_procedure_prompt_teaches_prediction_contract()test_builtin_console_procedure_prompt_teaches_report_dispatch_contract()test_builtin_console_procedure_prompt_teaches_runtime_post_submit_smoke_test()test_builtin_console_procedure_prompt_teaches_skill_discovery()test_builtin_console_procedure_prompt_treats_read_only_exact_ids_as_targeted()test_builtin_console_procedure_version_is_current()test_builtin_console_procedure_yaml_contains_tactus_source()test_builtin_console_prompt_completes_read_only_feedback_alignment_without_reports()test_builtin_storage_adapter_uses_in_memory_metadata()test_is_builtin_procedure_id()test_run_procedure_builtin_passes_console_context_overrides()test_run_procedure_builtin_routes_to_tactus_executor()test_run_procedure_builtin_skips_mcp_server_when_disabled()test_service_get_procedure_yaml_uses_builtin_without_db_lookup()
- primus.cli.procedure.test_chat_recorder_account_resolution module
test_end_session_supports_legacy_status_positional_call()test_end_session_supports_tactus_signature_with_session_id()test_get_console_session_history_merges_truncated_snapshot_with_db()test_get_console_session_history_prefers_db_when_snapshot_lacks_assistant_context()test_get_console_session_history_prefers_snapshot_over_db_when_both_exist()test_get_console_session_history_returns_filtered_messages()test_get_console_session_history_uses_client_snapshot_when_server_history_is_stale()test_get_latest_console_trigger_message_prefers_dispatch_task()test_get_latest_console_trigger_message_prefers_inline_trigger_content()test_get_latest_console_trigger_message_returns_chat_content()test_get_latest_console_trigger_message_uses_dispatch_task_when_account_context_mismatches()test_get_steering_messages_returns_completed_flat_filtered_rows()test_get_steering_messages_returns_flat_filtered_rows()test_record_message_injects_optimizer_bot_attribution_for_runtime_user_chat()test_record_message_preserves_existing_user_attribution_metadata()test_record_message_uses_chat_stream_retry_policy()test_resolve_account_id_falls_back_to_client_resolver()test_resolve_account_id_prefers_context()test_resolve_account_id_uses_procedure_record()test_start_session_creates_console_category_when_console_trigger_missing_session_id()test_start_session_ignores_stale_console_metadata_when_latest_task_is_not_console()test_start_session_prefers_dispatch_task_console_metadata()test_start_session_reuses_console_session_from_task_metadata()test_start_session_reuses_explicit_console_session_from_context()test_start_session_reuses_waiting_session_and_continues_sequence()test_start_session_sets_optimizer_name_on_create()test_start_session_updates_existing_optimizer_session_name_when_blank()test_start_session_uses_dispatch_task_console_metadata_when_account_resolution_is_stale()
- primus.cli.procedure.test_continuation_service module
- primus.cli.procedure.test_feedback_alignment_optimizer_config module
test_feedback_investment_policy_keeps_weekly_volume_non_blocking()test_optimizer_accepts_exact_feedback_cohort_in_a_different_order()test_optimizer_baseline_feedback_runs_score_rubric_consistency_check()test_optimizer_cli_computes_frozen_feedback_window()test_optimizer_contradictions_analysis_honors_requested_sample_cap()test_optimizer_contradictions_reports_use_active_score_version_cache_key()test_optimizer_creative_cookbook_is_isolated_to_creative_lane()test_optimizer_disqualifies_single_class_predictions_on_multiclass_cohort()test_optimizer_does_not_treat_elapsed_or_inactive_time_as_evaluation_failure()test_optimizer_normal_cookbook_emphasizes_rubric_policy_before_mechanics()test_optimizer_preserves_terminal_failed_evaluation_as_candidate_rejection_evidence()test_optimizer_recovers_exact_terminal_evaluation_when_handle_payload_omits_id()test_optimizer_rejects_feedback_cohort_membership_or_duplicate_changes()test_optimizer_rejects_terminally_failed_candidate_without_marking_evidence_missing()test_optimizer_requires_a_balanced_regression_dataset()test_optimizer_requires_balanced_regression_cohort_without_unbalanced_fallback()test_optimizer_resume_reuses_regression_baseline_dataset_provenance()test_optimizer_review_gate_uses_prediction_mode_collapse_as_disqualifier()test_optimizer_skill_documents_three_phase_rubric_memory_sop()test_optimizer_skill_preserves_complete_runs_and_one_cohort_selection_path()test_optimizer_skill_routes_portfolio_decisions_through_one_shared_toolchain()test_optimizer_sme_gate_refreshes_rubric_memory_for_active_version()test_optimizer_startup_requests_recent_rubric_memory()test_optimizer_startup_requests_retrieval_only_rubric_memory()test_optimizer_structural_cookbook_includes_late_prompt_shape_lane()test_optimizer_synthesis_is_fail_closed_against_the_current_cycle_leader()test_optimizer_synthesis_pins_model_without_reviewed_justification()test_optimizer_waits_for_a_terminal_evaluation_state_without_a_time_deadline()test_optimizer_yaml_adds_creative_hypothesis_after_third_cycle()test_optimizer_yaml_adds_plateau_lanes_on_top_of_protected_lanes()test_optimizer_yaml_adds_report_phase_markers_for_context_capture()test_optimizer_yaml_avoids_double_counting_after_cycle_record_and_formats_cycle_prompt_with_cycle_number()test_optimizer_yaml_bounds_parallel_evaluation_processes()test_optimizer_yaml_bounds_report_context_and_output_shapes()test_optimizer_yaml_builds_agent_recurrence_context_with_emerging_items()test_optimizer_yaml_declares_persisted_cost_ledger_output()test_optimizer_yaml_declares_the_winning_version_in_its_persisted_output()test_optimizer_yaml_deduplicates_submitted_candidate_records()test_optimizer_yaml_defines_dedicated_reporting_agents()test_optimizer_yaml_defines_safe_encode_for_score_test_failure_details()test_optimizer_yaml_does_not_retry_cannot_improve_as_a_fallback()test_optimizer_yaml_escalates_plateaus_instead_of_stopping_or_shrinking()test_optimizer_yaml_fails_fast_on_infrastructure_submit_errors()test_optimizer_yaml_final_reports_do_not_block_optimizer_completion()test_optimizer_yaml_flags_repeated_strongly_harmful_hypothesis_territory_without_erasing_lane()test_optimizer_yaml_freezes_feedback_window_instead_of_stopping_on_new_feedback()test_optimizer_yaml_freezes_fresh_regression_dataset_for_all_candidate_evaluations()test_optimizer_yaml_gates_sme_questions_with_rubric_memory()test_optimizer_yaml_handles_semantically_unchanged_submit_errors()test_optimizer_yaml_hypotheses_must_account_for_recurrence_targets()test_optimizer_yaml_ignores_code_editor_prose_after_terminal_tools()test_optimizer_yaml_injects_agent_recurrence_context_into_reasoning_paths()test_optimizer_yaml_is_valid_lua_after_exact_cohort_wiring()test_optimizer_yaml_keeps_bold_lane_and_uses_escalation_advisor()test_optimizer_yaml_logs_auditable_recurrence_context_fingerprint()test_optimizer_yaml_marks_one_cycle_runs_as_verification_only()test_optimizer_yaml_marks_report_failures_as_terminal_without_losing_cycle_state()test_optimizer_yaml_never_promotes_champion_and_reports_manual_follow_up()test_optimizer_yaml_passes_code_editor_context_inline_without_history_injection()test_optimizer_yaml_persists_configured_max_iterations_for_reporting()test_optimizer_yaml_persists_no_feedback_terminal_summary()test_optimizer_yaml_persists_structured_already_good_result_before_early_return()test_optimizer_yaml_preprocessing_guidance_starts_with_broad_relevant_windows()test_optimizer_yaml_protects_mechanically_clean_prompt_lines_after_repair()test_optimizer_yaml_protects_structural_lane_from_rubric_candidate_cap()test_optimizer_yaml_rebaselines_continuations_when_feedback_target_advanced()test_optimizer_yaml_records_recurrence_for_failed_no_synthesis_cycles()test_optimizer_yaml_records_sample_size_diagnostics()test_optimizer_yaml_records_visible_synthesis_decision_when_no_version_is_evaluated()test_optimizer_yaml_rejects_aggregate_gains_that_regress_protected_recall()test_optimizer_yaml_rejects_incomplete_candidate_evaluation_batches()test_optimizer_yaml_rejects_non_completed_evaluation_handles()test_optimizer_yaml_replays_and_verifies_exact_recent_feedback_cohort()test_optimizer_yaml_requires_requested_rows_for_cached_regression_dataset()test_optimizer_yaml_routes_report_generation_to_reporting_agents()test_optimizer_yaml_routes_unresolved_placeholders_to_mechanical_repair_lane()test_optimizer_yaml_runs_contradictions_directly_without_background_dispatch()test_optimizer_yaml_runs_diagnostic_synthesis_when_no_hypothesis_has_positive_signal()test_optimizer_yaml_skips_invalid_synthesis_strategy_selection()test_optimizer_yaml_skips_scores_with_no_recent_feedback_baseline()test_optimizer_yaml_strategy_b_uses_clean_starting_point_when_baseline_is_mechanically_dirty()test_optimizer_yaml_treats_cycle_errors_as_terminal_and_does_not_extend_iteration_cap()test_optimizer_yaml_treats_interruption_as_terminal_not_retryable()test_optimizer_yaml_uses_canonical_runtime_documentation_and_stages()test_optimizer_yaml_uses_central_agent_steering_not_mailbox_polling()test_optimizer_yaml_uses_dedicated_hypothesis_planner_and_agent_model_overrides()test_optimizer_yaml_uses_lane_specific_cookbooks()test_optimizer_yaml_uses_required_report_phase_helper_for_all_report_llm_calls()test_optimizer_yaml_uses_safe_tool_call_arg_helper_instead_of_direct_args_dereferences()test_optimizer_yaml_uses_shared_score_version_test_tool()test_optimizer_yaml_uses_utf8_safe_truncation_without_byte_slicing()test_optimizer_yaml_writes_planning_context_to_platform_tmp_directory()
- primus.cli.procedure.test_insights_hypothesis_transition module
- primus.cli.procedure.test_local_scheduled_continuation module
- primus.cli.procedure.test_mcp_transport module
TestConvenienceFunctionsTestEmbeddedMCPServerTestEmbeddedMCPServer.experiment_context()TestEmbeddedMCPServer.server()TestEmbeddedMCPServer.test_connection_context_manager()TestEmbeddedMCPServer.test_connection_default_client_info()TestEmbeddedMCPServer.test_core_tool_get_context()TestEmbeddedMCPServer.test_core_tool_log_message()TestEmbeddedMCPServer.test_execute_tactus_receives_experiment_context()TestEmbeddedMCPServer.test_register_primus_tools_includes_get_documentation()TestEmbeddedMCPServer.test_server_initialization()
TestInProcessMCPTransportTestInProcessMCPTransport.sample_resource()TestInProcessMCPTransport.sample_tool()TestInProcessMCPTransport.test_call_tool_error_handling()TestInProcessMCPTransport.test_call_tool_not_found()TestInProcessMCPTransport.test_call_tool_not_initialized()TestInProcessMCPTransport.test_call_tool_success()TestInProcessMCPTransport.test_initialize_connection()TestInProcessMCPTransport.test_list_resources()TestInProcessMCPTransport.test_list_tools()TestInProcessMCPTransport.test_read_resource_not_found()TestInProcessMCPTransport.test_read_resource_success()TestInProcessMCPTransport.test_resource_registration()TestInProcessMCPTransport.test_tool_registration()TestInProcessMCPTransport.test_transport_initialization()TestInProcessMCPTransport.transport()
TestIntegrationScenariosTestProcedureMCPClienttest_advance_task_to_stage_by_name_uses_long_running_retry_policy()test_update_stage_progress_uses_long_running_retry_policy()test_update_stage_status_message_refreshes_runtime_heartbeat()
- primus.cli.procedure.test_model_performance_frontier module
test_apply_override_rejects_wrong_container_type()test_build_result_row_combines_cost_per_processed_item_and_feedback_ac1_axis()test_build_variants_accepts_json_string_candidate_matrix_from_cli_params()test_build_variants_allows_explicit_node_overrides()test_build_variants_extracts_current_tactus_score_model_from_code()test_build_variants_includes_current_first_and_deduplicates_semantic_matches()test_build_variants_preserves_tactus_classifyprocedure_local_controls()test_build_variants_supports_project_type_ai_root_model_fields()test_build_variants_supports_tactus_score_default_model_and_runtime_controls()test_mark_pareto_frontier_marks_only_non_dominated_rows()test_procedure_yaml_declares_contract_and_specification()test_render_artifacts_and_compact_envelope_are_report_attachment_ready()
- primus.cli.procedure.test_optimization_portfolio_run_config module
test_checked_in_portfolio_replays_defer_before_retrying_publication()test_portfolio_run_procedure_cannot_complete_when_the_report_orchestrator_failed()test_portfolio_run_procedure_defers_retryable_publication_and_only_returns_explicit_terminals()test_portfolio_run_procedure_durably_waits_for_exact_optimizer_children()test_portfolio_run_procedure_uses_the_single_runtime_orchestrator_and_structured_human_review()test_semantic_budget_operator_docs_require_release_order_and_read_only_pilot()
- primus.cli.procedure.test_optimizer_child_lifecycle_integration module
- primus.cli.procedure.test_phase_agent module
- primus.cli.procedure.test_procedure_executor_compat module
test_console_tactus_bridges_mcp_tools_into_toolset_registry()test_execute_tactus_applies_agent_model_overrides_from_context()test_execute_tactus_applies_child_depth_budget_to_runtime_source()test_execute_tactus_completes_stages_only_on_success()test_execute_tactus_does_not_duplicate_response_when_trace_already_has_same_assistant_text()test_execute_tactus_does_not_record_result_response_when_trace_has_different_assistant_text()test_execute_tactus_fails_explicitly_when_a_portfolio_wait_requires_an_unavailable_tactus_api()test_execute_tactus_fails_when_child_budget_cost_is_exceeded()test_execute_tactus_forwards_procedure_task_context_to_primus_runtime_module()test_execute_tactus_hydrates_context_from_params_values()test_execute_tactus_initializes_embedded_mcp_transport()test_execute_tactus_injects_array_params_as_parseable_lua_and_preserves_values()test_execute_tactus_injects_console_session_history_into_runtime_context()test_execute_tactus_injects_console_trigger_message_into_runtime_context()test_execute_tactus_injects_deterministic_score_edit_audit_block()test_execute_tactus_injects_deterministic_score_edit_audit_from_trace_sink()test_execute_tactus_maps_documented_outputs_to_runtime_output()test_execute_tactus_marks_stages_failed_when_runtime_raises()test_execute_tactus_marks_stages_failed_when_runtime_returns_failure()test_execute_tactus_marks_stages_failed_when_runtime_returns_wrapped_failure()test_execute_tactus_passes_chat_recorder_when_supported()test_execute_tactus_persists_inference_costs_from_cost_events()test_execute_tactus_preserves_native_child_wait_without_failing_stages()test_execute_tactus_preserves_native_time_wait_without_failing_stages()test_execute_tactus_preserves_persisted_human_wait_without_failing_stages()test_execute_tactus_records_result_response_when_trace_has_no_assistant_messages()test_execute_tactus_sets_chat_recorder_account_id_from_runtime_context()test_execute_tactus_skips_chat_recorder_console_lookups_when_context_provides_values()test_execute_tactus_stops_before_runtime_when_task_cancelled()test_execute_tactus_streams_many_chunks_without_loss()test_execute_tactus_streams_via_log_handler_without_trace_sink_constructor()test_execute_tactus_supports_legacy_runtime_without_trace_sink()test_execute_tactus_synthesizes_assistant_message_for_legacy_chat_runtime()test_execute_tactus_wires_the_supported_external_child_resolver_for_a_portfolio_wait()test_invalid_tactus_request_timeout_uses_safe_default()test_score_change_audit_calls_out_guidelines_only_candidate()test_scorecard_create_dry_run_skips_approval()test_shipped_tactus_procedures_use_callable_agent_api()test_tactus_agent_request_timeout_uses_supported_agent_config()test_tactus_json_serializes_pydantic_events_without_error_log()test_trace_bridge_consumes_supported_agent_lifecycle_events()test_trace_bridge_forwards_cost_events_to_trace_sink()
- primus.cli.procedure.test_procedure_optimize_cli_result module
LuaTableLiketest_lua_to_python_converts_contiguous_one_based_tables_to_lists()test_lua_to_python_converts_nested_iterations_to_list()test_lua_to_python_preserves_non_contiguous_numeric_key_dicts()test_lua_to_python_preserves_string_key_dicts()test_optimize_creates_task_stages_matching_optimizer_progress()test_optimize_json_preserves_persisted_total_cost_ledger()test_optimize_passes_candidate_count_and_parent_cost_budget()test_optimize_passes_configured_evaluation_stall_timeout_to_procedure()test_optimize_resume_recent_eval_fails_closed_without_window_provenance()test_optimize_resume_recent_eval_reuses_frozen_feedback_window()test_optimize_table_summary_handles_lua_style_iteration_result()
- primus.cli.procedure.test_procedure_run_params module
test_existing_procedure_run_enters_direct_local_continuation_path()test_resolve_procedure_yaml_path_fails_for_missing_file()test_resolve_procedure_yaml_path_finds_repository_asset_from_runtime_directory()test_set_parameter_parser_leaves_malformed_structured_text_visible()test_set_parameter_parser_preserves_existing_scalar_coercion()test_set_parameter_parser_preserves_json_arrays_and_nested_objects()test_yaml_procedure_run_executes_from_worker_runtime_directory()
- primus.cli.procedure.test_reset_service module
- primus.cli.procedure.test_resume_service module
test_pending_external_child_checkpoint_loader_accepts_only_exact_replay_position()test_pending_time_checkpoint_loader_uses_actual_tactus_checkpoint_shape()test_recovery_rejects_nonexclusive_parent_or_changed_wait_boundary()test_recovery_repairs_checkpoint_first_crash_before_rearming()test_recovery_repairs_procedure_first_crash_then_rearms_only_after_exact_terminal_child()test_resume_all_exhaustively_scans_later_pages_before_resuming()test_resume_all_fails_closed_on_repeated_pagination_token()test_resume_all_fails_closed_when_a_later_page_fails()test_resume_all_includes_child_waits_and_preserves_human_waits()test_resume_all_repairs_exact_running_checkpoint_found_on_later_page()test_resume_uses_local_task_tracked_execution_to_finalize_state()test_time_wait_before_due_and_stale_or_cross_run_boundaries_fail_closed()test_time_wait_claims_the_exact_read_version_after_validating_metadata()test_time_wait_duplicate_claim_dispatches_once()test_time_wait_repairs_checkpoint_first_and_procedure_first_crash_windows()test_time_wait_repairs_procedure_first_crash_without_rewriting_procedure()test_time_wait_resumes_at_the_inclusive_utc_due_time()test_waiting_parent_fails_closed_without_durable_checkpoint_boundary()test_waiting_parent_is_rearmed_only_after_any_exact_child_is_terminal()test_waiting_parent_stays_suspended_when_no_child_is_terminal()
- primus.cli.procedure.test_score_editor_toolset module
FakeMCPClientFakePullMCPClienttest_load_content_from_api_fails_clearly_on_invalid_yaml()test_load_content_from_api_normalizes_yaml_before_exposing_it()test_setup_fails_fast_when_direct_yaml_is_invalid()test_setup_normalizes_direct_yaml_content_to_block_scalars()test_setup_normalizes_numeric_external_id_to_string()test_str_replace_editor_supports_guidelines_path()test_submit_score_version_allows_extractor_then_classifier_pattern()test_submit_score_version_omits_unchanged_guidelines_from_update_payload()test_submit_score_version_rejects_classifier_as_extractor_candidate()test_submit_score_version_rejects_semantically_unchanged_yaml()test_submit_score_version_rejects_tactus_lua_syntax_before_creating_version()test_submit_score_version_surfaces_validation_errors_from_envelope()
- primus.cli.procedure.test_scorecard_model_retarget module
test_plan_score_retarget_fails_for_unsupported_classes()test_plan_score_retarget_returns_unchanged_when_target_matches_current()test_plan_score_retarget_updates_langgraph_root_model_fields()test_plan_score_retarget_updates_tactus_default_model_and_runtime_controls()test_scorecard_model_retarget_procedure_declares_contract_and_behavior()
- primus.cli.procedure.test_service_actor_attribution module
- primus.cli.procedure.test_service_task_creation module
TestProcedureTaskCreationTestProcedureTaskCreation.mock_client()TestProcedureTaskCreation.service()TestProcedureTaskCreation.test_celery_mode_creates_pending_task_with_run_command()TestProcedureTaskCreation.test_command_format_matches_cli_structure()TestProcedureTaskCreation.test_local_mode_creates_local_task_with_run_command()TestProcedureTaskCreation.test_operator_identity_is_carried_into_the_generic_procedure_task()
- primus.cli.procedure.test_service_yaml_loader module
- primus.cli.procedure.test_spec_runner_service module
service()test_acceptance_procedure_specs_pass_in_mock_mode()test_spec_runner_fails_on_invalid_yaml()test_spec_runner_fails_when_code_missing()test_spec_runner_fails_when_no_spec_block()test_spec_runner_loads_yaml_from_procedure_id()test_spec_runner_propagates_integration_mode()test_spec_runner_runs_embedded_specs_from_yaml()
- primus.cli.procedure.test_stale_timeout module
test_classify_runtime_process_state_reads_proc_when_ps_is_unavailable()test_timeout_stale_procedures_continues_when_procedure_update_conflicts()test_timeout_stale_procedures_excludes_runs_started_before_lookback()test_timeout_stale_procedures_marks_chat_silent_run_stalled()test_timeout_stale_procedures_skips_fresh_chat_activity()test_timeout_stale_procedures_skips_stale_chat_when_runtime_heartbeat_is_fresh()test_timeout_stale_procedures_skips_waiting_for_human()test_timeout_stale_procedures_skips_when_local_runtime_process_is_active()test_timeout_stale_procedures_times_out_foreign_host_runtime_when_activity_is_stale()test_timeout_stale_procedures_times_out_no_chat_when_started_is_stale()
- primus.cli.procedure.test_state_machine module
test_allowed_transitions_property()test_callbacks_are_called()test_completed_is_final_state()test_error_transitions()test_get_valid_transitions_from_hypothesis()test_get_valid_transitions_from_start()test_invalid_transition_raises_error()test_is_valid_transition_helper()test_recovery_from_error()test_state_machine_initial_state()test_state_machine_resume_from_state()test_valid_transition_evaluation_to_hypothesis()test_valid_transition_hypothesis_to_completed()test_valid_transition_hypothesis_to_test()test_valid_transition_start_to_evaluation()test_valid_transition_test_to_insights()
- primus.cli.procedure.test_state_machine_stages module
- primus.cli.procedure.test_storage_metadata_preservation module
- primus.cli.procedure.test_tactus_hitl_adapter module
test_cancel_pending_request_uses_long_running_retry_policy()test_check_pending_response_ignores_non_canonical_response_payload()test_request_interaction_creates_pending_message_and_sets_waiting_status()test_request_interaction_returns_response_from_existing_pending_message()test_request_interaction_reuses_existing_unresolved_pending_message()test_structured_hitl_claims_oldest_valid_response_not_latest()test_structured_hitl_conditional_loser_uses_recorded_winner()test_structured_hitl_cross_account_child_fails_closed_without_claiming()test_structured_hitl_expired_or_stale_request_fails_closed()test_structured_hitl_first_valid_same_account_response_claims_pending_parent()test_structured_hitl_skips_schema_invalid_child_and_claims_next_valid_child()test_structured_hitl_uses_existing_pending_message_with_authority_envelope()
- primus.cli.procedure.test_tactus_integration module
- primus.cli.procedure.test_tactus_storage_dashboard_state module
- primus.cli.procedure.test_tactus_storage_graphql_artifacts module
- primus.cli.procedure.test_tool_explanation_enforcement_simple module
TestToolExplanationEnforcementTestToolExplanationEnforcement.test_complete_enforcement_cycle_logic()TestToolExplanationEnforcement.test_edge_case_no_tool_calls_in_response()TestToolExplanationEnforcement.test_enforcement_prevents_tool_chaining_pattern()TestToolExplanationEnforcement.test_explanation_flag_removes_tools_from_llm()TestToolExplanationEnforcement.test_logging_behavior_during_enforcement()TestToolExplanationEnforcement.test_multiple_tool_calls_enforcement()TestToolExplanationEnforcement.test_reminder_message_injection_behavior()TestToolExplanationEnforcement.test_tool_execution_sets_explanation_flag()TestToolExplanationEnforcement.test_tools_restored_after_explanation()
- primus.cli.procedure.test_trace_sink module
test_trace_sink_captures_compact_score_edit_audit_event()test_trace_sink_captures_console_score_edit_audit_events_from_execute_tactus()test_trace_sink_captures_nested_value_score_edit_audit_event()test_trace_sink_cost_events_attach_to_streamed_assistant_message()test_trace_sink_does_not_attach_zero_cost_placeholder_to_assistant_message()test_trace_sink_does_not_flag_successful_string_tool_output_as_failure()test_trace_sink_does_not_repersist_identical_punctuation_terminated_chunk()test_trace_sink_drops_blank_internal_message_events()test_trace_sink_drops_duplicate_post_stream_assistant_message()test_trace_sink_drops_placeholder_assistant_completion_message()test_trace_sink_ends_session_with_status()test_trace_sink_late_cost_event_updates_recent_assistant_message()test_trace_sink_persists_nested_report_task_id_in_tool_metadata()test_trace_sink_records_assistant_alert_for_failed_tool_result()test_trace_sink_records_modern_tool_call_event_shape()test_trace_sink_records_tool_call_with_structured_payloads()test_trace_sink_skips_dispatch_metadata_lookup_for_builtin_console_procedure()test_trace_sink_skips_dispatch_metadata_lookup_when_disabled()test_trace_sink_stream_chunk_upserts_single_assistant_message()test_trace_sink_stream_completion_finalizes_message_and_tracks_text()test_trace_sink_stream_metadata_contains_latency_markers()test_trace_sink_stream_update_defaults_are_responsive()test_trace_sink_tool_call_message_includes_tool_cost_metadata()test_trace_sink_updates_started_tool_call_from_explicit_tool_response()
- primus.cli.procedure.tool_calling module