Repository Analysis

emcie-co/parlant

Build reliable customer-facing AI agents with Parlant: an interaction control harness optimized for controlled, consistent, and predictable LLM interactions.

15.6 Moderate AI signal View on GitHub
15.6
Adjusted Score
15.6
Raw Score
100%
Time Factor
2026-05-27
Last Push
18,093
Stars
Python
Language
185,791
Lines of Code
448
Files
2520
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 2HIGH 98MEDIUM 107LOW 2313

Pattern Findings

2520 matches across 17 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1517 hits · 1327 pts
SeverityFileLineSnippet
LOWtests/tool_utilities.py74def get_available_product_by_type(product_type: ProductType = ProductType.DRINKS) -> ToolResult:
LOWtests/tool_utilities.py138def available_products_by_category(category: ProductCategory) -> ToolResult:
LOWtests/tool_utilities.py147def available_products_by_categories(categories: list[ProductCategory]) -> ToolResult:
LOWtests/tool_utilities.py241def calculate_expected_salary(
LOWtests/tool_utilities.py252async def get_electronic_products_by_type(
LOWtests/tool_utilities.py297async def search_electronic_products(
LOWtests/tool_utilities.py553 def _mock_lookup_credit_limit(username: str) -> Optional[float]:
LOWtests/test_utilities.py290async def set_context_variable_value(
LOWtests/test_utilities.py404async def get_when_async_done_or_timeout(
LOWtests/test_utilities.py458 def _ensure_cache_file_exists(self) -> None:
LOWtests/test_utilities.py476 def serialize_generation_info(generation: GenerationInfo) -> _GenerationInfoDocument:
LOWtests/test_utilities.py501 def deserialize_generation_info(
LOWtests/test_utilities.py567async def create_schematic_generation_result_collection(
LOWtests/test_utilities.py608async def two_required_query_params(
LOWtests/test_utilities.py636async def one_required_query_param_one_required_body_param(
LOWtests/core/test_cancellation_suppression_latch.py25async def test_latch_behavior_with_no_cancellation() -> None:
LOWtests/core/test_cancellation_suppression_latch.py46async def test_latch_behavior_with_cancellation_after_suppression() -> None:
LOWtests/core/test_cancellation_suppression_latch.py78async def test_latch_behavior_with_cancellation_before_suppression() -> None:
LOWtests/core/test_id_generator.py18async def test_that_id_generator_generates_different_ids_for_objects_with_similar_small_content() -> (
LOWtests/core/test_id_generator.py34async def test_that_id_generator_generates_different_ids_for_objects_with_similar_big_content() -> (
LOWtests/core/stable/test_capability_vector_store.py26async def test_that_updating_a_capability_replaces_its_vector_documents(
LOWtests/core/stable/test_capability_vector_store.py66async def test_that_deleting_a_capability_removes_its_vector_documents(
LOWtests/core/stable/test_journey_guideline_projection.py10async def test_that_projection_yields_followup_for_existing_guideline(container: Container) -> None:
LOWtests/core/stable/test_relationships.py55async def test_that_direct_guideline_relationships_can_be_listed(
LOWtests/core/stable/test_relationships.py93async def test_that_indirect_guideline_relationships_can_be_listed(
LOWtests/core/stable/test_relationships.py127async def test_that_db_data_is_loaded_correctly(
LOWtests/core/stable/test_relationships.py165async def test_that_relationships_are_returned_for_source_without_indirect_relationships(
LOWtests/core/stable/test_relationships.py206async def test_that_connections_are_returned_for_source_with_indirect_connections(
LOWtests/core/stable/test_relationships.py248async def test_that_relationships_are_returned_for_target_without_indirect_connections(
LOWtests/core/stable/test_relationships.py289async def test_that_relationships_are_returned_for_target_with_indirect_connections(
LOWtests/core/stable/test_relationships.py331async def test_that_all_relationships_can_be_listed(
LOWtests/core/stable/test_relationships.py360async def test_that_relationships_can_be_listed_by_kind_without_entity_filters(
LOWtests/core/stable/test_relationships.py401async def test_that_relationships_can_be_listed_by_source_id_without_kind_filter(
LOWtests/core/stable/test_relationships.py427async def test_that_relationships_can_be_listed_by_target_id_without_kind_filter(
LOWtests/core/stable/test_relationships.py453async def test_that_relationships_can_be_listed_with_both_source_and_target_filters(
LOWtests/core/stable/test_relationships.py483async def test_that_creating_a_direct_circular_dependency_raises_an_error(
LOWtests/core/stable/test_relationships.py504async def test_that_creating_an_indirect_circular_dependency_raises_an_error(
LOWtests/core/stable/test_relationships.py532async def test_that_creating_a_self_dependency_is_allowed(
LOWtests/core/stable/test_relationships.py545async def test_that_creating_a_cycle_across_dependency_and_dependency_any_raises_an_error(
LOWtests/core/stable/test_application.py102async def test_that_a_new_customer_session_can_be_created(
LOWtests/core/stable/test_application.py118async def test_that_a_new_customer_session_with_a_proactive_agent_contains_a_message(
LOWtests/core/stable/test_application.py140async def test_that_when_a_client_event_is_posted_then_new_server_events_are_emitted(
LOWtests/core/stable/test_application.py168async def test_that_a_session_update_is_detected_as_soon_as_a_client_event_is_posted(
LOWtests/core/stable/test_application.py192async def test_that_when_a_customer_quickly_posts_more_than_one_message_then_only_one_message_is_emitted_as_a_reply_to_t
LOWtests/core/stable/test_application.py226def hand_off_to_human_operator() -> ToolResult:
LOWtests/core/stable/test_application.py230async def test_that_a_response_is_not_generated_automatically_after_a_tool_switches_the_session_to_manual_mode(
LOWtests/core/stable/test_entity_cq.py37async def test_that_list_guidelines_with_mutual_agent_tag_are_returned(
LOWtests/core/stable/test_entity_cq.py76async def test_that_list_guidelines_global_guideline_is_returned(
LOWtests/core/stable/test_entity_cq.py94async def test_that_guideline_with_not_hierarchy_tag_is_not_returned(
LOWtests/core/stable/test_entity_cq.py127async def test_that_guideline_matches_are_not_filtered_by_enabled_journeys(
LOWtests/core/stable/test_entity_cq.py169async def test_that_guideline_tagged_with_disabled_journey_is_filtered_out_when_matched(
LOWtests/core/stable/test_entity_cq.py209async def test_that_find_canned_responses_for_agent_returns_global_canned_responses(
LOWtests/core/stable/test_entity_cq.py230async def test_that_find_canned_responses_for_agent_returns_none_for_non_matching_tag(
LOWtests/core/stable/test_entity_cq.py253async def test_that_find_canned_responses_for_agent_and_journey_returns_journey_canned_responses(
LOWtests/core/stable/test_entity_cq.py282async def test_that_find_glossary_terms_for_agent_returns_all_when_no_tags(
LOWtests/core/stable/test_entity_cq.py307async def test_that_find_glossary_terms_for_agent_returns_none_for_non_matching_tag(
LOWtests/core/stable/test_entity_cq.py329async def test_that_find_capabilities_for_agent_returns_unique_capabilities(
LOWtests/core/stable/test_entity_cq.py362async def test_find_relevant_journeys_for_agent_returns_most_relevant(
LOWtests/core/stable/test_entity_cq.py400async def test_list_guidelines_dependent_directly_on_journey(
LOWtests/core/stable/test_entity_cq.py438async def test_list_guidelines_dependent_indirectly_on_journey(
1457 more matches not shown…
Cross-File Repetition85 hits · 425 pts
SeverityFileLineSnippet
HIGHtests/core/test_cancellation_suppression_latch.py0test latch behavior when task is cancelled but latch suppresses it.
HIGHtests/core/test_cancellation_suppression_latch.py0test latch behavior when task is cancelled but latch suppresses it.
HIGHtests/core/test_cancellation_suppression_latch.py0test latch behavior when task is cancelled but latch suppresses it.
HIGHdocs/advanced/custom-llms.md0return a tokenizer that approximates that of the underlying model.
HIGHsrc/parlant/core/nlp/generation.py0return a tokenizer that approximates that of the underlying model.
HIGHsrc/parlant/core/nlp/generation.py0return a tokenizer that approximates that of the underlying model.
HIGHsrc/parlant/sdk.py0creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0alias for prioritize_over. creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0alias for prioritize_over. creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0alias for prioritize_over. creates priority relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates dependency relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates dependency relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates dependency relationships with other guidelines, journeys, or tags.
HIGHsrc/parlant/sdk.py0creates or dependency relationships. at least one target must be active.
HIGHsrc/parlant/sdk.py0creates or dependency relationships. at least one target must be active.
HIGHsrc/parlant/sdk.py0creates or dependency relationships. at least one target must be active.
HIGHsrc/parlant/core/engines/alpha/message_generator.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…arlant/core/engines/alpha/canned_response_generator.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…arlant/core/engines/alpha/canned_response_generator.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…viously_applied_actionable_customer_dependent_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…lpha/guideline_matching/generic/observational_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…pha/guideline_matching/generic/disambiguation_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…/guideline_matching/generic/response_analysis_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ideline_matching/generic/guideline_actionable_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…neric/guideline_previously_applied_actionable_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…atching/generic/journey/journey_next_step_selection.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ne_matching/generic/journey/journey_backtrack_check.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ng/generic/journey/journey_backtrack_node_selection.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ant/core/services/indexing/relative_action_proposer.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…ervices/indexing/journey_reachable_nodes_evaluation.py0- **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json", exclude_unset=true), indent=2)}
HIGH…/engines/alpha/tool_calling/overlapping_tools_batch.py0- **context**: {shot.description} - **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json"
HIGH…t/core/engines/alpha/tool_calling/single_tool_batch.py0- **context**: {shot.description} - **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json"
HIGH…core/services/indexing/tool_running_action_detector.py0- **context**: {shot.description} - **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json"
HIGH…viously_applied_actionable_customer_dependent_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…lpha/guideline_matching/generic/observational_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…pha/guideline_matching/generic/disambiguation_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…/guideline_matching/generic/response_analysis_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…ideline_matching/generic/guideline_actionable_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…neric/guideline_previously_applied_actionable_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…atching/generic/journey/journey_next_step_selection.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…ne_matching/generic/journey/journey_backtrack_check.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…ng/generic/journey/journey_backtrack_node_selection.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}
HIGH…viously_applied_actionable_customer_dependent_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}
HIGH…ideline_matching/generic/guideline_actionable_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}
HIGH…neric/guideline_previously_applied_actionable_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}
HIGH…viously_applied_actionable_customer_dependent_batch.py0important: please note there are exactly {guidelines_len} guidelines in the list for you to check. output format -------
HIGH…ideline_matching/generic/guideline_actionable_batch.py0important: please note there are exactly {guidelines_len} guidelines in the list for you to check. output format -------
HIGH…neric/guideline_previously_applied_actionable_batch.py0important: please note there are exactly {guidelines_len} guidelines in the list for you to check. output format -------
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0important: please note there are exactly {guidelines_len} guidelines in the list for you to check. output format -------
HIGH…atching/generic/journey/journey_next_step_selection.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following is
HIGH…ne_matching/generic/journey/journey_backtrack_check.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following is
HIGH…ng/generic/journey/journey_backtrack_node_selection.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following is
HIGHsrc/parlant/core/services/tools/plugins.py0decorator for defining a tool function with metadata and options.
HIGHsrc/parlant/core/services/tools/plugins.py0decorator for defining a tool function with metadata and options.
HIGHsrc/parlant/core/services/tools/plugins.py0decorator for defining a tool function with metadata and options.
25 more matches not shown…
Over-Commented Block266 hits · 252 pts
SeverityFileLineSnippet
LOWtests/conftest.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/tool_utilities.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/test_utilities.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/__init__.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/test_cancellation_suppression_latch.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/conftest.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/test_id_generator.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/test_relationships.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/test_application.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/test_entity_cq.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/test_health_reporter.py1# Copyright 2026 Emcie Co Ltd.
LOW…core/stable/engines/alpha/test_user_story_scenarios.py1# Copyright 2026 Emcie Co Ltd.
LOW…viously_applied_actionable_customer_dependent_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…table/engines/alpha/test_guideline_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…ines/alpha/test_previously_applied_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…/core/stable/engines/alpha/test_relational_resolver.py1# Copyright 2026 Emcie Co Ltd.
LOW…/stable/engines/alpha/test_context_variable_loading.py1# Copyright 2026 Emcie Co Ltd.
LOW…/engines/alpha/test_guideline_low_criticality_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…ts/core/stable/engines/alpha/test_guideline_matcher.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/engines/alpha/test_mcp.py1# Copyright 2026 Emcie Co Ltd.
LOW…s/core/stable/engines/alpha/test_baseline_scenarios.py1# Copyright 2026 Emcie Co Ltd.
LOW…core/stable/engines/alpha/test_disambiguation_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…stable/engines/alpha/test_generic_response_analysis.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/engines/alpha/test_tool_caller.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/persistence/test_matches_filters.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/nlp/test_embedding.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/nlp/test_generation.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/services/tools/test_openapi.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/services/tools/test_plugin_client.py1# Copyright 2026 Emcie Co Ltd.
LOW…ble/services/indexing/test_agent_intention_proposer.py1# Copyright 2026 Emcie Co Ltd.
LOW…ervices/indexing/test_continuous_guideline_proposer.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/stable/services/indexing/test_indexer.py1# Copyright 2026 Emcie Co Ltd.
LOW…es/indexing/test_customer_dependent_action_detector.py1# Copyright 2026 Emcie Co Ltd.
LOW…le/services/indexing/test_guideline_action_proposer.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/utils.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/utils.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/terms.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/tags.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/sessions.py1# Copyright 2026 Emcie Co Ltd.
LOW…s/core/common/engines/alpha/steps/context_variables.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/engines.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/events.py1# Copyright 2026 Emcie Co Ltd.
LOW…ts/core/common/engines/alpha/steps/canned_responses.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/tools.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/journeys.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/agents.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/capabilities.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/customers.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/core/common/engines/alpha/steps/guidelines.py1# Copyright 2026 Emcie Co Ltd.
LOW…re/unstable/engines/alpha/test_user_story_scenarios.py1# Copyright 2026 Emcie Co Ltd.
LOW…nstable/engines/alpha/test_agent_intention_proposer.py1# Copyright 2026 Emcie Co Ltd.
LOW…ines/alpha/test_previously_applied_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.
LOW…/core/unstable/engines/alpha/test_guideline_matcher.py1# Copyright 2026 Emcie Co Ltd.
LOW…core/unstable/engines/alpha/test_baseline_scenarios.py1# Copyright 2026 Emcie Co Ltd.
LOW…re/unstable/engines/alpha/test_disambiguation_batch.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/adapters/vector_db/test_mongo_vector.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/adapters/vector_db/test_qdrant.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/adapters/nlp/test_zhipu_service.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/adapters/nlp/test_azure_service.py1# Copyright 2026 Emcie Co Ltd.
LOWtests/adapters/nlp/test_openrouter_service.py1# Copyright 2026 Emcie Co Ltd.
206 more matches not shown…
Self-Referential Comments60 hits · 181 pts
SeverityFileLineSnippet
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py232 # Create a standalone guideline
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py238 # Create a journey with a condition
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py315 # Create a journey with a condition
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py351 # Create a standalone guideline
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py405 # Create a journey
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1343 # Create a tool with no parameters and consequential=False (default)
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1397 # Create a tool with no parameters and consequential=False (default)
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1408 # Create a staged event representing this tool already being staged
MEDIUMtests/adapters/vector_db/test_mongo_vector.py390 # Create a new database instance pointing to the same database
MEDIUMtests/adapters/db/test_mongodb.py527 # Create a simple collection
MEDIUMtests/adapters/db/test_json_file.py198 # Create a document first
MEDIUMtests/adapters/db/test_json_file.py221 # Create a document first
MEDIUMtests/adapters/db/test_json_file.py249 # Create a document first
MEDIUMtests/adapters/db/test_json_file.py542 # Create an empty file
MEDIUMtests/sdk/test_journeys.py1061 # Create the first journey
MEDIUMtests/sdk/test_journeys.py1107 # Create a chat state for order confirmation
MEDIUMtests/sdk/test_journeys.py1398 # Create the user validation journey
MEDIUMtests/sdk/test_journeys.py1417 # Create the hotel booking journey
MEDIUMtests/sdk/test_journeys.py1552 # Create main customer service journey
MEDIUMtests/sdk/test_journeys.py1767 # Create a guideline
MEDIUMtests/sdk/test_journeys.py1773 # Create a journey with a custom state ID
MEDIUMtests/sdk/test_journeys.py1780 # Create a state with a custom ID
MEDIUMtests/sdk/test_journeys.py1788 # Create a session and send a message
MEDIUMtests/sdk/test_journeys.py1878 # Create a state with a custom ID
MEDIUMtests/sdk/test_journeys.py2063 # Create a linked journey (will be activated via link, not via conditions)
MEDIUMtests/sdk/test_journeys.py2077 # Create the parent journey that links to the validation journey
MEDIUMtests/sdk/test_journeys.py2141 # Create a state transition and attach retriever to the target state
MEDIUMtests/sdk/test_journeys.py2178 # Create a state transition and attach retriever to the target state
MEDIUMtests/sdk/test_guidelines.py722 # Create the first guideline
MEDIUMtests/sdk/test_guidelines.py951 # Create a canned response with a template that uses a field
MEDIUMtests/sdk/test_guidelines.py985 # Create a canned response that uses fields from multiple providers
MEDIUMtests/sdk/test_sdk_validation.py183 # Create a fork state
MEDIUMtests/sdk/test_sdk_validation.py257 # Create a tool state
MEDIUMtests/sdk/test_sdk_validation.py288 # Create a chat state
MEDIUMtests/sdk/test_sdk_validation.py601 # Create a fork state to test with
MEDIUMtests/sdk/test_labels.py101 # Create a journey with labels that will be propagated when the journey matches
MEDIUMtests/sdk/test_canned_responses.py47 # Create a canned response that depends on "order" field
MEDIUMtests/api/test_guidelines.py973 # Create a guideline with LOW criticality
MEDIUMtests/api/test_sessions.py1911 # Create an event with initial metadata
MEDIUMtests/api/test_sessions.py1967 # Create an event with initial metadata
MEDIUMtests/api/test_sessions.py2021 # Create a customer message with custom participant info
MEDIUMtests/api/test_sessions.py2052 # Create a customer message WITHOUT custom participant
MEDIUMtests/api/test_relationships.py15# Import necessary modules and classes
MEDIUMexamples/travel_voice_agent.py100 # Create the journey
MEDIUMexamples/travel_voice_agent.py168 # Create the journey
MEDIUMexamples/healthcare.py70 # Create the journey
MEDIUMexamples/healthcare.py130 # Create the journey
MEDIUMsrc/parlant/sdk.py1620 # Create the new state
MEDIUMsrc/parlant/sdk.py1692 # Create a fork state for the condition
MEDIUMsrc/parlant/sdk.py1734 # Create the target state and add it to processing queue
MEDIUMsrc/parlant/sdk.py1813 # Create the transition only if target state is in mapping
MEDIUMsrc/parlant/sdk.py4513 # Create a shim that translates between SDK and core types
MEDIUMsrc/parlant/core/engines/alpha/engine.py1602 # Create a convenient accessor dict for tool-enabled guidelines (and their tools).
MEDIUMsrc/parlant/core/services/tools/plugins.py259 """This function is specifically used to refresh some of the tool's
MEDIUMsrc/parlant/core/services/tools/mcp_service.py65 """This class is a wrapper around the FastMCP server, mainly to be used in testing the MCP client"""
MEDIUM…core/services/indexing/behavioral_change_evaluation.py563 # Create a mapping from guideline payloads to evaluations
MEDIUMsrc/parlant/adapters/nlp/openrouter_service.py606 # Create a dynamic generator for any OpenRouter model
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py231 # Create a signature from parameters
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py243 # Create a fake callable
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py596 # Create the new class
Excessive Try-Catch Wrapping198 hits · 174 pts
SeverityFileLineSnippet
LOWtests/test_utilities.py775 except Exception:
LOWtests/core/stable/test_health_reporter.py260 except Exception as e: # noqa: BLE001
LOWtests/core/stable/test_health_reporter.py332 except Exception as e: # noqa: BLE001
LOWtests/core/stable/services/tools/test_plugin_client.py201 except Exception as exc:
LOWtests/adapters/db/test_mongodb.py730 except Exception:
LOWtests/e2e/test_server_cli.py239 except Exception as exc:
LOWtests/e2e/test_utilities.py125 except Exception as exc:
LOWtests/e2e/test_utilities.py157 except Exception as e:
LOWtests/e2e/test_utilities.py164 except Exception:
LOWdocs/advanced/custom-llms.md289 except Exception as e:
LOWdocs/adapters/nlp/vertex.md344except Exception as e:
LOWdocs/production/human-handoff.md195 except Exception as e:
LOWsrc/parlant/core/background_tasks.py133 except Exception as exc:
LOWsrc/parlant/core/async_utils.py226 except Exception as e:
LOWsrc/parlant/core/tools.py478 except Exception as e:
LOWsrc/parlant/core/tools.py492 except Exception as e:
LOWsrc/parlant/core/tools.py569 except Exception as exc:
LOWsrc/parlant/core/app_modules/sessions.py347 except Exception:
LOWsrc/parlant/core/app_modules/common.py18 except Exception:
LOWsrc/parlant/core/engines/alpha/prompt_builder.py156 except Exception as e:
LOWsrc/parlant/core/engines/alpha/message_generator.py302 except Exception as exc:
LOW…arlant/core/engines/alpha/canned_response_generator.py2048 except Exception as e:
LOW…arlant/core/engines/alpha/canned_response_generator.py1237 except Exception as exc:
LOW…arlant/core/engines/alpha/canned_response_generator.py1290 except Exception as exc:
LOW…arlant/core/engines/alpha/canned_response_generator.py2480 except Exception as exc:
LOW…arlant/core/engines/alpha/canned_response_generator.py2823 except Exception as e:
LOWsrc/parlant/core/engines/alpha/engine.py213 except Exception as exc:
LOWsrc/parlant/core/engines/alpha/engine.py273 except Exception as exc:
LOWsrc/parlant/core/engines/alpha/engine.py412 except Exception:
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py203 except Exception as exc:
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py346 except Exception as exc:
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1027 except Exception as exc:
LOW…parlant/core/engines/alpha/tool_calling/tool_caller.py290 except Exception as exc:
LOW…parlant/core/engines/alpha/tool_calling/tool_caller.py308 except Exception as e:
LOW…ideline_matching/custom_guideline_matching_strategy.py57 except Exception as e:
LOW…viously_applied_actionable_customer_dependent_batch.py156 except Exception as exc:
LOW…lpha/guideline_matching/generic/observational_batch.py151 except Exception as exc:
LOW…pha/guideline_matching/generic/disambiguation_batch.py217 except Exception as exc:
LOW…/guideline_matching/generic/response_analysis_batch.py206 except Exception as exc:
LOW…ideline_matching/generic/guideline_actionable_batch.py146 except Exception as exc:
LOW…neric/guideline_previously_applied_actionable_batch.py149 except Exception as exc:
LOW…ne_matching/generic/guideline_low_criticality_batch.py123 except Exception as exc:
LOW…atching/generic/journey/journey_next_step_selection.py377 except Exception as exc:
LOW…ne_matching/generic/journey/journey_backtrack_check.py187 except Exception:
LOW…ne_matching/generic/journey/journey_backtrack_check.py363 except Exception as exc:
LOW…ng/generic/journey/journey_backtrack_node_selection.py254 except Exception:
LOW…ng/generic/journey/journey_backtrack_node_selection.py514 except Exception as exc:
LOWsrc/parlant/core/nlp/generation.py195 except Exception:
LOWsrc/parlant/core/nlp/generation.py206 except Exception as exc:
LOWsrc/parlant/core/nlp/generation.py362 except Exception as exc:
LOWsrc/parlant/core/nlp/generation.py438 except Exception as e:
LOWsrc/parlant/core/nlp/embedding.py234 except Exception as exc:
LOWsrc/parlant/core/services/tools/plugins.py235 except Exception:
LOWsrc/parlant/core/services/tools/plugins.py709 except Exception as exc:
LOWsrc/parlant/core/services/tools/plugins.py941 except Exception:
LOWsrc/parlant/core/services/tools/plugins.py999 except Exception as exc:
LOWsrc/parlant/core/services/tools/mcp_service.py218 except Exception as exc:
LOWsrc/parlant/core/services/tools/mcp_service.py257 except Exception as exc:
LOWsrc/parlant/core/services/tools/mcp_service.py282 except Exception as exc:
LOWsrc/parlant/core/services/tools/mcp_service.py297 except Exception as e:
138 more matches not shown…
Decorative Section Separators42 hits · 132 pts
SeverityFileLineSnippet
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2012# ── Tag-level dependency tests ──────────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2252# ── ANY-semantics tag dependency tests ─────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2608# ── Dependency hierarchy tests ─────────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3199# ── Edge-case tests ─────────────────────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3421# ── Custom journey tag propagation tests ───────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3818# ── Dependency edge-case tests ─────────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4296# ── Numerical priority + dependency interaction tests ──────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4489# ── TAG_ALL vs TAG_ANY explicit tests ──────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4771# ── DEPENDENCY_ANY (OR group) tests ────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py5030# ── DEPENDENCY_ANY edge case tests ─────────────────────────────────────────
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py5741# ── Resolution attribution edge-case tests ────────────────────────────────
MEDIUMtests/core/stable/nlp/test_generation.py417# ============================================================================
MEDIUMtests/core/stable/nlp/test_generation.py419# ============================================================================
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py60# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py62# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py68# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py70# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py180# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py182# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py221# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py223# ---------------------------------------------------------------------------
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py593 # ── Phase 1: Resolve dependency targets ──────────────────────────
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py630 # ── Phase 2: Topological sort (Kahn's algorithm) ─────────────────
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py634 # ── Phase 3: Evaluate in topological order ───────────────────────
MEDIUMsrc/parlant/core/nlp/generation.py40# ============================================================================
MEDIUMsrc/parlant/core/nlp/generation.py42# ============================================================================
MEDIUMsrc/parlant/core/nlp/generation.py259# ============================================================================
MEDIUMsrc/parlant/core/nlp/generation.py261# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py361# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py363# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py580# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py582# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/openai_service.py414# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/openai_service.py416# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/openai_service.py561# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/openai_service.py563# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/novita_service.py272# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/novita_service.py274# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py335# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py337# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py534# ============================================================================
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py536# ============================================================================
Deep Nesting126 hits · 108 pts
SeverityFileLineSnippet
LOW…re/stable/engines/alpha/test_journey_node_selection.py1098
LOW…core/stable/engines/alpha/test_disambiguation_batch.py269
LOW…re/unstable/engines/alpha/test_disambiguation_batch.py263
LOWtests/adapters/db/test_mongodb.py1078
LOWtests/adapters/db/test_mongodb.py1116
LOWtests/adapters/db/test_mongodb.py1181
LOWtests/sdk/utils.py125
LOWtests/sdk/test_agents.py366
LOWtests/e2e/test_utilities.py95
LOWscripts/generate_client_sdk.py38
LOWsrc/parlant/sdk.py1902
LOWsrc/parlant/sdk.py727
LOWsrc/parlant/sdk.py819
LOWsrc/parlant/sdk.py953
LOWsrc/parlant/sdk.py1386
LOWsrc/parlant/sdk.py1472
LOWsrc/parlant/sdk.py1586
LOWsrc/parlant/sdk.py2944
LOWsrc/parlant/sdk.py4684
LOWsrc/parlant/sdk.py4878
LOWsrc/parlant/core/journeys.py1023
LOWsrc/parlant/core/entity_cq.py389
LOWsrc/parlant/core/capabilities.py414
LOWsrc/parlant/core/relationships.py339
LOWsrc/parlant/core/glossary.py396
LOWsrc/parlant/core/app_modules/context_variables.py84
LOWsrc/parlant/core/app_modules/journeys.py116
LOWsrc/parlant/core/engines/alpha/relational_resolver.py264
LOWsrc/parlant/core/engines/alpha/relational_resolver.py553
LOWsrc/parlant/core/engines/alpha/relational_resolver.py725
LOWsrc/parlant/core/engines/alpha/relational_resolver.py756
LOWsrc/parlant/core/engines/alpha/relational_resolver.py930
LOWsrc/parlant/core/engines/alpha/relational_resolver.py1204
LOWsrc/parlant/core/engines/alpha/relational_resolver.py1353
LOWsrc/parlant/core/engines/alpha/prompt_builder.py109
LOWsrc/parlant/core/engines/alpha/message_generator.py197
LOW…arlant/core/engines/alpha/canned_response_generator.py610
LOW…arlant/core/engines/alpha/canned_response_generator.py1020
LOW…arlant/core/engines/alpha/canned_response_generator.py1062
LOWsrc/parlant/core/engines/alpha/engine.py1043
LOWsrc/parlant/core/engines/alpha/engine.py1646
LOWsrc/parlant/core/engines/alpha/engine.py2143
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py236
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py661
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py172
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py182
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py355
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1254
LOW…ngines/alpha/tool_calling/default_tool_call_batcher.py64
LOW…ngines/alpha/tool_calling/default_tool_call_batcher.py77
LOW…viously_applied_actionable_customer_dependent_batch.py107
LOW…lpha/guideline_matching/generic/observational_batch.py102
LOW…pha/guideline_matching/generic/disambiguation_batch.py148
LOW…/guideline_matching/generic/response_analysis_batch.py148
LOW…ideline_matching/generic/guideline_actionable_batch.py97
LOW…neric/guideline_previously_applied_actionable_batch.py100
LOW…atching/generic/generic_guideline_matching_strategy.py161
LOW…ne_matching/generic/guideline_low_criticality_batch.py73
LOW…tching/generic/journey/journey_node_selection_batch.py159
LOW…tching/generic/journey/journey_node_selection_batch.py264
66 more matches not shown…
Unused Imports118 hits · 91 pts
SeverityFileLineSnippet
LOWtests/core/test_cancellation_suppression_latch.py15
LOW…/core/stable/engines/alpha/test_relational_resolver.py18
LOWtests/adapters/db/test_snowflake_db.py15
LOWtests/e2e/test_utilities.py15
LOWsrc/parlant/sdk.py15
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py76
LOWsrc/parlant/sdk.py99
LOWsrc/parlant/sdk.py132
LOWsrc/parlant/sdk.py132
LOWsrc/parlant/sdk.py133
LOWsrc/parlant/sdk.py134
LOWsrc/parlant/sdk.py157
LOWsrc/parlant/sdk.py163
LOWsrc/parlant/sdk.py163
LOWsrc/parlant/sdk.py163
LOWsrc/parlant/sdk.py168
LOWsrc/parlant/sdk.py183
LOWsrc/parlant/sdk.py183
LOWsrc/parlant/sdk.py183
LOWsrc/parlant/sdk.py230
LOWsrc/parlant/sdk.py230
LOWsrc/parlant/sdk.py230
LOWsrc/parlant/sdk.py230
LOWsrc/parlant/sdk.py230
LOWsrc/parlant/sdk.py239
LOWsrc/parlant/sdk.py239
LOWsrc/parlant/sdk.py239
LOWsrc/parlant/sdk.py239
LOWsrc/parlant/sdk.py239
LOWsrc/parlant/sdk.py246
LOWsrc/parlant/sdk.py246
LOWsrc/parlant/sdk.py252
LOWsrc/parlant/sdk.py252
LOWsrc/parlant/sdk.py256
LOWsrc/parlant/sdk.py256
LOWsrc/parlant/sdk.py256
LOWsrc/parlant/sdk.py263
LOWsrc/parlant/sdk.py263
LOWsrc/parlant/sdk.py263
LOWsrc/parlant/sdk.py263
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/sdk.py274
LOWsrc/parlant/core/tags.py15
LOWsrc/parlant/core/sessions.py15
LOWsrc/parlant/core/context_variables.py15
LOWsrc/parlant/core/async_utils.py15
LOWsrc/parlant/core/loggers.py15
LOWsrc/parlant/core/canned_responses.py15
58 more matches not shown…
Verbosity Indicators34 hits · 54 pts
SeverityFileLineSnippet
LOWtests/core/common/engines/alpha/steps/journeys.py2076 # Step 1: Ask for account name
LOWtests/core/common/engines/alpha/steps/journeys.py2104 # Step 2: Ask for desired credit limit
LOWtests/core/common/engines/alpha/steps/journeys.py2132 # Step 3: Confirm information and move forward politely
LOWtests/core/common/engines/alpha/steps/journeys.py2161 # Step 4: Use tool to get the current limit
LOWtests/core/common/engines/alpha/steps/journeys.py2211 # Step 5: Use tool to change the limit
LOWtests/core/common/engines/alpha/steps/journeys.py2261 # Step 6: Report to customer
LOWtests/core/common/engines/alpha/steps/journeys.py2278 # Step 7: Report failure
LOWsrc/parlant/core/engines/alpha/relational_resolver.py341 # Step 1: Dependencies
LOWsrc/parlant/core/engines/alpha/relational_resolver.py353 # Step 2: Relational prioritization (includes transitive dep filtering)
LOWsrc/parlant/core/engines/alpha/relational_resolver.py371 # Step 3: Numerical priority filtering.
LOWsrc/parlant/core/engines/alpha/relational_resolver.py393 # Step 4: Entailment.
LOW…arlant/core/engines/alpha/canned_response_generator.py2176 # Step 1: Generate the draft message
LOW…arlant/core/engines/alpha/canned_response_generator.py2266 # Step 2: Select the most relevant canned response templates based on the draft message
LOW…arlant/core/engines/alpha/canned_response_generator.py2306 # Step 3: Pre-render these templates so that matching works better
LOW…arlant/core/engines/alpha/canned_response_generator.py2351 # Step 5: Respond based on the match quality
LOWsrc/parlant/core/engines/alpha/engine.py1243 # Step 1: Retrieve the journeys likely to be activated for this agent
LOWsrc/parlant/core/engines/alpha/engine.py1248 # Step 2 : Retrieve all the guidelines for the context.
LOWsrc/parlant/core/engines/alpha/engine.py1277 # Step 4: Filter the best matches out of those.
LOWsrc/parlant/core/engines/alpha/engine.py1287 # Step 5: Filter the journeys that are activated by the matched guidelines.
LOWsrc/parlant/core/engines/alpha/engine.py1292 # Step 6: If any of the lower-probability journeys (those originally filtered out)
LOWsrc/parlant/core/engines/alpha/engine.py1319 # Step 7: Build the set of matched guidelines:
LOWsrc/parlant/core/engines/alpha/engine.py1329 # Step 8: Let the plan potentially intervene
LOWsrc/parlant/core/engines/alpha/engine.py1332 # Step 9: Resolve guideline matches by considering relationships
LOWsrc/parlant/core/engines/alpha/engine.py1351 # Step 1: Retrieve all the possible journeys for this agent
LOWsrc/parlant/core/engines/alpha/engine.py1356 # Step 2: Reuse the usable guidelines cached during the initial iteration.
LOWsrc/parlant/core/engines/alpha/engine.py1360 # Step 3: Retrieve guidelines that need reevaluation based on tool calls made
LOWsrc/parlant/core/engines/alpha/engine.py1370 # Step 4: Reevaluate those guidelines using the latest context.
LOWsrc/parlant/core/engines/alpha/engine.py1380 # Step 5: Filter out the journeys activated by the matched guidelines.
LOWsrc/parlant/core/engines/alpha/engine.py1388 # Step 6: If any of the journeys have been activated,
LOWsrc/parlant/core/engines/alpha/engine.py1262 # Step 3: Exclude guidelines whose prerequisite journeys are less likely to be activated
LOWsrc/parlant/core/engines/alpha/engine.py1414 # Step 7: Build the final set of matched guidelines:
LOWsrc/parlant/core/engines/alpha/engine.py1426 # Step 8: Let the plan potentially intervene
LOWsrc/parlant/core/engines/alpha/engine.py1429 # Step 9: Resolve guideline matches by considering relationships
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1773 "The customer wants to purchase a laptop and a mouse and we need to check if those products are available"
Redundant / Tautological Comments35 hits · 50 pts
SeverityFileLineSnippet
LOWtests/adapters/vector_db/test_qdrant.py508 # Check if any documents were successfully migrated to new format
LOWtests/adapters/db/test_mongodb.py1106 # Check if this index includes creation_utc field
LOWtests/adapters/db/test_mongodb.py1169 # Check if this index includes creation_utc field
LOWtests/adapters/db/test_mongodb.py1210 # Check if this index includes creation_utc field
LOWsrc/parlant/sdk.py1768 # Check if this state has no outgoing transitions (leaf state)
LOWsrc/parlant/sdk.py1827 # Add target to queue for further processing
LOWsrc/parlant/sdk.py1873 # Check if this is a journey node guideline
LOWsrc/parlant/sdk.py5021 # Check if the result is a deferred callable
LOWsrc/parlant/core/sessions.py1551 # Check if the event has chunks property
LOWsrc/parlant/core/sessions.py1555 # Check if the last chunk is None (completion signal)
LOWsrc/parlant/core/journeys.py890 # Check if journey with this ID already exists
LOWsrc/parlant/core/agents.py354 # Check if agent with this ID already exists
LOWsrc/parlant/core/customers.py277 # Check if customer with this ID already exists
LOWsrc/parlant/core/guidelines.py656 # Check if guideline with this ID already exists
LOWsrc/parlant/core/glossary.py301 # Check if term with this ID already exists
LOW…arlant/core/engines/alpha/canned_response_generator.py709 # Check if this is the first agent message (greeting scenario)
LOW…arlant/core/engines/alpha/canned_response_generator.py2016 # Add chunk to the list and update the message
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1284 # Check if all required parameters are present
LOWsrc/parlant/core/services/tools/plugins.py339 # Check if it's a list[Enum] type
LOWsrc/parlant/adapters/vector_db/qdrant.py84 # Check if it's a timeout error
LOWsrc/parlant/adapters/vector_db/qdrant.py331 # Check if index exists
LOWsrc/parlant/adapters/vector_db/qdrant.py637 # Check if collections exist
LOWsrc/parlant/adapters/vector_db/qdrant.py780 # Check if metadata collection exists
LOWsrc/parlant/adapters/vector_db/mongo.py113 # Check if the index already exists
LOWsrc/parlant/adapters/vector_db/mongo.py225 # Check if the collection exists in MongoDB
LOWsrc/parlant/adapters/vector_db/chroma.py246 # Check if we have a corresponding embedded collection for the embedder type.
LOWsrc/parlant/adapters/nlp/vertex_service.py776 # Check if it's a short name we recognize
LOWsrc/parlant/adapters/nlp/mistral_service.py350 # Check if any score indicates flagged content (threshold can be adjusted)
LOWsrc/parlant/adapters/nlp/azure_service.py280 # Check if API key is provided (backward compatibility)
LOWsrc/parlant/adapters/nlp/openrouter_service.py178 # Check if it's a JSON mode error
LOWsrc/parlant/adapters/nlp/openrouter_service.py234 # Check if we got empty response
LOWsrc/parlant/adapters/nlp/openrouter_service.py247 # Check if parsed JSON is empty
LOWsrc/parlant/adapters/nlp/openrouter_service.py602 # Check if we have a predefined generator for this model
LOWsrc/parlant/adapters/nlp/gemini_service.py529 # Check if origin is Mapping or Sequence
LOWsrc/parlant/api/sessions.py2129 # Check if event is complete (for streaming events)
Magic Placeholder Names7 hits · 38 pts
SeverityFileLineSnippet
HIGHdocs/quickstart/installation.md70export OPENAI_API_KEY="<YOUR_API_KEY>"
HIGHdocs/quickstart/installation.md70export OPENAI_API_KEY="<YOUR_API_KEY>"
HIGHdocs/adapters/vector_db/qdrant.md51 # api_key="your-api-key-here",
HIGHdocs/adapters/nlp/openrouter.md17export OPENROUTER_API_KEY="your-api-key-here"
HIGHdocs/adapters/nlp/openrouter.md44export OPENROUTER_API_KEY="your-api-key-here"
HIGHdocs/adapters/nlp/openrouter.md514export OPENROUTER_API_KEY="your-api-key-here"
HIGHdocs/adapters/nlp/azure.md168export AZURE_API_KEY="your-api-key"
Cross-Language Confusion5 hits · 22 pts
SeverityFileLineSnippet
HIGHtests/sdk/utils.py113 """Check if the event is still streaming (chunks property exists and not yet terminated with null)."""
HIGHscripts/version.py136 "git diff --quiet && git diff --cached --quiet && git ls-files --others --exclude-standard"
HIGH…arlant/core/engines/alpha/canned_response_generator.py1467If told so by a guideline or some other contextual condition, send the first message. Otherwise, do not produce a reply
HIGH…arlant/core/engines/alpha/canned_response_generator.py1473 "response_preamble_that_was_already_sent": null,
HIGH…arlant/core/engines/alpha/canned_response_generator.py1486The only exception where you may not produce a reply (i.e., setting message = null) is if the user, or a provided guidel
Fake / Example Data19 hits · 20 pts
SeverityFileLineSnippet
LOWtests/sdk/test_customers.py23 name="John Doe", metadata={"email": "john.doe@example.com"}
LOWtests/sdk/test_customers.py31 assert customer.name == "John Doe"
LOWtests/sdk/test_customers.py39 name="John Doe",
LOWtests/sdk/test_customers.py58 name="John Doe",
LOWtests/sdk/test_customers.py65 self.customer = await server.find_customer(name="John Doe")
LOWtests/sdk/test_customers.py75 name="John Doe",
LOWtests/sdk/test_variables.py78 self.customer = await server.create_customer("John Doe")
LOWtests/sdk/test_variables.py187 self.customer = await server.create_customer("Jane Doe")
LOWtests/sdk/test_variables.py244 self.customer = await server.create_customer("Jane Doe")
LOWtests/sdk/test_variables.py286 "Jane Doe",
LOWtests/api/test_sessions.py1812 "participant": {"id": "agent_007", "display_name": "John Doe"},
LOWtests/api/test_sessions.py1823 assert event["data"]["participant"]["display_name"] == "John Doe"
LOWtests/api/test_customers.py29 name = "John Doe"
LOWtests/api/test_customers.py60 "name": "John Doe",
LOWtests/modules/bank.py33 return ToolResult({"name": "John Doe", "account_number": "1234567890"})
LOW…ng/generic/journey/journey_backtrack_node_selection.py1428 _make_event("3", EventSource.CUSTOMER, "Jane Doe"),
LOWsrc/parlant/api/sessions.py321 examples=["John Doe", "Alice"],
LOWsrc/parlant/api/sessions.py328 "display_name": "John Doe",
LOWsrc/parlant/api/sessions.py415 "participant": {"id": "cust_123xy", "display_name": "John Doe"},
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippet
CRITICALsrc/parlant/adapters/nlp/azure_service.py144 response = await self._client.beta.chat.completions.parse(
CRITICALsrc/parlant/adapters/nlp/openai_service.py200 response = await self._client.beta.chat.completions.parse(
AI Slop Vocabulary4 hits · 5 pts
SeverityFileLineSnippet
MEDIUMtests/sdk/test_sdk_validation.py581 """Test comprehensive condition validation for ForkJourneyState"""
LOWsrc/parlant/core/journeys.py1323 # Journey not found, just return node as-is
MEDIUM…arlant/core/engines/alpha/canned_response_generator.py1889 # Build recap section to leverage LLM recency bias
LOWsrc/parlant/api/sessions.py2137 # Non-streaming event, just return it once
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHsrc/parlant/adapters/vector_db/qdrant.py63 Retry an async operation on timeout errors with exponential backoff. Args: operation: The async operat
Slop Phrases1 hit · 0 pts
SeverityFileLineSnippet
LOWsrc/parlant/core/engines/alpha/prompt_builder.py326 return f"\nIMPORTANT: Please note that the last message was sent by you, the AI agent (likely as a preamble). Yo