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.8 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of emcie-co/parlant, a Python project with 18,175 GitHub stars. SynthScan v2.0 examined 186,089 lines of code across 449 source files, recording 2632 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 15.8 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.8
Adjusted Score
15.8
Raw Score
100%
Time Factor
2026-07-12
Last Push
18.2K
Stars
Python
Language
186.1K
Lines of Code
449
Files
2.6K
Pattern Hits
2026-07-14
Scan Date
0.18
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 2HIGH 78MEDIUM 124LOW 2428

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2632 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1520 hits · 1318 pts
SeverityFileLineSnippetContext
LOWtests/tool_utilities.py74def get_available_product_by_type(product_type: ProductType = ProductType.DRINKS) -> ToolResult:CODE
LOWtests/tool_utilities.py138def available_products_by_category(category: ProductCategory) -> ToolResult:CODE
LOWtests/tool_utilities.py147def available_products_by_categories(categories: list[ProductCategory]) -> ToolResult:CODE
LOWtests/tool_utilities.py241def calculate_expected_salary(CODE
LOWtests/tool_utilities.py252async def get_electronic_products_by_type(CODE
LOWtests/tool_utilities.py297async def search_electronic_products(CODE
LOWtests/tool_utilities.py553 def _mock_lookup_credit_limit(username: str) -> Optional[float]:CODE
LOWtests/test_utilities.py290async def set_context_variable_value(STRING
LOWtests/test_utilities.py404async def get_when_async_done_or_timeout(STRING
LOWtests/test_utilities.py458 def _ensure_cache_file_exists(self) -> None:STRING
LOWtests/test_utilities.py476 def serialize_generation_info(generation: GenerationInfo) -> _GenerationInfoDocument:STRING
LOWtests/test_utilities.py501 def deserialize_generation_info(STRING
LOWtests/test_utilities.py567async def create_schematic_generation_result_collection(STRING
LOWtests/test_utilities.py608async def two_required_query_params(STRING
LOWtests/test_utilities.py636async def one_required_query_param_one_required_body_param(STRING
LOWtests/core/test_cancellation_suppression_latch.py25async def test_latch_behavior_with_no_cancellation() -> None:CODE
LOWtests/core/test_cancellation_suppression_latch.py46async def test_latch_behavior_with_cancellation_after_suppression() -> None:CODE
LOWtests/core/test_cancellation_suppression_latch.py78async def test_latch_behavior_with_cancellation_before_suppression() -> None:CODE
LOWtests/core/test_id_generator.py18async def test_that_id_generator_generates_different_ids_for_objects_with_similar_small_content() -> (CODE
LOWtests/core/test_id_generator.py34async def test_that_id_generator_generates_different_ids_for_objects_with_similar_big_content() -> (CODE
LOWtests/core/stable/test_capability_vector_store.py26async def test_that_updating_a_capability_replaces_its_vector_documents(CODE
LOWtests/core/stable/test_capability_vector_store.py66async def test_that_deleting_a_capability_removes_its_vector_documents(CODE
LOWtests/core/stable/test_journey_guideline_projection.py10async def test_that_projection_yields_followup_for_existing_guideline(container: Container) -> None:CODE
LOWtests/core/stable/test_relationships.py55async def test_that_direct_guideline_relationships_can_be_listed(CODE
LOWtests/core/stable/test_relationships.py93async def test_that_indirect_guideline_relationships_can_be_listed(CODE
LOWtests/core/stable/test_relationships.py127async def test_that_db_data_is_loaded_correctly(CODE
LOWtests/core/stable/test_relationships.py165async def test_that_relationships_are_returned_for_source_without_indirect_relationships(CODE
LOWtests/core/stable/test_relationships.py206async def test_that_connections_are_returned_for_source_with_indirect_connections(CODE
LOWtests/core/stable/test_relationships.py248async def test_that_relationships_are_returned_for_target_without_indirect_connections(CODE
LOWtests/core/stable/test_relationships.py289async def test_that_relationships_are_returned_for_target_with_indirect_connections(CODE
LOWtests/core/stable/test_relationships.py331async def test_that_all_relationships_can_be_listed(CODE
LOWtests/core/stable/test_relationships.py360async def test_that_relationships_can_be_listed_by_kind_without_entity_filters(CODE
LOWtests/core/stable/test_relationships.py401async def test_that_relationships_can_be_listed_by_source_id_without_kind_filter(CODE
LOWtests/core/stable/test_relationships.py427async def test_that_relationships_can_be_listed_by_target_id_without_kind_filter(CODE
LOWtests/core/stable/test_relationships.py453async def test_that_relationships_can_be_listed_with_both_source_and_target_filters(CODE
LOWtests/core/stable/test_relationships.py483async def test_that_creating_a_direct_circular_dependency_raises_an_error(CODE
LOWtests/core/stable/test_relationships.py504async def test_that_creating_an_indirect_circular_dependency_raises_an_error(CODE
LOWtests/core/stable/test_relationships.py532async def test_that_creating_a_self_dependency_is_allowed(CODE
LOWtests/core/stable/test_relationships.py545async def test_that_creating_a_cycle_across_dependency_and_dependency_any_raises_an_error(CODE
LOWtests/core/stable/test_application.py102async def test_that_a_new_customer_session_can_be_created(CODE
LOWtests/core/stable/test_application.py118async def test_that_a_new_customer_session_with_a_proactive_agent_contains_a_message(CODE
LOWtests/core/stable/test_application.py140async def test_that_when_a_client_event_is_posted_then_new_server_events_are_emitted(CODE
LOWtests/core/stable/test_application.py168async def test_that_a_session_update_is_detected_as_soon_as_a_client_event_is_posted(CODE
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_tCODE
LOWtests/core/stable/test_application.py226def hand_off_to_human_operator() -> ToolResult:CODE
LOWtests/core/stable/test_application.py230async def test_that_a_response_is_not_generated_automatically_after_a_tool_switches_the_session_to_manual_mode(CODE
LOWtests/core/stable/test_entity_cq.py37async def test_that_list_guidelines_with_mutual_agent_tag_are_returned(CODE
LOWtests/core/stable/test_entity_cq.py76async def test_that_list_guidelines_global_guideline_is_returned(CODE
LOWtests/core/stable/test_entity_cq.py94async def test_that_guideline_with_not_hierarchy_tag_is_not_returned(CODE
LOWtests/core/stable/test_entity_cq.py127async def test_that_guideline_matches_are_not_filtered_by_enabled_journeys(CODE
LOWtests/core/stable/test_entity_cq.py169async def test_that_guideline_tagged_with_disabled_journey_is_filtered_out_when_matched(CODE
LOWtests/core/stable/test_entity_cq.py209async def test_that_find_canned_responses_for_agent_returns_global_canned_responses(CODE
LOWtests/core/stable/test_entity_cq.py230async def test_that_find_canned_responses_for_agent_returns_none_for_non_matching_tag(CODE
LOWtests/core/stable/test_entity_cq.py253async def test_that_find_canned_responses_for_agent_and_journey_returns_journey_canned_responses(CODE
LOWtests/core/stable/test_entity_cq.py282async def test_that_find_glossary_terms_for_agent_returns_all_when_no_tags(CODE
LOWtests/core/stable/test_entity_cq.py307async def test_that_find_glossary_terms_for_agent_returns_none_for_non_matching_tag(CODE
LOWtests/core/stable/test_entity_cq.py329async def test_that_find_capabilities_for_agent_returns_unique_capabilities(CODE
LOWtests/core/stable/test_entity_cq.py362async def test_find_relevant_journeys_for_agent_returns_most_relevant(CODE
LOWtests/core/stable/test_entity_cq.py400async def test_list_guidelines_dependent_directly_on_journey(CODE
LOWtests/core/stable/test_entity_cq.py438async def test_list_guidelines_dependent_indirectly_on_journey(CODE
1460 more matches not shown…
Cross-File Repetition65 hits · 325 pts
SeverityFileLineSnippetContext
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
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)} STRING
HIGH…/engines/alpha/tool_calling/overlapping_tools_batch.py0- **context**: {shot.description} - **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json"STRING
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"STRING
HIGH…core/services/indexing/tool_running_action_detector.py0- **context**: {shot.description} - **expected result**: ```json {json.dumps(shot.expected_result.model_dump(mode="json"STRING
HIGH…viously_applied_actionable_customer_dependent_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…lpha/guideline_matching/generic/observational_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…pha/guideline_matching/generic/disambiguation_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…/guideline_matching/generic/response_analysis_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…ideline_matching/generic/guideline_actionable_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…neric/guideline_previously_applied_actionable_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…atching/generic/journey/journey_next_step_selection.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…ne_matching/generic/journey/journey_backtrack_check.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…ng/generic/journey/journey_backtrack_node_selection.py0- **interaction events**: {json.dumps([adapt_event(e) for e in shot.interaction_events], indent=2)}STRING
HIGH…viously_applied_actionable_customer_dependent_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}STRING
HIGH…ideline_matching/generic/guideline_actionable_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}STRING
HIGH…neric/guideline_previously_applied_actionable_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}STRING
HIGH…ne_matching/generic/guideline_low_criticality_batch.py0examples of guideline match evaluations: ------------------- {formatted_shots}STRING
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 -------STRING
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 -------STRING
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 -------STRING
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 -------STRING
HIGH…/guideline_matching/generic/response_analysis_batch.py0important: please note there are exactly {guidelines_len} guidelines in the list for you to check. output format -------STRING
HIGH…atching/generic/journey/journey_next_step_selection.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following isSTRING
HIGH…ne_matching/generic/journey/journey_backtrack_check.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following isSTRING
HIGH…ng/generic/journey/journey_backtrack_node_selection.py0examples of journey step selections: ------------------- {formatted_shots} ### example section is over. the following isSTRING
HIGH…ore/services/indexing/guideline_continuous_proposer.py0guideline ----------- condition: {condition} action: {action}STRING
HIGH…core/services/indexing/tool_running_action_detector.py0guideline ----------- condition: {condition} action: {action}STRING
HIGH…ervices/indexing/guideline_agent_intention_proposer.py0guideline ----------- condition: {condition} action: {action}STRING
HIGH…ervices/indexing/customer_dependent_action_detector.py0guideline ----------- condition: {condition} action: {action}STRING
HIGHsrc/parlant/adapters/nlp/vertex_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/cerebras_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/qwen_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/mistral_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/azure_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/parlant_cloud_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/litellm_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/openrouter_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/aws_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/modelscope_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/together_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/openai_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/gemini_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/fireworks_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/ollama_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/anthropic_service.py0returns an error message if the environment is not set up correctly.STRING
HIGHsrc/parlant/adapters/nlp/deepseek_service.py0returns an error message if the environment is not set up correctly.STRING
5 more matches not shown…
Over-Commented Block267 hits · 253 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/tool_utilities.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/test_utilities.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/__init__.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/test_cancellation_suppression_latch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/conftest.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/test_id_generator.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/test_relationships.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/test_application.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/test_entity_cq.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/test_health_reporter.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…core/stable/engines/alpha/test_user_story_scenarios.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…viously_applied_actionable_customer_dependent_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…table/engines/alpha/test_guideline_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ines/alpha/test_previously_applied_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…/core/stable/engines/alpha/test_relational_resolver.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…/stable/engines/alpha/test_context_variable_loading.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…/engines/alpha/test_guideline_low_criticality_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ts/core/stable/engines/alpha/test_guideline_matcher.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/engines/alpha/test_mcp.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…s/core/stable/engines/alpha/test_baseline_scenarios.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…core/stable/engines/alpha/test_disambiguation_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…stable/engines/alpha/test_generic_response_analysis.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/engines/alpha/test_tool_caller.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/persistence/test_matches_filters.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/nlp/test_embedding.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/nlp/test_generation.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/services/tools/test_openapi.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/services/tools/test_plugin_client.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ces/indexing/test_journey_reachable_nodes_evaluator.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ble/services/indexing/test_agent_intention_proposer.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ervices/indexing/test_continuous_guideline_proposer.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/stable/services/indexing/test_indexer.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…es/indexing/test_customer_dependent_action_detector.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…le/services/indexing/test_guideline_action_proposer.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/utils.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/utils.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/terms.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/tags.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/sessions.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…s/core/common/engines/alpha/steps/context_variables.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/engines.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/events.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ts/core/common/engines/alpha/steps/canned_responses.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/tools.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/agents.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/capabilities.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/customers.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/core/common/engines/alpha/steps/guidelines.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…re/unstable/engines/alpha/test_user_story_scenarios.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…nstable/engines/alpha/test_agent_intention_proposer.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…ines/alpha/test_previously_applied_actionable_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…/core/unstable/engines/alpha/test_guideline_matcher.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…core/unstable/engines/alpha/test_baseline_scenarios.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOW…re/unstable/engines/alpha/test_disambiguation_batch.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/adapters/vector_db/test_mongo_vector.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/adapters/vector_db/test_qdrant.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/adapters/nlp/test_zhipu_service.py1# Copyright 2026 Emcie Co Ltd.COMMENT
LOWtests/adapters/nlp/test_azure_service.py1# Copyright 2026 Emcie Co Ltd.COMMENT
207 more matches not shown…
Self-Referential Comments60 hits · 181 pts
SeverityFileLineSnippetContext
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py232 # Create a standalone guidelineCOMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py238 # Create a journey with a conditionCOMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py315 # Create a journey with a conditionCOMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py351 # Create a standalone guidelineCOMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py405 # Create a journeyCOMMENT
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1343 # Create a tool with no parameters and consequential=False (default)COMMENT
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1397 # Create a tool with no parameters and consequential=False (default)COMMENT
MEDIUMtests/core/stable/engines/alpha/test_tool_caller.py1408 # Create a staged event representing this tool already being stagedCOMMENT
MEDIUMtests/adapters/vector_db/test_mongo_vector.py390 # Create a new database instance pointing to the same databaseCOMMENT
MEDIUMtests/adapters/db/test_mongodb.py527 # Create a simple collectionCOMMENT
MEDIUMtests/adapters/db/test_json_file.py198 # Create a document firstCOMMENT
MEDIUMtests/adapters/db/test_json_file.py221 # Create a document firstCOMMENT
MEDIUMtests/adapters/db/test_json_file.py249 # Create a document firstCOMMENT
MEDIUMtests/adapters/db/test_json_file.py542 # Create an empty fileCOMMENT
MEDIUMtests/sdk/test_journeys.py1061 # Create the first journeyCOMMENT
MEDIUMtests/sdk/test_journeys.py1107 # Create a chat state for order confirmationCOMMENT
MEDIUMtests/sdk/test_journeys.py1398 # Create the user validation journeyCOMMENT
MEDIUMtests/sdk/test_journeys.py1417 # Create the hotel booking journeyCOMMENT
MEDIUMtests/sdk/test_journeys.py1552 # Create main customer service journeyCOMMENT
MEDIUMtests/sdk/test_journeys.py1767 # Create a guidelineCOMMENT
MEDIUMtests/sdk/test_journeys.py1773 # Create a journey with a custom state IDCOMMENT
MEDIUMtests/sdk/test_journeys.py1780 # Create a state with a custom IDCOMMENT
MEDIUMtests/sdk/test_journeys.py1788 # Create a session and send a messageCOMMENT
MEDIUMtests/sdk/test_journeys.py1878 # Create a state with a custom IDCOMMENT
MEDIUMtests/sdk/test_journeys.py2063 # Create a linked journey (will be activated via link, not via conditions)COMMENT
MEDIUMtests/sdk/test_journeys.py2077 # Create the parent journey that links to the validation journeyCOMMENT
MEDIUMtests/sdk/test_journeys.py2141 # Create a state transition and attach retriever to the target stateCOMMENT
MEDIUMtests/sdk/test_journeys.py2178 # Create a state transition and attach retriever to the target stateCOMMENT
MEDIUMtests/sdk/test_guidelines.py722 # Create the first guidelineCOMMENT
MEDIUMtests/sdk/test_guidelines.py951 # Create a canned response with a template that uses a fieldCOMMENT
MEDIUMtests/sdk/test_guidelines.py985 # Create a canned response that uses fields from multiple providersCOMMENT
MEDIUMtests/sdk/test_sdk_validation.py183 # Create a fork stateCOMMENT
MEDIUMtests/sdk/test_sdk_validation.py257 # Create a tool stateCOMMENT
MEDIUMtests/sdk/test_sdk_validation.py288 # Create a chat stateCOMMENT
MEDIUMtests/sdk/test_sdk_validation.py601 # Create a fork state to test withCOMMENT
MEDIUMtests/sdk/test_labels.py101 # Create a journey with labels that will be propagated when the journey matchesCOMMENT
MEDIUMtests/sdk/test_canned_responses.py47 # Create a canned response that depends on "order" fieldCOMMENT
MEDIUMtests/api/test_guidelines.py973 # Create a guideline with LOW criticalityCOMMENT
MEDIUMtests/api/test_sessions.py1911 # Create an event with initial metadataCOMMENT
MEDIUMtests/api/test_sessions.py1967 # Create an event with initial metadataCOMMENT
MEDIUMtests/api/test_sessions.py2021 # Create a customer message with custom participant infoCOMMENT
MEDIUMtests/api/test_sessions.py2052 # Create a customer message WITHOUT custom participantCOMMENT
MEDIUMtests/api/test_relationships.py15# Import necessary modules and classesCOMMENT
MEDIUMexamples/travel_voice_agent.py100 # Create the journeyCOMMENT
MEDIUMexamples/travel_voice_agent.py168 # Create the journeyCOMMENT
MEDIUMexamples/healthcare.py70 # Create the journeyCOMMENT
MEDIUMexamples/healthcare.py130 # Create the journeyCOMMENT
MEDIUMsrc/parlant/sdk.py1620 # Create the new stateCOMMENT
MEDIUMsrc/parlant/sdk.py1692 # Create a fork state for the conditionCOMMENT
MEDIUMsrc/parlant/sdk.py1734 # Create the target state and add it to processing queueCOMMENT
MEDIUMsrc/parlant/sdk.py1813 # Create the transition only if target state is in mappingCOMMENT
MEDIUMsrc/parlant/sdk.py4513 # Create a shim that translates between SDK and core typesCOMMENT
MEDIUMsrc/parlant/core/engines/alpha/engine.py1602 # Create a convenient accessor dict for tool-enabled guidelines (and their tools).COMMENT
MEDIUMsrc/parlant/core/services/tools/plugins.py259 """This function is specifically used to refresh some of the tool'sSTRING
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"""STRING
MEDIUM…core/services/indexing/behavioral_change_evaluation.py563 # Create a mapping from guideline payloads to evaluationsCOMMENT
MEDIUMsrc/parlant/adapters/nlp/openrouter_service.py606 # Create a dynamic generator for any OpenRouter modelSTRING
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py231 # Create a signature from parametersCOMMENT
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py243 # Create a fake callableCOMMENT
MEDIUMsrc/parlant/adapters/nlp/gemini_service.py596 # Create the new classSTRING
Excessive Try-Catch Wrapping198 hits · 176 pts
SeverityFileLineSnippetContext
LOWtests/test_utilities.py775 except Exception:STRING
LOWtests/core/stable/test_health_reporter.py260 except Exception as e: # noqa: BLE001CODE
LOWtests/core/stable/test_health_reporter.py332 except Exception as e: # noqa: BLE001CODE
LOWtests/core/stable/services/tools/test_plugin_client.py201 except Exception as exc:CODE
LOWtests/adapters/db/test_mongodb.py730 except Exception:CODE
LOWtests/e2e/test_server_cli.py239 except Exception as exc:CODE
LOWtests/e2e/test_utilities.py125 except Exception as exc:CODE
LOWtests/e2e/test_utilities.py157 except Exception as e:CODE
LOWtests/e2e/test_utilities.py164 except Exception:CODE
LOWdocs/advanced/custom-llms.md289 except Exception as e:CODE
LOWdocs/adapters/nlp/vertex.md344except Exception as e:CODE
LOWdocs/production/human-handoff.md195 except Exception as e:CODE
LOWsrc/parlant/core/background_tasks.py133 except Exception as exc:CODE
LOWsrc/parlant/core/async_utils.py226 except Exception as e:CODE
LOWsrc/parlant/core/tools.py478 except Exception as e:CODE
LOWsrc/parlant/core/tools.py492 except Exception as e:CODE
LOWsrc/parlant/core/tools.py569 except Exception as exc:CODE
LOWsrc/parlant/core/app_modules/sessions.py347 except Exception:CODE
LOWsrc/parlant/core/app_modules/common.py18 except Exception:CODE
LOWsrc/parlant/core/engines/alpha/prompt_builder.py156 except Exception as e:CODE
LOWsrc/parlant/core/engines/alpha/message_generator.py302 except Exception as exc:CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py2048 except Exception as e:CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py1237 except Exception as exc:STRING
LOW…arlant/core/engines/alpha/canned_response_generator.py1290 except Exception as exc:STRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2480 except Exception as exc:STRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2823 except Exception as e:STRING
LOWsrc/parlant/core/engines/alpha/engine.py213 except Exception as exc:CODE
LOWsrc/parlant/core/engines/alpha/engine.py273 except Exception as exc:CODE
LOWsrc/parlant/core/engines/alpha/engine.py412 except Exception:CODE
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py203 except Exception as exc:CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py346 except Exception as exc:CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1027 except Exception as exc:STRING
LOW…parlant/core/engines/alpha/tool_calling/tool_caller.py290 except Exception as exc:CODE
LOW…parlant/core/engines/alpha/tool_calling/tool_caller.py308 except Exception as e:CODE
LOW…ideline_matching/custom_guideline_matching_strategy.py57 except Exception as e:CODE
LOW…viously_applied_actionable_customer_dependent_batch.py156 except Exception as exc:CODE
LOW…lpha/guideline_matching/generic/observational_batch.py151 except Exception as exc:CODE
LOW…pha/guideline_matching/generic/disambiguation_batch.py217 except Exception as exc:CODE
LOW…/guideline_matching/generic/response_analysis_batch.py206 except Exception as exc:CODE
LOW…ideline_matching/generic/guideline_actionable_batch.py146 except Exception as exc:CODE
LOW…neric/guideline_previously_applied_actionable_batch.py149 except Exception as exc:CODE
LOW…ne_matching/generic/guideline_low_criticality_batch.py123 except Exception as exc:CODE
LOW…atching/generic/journey/journey_next_step_selection.py377 except Exception as exc:CODE
LOW…ne_matching/generic/journey/journey_backtrack_check.py187 except Exception:CODE
LOW…ne_matching/generic/journey/journey_backtrack_check.py363 except Exception as exc:STRING
LOW…ng/generic/journey/journey_backtrack_node_selection.py254 except Exception:CODE
LOW…ng/generic/journey/journey_backtrack_node_selection.py514 except Exception as exc:STRING
LOWsrc/parlant/core/nlp/generation.py195 except Exception:CODE
LOWsrc/parlant/core/nlp/generation.py206 except Exception as exc:CODE
LOWsrc/parlant/core/nlp/generation.py362 except Exception as exc:CODE
LOWsrc/parlant/core/nlp/generation.py438 except Exception as e:CODE
LOWsrc/parlant/core/nlp/embedding.py234 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/plugins.py235 except Exception:CODE
LOWsrc/parlant/core/services/tools/plugins.py709 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/plugins.py941 except Exception:CODE
LOWsrc/parlant/core/services/tools/plugins.py999 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/mcp_service.py218 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/mcp_service.py257 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/mcp_service.py282 except Exception as exc:CODE
LOWsrc/parlant/core/services/tools/mcp_service.py297 except Exception as e:CODE
138 more matches not shown…
Decorative Section Separators42 hits · 132 pts
SeverityFileLineSnippetContext
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2012# ── Tag-level dependency tests ──────────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2252# ── ANY-semantics tag dependency tests ─────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py2608# ── Dependency hierarchy tests ─────────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3199# ── Edge-case tests ─────────────────────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3421# ── Custom journey tag propagation tests ───────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py3818# ── Dependency edge-case tests ─────────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4296# ── Numerical priority + dependency interaction tests ──────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4489# ── TAG_ALL vs TAG_ANY explicit tests ──────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py4771# ── DEPENDENCY_ANY (OR group) tests ────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py5030# ── DEPENDENCY_ANY edge case tests ─────────────────────────────────────────COMMENT
MEDIUM…/core/stable/engines/alpha/test_relational_resolver.py5741# ── Resolution attribution edge-case tests ────────────────────────────────COMMENT
MEDIUMtests/core/stable/nlp/test_generation.py417# ============================================================================COMMENT
MEDIUMtests/core/stable/nlp/test_generation.py419# ============================================================================COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py68# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py70# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py180# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py182# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py221# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py223# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py593 # ── Phase 1: Resolve dependency targets ──────────────────────────COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py630 # ── Phase 2: Topological sort (Kahn's algorithm) ─────────────────COMMENT
MEDIUMsrc/parlant/core/engines/alpha/relational_resolver.py634 # ── Phase 3: Evaluate in topological order ───────────────────────COMMENT
MEDIUMsrc/parlant/core/nlp/generation.py40# ============================================================================COMMENT
MEDIUMsrc/parlant/core/nlp/generation.py42# ============================================================================COMMENT
MEDIUMsrc/parlant/core/nlp/generation.py259# ============================================================================COMMENT
MEDIUMsrc/parlant/core/nlp/generation.py261# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py361# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py363# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py580# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/parlant_cloud_service.py582# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/openai_service.py414# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/openai_service.py416# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/openai_service.py561# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/openai_service.py563# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/novita_service.py272# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/novita_service.py274# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py335# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py337# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py534# ============================================================================COMMENT
MEDIUMsrc/parlant/adapters/nlp/emcie_service.py536# ============================================================================COMMENT
Deep Nesting126 hits · 108 pts
SeverityFileLineSnippetContext
LOW…re/stable/engines/alpha/test_journey_node_selection.py1098CODE
LOW…core/stable/engines/alpha/test_disambiguation_batch.py269CODE
LOW…re/unstable/engines/alpha/test_disambiguation_batch.py263CODE
LOWtests/adapters/db/test_mongodb.py1078CODE
LOWtests/adapters/db/test_mongodb.py1116CODE
LOWtests/adapters/db/test_mongodb.py1181CODE
LOWtests/sdk/utils.py125CODE
LOWtests/sdk/test_agents.py366CODE
LOWtests/e2e/test_utilities.py95CODE
LOWscripts/generate_client_sdk.py38CODE
LOWsrc/parlant/sdk.py1902CODE
LOWsrc/parlant/sdk.py727CODE
LOWsrc/parlant/sdk.py819CODE
LOWsrc/parlant/sdk.py953CODE
LOWsrc/parlant/sdk.py1386CODE
LOWsrc/parlant/sdk.py1472CODE
LOWsrc/parlant/sdk.py1586CODE
LOWsrc/parlant/sdk.py2944CODE
LOWsrc/parlant/sdk.py4684CODE
LOWsrc/parlant/sdk.py4878CODE
LOWsrc/parlant/core/journeys.py1067CODE
LOWsrc/parlant/core/entity_cq.py382CODE
LOWsrc/parlant/core/capabilities.py414CODE
LOWsrc/parlant/core/relationships.py339CODE
LOWsrc/parlant/core/glossary.py396CODE
LOWsrc/parlant/core/app_modules/context_variables.py84CODE
LOWsrc/parlant/core/app_modules/journeys.py116CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py264CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py553CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py725CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py756CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py930CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py1204CODE
LOWsrc/parlant/core/engines/alpha/relational_resolver.py1353CODE
LOWsrc/parlant/core/engines/alpha/prompt_builder.py109CODE
LOWsrc/parlant/core/engines/alpha/message_generator.py197CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py610CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py1020CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py1062CODE
LOWsrc/parlant/core/engines/alpha/engine.py1043CODE
LOWsrc/parlant/core/engines/alpha/engine.py1646CODE
LOWsrc/parlant/core/engines/alpha/engine.py2143CODE
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py236CODE
LOW…/engines/alpha/tool_calling/overlapping_tools_batch.py661CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py172CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py182CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py355CODE
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1254CODE
LOW…ngines/alpha/tool_calling/default_tool_call_batcher.py64CODE
LOW…ngines/alpha/tool_calling/default_tool_call_batcher.py77CODE
LOW…viously_applied_actionable_customer_dependent_batch.py107CODE
LOW…lpha/guideline_matching/generic/observational_batch.py102CODE
LOW…pha/guideline_matching/generic/disambiguation_batch.py148CODE
LOW…/guideline_matching/generic/response_analysis_batch.py148CODE
LOW…ideline_matching/generic/guideline_actionable_batch.py97CODE
LOW…neric/guideline_previously_applied_actionable_batch.py100CODE
LOW…atching/generic/generic_guideline_matching_strategy.py161CODE
LOW…ne_matching/generic/guideline_low_criticality_batch.py73CODE
LOW…tching/generic/journey/journey_node_selection_batch.py159CODE
LOW…tching/generic/journey/journey_node_selection_batch.py264CODE
66 more matches not shown…
Unused Imports118 hits · 90 pts
SeverityFileLineSnippetContext
LOWtests/core/test_cancellation_suppression_latch.py15CODE
LOW…/core/stable/engines/alpha/test_relational_resolver.py18CODE
LOWtests/adapters/db/test_snowflake_db.py15CODE
LOWtests/e2e/test_utilities.py15CODE
LOWsrc/parlant/sdk.py15CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py76CODE
LOWsrc/parlant/sdk.py99CODE
LOWsrc/parlant/sdk.py132CODE
LOWsrc/parlant/sdk.py132CODE
LOWsrc/parlant/sdk.py133CODE
LOWsrc/parlant/sdk.py134CODE
LOWsrc/parlant/sdk.py157CODE
LOWsrc/parlant/sdk.py163CODE
LOWsrc/parlant/sdk.py163CODE
LOWsrc/parlant/sdk.py163CODE
LOWsrc/parlant/sdk.py168CODE
LOWsrc/parlant/sdk.py183CODE
LOWsrc/parlant/sdk.py183CODE
LOWsrc/parlant/sdk.py183CODE
LOWsrc/parlant/sdk.py230CODE
LOWsrc/parlant/sdk.py230CODE
LOWsrc/parlant/sdk.py230CODE
LOWsrc/parlant/sdk.py230CODE
LOWsrc/parlant/sdk.py230CODE
LOWsrc/parlant/sdk.py239CODE
LOWsrc/parlant/sdk.py239CODE
LOWsrc/parlant/sdk.py239CODE
LOWsrc/parlant/sdk.py239CODE
LOWsrc/parlant/sdk.py239CODE
LOWsrc/parlant/sdk.py246CODE
LOWsrc/parlant/sdk.py246CODE
LOWsrc/parlant/sdk.py252CODE
LOWsrc/parlant/sdk.py252CODE
LOWsrc/parlant/sdk.py256CODE
LOWsrc/parlant/sdk.py256CODE
LOWsrc/parlant/sdk.py256CODE
LOWsrc/parlant/sdk.py263CODE
LOWsrc/parlant/sdk.py263CODE
LOWsrc/parlant/sdk.py263CODE
LOWsrc/parlant/sdk.py263CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/sdk.py274CODE
LOWsrc/parlant/core/tags.py15CODE
LOWsrc/parlant/core/sessions.py15CODE
LOWsrc/parlant/core/context_variables.py15CODE
LOWsrc/parlant/core/async_utils.py15CODE
LOWsrc/parlant/core/loggers.py15CODE
LOWsrc/parlant/core/canned_responses.py15CODE
58 more matches not shown…
Structural Annotation Overuse42 hits · 61 pts
SeverityFileLineSnippetContext
LOWllms.txt234 # Step 1: Get order numberCOMMENT
LOWllms.txt239 # Step 2: Look up the orderCOMMENT
LOWllms.txt254 # Step 4: Check if they need anything elseCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2076 # Step 1: Ask for account nameCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2104 # Step 2: Ask for desired credit limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2132 # Step 3: Confirm information and move forward politelyCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2161 # Step 4: Use tool to get the current limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2211 # Step 5: Use tool to change the limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2261 # Step 6: Report to customerCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2278 # Step 7: Report failureCOMMENT
LOWdocs/production/custom-frontend.md124### Step 1: Initialize the Parlant ClientCOMMENT
LOWdocs/production/custom-frontend.md162### Step 2: Create a SessionCOMMENT
LOWdocs/production/custom-frontend.md216### Step 3: Send Customer MessagesCOMMENT
LOWdocs/production/custom-frontend.md268### Step 4: Monitor Session EventsCOMMENT
LOWdocs/production/custom-frontend.md348### Step 5: Display Messages in Your UICOMMENT
LOWdocs/production/custom-frontend.md456### Step 6: Complete HTML ExampleCOMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py341 # Step 1: DependenciesCOMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py353 # Step 2: Relational prioritization (includes transitive dep filtering)COMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py371 # Step 3: Numerical priority filtering.COMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py393 # Step 4: Entailment.COMMENT
LOW…arlant/core/engines/alpha/canned_response_generator.py2176 # Step 1: Generate the draft messageSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2266 # Step 2: Select the most relevant canned response templates based on the draft messageSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2306 # Step 3: Pre-render these templates so that matching works betterSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2351 # Step 5: Respond based on the match qualitySTRING
LOWsrc/parlant/core/engines/alpha/engine.py1243 # Step 1: Retrieve the journeys likely to be activated for this agentCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1248 # Step 2 : Retrieve all the guidelines for the context.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1277 # Step 4: Filter the best matches out of those.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1287 # Step 5: Filter the journeys that are activated by the matched guidelines.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1292 # Step 6: If any of the lower-probability journeys (those originally filtered out)COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1319 # Step 7: Build the set of matched guidelines:COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1329 # Step 8: Let the plan potentially interveneCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1332 # Step 9: Resolve guideline matches by considering relationshipsCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1351 # Step 1: Retrieve all the possible journeys for this agentCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1356 # Step 2: Reuse the usable guidelines cached during the initial iteration.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1360 # Step 3: Retrieve guidelines that need reevaluation based on tool calls madeCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1370 # Step 4: Reevaluate those guidelines using the latest context.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1380 # Step 5: Filter out the journeys activated by the matched guidelines.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1388 # Step 6: If any of the journeys have been activated,COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1426 # Step 8: Let the plan potentially interveneCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1429 # Step 9: Resolve guideline matches by considering relationshipsCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1262 # Step 3: Exclude guidelines whose prerequisite journeys are less likely to be activatedCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1414 # Step 7: Build the final set of matched guidelines:COMMENT
Redundant / Tautological Comments35 hits · 50 pts
SeverityFileLineSnippetContext
LOWtests/adapters/vector_db/test_qdrant.py508 # Check if any documents were successfully migrated to new formatCOMMENT
LOWtests/adapters/db/test_mongodb.py1106 # Check if this index includes creation_utc fieldCOMMENT
LOWtests/adapters/db/test_mongodb.py1169 # Check if this index includes creation_utc fieldCOMMENT
LOWtests/adapters/db/test_mongodb.py1210 # Check if this index includes creation_utc fieldCOMMENT
LOWsrc/parlant/sdk.py1768 # Check if this state has no outgoing transitions (leaf state)COMMENT
LOWsrc/parlant/sdk.py1827 # Add target to queue for further processingCOMMENT
LOWsrc/parlant/sdk.py1873 # Check if this is a journey node guidelineCOMMENT
LOWsrc/parlant/sdk.py5021 # Check if the result is a deferred callableCOMMENT
LOWsrc/parlant/core/sessions.py1551 # Check if the event has chunks propertyCOMMENT
LOWsrc/parlant/core/sessions.py1555 # Check if the last chunk is None (completion signal)COMMENT
LOWsrc/parlant/core/journeys.py934 # Check if journey with this ID already existsCOMMENT
LOWsrc/parlant/core/agents.py354 # Check if agent with this ID already existsCOMMENT
LOWsrc/parlant/core/customers.py277 # Check if customer with this ID already existsCOMMENT
LOWsrc/parlant/core/guidelines.py699 # Check if guideline with this ID already existsCOMMENT
LOWsrc/parlant/core/glossary.py301 # Check if term with this ID already existsCOMMENT
LOW…arlant/core/engines/alpha/canned_response_generator.py709 # Check if this is the first agent message (greeting scenario)COMMENT
LOW…arlant/core/engines/alpha/canned_response_generator.py2016 # Add chunk to the list and update the messageCOMMENT
LOW…t/core/engines/alpha/tool_calling/single_tool_batch.py1284 # Check if all required parameters are presentSTRING
LOWsrc/parlant/core/services/tools/plugins.py339 # Check if it's a list[Enum] typeCOMMENT
LOWsrc/parlant/adapters/vector_db/qdrant.py84 # Check if it's a timeout errorCOMMENT
LOWsrc/parlant/adapters/vector_db/qdrant.py331 # Check if index existsCOMMENT
LOWsrc/parlant/adapters/vector_db/qdrant.py637 # Check if collections existCOMMENT
LOWsrc/parlant/adapters/vector_db/qdrant.py780 # Check if metadata collection existsCOMMENT
LOWsrc/parlant/adapters/vector_db/mongo.py113 # Check if the index already existsCOMMENT
LOWsrc/parlant/adapters/vector_db/mongo.py225 # Check if the collection exists in MongoDBCOMMENT
LOWsrc/parlant/adapters/vector_db/chroma.py246 # Check if we have a corresponding embedded collection for the embedder type.COMMENT
LOWsrc/parlant/adapters/nlp/vertex_service.py776 # Check if it's a short name we recognizeCOMMENT
LOWsrc/parlant/adapters/nlp/mistral_service.py350 # Check if any score indicates flagged content (threshold can be adjusted)COMMENT
LOWsrc/parlant/adapters/nlp/azure_service.py280 # Check if API key is provided (backward compatibility)COMMENT
LOWsrc/parlant/adapters/nlp/openrouter_service.py178 # Check if it's a JSON mode errorCOMMENT
LOWsrc/parlant/adapters/nlp/openrouter_service.py234 # Check if we got empty responseCOMMENT
LOWsrc/parlant/adapters/nlp/openrouter_service.py247 # Check if parsed JSON is emptyCOMMENT
LOWsrc/parlant/adapters/nlp/openrouter_service.py602 # Check if we have a predefined generator for this modelSTRING
LOWsrc/parlant/adapters/nlp/gemini_service.py529 # Check if origin is Mapping or SequenceSTRING
LOWsrc/parlant/api/sessions.py2129 # Check if event is complete (for streaming events)COMMENT
Verbosity Indicators34 hits · 48 pts
SeverityFileLineSnippetContext
LOWtests/core/common/engines/alpha/steps/journeys.py2076 # Step 1: Ask for account nameCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2104 # Step 2: Ask for desired credit limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2132 # Step 3: Confirm information and move forward politelyCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2161 # Step 4: Use tool to get the current limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2211 # Step 5: Use tool to change the limitCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2261 # Step 6: Report to customerCOMMENT
LOWtests/core/common/engines/alpha/steps/journeys.py2278 # Step 7: Report failureCOMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py341 # Step 1: DependenciesCOMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py353 # Step 2: Relational prioritization (includes transitive dep filtering)COMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py371 # Step 3: Numerical priority filtering.COMMENT
LOWsrc/parlant/core/engines/alpha/relational_resolver.py393 # Step 4: Entailment.COMMENT
LOW…arlant/core/engines/alpha/canned_response_generator.py2176 # Step 1: Generate the draft messageSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2266 # Step 2: Select the most relevant canned response templates based on the draft messageSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2306 # Step 3: Pre-render these templates so that matching works betterSTRING
LOW…arlant/core/engines/alpha/canned_response_generator.py2351 # Step 5: Respond based on the match qualitySTRING
LOWsrc/parlant/core/engines/alpha/engine.py1243 # Step 1: Retrieve the journeys likely to be activated for this agentCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1248 # Step 2 : Retrieve all the guidelines for the context.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1277 # Step 4: Filter the best matches out of those.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1287 # Step 5: Filter the journeys that are activated by the matched guidelines.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1292 # Step 6: If any of the lower-probability journeys (those originally filtered out)COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1319 # Step 7: Build the set of matched guidelines:COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1329 # Step 8: Let the plan potentially interveneCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1332 # Step 9: Resolve guideline matches by considering relationshipsCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1351 # Step 1: Retrieve all the possible journeys for this agentCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1356 # Step 2: Reuse the usable guidelines cached during the initial iteration.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1360 # Step 3: Retrieve guidelines that need reevaluation based on tool calls madeCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1370 # Step 4: Reevaluate those guidelines using the latest context.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1380 # Step 5: Filter out the journeys activated by the matched guidelines.COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1388 # Step 6: If any of the journeys have been activated,COMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1426 # Step 8: Let the plan potentially interveneCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1429 # Step 9: Resolve guideline matches by considering relationshipsCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1262 # Step 3: Exclude guidelines whose prerequisite journeys are less likely to be activatedCOMMENT
LOWsrc/parlant/core/engines/alpha/engine.py1414 # Step 7: Build the final set of matched guidelines:COMMENT
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"STRING
Modern AI Meta-Vocabulary17 hits · 41 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md75Parlant treats misalignment as a core design problem. It builds on [research into model accuracy and consistency](https:CODE
MEDIUMREADME.md75Parlant treats misalignment as a core design problem. It builds on [research into model accuracy and consistency](https:CODE
MEDIUM…ces/indexing/test_journey_reachable_nodes_evaluator.py55 # Drop the few-shot examples, which render the same child/condition lines.COMMENT
MEDIUMdocs/advanced/custom-llms.md167 # Return the maximum number of tokens in the model's context window.COMMENT
MEDIUMdocs/adapters/nlp/ollama.md58# embedding model required for creating embeddingsCOMMENT
MEDIUMdocs/adapters/nlp/ollama.md92# Alternative embedding model (512 dimensions)COMMENT
MEDIUMdocs/adapters/nlp/azure.md96# Use any embedding model (examples - check your Azure resource for availability)COMMENT
MEDIUMdocs/adapters/nlp/azure.md251 use CustomAzureEmbedder # Any embedding model you specifyCODE
MEDIUMdocs/adapters/nlp/azure.md253 use AzureTextEmbedding3Large # Default embedding modelCODE
MEDIUMdocs/concepts/customization/tools.md229> To learn more about best-practices for designing your agent's tools, we recommend reading our blog post on [Agentic BaCODE
MEDIUMdocs/concepts/customization/retrievers.md31#### Simple RAG ExampleCOMMENT
MEDIUMdocs/concepts/entities/agents.md61> There's an interesting paper on the [failures of multi-agent systems](https://arxiv.org/abs/2503.13657#:~:text=We%20prCODE
MEDIUMdocs/production/agentic-design.md106> - [Agentic API Design blog post](https://parlant.io/blog/what-no-one-tells-you-about-agentic-api-design) - Detailed stCODE
MEDIUM…/engines/alpha/tool_calling/overlapping_tools_batch.py298 if tool.parameters: # We check this because sometimes LLMs hallucinate placeholders for no-CODE
MEDIUM…t/core/engines/alpha/tool_calling/single_tool_batch.py424 if tool.parameters: # We check this because sometimes LLMs hallucinate placeholders for no-param toCODE
MEDIUMsrc/parlant/adapters/nlp/openrouter_service.py364 # Known embedding model dimensionsCOMMENT
MEDIUMsrc/parlant/adapters/nlp/ollama_service.py753 else: # its a custom embedding modelCODE
Magic Placeholder Names7 hits · 38 pts
SeverityFileLineSnippetContext
HIGHdocs/quickstart/installation.md70export OPENAI_API_KEY="<YOUR_API_KEY>"CODE
HIGHdocs/quickstart/installation.md70export OPENAI_API_KEY="<YOUR_API_KEY>"CODE
HIGHdocs/adapters/vector_db/qdrant.md51 # api_key="your-api-key-here",COMMENT
HIGHdocs/adapters/nlp/openrouter.md17export OPENROUTER_API_KEY="your-api-key-here"CODE
HIGHdocs/adapters/nlp/openrouter.md44export OPENROUTER_API_KEY="your-api-key-here"CODE
HIGHdocs/adapters/nlp/openrouter.md514export OPENROUTER_API_KEY="your-api-key-here"CODE
HIGHdocs/adapters/nlp/azure.md168export AZURE_API_KEY="your-api-key"CODE
Modern Structural Boilerplate28 hits · 28 pts
SeverityFileLineSnippetContext
LOWtests/test_utilities.py143 def set_level(self, log_level: LogLevel) -> None:CODE
LOWtests/e2e/test_utilities.py175 def set_port(self, port: int) -> None:CODE
LOWscripts/version.py36def set_package_version(version: str, package: Package) -> None:CODE
LOWscripts/version.py72def update_version_variable_in_code(version: str) -> None:CODE
LOWsrc/parlant/sdk.py3029 async def set_value_for_customer(self, customer: Customer, value: JSONSerializable) -> None:CODE
LOWsrc/parlant/sdk.py3038 async def set_value_for_tag(self, tag: TagId, value: JSONSerializable) -> None:CODE
LOWsrc/parlant/sdk.py3047 async def set_global_value(self, value: JSONSerializable) -> None:CODE
LOWsrc/parlant/sdk.py3056 async def set_value_for_agent(self, agent: Agent, value: JSONSerializable) -> None:CODE
LOWsrc/parlant/sdk.py657 def _set_progress(self, key: str, pct: float) -> None:CODE
LOWsrc/parlant/sdk.py4932 async def _setup_retrievers(self) -> None:CODE
LOWsrc/parlant/sdk.py5785__all__ = [CODE
LOWsrc/parlant/core/loggers.py105 def set_level(self, log_level: LogLevel) -> None:CODE
LOWsrc/parlant/core/loggers.py184 def set_level(self, log_level: LogLevel) -> None:CODE
LOWsrc/parlant/core/loggers.py290 def set_level(self, log_level: LogLevel) -> None:CODE
LOWsrc/parlant/core/tracer.py65 def set_attribute(self, name: str, value: AttributeValue) -> None: ...CODE
LOWsrc/parlant/core/health/__init__.py42__all__ = [CODE
LOW…ant/core/engines/alpha/perceived_performance_policy.py287 def set_policy(self, agent_id: AgentId, policy: PerceivedPerformancePolicy) -> None:CODE
LOW…arlant/core/engines/alpha/canned_response_generator.py557 def set_preamble_config(self, agent_id: AgentId, config: PreambleConfiguration) -> None:STRING
LOWsrc/parlant/core/engines/alpha/engine.py827 async def _update_session_mode(self, context: EngineContext) -> None:CODE
LOWsrc/parlant/core/engines/alpha/engine.py1043 async def _update_session_labels(self, context: EngineContext) -> None:CODE
LOWsrc/parlant/core/engines/alpha/planners.py212 def set_planner(self, agent_id: AgentId, planner: Planner) -> None:CODE
LOW…core/services/indexing/behavioral_change_evaluation.py740 async def _update_progress(percentage: float) -> None:CODE
LOWsrc/parlant/bin/client.py2772 def update_customer(ctx: click.Context, customer_id: str, name: str) -> None:CODE
LOWsrc/parlant/bin/client.py2892 def update_tag(ctx: click.Context, tag: str, name: str) -> None:CODE
LOWsrc/parlant/bin/client.py104def set_exit_status(status: int) -> None:CODE
LOWsrc/parlant/adapters/loggers/opentelemetry.py90 def set_level(self, log_level: LogLevel) -> None:CODE
LOWsrc/parlant/adapters/vector_db/qdrant.py442 async def _set_collection_version(self, collection_name: str, version: int) -> None:CODE
LOWsrc/parlant/adapters/db/snowflake_db.py767__all__ = [STRING
AI Structural Patterns39 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/test_utilities.py652CODE
LOW…ts/core/stable/engines/alpha/test_guideline_matcher.py648CODE
LOWsrc/parlant/sdk.py1902CODE
LOWsrc/parlant/sdk.py1472CODE
LOWsrc/parlant/sdk.py2010CODE
LOWsrc/parlant/sdk.py2027CODE
LOWsrc/parlant/sdk.py2044CODE
LOWsrc/parlant/sdk.py2061CODE
LOWsrc/parlant/sdk.py2085CODE
LOWsrc/parlant/sdk.py2141CODE
LOWsrc/parlant/sdk.py2158CODE
LOWsrc/parlant/sdk.py2175CODE
LOWsrc/parlant/sdk.py2192CODE
LOWsrc/parlant/sdk.py2216CODE
LOWsrc/parlant/sdk.py2275CODE
LOWsrc/parlant/sdk.py2292CODE
LOWsrc/parlant/sdk.py2309CODE
LOWsrc/parlant/sdk.py2326CODE
LOWsrc/parlant/sdk.py2350CODE
LOWsrc/parlant/sdk.py2425CODE
LOWsrc/parlant/sdk.py2442CODE
LOWsrc/parlant/sdk.py2459CODE
LOWsrc/parlant/sdk.py2483CODE
LOWsrc/parlant/sdk.py2711CODE
LOWsrc/parlant/sdk.py2763CODE
LOWsrc/parlant/sdk.py3405CODE
LOWsrc/parlant/sdk.py3476CODE
LOWsrc/parlant/sdk.py3528CODE
LOWsrc/parlant/sdk.py4178CODE
LOWsrc/parlant/sdk.py5121CODE
LOWsrc/parlant/sdk.py5358CODE
LOWsrc/parlant/core/entity_cq.py278CODE
LOWsrc/parlant/core/guidelines.py101CODE
LOWsrc/parlant/core/guidelines.py674CODE
LOWsrc/parlant/core/health/nlp_view.py94CODE
LOWsrc/parlant/core/app_modules/context_variables.py155CODE
LOWsrc/parlant/core/app_modules/customers.py88CODE
LOWsrc/parlant/bin/client.py1045CODE
LOWsrc/parlant/adapters/db/mongo_db.py269CODE
Fake / Example Data21 hits · 22 pts
SeverityFileLineSnippetContext
LOWtests/adapters/db/test_mongodb.py392 {"id": "dummy_id", "version": "1.0.0", "name": "Test Document"}CODE
LOWtests/adapters/db/test_json_file.py405 "id": "dummy_id",CODE
LOWtests/sdk/test_customers.py23 name="John Doe", metadata={"email": "john.doe@example.com"}CODE
LOWtests/sdk/test_customers.py31 assert customer.name == "John Doe"CODE
LOWtests/sdk/test_customers.py39 name="John Doe",CODE
LOWtests/sdk/test_customers.py58 name="John Doe",CODE
LOWtests/sdk/test_customers.py65 self.customer = await server.find_customer(name="John Doe")CODE
LOWtests/sdk/test_customers.py75 name="John Doe",CODE
LOWtests/sdk/test_variables.py78 self.customer = await server.create_customer("John Doe")CODE
LOWtests/sdk/test_variables.py187 self.customer = await server.create_customer("Jane Doe")CODE
LOWtests/sdk/test_variables.py244 self.customer = await server.create_customer("Jane Doe")CODE
LOWtests/sdk/test_variables.py286 "Jane Doe",CODE
LOWtests/api/test_sessions.py1812 "participant": {"id": "agent_007", "display_name": "John Doe"},CODE
LOWtests/api/test_sessions.py1823 assert event["data"]["participant"]["display_name"] == "John Doe"CODE
LOWtests/api/test_customers.py29 name = "John Doe"CODE
LOWtests/api/test_customers.py60 "name": "John Doe",CODE
LOWtests/modules/bank.py33 return ToolResult({"name": "John Doe", "account_number": "1234567890"})CODE
LOW…ng/generic/journey/journey_backtrack_node_selection.py1428 _make_event("3", EventSource.CUSTOMER, "Jane Doe"),STRING
LOWsrc/parlant/api/sessions.py321 examples=["John Doe", "Alice"],CODE
LOWsrc/parlant/api/sessions.py328 "display_name": "John Doe",CODE
LOWsrc/parlant/api/sessions.py415 "participant": {"id": "cust_123xy", "display_name": "John Doe"},CODE
Cross-Language Confusion5 hits · 22 pts
SeverityFileLineSnippetContext
HIGHtests/sdk/utils.py113 """Check if the event is still streaming (chunks property exists and not yet terminated with null)."""STRING
HIGHscripts/version.py136 "git diff --quiet && git diff --cached --quiet && git ls-files --others --exclude-standard"CODE
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 CODE
HIGH…arlant/core/engines/alpha/canned_response_generator.py1473 "response_preamble_that_was_already_sent": null,CODE
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 guidelCODE
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALsrc/parlant/adapters/nlp/azure_service.py144 response = await self._client.beta.chat.completions.parse(CODE
CRITICALsrc/parlant/adapters/nlp/openai_service.py200 response = await self._client.beta.chat.completions.parse(CODE
AI Slop Vocabulary4 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMtests/sdk/test_sdk_validation.py581 """Test comprehensive condition validation for ForkJourneyState"""STRING
LOWsrc/parlant/core/journeys.py1366 # Journey not found, just return node as-isCOMMENT
MEDIUM…arlant/core/engines/alpha/canned_response_generator.py1889 # Build recap section to leverage LLM recency biasSTRING
LOWsrc/parlant/api/sessions.py2137 # Non-streaming event, just return it onceCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/parlant/adapters/vector_db/qdrant.py63 Retry an async operation on timeout errors with exponential backoff. Args: operation: The async operatSTRING
Slop Phrases1 hit · 0 pts
SeverityFileLineSnippetContext
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). YoSTRING