mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-13 08:15:21 +02:00
validate_trigger_paths used seen_paths.get(trigger_path) and treated a None
result as "path not seen yet". But None is also what node.get("id") returns
for a node without an id, so when the first trigger node sharing a path had no
id, it was stored as None and every later node with the same path was silently
accepted as unique — duplicate trigger paths slipped through validation.
Use a membership test (trigger_path not in seen_paths) so "first occurrence"
and "node_id happens to be None" are no longer conflated. Behavior is
unchanged for nodes that have ids.
Adds a regression test that fails before and passes after.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| node_specs | ||
| qa | ||
| tools | ||
| __init__.py | ||
| audit.py | ||
| disposition_mapper.py | ||
| dto.py | ||
| duplicate.py | ||
| errors.py | ||
| layout.py | ||
| mcp_tool_session.py | ||
| node_data.py | ||
| pipecat_engine.py | ||
| pipecat_engine_callbacks.py | ||
| pipecat_engine_context_composer.py | ||
| pipecat_engine_context_summarizer.py | ||
| pipecat_engine_custom_tools.py | ||
| pipecat_engine_variable_extractor.py | ||
| text_chat_logs.py | ||
| text_chat_runner.py | ||
| text_chat_session_service.py | ||
| trigger_paths.py | ||
| workflow_graph.py | ||