soe-ai 0.2.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- soe/__init__.py +50 -0
- soe/broker.py +168 -0
- soe/builtin_tools/__init__.py +51 -0
- soe/builtin_tools/soe_add_signal.py +82 -0
- soe/builtin_tools/soe_call_tool.py +111 -0
- soe/builtin_tools/soe_copy_context.py +80 -0
- soe/builtin_tools/soe_explore_docs.py +290 -0
- soe/builtin_tools/soe_get_available_tools.py +42 -0
- soe/builtin_tools/soe_get_context.py +50 -0
- soe/builtin_tools/soe_get_context_schema.py +56 -0
- soe/builtin_tools/soe_get_identities.py +63 -0
- soe/builtin_tools/soe_get_workflows.py +63 -0
- soe/builtin_tools/soe_inject_context_schema_field.py +80 -0
- soe/builtin_tools/soe_inject_identity.py +64 -0
- soe/builtin_tools/soe_inject_node.py +86 -0
- soe/builtin_tools/soe_inject_workflow.py +105 -0
- soe/builtin_tools/soe_list_contexts.py +73 -0
- soe/builtin_tools/soe_remove_context_schema_field.py +61 -0
- soe/builtin_tools/soe_remove_identity.py +61 -0
- soe/builtin_tools/soe_remove_node.py +72 -0
- soe/builtin_tools/soe_remove_workflow.py +62 -0
- soe/builtin_tools/soe_update_context.py +54 -0
- soe/docs/_config.yml +10 -0
- soe/docs/advanced_patterns/guide_fanout_and_aggregations.md +318 -0
- soe/docs/advanced_patterns/guide_inheritance.md +435 -0
- soe/docs/advanced_patterns/hybrid_intelligence.md +237 -0
- soe/docs/advanced_patterns/index.md +49 -0
- soe/docs/advanced_patterns/operational.md +781 -0
- soe/docs/advanced_patterns/self_evolving_workflows.md +385 -0
- soe/docs/advanced_patterns/swarm_intelligence.md +211 -0
- soe/docs/builtins/context.md +164 -0
- soe/docs/builtins/context_schema.md +158 -0
- soe/docs/builtins/identity.md +139 -0
- soe/docs/builtins/soe_explore_docs.md +135 -0
- soe/docs/builtins/tools.md +164 -0
- soe/docs/builtins/workflows.md +199 -0
- soe/docs/guide_00_getting_started.md +341 -0
- soe/docs/guide_01_tool.md +206 -0
- soe/docs/guide_02_llm.md +143 -0
- soe/docs/guide_03_router.md +146 -0
- soe/docs/guide_04_patterns.md +475 -0
- soe/docs/guide_05_agent.md +159 -0
- soe/docs/guide_06_schema.md +397 -0
- soe/docs/guide_07_identity.md +540 -0
- soe/docs/guide_08_child.md +612 -0
- soe/docs/guide_09_ecosystem.md +690 -0
- soe/docs/guide_10_infrastructure.md +427 -0
- soe/docs/guide_11_builtins.md +126 -0
- soe/docs/index.md +104 -0
- soe/docs/primitives/backends.md +281 -0
- soe/docs/primitives/context.md +256 -0
- soe/docs/primitives/node_reference.md +259 -0
- soe/docs/primitives/primitives.md +331 -0
- soe/docs/primitives/signals.md +865 -0
- soe/docs_index.py +2 -0
- soe/init.py +165 -0
- soe/lib/__init__.py +0 -0
- soe/lib/child_context.py +46 -0
- soe/lib/context_fields.py +51 -0
- soe/lib/inheritance.py +172 -0
- soe/lib/jinja_render.py +113 -0
- soe/lib/operational.py +51 -0
- soe/lib/parent_sync.py +71 -0
- soe/lib/register_event.py +75 -0
- soe/lib/schema_validation.py +134 -0
- soe/lib/yaml_parser.py +14 -0
- soe/local_backends/__init__.py +18 -0
- soe/local_backends/factory.py +124 -0
- soe/local_backends/in_memory/context.py +38 -0
- soe/local_backends/in_memory/conversation_history.py +60 -0
- soe/local_backends/in_memory/identity.py +52 -0
- soe/local_backends/in_memory/schema.py +40 -0
- soe/local_backends/in_memory/telemetry.py +38 -0
- soe/local_backends/in_memory/workflow.py +33 -0
- soe/local_backends/storage/context.py +57 -0
- soe/local_backends/storage/conversation_history.py +82 -0
- soe/local_backends/storage/identity.py +118 -0
- soe/local_backends/storage/schema.py +96 -0
- soe/local_backends/storage/telemetry.py +72 -0
- soe/local_backends/storage/workflow.py +56 -0
- soe/nodes/__init__.py +13 -0
- soe/nodes/agent/__init__.py +10 -0
- soe/nodes/agent/factory.py +134 -0
- soe/nodes/agent/lib/loop_handlers.py +150 -0
- soe/nodes/agent/lib/loop_state.py +157 -0
- soe/nodes/agent/lib/prompts.py +65 -0
- soe/nodes/agent/lib/tools.py +35 -0
- soe/nodes/agent/stages/__init__.py +12 -0
- soe/nodes/agent/stages/parameter.py +37 -0
- soe/nodes/agent/stages/response.py +54 -0
- soe/nodes/agent/stages/router.py +37 -0
- soe/nodes/agent/state.py +111 -0
- soe/nodes/agent/types.py +66 -0
- soe/nodes/agent/validation/__init__.py +11 -0
- soe/nodes/agent/validation/config.py +95 -0
- soe/nodes/agent/validation/operational.py +24 -0
- soe/nodes/child/__init__.py +3 -0
- soe/nodes/child/factory.py +61 -0
- soe/nodes/child/state.py +59 -0
- soe/nodes/child/validation/__init__.py +11 -0
- soe/nodes/child/validation/config.py +126 -0
- soe/nodes/child/validation/operational.py +28 -0
- soe/nodes/lib/conditions.py +71 -0
- soe/nodes/lib/context.py +24 -0
- soe/nodes/lib/conversation_history.py +77 -0
- soe/nodes/lib/identity.py +64 -0
- soe/nodes/lib/llm_resolver.py +142 -0
- soe/nodes/lib/output.py +68 -0
- soe/nodes/lib/response_builder.py +91 -0
- soe/nodes/lib/signal_emission.py +79 -0
- soe/nodes/lib/signals.py +54 -0
- soe/nodes/lib/tools.py +100 -0
- soe/nodes/llm/__init__.py +7 -0
- soe/nodes/llm/factory.py +103 -0
- soe/nodes/llm/state.py +76 -0
- soe/nodes/llm/types.py +12 -0
- soe/nodes/llm/validation/__init__.py +11 -0
- soe/nodes/llm/validation/config.py +89 -0
- soe/nodes/llm/validation/operational.py +23 -0
- soe/nodes/router/__init__.py +3 -0
- soe/nodes/router/factory.py +37 -0
- soe/nodes/router/state.py +32 -0
- soe/nodes/router/validation/__init__.py +11 -0
- soe/nodes/router/validation/config.py +58 -0
- soe/nodes/router/validation/operational.py +16 -0
- soe/nodes/tool/factory.py +66 -0
- soe/nodes/tool/lib/__init__.py +11 -0
- soe/nodes/tool/lib/conditions.py +35 -0
- soe/nodes/tool/lib/failure.py +28 -0
- soe/nodes/tool/lib/parameters.py +67 -0
- soe/nodes/tool/state.py +66 -0
- soe/nodes/tool/types.py +27 -0
- soe/nodes/tool/validation/__init__.py +15 -0
- soe/nodes/tool/validation/config.py +132 -0
- soe/nodes/tool/validation/operational.py +16 -0
- soe/types.py +209 -0
- soe/validation/__init__.py +18 -0
- soe/validation/config.py +195 -0
- soe/validation/jinja.py +54 -0
- soe/validation/operational.py +110 -0
- soe_ai-0.2.0b1.dist-info/METADATA +262 -0
- soe_ai-0.2.0b1.dist-info/RECORD +145 -0
- soe_ai-0.2.0b1.dist-info/WHEEL +5 -0
- soe_ai-0.2.0b1.dist-info/licenses/LICENSE +21 -0
- soe_ai-0.2.0b1.dist-info/top_level.txt +1 -0
soe/docs_index.py
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
# Auto-generated documentation index. Do not edit manually.
|
|
2
|
+
DOCS_INDEX = {'items': {'docs/': {'type': 'dir', 'children': [], 'path': 'docs/'}, 'soe/': {'type': 'dir', 'children': ['soe/docs/'], 'path': 'soe/'}, 'soe/docs/': {'type': 'dir', 'children': ['soe/docs/advanced_patterns/', 'soe/docs/builtins/', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/'], 'path': 'soe/docs/'}, 'soe/docs/advanced_patterns/': {'type': 'dir', 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md'], 'path': 'soe/docs/advanced_patterns/'}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 2, 'end_line': 318, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 6, 'end_line': 16, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 17, 'end_line': 51, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 21, 'end_line': 51, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 52, 'end_line': 76, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 56, 'end_line': 76, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 77, 'end_line': 114, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 81, 'end_line': 96, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 97, 'end_line': 114, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 115, 'end_line': 256, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 117, 'end_line': 161, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 162, 'end_line': 211, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 212, 'end_line': 256, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 257, 'end_line': 278, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 259, 'end_line': 265, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 266, 'end_line': 270, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 271, 'end_line': 278, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 279, 'end_line': 315, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 316, 'end_line': 318, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 2, 'end_line': 318, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 6, 'end_line': 16, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 17, 'end_line': 51, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 21, 'end_line': 51, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 52, 'end_line': 76, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 56, 'end_line': 76, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 77, 'end_line': 114, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 81, 'end_line': 96, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 97, 'end_line': 114, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 115, 'end_line': 256, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 117, 'end_line': 161, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 162, 'end_line': 211, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 212, 'end_line': 256, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 257, 'end_line': 278, 'children': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters'], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 259, 'end_line': 265, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 266, 'end_line': 270, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 271, 'end_line': 278, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 279, 'end_line': 315, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'start_line': 316, 'end_line': 318, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 2, 'end_line': 68, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 6, 'end_line': 17, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 18, 'end_line': 28, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 29, 'end_line': 68, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 33, 'end_line': 65, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 66, 'end_line': 68, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 69, 'end_line': 82, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 80, 'end_line': 82, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 83, 'end_line': 141, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 102, 'end_line': 141, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 106, 'end_line': 138, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 139, 'end_line': 141, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 142, 'end_line': 151, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 152, 'end_line': 238, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 174, 'end_line': 238, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 178, 'end_line': 235, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 236, 'end_line': 238, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 239, 'end_line': 248, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 249, 'end_line': 309, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 269, 'end_line': 309, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 273, 'end_line': 306, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 307, 'end_line': 309, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 310, 'end_line': 319, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 320, 'end_line': 340, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 334, 'end_line': 340, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Config Override'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 336, 'end_line': 340, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 341, 'end_line': 357, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 353, 'end_line': 357, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 358, 'end_line': 369, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 370, 'end_line': 370, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 371, 'end_line': 371, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 372, 'end_line': 408, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 377, 'end_line': 387, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 388, 'end_line': 408, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 400, 'end_line': 408, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 409, 'end_line': 416, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 417, 'end_line': 435, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Best Practices'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 429, 'end_line': 435, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 2, 'end_line': 68, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 6, 'end_line': 17, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 18, 'end_line': 28, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 29, 'end_line': 68, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 273, 'end_line': 306, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 66, 'end_line': 68, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 69, 'end_line': 82, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 80, 'end_line': 82, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 83, 'end_line': 141, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 102, 'end_line': 141, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 139, 'end_line': 141, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 142, 'end_line': 151, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 152, 'end_line': 238, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 174, 'end_line': 238, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 236, 'end_line': 238, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 239, 'end_line': 248, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 249, 'end_line': 309, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 269, 'end_line': 309, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 307, 'end_line': 309, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 310, 'end_line': 319, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 320, 'end_line': 340, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 334, 'end_line': 340, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Config Override'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 336, 'end_line': 340, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 341, 'end_line': 357, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 353, 'end_line': 357, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 358, 'end_line': 369, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 370, 'end_line': 370, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 371, 'end_line': 371, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 372, 'end_line': 408, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 377, 'end_line': 387, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 388, 'end_line': 408, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 400, 'end_line': 408, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 409, 'end_line': 416, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 417, 'end_line': 435, 'children': ['soe/docs/advanced_patterns/guide_inheritance.md/Best Practices'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices': {'type': 'section', 'path': 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/guide_inheritance.md', 'start_line': 429, 'end_line': 435, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 1, 'end_line': 237, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 3, 'end_line': 23, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 9, 'end_line': 23, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 24, 'end_line': 92, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 28, 'end_line': 71, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 72, 'end_line': 80, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 81, 'end_line': 92, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 93, 'end_line': 157, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 97, 'end_line': 147, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 148, 'end_line': 157, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 158, 'end_line': 215, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 162, 'end_line': 204, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 205, 'end_line': 215, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 216, 'end_line': 224, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 225, 'end_line': 233, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 234, 'end_line': 237, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 1, 'end_line': 237, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 1}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 3, 'end_line': 23, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 9, 'end_line': 23, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 24, 'end_line': 92, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 162, 'end_line': 204, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 205, 'end_line': 215, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 81, 'end_line': 92, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 93, 'end_line': 157, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 158, 'end_line': 215, 'children': ['soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 216, 'end_line': 224, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 225, 'end_line': 233, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'start_line': 234, 'end_line': 237, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'async', 'architecture', 'signals', 'telemetry', 'error-handling', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/index.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/index.md', 'children': ['soe/docs/advanced_patterns/index.md/SOE Advanced Patterns'], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 1, 'end_line': 49, 'children': ['soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Getting Started'], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/The Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 7, 'end_line': 18, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Philosophy', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 19, 'end_line': 28, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Future Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 29, 'end_line': 43, 'children': ['soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI'], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 33, 'end_line': 35, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Universal Backend', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 36, 'end_line': 38, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Edge AI', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 39, 'end_line': 43, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Getting Started', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 44, 'end_line': 49, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 1, 'end_line': 49, 'children': ['soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Getting Started'], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 1}, 'soe/docs/advanced_patterns/index.md/The Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/The Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 7, 'end_line': 18, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/index.md/Philosophy': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Philosophy', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 19, 'end_line': 28, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/index.md/Future Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Future Patterns', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 29, 'end_line': 43, 'children': ['soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI'], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/index.md/Fractal Orchestration': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 33, 'end_line': 35, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/index.md/Universal Backend': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Universal Backend', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 36, 'end_line': 38, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/index.md/Edge AI': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Edge AI', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 39, 'end_line': 43, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/advanced_patterns/index.md/Getting Started': {'type': 'section', 'path': 'soe/docs/advanced_patterns/index.md/Getting Started', 'file_path': 'soe/docs/advanced_patterns/index.md', 'start_line': 44, 'end_line': 49, 'children': [], 'tags': ['patterns', 'workflow', 'best-practices', 'architecture', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/operational.md', 'children': ['soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 2, 'end_line': 73, 'children': ['soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 4, 'end_line': 13, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 14, 'end_line': 56, 'children': ['soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Structure', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 18, 'end_line': 30, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 31, 'end_line': 40, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 41, 'end_line': 56, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 57, 'end_line': 73, 'children': ['soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 61, 'end_line': 70, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 71, 'end_line': 73, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 74, 'end_line': 87, 'children': ['soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 85, 'end_line': 87, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 88, 'end_line': 94, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 95, 'end_line': 130, 'children': ['soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 100, 'end_line': 125, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 126, 'end_line': 130, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 131, 'end_line': 781, 'children': ['soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Key Points'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 145, 'end_line': 182, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 149, 'end_line': 174, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 175, 'end_line': 182, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 183, 'end_line': 222, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/Use Cases'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 187, 'end_line': 216, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Use Cases', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 217, 'end_line': 222, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 223, 'end_line': 266, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/Use Cases'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 227, 'end_line': 258, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Use Cases', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 259, 'end_line': 266, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 267, 'end_line': 306, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 271, 'end_line': 299, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 300, 'end_line': 306, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 307, 'end_line': 332, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 311, 'end_line': 324, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 325, 'end_line': 332, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 333, 'end_line': 439, 'children': ['soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 335, 'end_line': 352, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 353, 'end_line': 380, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 381, 'end_line': 400, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 401, 'end_line': 426, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 427, 'end_line': 439, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 440, 'end_line': 469, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 470, 'end_line': 480, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 481, 'end_line': 498, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 499, 'end_line': 750, 'children': ['soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 503, 'end_line': 543, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 544, 'end_line': 597, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 598, 'end_line': 638, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 639, 'end_line': 688, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 689, 'end_line': 750, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 751, 'end_line': 759, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 760, 'end_line': 773, 'children': ['soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't"], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Do', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 762, 'end_line': 767, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': "soe/docs/advanced_patterns/operational.md/Don't", 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 768, 'end_line': 773, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Key Points', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 774, 'end_line': 781, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 2, 'end_line': 73, 'children': ['soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/operational.md/Introduction': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 4, 'end_line': 13, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/The Operational Context': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 14, 'end_line': 56, 'children': ['soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Structure': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Structure', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 18, 'end_line': 30, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Main Execution ID': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 31, 'end_line': 40, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 41, 'end_line': 56, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 57, 'end_line': 73, 'children': ['soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 61, 'end_line': 70, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 71, 'end_line': 73, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals": {'type': 'section', 'path': "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 74, 'end_line': 87, 'children': ['soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 85, 'end_line': 87, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 88, 'end_line': 94, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 95, 'end_line': 130, 'children': ['soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 100, 'end_line': 125, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 126, 'end_line': 130, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 131, 'end_line': 781, 'children': ['soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Key Points'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 145, 'end_line': 182, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/The Pattern': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Pattern', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 311, 'end_line': 324, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/How It Works': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 325, 'end_line': 332, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 183, 'end_line': 222, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/Use Cases'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Use Cases': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Use Cases', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 259, 'end_line': 266, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 223, 'end_line': 266, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/Use Cases'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 267, 'end_line': 306, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Loop Prevention': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 307, 'end_line': 332, 'children': ['soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Retry Configuration': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 333, 'end_line': 439, 'children': ['soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/LLM Retries': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 335, 'end_line': 352, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 353, 'end_line': 380, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Agent Retries': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 381, 'end_line': 400, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 401, 'end_line': 426, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Tool Retries': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 427, 'end_line': 439, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 440, 'end_line': 469, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 470, 'end_line': 480, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 481, 'end_line': 498, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 499, 'end_line': 750, 'children': ['soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)'], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Execute Only Once': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 503, 'end_line': 543, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 544, 'end_line': 597, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Rate Limiting': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 598, 'end_line': 638, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Kill Switch': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 639, 'end_line': 688, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 689, 'end_line': 750, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 751, 'end_line': 759, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Best Practices': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 760, 'end_line': 773, 'children': ['soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't"], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/operational.md/Do': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Do', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 762, 'end_line': 767, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, "soe/docs/advanced_patterns/operational.md/Don't": {'type': 'section', 'path': "soe/docs/advanced_patterns/operational.md/Don't", 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 768, 'end_line': 773, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/operational.md/Key Points': {'type': 'section', 'path': 'soe/docs/advanced_patterns/operational.md/Key Points', 'file_path': 'soe/docs/advanced_patterns/operational.md', 'start_line': 774, 'end_line': 781, 'children': [], 'tags': ['retries', 'patterns', 'jinja2', 'event-driven', 'state-management', 'api', 'rest-api', 'workflow', 'best-practices', 'architecture', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 1, 'end_line': 61, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 3, 'end_line': 14, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 15, 'end_line': 40, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 41, 'end_line': 61, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 62, 'end_line': 385, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 69, 'end_line': 125, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 73, 'end_line': 98, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 99, 'end_line': 108, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 109, 'end_line': 125, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 126, 'end_line': 175, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 130, 'end_line': 155, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 156, 'end_line': 164, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 165, 'end_line': 175, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 176, 'end_line': 256, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 180, 'end_line': 221, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 222, 'end_line': 229, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 230, 'end_line': 245, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 246, 'end_line': 256, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 257, 'end_line': 308, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 309, 'end_line': 365, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 311, 'end_line': 328, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 329, 'end_line': 345, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 346, 'end_line': 365, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 366, 'end_line': 375, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 376, 'end_line': 385, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 1, 'end_line': 61, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 3, 'end_line': 14, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 15, 'end_line': 40, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 41, 'end_line': 61, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 62, 'end_line': 385, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 69, 'end_line': 125, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 180, 'end_line': 221, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 222, 'end_line': 229, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 109, 'end_line': 125, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 126, 'end_line': 175, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 165, 'end_line': 175, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 176, 'end_line': 256, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 230, 'end_line': 245, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 246, 'end_line': 256, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 257, 'end_line': 308, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 309, 'end_line': 365, 'children': ['soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows'], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 311, 'end_line': 328, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 329, 'end_line': 345, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 346, 'end_line': 365, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 366, 'end_line': 375, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary': {'type': 'section', 'path': 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'file_path': 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'start_line': 376, 'end_line': 385, 'children': [], 'tags': ['retries', 'patterns', 'event-driven', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md': {'type': 'file', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 1, 'end_line': 60, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 3, 'end_line': 15, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 16, 'end_line': 60, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 20, 'end_line': 39, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 40, 'end_line': 47, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 48, 'end_line': 60, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 61, 'end_line': 211, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 66, 'end_line': 124, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 70, 'end_line': 103, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 104, 'end_line': 109, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 110, 'end_line': 124, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 125, 'end_line': 196, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 129, 'end_line': 184, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 185, 'end_line': 196, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 197, 'end_line': 207, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 208, 'end_line': 211, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 1, 'end_line': 60, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 3, 'end_line': 15, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 16, 'end_line': 60, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 129, 'end_line': 184, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 185, 'end_line': 196, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 48, 'end_line': 60, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 61, 'end_line': 211, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 1}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 66, 'end_line': 124, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 110, 'end_line': 124, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 125, 'end_line': 196, 'children': ['soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works'], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 197, 'end_line': 207, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns': {'type': 'section', 'path': 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'file_path': 'soe/docs/advanced_patterns/swarm_intelligence.md', 'start_line': 208, 'end_line': 211, 'children': [], 'tags': ['patterns', 'jinja2', 'event-driven', 'workflow', 'best-practices', 'architecture', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/': {'type': 'dir', 'children': ['soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md'], 'path': 'soe/docs/builtins/'}, 'soe/docs/builtins/context.md': {'type': 'file', 'path': 'soe/docs/builtins/context.md', 'children': ['soe/docs/builtins/context.md/Built-in: Context Management'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/context.md/Built-in: Context Management', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 2, 'end_line': 164, 'children': ['soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Related'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Execution State Control', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Available Tools', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 10, 'end_line': 20, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_get_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 21, 'end_line': 45, 'children': ['soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Use Cases', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 38, 'end_line': 45, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_update_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 46, 'end_line': 81, 'children': ['soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Setup', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 62, 'end_line': 73, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Use Cases', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 74, 'end_line': 81, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_copy_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 82, 'end_line': 116, 'children': ['soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Setup', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 98, 'end_line': 108, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Use Cases', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 109, 'end_line': 116, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_list_contexts', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 117, 'end_line': 141, 'children': ['soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Use Cases', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 134, 'end_line': 141, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Patterns', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 142, 'end_line': 160, 'children': ['soe/docs/builtins/context.md/Context Inspection for LLMs'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 144, 'end_line': 160, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context.md/Related', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 161, 'end_line': 164, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/context.md/Built-in: Context Management': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Built-in: Context Management', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 2, 'end_line': 164, 'children': ['soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Related'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/builtins/context.md/Execution State Control': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Execution State Control', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/Available Tools': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Available Tools', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 10, 'end_line': 20, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/soe_get_context': {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_get_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 21, 'end_line': 45, 'children': ['soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/Use Cases': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Use Cases', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 134, 'end_line': 141, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/context.md/soe_update_context': {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_update_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 46, 'end_line': 81, 'children': ['soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/Context Setup': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Setup', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 98, 'end_line': 108, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/context.md/soe_copy_context': {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_copy_context', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 82, 'end_line': 116, 'children': ['soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/soe_list_contexts': {'type': 'section', 'path': 'soe/docs/builtins/context.md/soe_list_contexts', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 117, 'end_line': 141, 'children': ['soe/docs/builtins/context.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/Context Patterns': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Patterns', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 142, 'end_line': 160, 'children': ['soe/docs/builtins/context.md/Context Inspection for LLMs'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context.md/Context Inspection for LLMs': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 144, 'end_line': 160, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/context.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/context.md/Related', 'file_path': 'soe/docs/builtins/context.md', 'start_line': 161, 'end_line': 164, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'debugging', 'signals', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/context_schema.md': {'type': 'file', 'path': 'soe/docs/builtins/context_schema.md', 'children': ['soe/docs/builtins/context_schema.md/Built-in: Context Schema Management'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 2, 'end_line': 158, 'children': ['soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Related'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Available Tools', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 10, 'end_line': 19, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 20, 'end_line': 43, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Parameters', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 24, 'end_line': 29, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Return Values', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 30, 'end_line': 35, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Use Cases', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 36, 'end_line': 43, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 44, 'end_line': 94, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Parameters', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 48, 'end_line': 54, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Field Definition Format', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 55, 'end_line': 75, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Return Value', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 76, 'end_line': 86, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Use Cases', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 87, 'end_line': 94, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 95, 'end_line': 124, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Parameters', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 99, 'end_line': 104, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Return Value', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 105, 'end_line': 116, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Use Cases', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 117, 'end_line': 124, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Schema Patterns', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 125, 'end_line': 154, 'children': ['soe/docs/builtins/context_schema.md/Self-Documenting Workflows'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 127, 'end_line': 154, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Related', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 155, 'end_line': 158, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 2, 'end_line': 158, 'children': ['soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Related'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/builtins/context_schema.md/Runtime Schema Control': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/Available Tools': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Available Tools', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 10, 'end_line': 19, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/soe_get_context_schema': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 20, 'end_line': 43, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/Parameters': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Parameters', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 99, 'end_line': 104, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/Return Values': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Return Values', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 30, 'end_line': 35, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/Use Cases': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Use Cases', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 117, 'end_line': 124, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 44, 'end_line': 94, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/Field Definition Format': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Field Definition Format', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 55, 'end_line': 75, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/Return Value': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Return Value', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 105, 'end_line': 116, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 95, 'end_line': 124, 'children': ['soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/Use Cases'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/Schema Patterns': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Schema Patterns', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 125, 'end_line': 154, 'children': ['soe/docs/builtins/context_schema.md/Self-Documenting Workflows'], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 127, 'end_line': 154, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/builtins/context_schema.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/context_schema.md/Related', 'file_path': 'soe/docs/builtins/context_schema.md', 'start_line': 155, 'end_line': 158, 'children': [], 'tags': ['types', 'event-driven', 'workflow', 'signals', 'error-handling', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/builtins/identity.md': {'type': 'file', 'path': 'soe/docs/builtins/identity.md', 'children': ['soe/docs/builtins/identity.md/Built-in: Identity Management'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 2, 'end_line': 139, 'children': ['soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Related'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Runtime Identity Control', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Available Tools', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 10, 'end_line': 19, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_get_identities', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 20, 'end_line': 45, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Parameters', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 24, 'end_line': 30, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Return Values', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 31, 'end_line': 37, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Use Cases', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 38, 'end_line': 45, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_inject_identity', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 46, 'end_line': 75, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Parameters', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 50, 'end_line': 56, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Return Value', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 57, 'end_line': 67, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Use Cases', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 68, 'end_line': 75, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_remove_identity', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 76, 'end_line': 105, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Parameters', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 80, 'end_line': 85, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Return Value', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 86, 'end_line': 97, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Use Cases', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 98, 'end_line': 105, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Identity Patterns', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 106, 'end_line': 135, 'children': ['soe/docs/builtins/identity.md/Dynamic Persona Selection'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 108, 'end_line': 135, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Related', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 136, 'end_line': 139, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/identity.md/Built-in: Identity Management': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 2, 'end_line': 139, 'children': ['soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Related'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, 'soe/docs/builtins/identity.md/Runtime Identity Control': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Runtime Identity Control', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/Available Tools': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Available Tools', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 10, 'end_line': 19, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/soe_get_identities': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_get_identities', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 20, 'end_line': 45, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/Parameters': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Parameters', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 80, 'end_line': 85, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/identity.md/Return Values': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Return Values', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 31, 'end_line': 37, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/identity.md/Use Cases': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Use Cases', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 98, 'end_line': 105, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/identity.md/soe_inject_identity': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_inject_identity', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 46, 'end_line': 75, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/Return Value': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Return Value', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 86, 'end_line': 97, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/identity.md/soe_remove_identity': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/soe_remove_identity', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 76, 'end_line': 105, 'children': ['soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/Use Cases'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/Identity Patterns': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Identity Patterns', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 106, 'end_line': 135, 'children': ['soe/docs/builtins/identity.md/Dynamic Persona Selection'], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/identity.md/Dynamic Persona Selection': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 108, 'end_line': 135, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/identity.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/identity.md/Related', 'file_path': 'soe/docs/builtins/identity.md', 'start_line': 136, 'end_line': 139, 'children': [], 'tags': ['auth', 'event-driven', 'security', 'permissions', 'workflow', 'identity', 'debugging', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md': {'type': 'file', 'path': 'soe/docs/builtins/soe_explore_docs.md', 'children': ['soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs'], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 2, 'end_line': 135, 'children': ['soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related'], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 10, 'end_line': 22, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 23, 'end_line': 79, 'children': ['soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content'], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 25, 'end_line': 45, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 46, 'end_line': 61, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 62, 'end_line': 79, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 80, 'end_line': 91, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 92, 'end_line': 104, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 105, 'end_line': 131, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Related', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 132, 'end_line': 135, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 2, 'end_line': 135, 'children': ['soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related'], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 1}, 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 10, 'end_line': 22, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/Basic Usage': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 23, 'end_line': 79, 'children': ['soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content'], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 25, 'end_line': 45, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/builtins/soe_explore_docs.md/Search Documentation': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 46, 'end_line': 61, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 62, 'end_line': 79, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/builtins/soe_explore_docs.md/Actions Reference': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 80, 'end_line': 91, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/Path Navigation': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 92, 'end_line': 104, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 105, 'end_line': 131, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/soe_explore_docs.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/soe_explore_docs.md/Related', 'file_path': 'soe/docs/builtins/soe_explore_docs.md', 'start_line': 132, 'end_line': 135, 'children': [], 'tags': ['event-driven', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/builtins/tools.md': {'type': 'file', 'path': 'soe/docs/builtins/tools.md', 'children': ['soe/docs/builtins/tools.md/Built-in: Tool Management'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 2, 'end_line': 164, 'children': ['soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Available Tools', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 10, 'end_line': 18, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/soe_get_available_tools', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 19, 'end_line': 43, 'children': ['soe/docs/builtins/tools.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Cases', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 36, 'end_line': 43, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/soe_call_tool', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 44, 'end_line': 98, 'children': ['soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Context Setup', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 60, 'end_line': 70, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Return Value', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 71, 'end_line': 90, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Cases', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 91, 'end_line': 98, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 99, 'end_line': 130, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/When to Use', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 131, 'end_line': 147, 'children': ['soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 133, 'end_line': 139, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 140, 'end_line': 147, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Security Considerations', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 148, 'end_line': 159, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Related', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 160, 'end_line': 164, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/tools.md/Built-in: Tool Management': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 2, 'end_line': 164, 'children': ['soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/Available Tools': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Available Tools', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 10, 'end_line': 18, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/soe_get_available_tools': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/soe_get_available_tools', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 19, 'end_line': 43, 'children': ['soe/docs/builtins/tools.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/Use Cases': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Cases', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 91, 'end_line': 98, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/tools.md/soe_call_tool': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/soe_call_tool', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 44, 'end_line': 98, 'children': ['soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Use Cases'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/Context Setup': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Context Setup', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 60, 'end_line': 70, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/tools.md/Return Value': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Return Value', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 71, 'end_line': 90, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/tools.md/Dynamic Tool Pattern': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 99, 'end_line': 130, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/When to Use': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/When to Use', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 131, 'end_line': 147, 'children': ['soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:'], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 133, 'end_line': 139, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 140, 'end_line': 147, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/tools.md/Security Considerations': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Security Considerations', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 148, 'end_line': 159, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/tools.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/tools.md/Related', 'file_path': 'soe/docs/builtins/tools.md', 'start_line': 160, 'end_line': 164, 'children': [], 'tags': ['retries', 'event-driven', 'state-management', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'plugins', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md': {'type': 'file', 'path': 'soe/docs/builtins/workflows.md', 'children': ['soe/docs/builtins/workflows.md/Built-in: Workflow Modification'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 2, 'end_line': 199, 'children': ['soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Available Tools', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 10, 'end_line': 21, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_get_workflows', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 22, 'end_line': 46, 'children': ['soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Use Cases', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 39, 'end_line': 46, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 47, 'end_line': 90, 'children': ['soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Context Setup', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 66, 'end_line': 82, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Use Cases', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 83, 'end_line': 90, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_inject_node', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 91, 'end_line': 133, 'children': ['soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Context Setup', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 108, 'end_line': 125, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Use Cases', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 126, 'end_line': 133, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 134, 'end_line': 151, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_remove_node', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 152, 'end_line': 169, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Evolution Pattern', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 170, 'end_line': 195, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Related', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 196, 'end_line': 199, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 2, 'end_line': 199, 'children': ['soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 1}, 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/Available Tools': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Available Tools', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 10, 'end_line': 21, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/soe_get_workflows': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_get_workflows', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 22, 'end_line': 46, 'children': ['soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/Use Cases': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Use Cases', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 126, 'end_line': 133, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/workflows.md/soe_inject_workflow': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 47, 'end_line': 90, 'children': ['soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/Context Setup': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Context Setup', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 108, 'end_line': 125, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 3}, 'soe/docs/builtins/workflows.md/soe_inject_node': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_inject_node', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 91, 'end_line': 133, 'children': ['soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/Use Cases'], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/soe_remove_workflow': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 134, 'end_line': 151, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/soe_remove_node': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/soe_remove_node', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 152, 'end_line': 169, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/Evolution Pattern': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Evolution Pattern', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 170, 'end_line': 195, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/builtins/workflows.md/Related': {'type': 'section', 'path': 'soe/docs/builtins/workflows.md/Related', 'file_path': 'soe/docs/builtins/workflows.md', 'start_line': 196, 'end_line': 199, 'children': [], 'tags': ['event-driven', 'state-management', 'workflow', 'signals', 'context', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md': {'type': 'file', 'path': 'soe/docs/guide_00_getting_started.md', 'children': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 1, 'end_line': 47, 'children': ['soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/What is SOE?', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 3, 'end_line': 10, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 11, 'end_line': 30, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Signal Types', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 31, 'end_line': 42, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 43, 'end_line': 47, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 48, 'end_line': 56, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 57, 'end_line': 80, 'children': ['soe/docs/guide_00_getting_started.md/Installation'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Installation', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 78, 'end_line': 80, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 81, 'end_line': 83, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Or with pip', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 84, 'end_line': 98, 'children': ['soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 90, 'end_line': 98, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 99, 'end_line': 125, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 126, 'end_line': 128, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 129, 'end_line': 136, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/4. Execute!', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 137, 'end_line': 146, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/5. Check the result', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 147, 'end_line': 162, 'children': ['soe/docs/guide_00_getting_started.md/Adding More Node Types'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 154, 'end_line': 162, 'children': ['soe/docs/guide_00_getting_started.md/Adding Tool Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 158, 'end_line': 162, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Define your tools', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 163, 'end_line': 168, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Add to nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 169, 'end_line': 179, 'children': ['soe/docs/guide_00_getting_started.md/Adding LLM Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 173, 'end_line': 179, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 180, 'end_line': 195, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Add to nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 196, 'end_line': 217, 'children': ['soe/docs/guide_00_getting_started.md/Adding Agent Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 213, 'end_line': 217, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 218, 'end_line': 230, 'children': ['soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 223, 'end_line': 230, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 231, 'end_line': 264, 'children': ['soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 255, 'end_line': 264, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 265, 'end_line': 271, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Usage', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 272, 'end_line': 304, 'children': ['soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 285, 'end_line': 299, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 300, 'end_line': 304, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 305, 'end_line': 305, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 306, 'end_line': 306, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 307, 'end_line': 307, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 308, 'end_line': 341, 'children': ['soe/docs/guide_00_getting_started.md/Next Steps'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Next Steps', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 322, 'end_line': 341, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 1, 'end_line': 47, 'children': ['soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/What is SOE?': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/What is SOE?', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 3, 'end_line': 10, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/The 7 Primitives': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 11, 'end_line': 30, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/Signal Types': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Signal Types', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 31, 'end_line': 42, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 43, 'end_line': 47, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 48, 'end_line': 56, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 57, 'end_line': 80, 'children': ['soe/docs/guide_00_getting_started.md/Installation'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Installation': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Installation', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 78, 'end_line': 80, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/With uv (recommended)': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 81, 'end_line': 83, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Or with pip': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Or with pip', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 84, 'end_line': 98, 'children': ['soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 90, 'end_line': 98, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 99, 'end_line': 125, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 126, 'end_line': 128, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 129, 'end_line': 136, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/4. Execute!': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/4. Execute!', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 137, 'end_line': 146, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/5. Check the result': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/5. Check the result', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 147, 'end_line': 162, 'children': ['soe/docs/guide_00_getting_started.md/Adding More Node Types'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Adding More Node Types': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 154, 'end_line': 162, 'children': ['soe/docs/guide_00_getting_started.md/Adding Tool Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 158, 'end_line': 162, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, 'soe/docs/guide_00_getting_started.md/Define your tools': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Define your tools', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 163, 'end_line': 168, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Add to nodes': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Add to nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 196, 'end_line': 217, 'children': ['soe/docs/guide_00_getting_started.md/Adding Agent Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 173, 'end_line': 179, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 180, 'end_line': 195, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 213, 'end_line': 217, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 218, 'end_line': 230, 'children': ['soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 223, 'end_line': 230, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 3}, 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 231, 'end_line': 264, 'children': ['soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 255, 'end_line': 264, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 265, 'end_line': 271, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Usage': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Usage', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 272, 'end_line': 304, 'children': ['soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 285, 'end_line': 299, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/Workflow Portability': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 300, 'end_line': 304, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_00_getting_started.md/This exact workflow runs:': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 305, 'end_line': 305, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 306, 'end_line': 306, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 307, 'end_line': 307, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 308, 'end_line': 341, 'children': ['soe/docs/guide_00_getting_started.md/Next Steps'], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 1}, 'soe/docs/guide_00_getting_started.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_00_getting_started.md/Next Steps', 'file_path': 'soe/docs/guide_00_getting_started.md', 'start_line': 322, 'end_line': 341, 'children': [], 'tags': ['tutorial', 'jinja2', 'workflow', 'templating', 'guide', 'getting-started', 'api', 'state-management', 'async', 'installation', 'orchestration', 'context', 'memory', 'debugging', 'history', 'setup', 'event-driven', 'signals', 'error-handling', 'python'], 'level': 2}, 'soe/docs/guide_01_tool.md': {'type': 'file', 'path': 'soe/docs/guide_01_tool.md', 'children': ['soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 2, 'end_line': 206, 'children': ['soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Next Steps'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 4, 'end_line': 16, 'children': ['soe/docs/guide_01_tool.md/When to Use Tool Nodes'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Your First Tool Node', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 17, 'end_line': 97, 'children': ['soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/The Workflow', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 21, 'end_line': 34, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/How It Works', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 35, 'end_line': 41, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 42, 'end_line': 83, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/The Tools Registry', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 84, 'end_line': 97, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 98, 'end_line': 157, 'children': ['soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Combining Result and Context'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 105, 'end_line': 123, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/How It Works', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 124, 'end_line': 131, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Combining Result and Context', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 132, 'end_line': 157, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 158, 'end_line': 203, 'children': ['soe/docs/guide_01_tool.md/Success vs Failure Flow'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 187, 'end_line': 203, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Next Steps', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 204, 'end_line': 206, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 2, 'end_line': 206, 'children': ['soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Next Steps'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 1}, 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 4, 'end_line': 16, 'children': ['soe/docs/guide_01_tool.md/When to Use Tool Nodes'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, 'soe/docs/guide_01_tool.md/When to Use Tool Nodes': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Your First Tool Node': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Your First Tool Node', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 17, 'end_line': 97, 'children': ['soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, 'soe/docs/guide_01_tool.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/The Workflow', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 21, 'end_line': 34, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/How It Works', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 124, 'end_line': 131, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Understanding context_parameter_field': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 42, 'end_line': 83, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/The Tools Registry': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/The Tools Registry', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 84, 'end_line': 97, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Event Emissions with Conditions': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 98, 'end_line': 157, 'children': ['soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Combining Result and Context'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, 'soe/docs/guide_01_tool.md/Conditional Signal Example': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 105, 'end_line': 123, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Combining Result and Context': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Combining Result and Context', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 132, 'end_line': 157, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Extended Tool Registry': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 158, 'end_line': 203, 'children': ['soe/docs/guide_01_tool.md/Success vs Failure Flow'], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, 'soe/docs/guide_01_tool.md/Success vs Failure Flow': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 187, 'end_line': 203, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 3}, 'soe/docs/guide_01_tool.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_01_tool.md/Next Steps', 'file_path': 'soe/docs/guide_01_tool.md', 'start_line': 204, 'end_line': 206, 'children': [], 'tags': ['guide', 'tutorial', 'retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'tools', 'extensions', 'signals', 'error-handling', 'history', 'plugins', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md': {'type': 'file', 'path': 'soe/docs/guide_02_llm.md', 'children': ['soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 2, 'end_line': 143, 'children': ['soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 10, 'end_line': 40, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/The Workflow', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 14, 'end_line': 26, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/How It Works', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 27, 'end_line': 34, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Key Concepts', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 35, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 41, 'end_line': 79, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/The Workflow', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 45, 'end_line': 65, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/How It Works', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 66, 'end_line': 79, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 80, 'end_line': 127, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Signal Emission Rules'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/The Workflow', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 84, 'end_line': 101, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/How It Works', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 102, 'end_line': 110, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 111, 'end_line': 127, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 128, 'end_line': 140, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Next Steps', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 141, 'end_line': 143, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 2, 'end_line': 143, 'children': ['soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 1}, 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 10, 'end_line': 40, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/The Workflow', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 84, 'end_line': 101, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_02_llm.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/How It Works', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 102, 'end_line': 110, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_02_llm.md/Key Concepts': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Key Concepts', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 35, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_02_llm.md/Chaining LLM Nodes': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 41, 'end_line': 79, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 80, 'end_line': 127, 'children': ['soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Signal Emission Rules'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md/Signal Emission Rules': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 111, 'end_line': 127, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_02_llm.md/Testing LLM Nodes': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 128, 'end_line': 140, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_02_llm.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_02_llm.md/Next Steps', 'file_path': 'soe/docs/guide_02_llm.md', 'start_line': 141, 'end_line': 143, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'workflow', 'llm', 'models', 'configuration', 'signals', 'ai', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md': {'type': 'file', 'path': 'soe/docs/guide_03_router.md', 'children': ['soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 2, 'end_line': 146, 'children': ['soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 4, 'end_line': 20, 'children': ['soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Why Router Comes Third', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 17, 'end_line': 20, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 21, 'end_line': 52, 'children': ['soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Workflow', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 25, 'end_line': 38, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/How It Works', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 39, 'end_line': 46, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Key Concepts', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 47, 'end_line': 52, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Unconditional Signals', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 53, 'end_line': 72, 'children': ['soe/docs/guide_03_router.md/The Workflow'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Workflow', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 57, 'end_line': 72, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 73, 'end_line': 131, 'children': ['soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Why This Matters'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Pattern', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 77, 'end_line': 83, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Workflow', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 84, 'end_line': 118, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/How It Works', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 119, 'end_line': 125, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Why This Matters', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 126, 'end_line': 131, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Three Core Node Types', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 132, 'end_line': 143, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Next Steps', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 144, 'end_line': 146, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 2, 'end_line': 146, 'children': ['soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 1}, 'soe/docs/guide_03_router.md/Introduction to Router Nodes': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 4, 'end_line': 20, 'children': ['soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md/When to Use Router Nodes': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/Why Router Comes Third': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Why Router Comes Third', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 17, 'end_line': 20, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/Your First Router: Input Validation': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 21, 'end_line': 52, 'children': ['soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Workflow', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 84, 'end_line': 118, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/How It Works', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 119, 'end_line': 125, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/Key Concepts': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Key Concepts', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 47, 'end_line': 52, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/Unconditional Signals': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Unconditional Signals', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 53, 'end_line': 72, 'children': ['soe/docs/guide_03_router.md/The Workflow'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 73, 'end_line': 131, 'children': ['soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Why This Matters'], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md/The Pattern': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Pattern', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 77, 'end_line': 83, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/Why This Matters': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Why This Matters', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 126, 'end_line': 131, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 3}, 'soe/docs/guide_03_router.md/The Three Core Node Types': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/The Three Core Node Types', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 132, 'end_line': 143, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_03_router.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_03_router.md/Next Steps', 'file_path': 'soe/docs/guide_03_router.md', 'start_line': 144, 'end_line': 146, 'children': [], 'tags': ['guide', 'tutorial', 'jinja2', 'event-driven', 'state-management', 'workflow', 'branching', 'flow-control', 'router', 'logic', 'signals', 'templating', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md': {'type': 'file', 'path': 'soe/docs/guide_04_patterns.md', 'children': ['soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 2, 'end_line': 475, 'children': ['soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 4, 'end_line': 15, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 16, 'end_line': 28, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 29, 'end_line': 84, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 33, 'end_line': 68, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 69, 'end_line': 76, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 77, 'end_line': 84, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 85, 'end_line': 163, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/The Loop Structure'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 89, 'end_line': 135, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 136, 'end_line': 142, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Loop Structure', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 143, 'end_line': 163, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 164, 'end_line': 235, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 168, 'end_line': 219, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 220, 'end_line': 227, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 228, 'end_line': 235, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 236, 'end_line': 309, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 240, 'end_line': 294, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 295, 'end_line': 301, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 302, 'end_line': 309, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 310, 'end_line': 380, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/The Loop Structure'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 314, 'end_line': 355, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 356, 'end_line': 362, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Loop Structure', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 363, 'end_line': 380, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 381, 'end_line': 446, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 385, 'end_line': 437, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 438, 'end_line': 446, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Combining Patterns', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 447, 'end_line': 458, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 459, 'end_line': 472, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Next Steps', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 473, 'end_line': 475, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 2, 'end_line': 475, 'children': ['soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 1}, 'soe/docs/guide_04_patterns.md/The Three Core Node Types': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 4, 'end_line': 15, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 16, 'end_line': 28, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 29, 'end_line': 84, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Workflow', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 385, 'end_line': 437, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/guide_04_patterns.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/How It Works', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 438, 'end_line': 446, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/guide_04_patterns.md/Why This Pattern?': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 302, 'end_line': 309, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 85, 'end_line': 163, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/The Loop Structure'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/The Loop Structure': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/The Loop Structure', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 363, 'end_line': 380, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 3}, 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 164, 'end_line': 235, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 236, 'end_line': 309, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 310, 'end_line': 380, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/The Loop Structure'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 381, 'end_line': 446, 'children': ['soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works'], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Combining Patterns': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Combining Patterns', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 447, 'end_line': 458, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 459, 'end_line': 472, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_04_patterns.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_04_patterns.md/Next Steps', 'file_path': 'soe/docs/guide_04_patterns.md', 'start_line': 473, 'end_line': 475, 'children': [], 'tags': ['guide', 'patterns', 'tutorial', 'retries', 'event-driven', 'state-management', 'rest-api', 'workflow', 'best-practices', 'debugging', 'architecture', 'signals', 'error-handling', 'context', 'python'], 'level': 2}, 'soe/docs/guide_05_agent.md': {'type': 'file', 'path': 'soe/docs/guide_05_agent.md', 'children': ['soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 2, 'end_line': 159, 'children': ['soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Next Steps'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 4, 'end_line': 46, 'children': ['soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 10, 'end_line': 24, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Agent Loop', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 25, 'end_line': 35, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 36, 'end_line': 46, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Configuring Tools', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 47, 'end_line': 87, 'children': ['soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 54, 'end_line': 63, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 64, 'end_line': 77, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/How It Works', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 78, 'end_line': 87, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 88, 'end_line': 110, 'children': ['soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/Robustness Features'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 92, 'end_line': 105, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Robustness Features', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 106, 'end_line': 110, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 111, 'end_line': 137, 'children': ['soe/docs/guide_05_agent.md/The Workflow'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 115, 'end_line': 137, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 138, 'end_line': 156, 'children': ['soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 140, 'end_line': 145, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 146, 'end_line': 156, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Next Steps', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 157, 'end_line': 159, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 2, 'end_line': 159, 'children': ['soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Next Steps'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 1}, 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 4, 'end_line': 46, 'children': ['soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 10, 'end_line': 24, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/The Agent Loop': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Agent Loop', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 25, 'end_line': 35, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Multiple Tool Calls': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 36, 'end_line': 46, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Configuring Tools': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Configuring Tools', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 47, 'end_line': 87, 'children': ['soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_05_agent.md/Example: Tool Restriction': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 54, 'end_line': 63, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/The Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 115, 'end_line': 137, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/How It Works', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 78, 'end_line': 87, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 88, 'end_line': 110, 'children': ['soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/Robustness Features'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_05_agent.md/Robustness Features': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Robustness Features', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 106, 'end_line': 110, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Agent Signal Selection': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 111, 'end_line': 137, 'children': ['soe/docs/guide_05_agent.md/The Workflow'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 138, 'end_line': 156, 'children': ['soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:'], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_05_agent.md/Use Agent Node For:': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 140, 'end_line': 145, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Build Custom Workflows For:': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 146, 'end_line': 156, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 3}, 'soe/docs/guide_05_agent.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_05_agent.md/Next Steps', 'file_path': 'soe/docs/guide_05_agent.md', 'start_line': 157, 'end_line': 159, 'children': [], 'tags': ['guide', 'tutorial', 'loop', 'event-driven', 'jinja2', 'autonomous', 'rest-api', 'workflow', 'debugging', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'agent'], 'level': 2}, 'soe/docs/guide_06_schema.md': {'type': 'file', 'path': 'soe/docs/guide_06_schema.md', 'children': ['soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 2, 'end_line': 300, 'children': ['soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 4, 'end_line': 16, 'children': ['soe/docs/guide_06_schema.md/Why Use Context Schema?'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Defining a Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 17, 'end_line': 43, 'children': ['soe/docs/guide_06_schema.md/Available Types'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Available Types', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 32, 'end_line': 43, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 44, 'end_line': 73, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 48, 'end_line': 66, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/How It Works', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 67, 'end_line': 73, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 74, 'end_line': 98, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 78, 'end_line': 98, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 99, 'end_line': 155, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 103, 'end_line': 128, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 129, 'end_line': 155, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 156, 'end_line': 204, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/Data Flow'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 160, 'end_line': 197, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Data Flow', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 198, 'end_line': 204, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 205, 'end_line': 240, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 209, 'end_line': 240, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 241, 'end_line': 262, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 263, 'end_line': 284, 'children': ['soe/docs/guide_06_schema.md/The Workflow (No context_schema)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 267, 'end_line': 284, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 285, 'end_line': 295, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 296, 'end_line': 300, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 301, 'end_line': 366, 'children': ['soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Backend Requirement', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 341, 'end_line': 356, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 357, 'end_line': 366, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 367, 'end_line': 376, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 377, 'end_line': 379, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Get schema for specific field', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 380, 'end_line': 397, 'children': ['soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Key Points', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 386, 'end_line': 394, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Next Steps', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 395, 'end_line': 397, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 2, 'end_line': 300, 'children': ['soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/guide_06_schema.md/Introduction to Context Schema': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 4, 'end_line': 16, 'children': ['soe/docs/guide_06_schema.md/Why Use Context Schema?'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Why Use Context Schema?': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 10, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Defining a Schema': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Defining a Schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 17, 'end_line': 43, 'children': ['soe/docs/guide_06_schema.md/Available Types'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Available Types': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Available Types', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 32, 'end_line': 43, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 44, 'end_line': 73, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 209, 'end_line': 240, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/How It Works', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 67, 'end_line': 73, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 74, 'end_line': 98, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Object Schema (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 99, 'end_line': 155, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 129, 'end_line': 155, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 156, 'end_line': 204, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/Data Flow'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Data Flow': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Data Flow', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 198, 'end_line': 204, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 205, 'end_line': 240, 'children': ['soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 241, 'end_line': 262, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 263, 'end_line': 284, 'children': ['soe/docs/guide_06_schema.md/The Workflow (No context_schema)'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 267, 'end_line': 284, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Output Shape (Important)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 285, 'end_line': 295, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 296, 'end_line': 300, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 301, 'end_line': 366, 'children': ['soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/guide_06_schema.md/Backend Requirement': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Backend Requirement', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 341, 'end_line': 356, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 3}, 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 357, 'end_line': 366, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 367, 'end_line': 376, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 377, 'end_line': 379, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/guide_06_schema.md/Get schema for specific field': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Get schema for specific field', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 380, 'end_line': 397, 'children': ['soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps'], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 1}, 'soe/docs/guide_06_schema.md/Key Points': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Key Points', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 386, 'end_line': 394, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_06_schema.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_06_schema.md/Next Steps', 'file_path': 'soe/docs/guide_06_schema.md', 'start_line': 395, 'end_line': 397, 'children': [], 'tags': ['guide', 'tutorial', 'orchestration', 'types', 'event-driven', 'workflow', 'signals', 'history', 'validation', 'schema', 'context', 'python', 'data-structure'], 'level': 2}, 'soe/docs/guide_07_identity.md': {'type': 'file', 'path': 'soe/docs/guide_07_identity.md', 'children': ['soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 2, 'end_line': 203, 'children': ['soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/How Identity Actually Works'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Introduction to Identity', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 4, 'end_line': 74, 'children': ['soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Why Identity Matters', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 13, 'end_line': 26, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 27, 'end_line': 57, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Key Insight', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 58, 'end_line': 63, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 64, 'end_line': 74, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 75, 'end_line': 121, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt"], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 79, 'end_line': 101, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How It Works', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 102, 'end_line': 109, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 110, 'end_line': 121, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 122, 'end_line': 157, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/What Actually Happens'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 126, 'end_line': 148, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/What Actually Happens', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 149, 'end_line': 157, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/No Identity = No History', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 158, 'end_line': 191, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/What Happens'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 162, 'end_line': 182, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/What Happens', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 183, 'end_line': 191, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 192, 'end_line': 203, 'children': ['soe/docs/guide_07_identity.md/The Reality'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Reality', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 199, 'end_line': 203, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 204, 'end_line': 208, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Only this is different:', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 209, 'end_line': 209, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 210, 'end_line': 219, 'children': ['soe/docs/guide_07_identity.md/When You Need Isolation'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/When You Need Isolation', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 215, 'end_line': 219, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 220, 'end_line': 225, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 226, 'end_line': 355, 'children': ['soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/Identity and Strong Models'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 235, 'end_line': 280, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/Accumulation Pattern'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 239, 'end_line': 270, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 271, 'end_line': 280, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Skill Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 281, 'end_line': 341, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 285, 'end_line': 327, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How Skills Work', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 328, 'end_line': 335, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Benefits', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 336, 'end_line': 341, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 342, 'end_line': 355, 'children': ['soe/docs/guide_07_identity.md/Why Strong Models Benefit'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 346, 'end_line': 355, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/First call builds context', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 356, 'end_line': 358, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 359, 'end_line': 361, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Third call builds further', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 362, 'end_line': 492, 'children': ['soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Conversation History API'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 366, 'end_line': 372, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 373, 'end_line': 483, 'children': ['soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Multiple Identities', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 408, 'end_line': 446, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 447, 'end_line': 483, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Conversation History API', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 484, 'end_line': 492, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 493, 'end_line': 495, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Append to history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 496, 'end_line': 501, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Replace entire history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 502, 'end_line': 510, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Clear history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 511, 'end_line': 540, 'children': ['soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity Best Practices', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 515, 'end_line': 529, 'children': ['soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't"], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Do', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 517, 'end_line': 523, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': "soe/docs/guide_07_identity.md/Don't", 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 524, 'end_line': 529, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Key Points', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 530, 'end_line': 537, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Next Steps', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 538, 'end_line': 540, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 2, 'end_line': 203, 'children': ['soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/How Identity Actually Works'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Introduction to Identity': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Introduction to Identity', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 4, 'end_line': 74, 'children': ['soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Why Identity Matters': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Why Identity Matters', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 13, 'end_line': 26, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Identity Schema in Config': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 27, 'end_line': 57, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Key Insight': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Key Insight', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 58, 'end_line': 63, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/The Claude Skills Parallel': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 64, 'end_line': 74, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 75, 'end_line': 121, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt"], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Workflow', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 285, 'end_line': 327, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How It Works', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 102, 'end_line': 109, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, "soe/docs/guide_07_identity.md/What You'll See in the Prompt": {'type': 'section', 'path': "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 110, 'end_line': 121, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 122, 'end_line': 157, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/What Actually Happens'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/What Actually Happens': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/What Actually Happens', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 149, 'end_line': 157, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/No Identity = No History': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/No Identity = No History', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 158, 'end_line': 191, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/What Happens'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/What Happens': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/What Happens', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 183, 'end_line': 191, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/How Identity Actually Works': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 192, 'end_line': 203, 'children': ['soe/docs/guide_07_identity.md/The Reality'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/The Reality': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Reality', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 199, 'end_line': 203, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 204, 'end_line': 208, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Only this is different:': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Only this is different:', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 209, 'end_line': 209, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/(no identity) # No history at all': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 210, 'end_line': 219, 'children': ['soe/docs/guide_07_identity.md/When You Need Isolation'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/When You Need Isolation': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/When You Need Isolation', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 215, 'end_line': 219, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 220, 'end_line': 225, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 226, 'end_line': 355, 'children': ['soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/Identity and Strong Models'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/History Accumulates Over Turns': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 235, 'end_line': 280, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/Accumulation Pattern'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Accumulation Pattern': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 271, 'end_line': 280, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/The Skill Pattern': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Skill Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 281, 'end_line': 341, 'children': ['soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/How Skills Work': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/How Skills Work', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 328, 'end_line': 335, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Benefits': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Benefits', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 336, 'end_line': 341, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Identity and Strong Models': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 342, 'end_line': 355, 'children': ['soe/docs/guide_07_identity.md/Why Strong Models Benefit'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Why Strong Models Benefit': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 346, 'end_line': 355, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/First call builds context': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/First call builds context', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 356, 'end_line': 358, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Second call (same identity) references first': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 359, 'end_line': 361, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Third call builds further': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Third call builds further', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 362, 'end_line': 492, 'children': ['soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Conversation History API'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 366, 'end_line': 372, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 373, 'end_line': 483, 'children': ['soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Multiple Identities': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Multiple Identities', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 408, 'end_line': 446, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 447, 'end_line': 483, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Conversation History API': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Conversation History API', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 484, 'end_line': 492, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 493, 'end_line': 495, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Append to history': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Append to history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 496, 'end_line': 501, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Replace entire history': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Replace entire history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 502, 'end_line': 510, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Clear history': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Clear history', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 511, 'end_line': 540, 'children': ['soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps'], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/guide_07_identity.md/Identity Best Practices': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Identity Best Practices', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 515, 'end_line': 529, 'children': ['soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't"], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Do': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Do', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 517, 'end_line': 523, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, "soe/docs/guide_07_identity.md/Don't": {'type': 'section', 'path': "soe/docs/guide_07_identity.md/Don't", 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 524, 'end_line': 529, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/guide_07_identity.md/Key Points': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Key Points', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 530, 'end_line': 537, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_07_identity.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_07_identity.md/Next Steps', 'file_path': 'soe/docs/guide_07_identity.md', 'start_line': 538, 'end_line': 540, 'children': [], 'tags': ['auth', 'guide', 'tutorial', 'event-driven', 'state-management', 'api', 'security', 'rest-api', 'permissions', 'workflow', 'identity', 'signals', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/guide_08_child.md': {'type': 'file', 'path': 'soe/docs/guide_08_child.md', 'children': ['soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 2, 'end_line': 40, 'children': ['soe/docs/guide_08_child.md/Introduction to Child Nodes'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 4, 'end_line': 40, 'children': ['soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Why Suborchestration?', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 8, 'end_line': 15, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Power of Isolation', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 16, 'end_line': 35, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 36, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 41, 'end_line': 465, 'children': ['soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Suborchestration Patterns'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Your First Child Node', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 83, 'end_line': 135, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 87, 'end_line': 117, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Configuration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 118, 'end_line': 127, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/How It Works', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 128, 'end_line': 135, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Passing Data to Child', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 136, 'end_line': 173, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Data Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 140, 'end_line': 166, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Data Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 167, 'end_line': 173, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Receiving Data from Child', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 174, 'end_line': 214, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Data Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 178, 'end_line': 207, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Data Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 208, 'end_line': 214, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Child Continues After Callback', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 215, 'end_line': 279, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Execution Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 219, 'end_line': 267, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Execution Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 268, 'end_line': 279, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 280, 'end_line': 334, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Execution'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 284, 'end_line': 322, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Execution', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 323, 'end_line': 334, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 335, 'end_line': 391, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Signal Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 339, 'end_line': 377, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Signal Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 378, 'end_line': 391, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Child with LLM', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 392, 'end_line': 430, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Use Cases'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 396, 'end_line': 424, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Use Cases', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 425, 'end_line': 430, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 431, 'end_line': 465, 'children': ['soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 433, 'end_line': 465, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 466, 'end_line': 477, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 478, 'end_line': 568, 'children': ['soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 499, 'end_line': 529, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 530, 'end_line': 552, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 553, 'end_line': 568, 'children': ['soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/How It Works', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 557, 'end_line': 565, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 566, 'end_line': 568, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 569, 'end_line': 585, 'children': ['soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Execution Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 572, 'end_line': 580, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 581, 'end_line': 585, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 586, 'end_line': 612, 'children': ['soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Use Cases', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 591, 'end_line': 597, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Key Points', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 598, 'end_line': 609, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Next Steps', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 610, 'end_line': 612, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 2, 'end_line': 40, 'children': ['soe/docs/guide_08_child.md/Introduction to Child Nodes'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, 'soe/docs/guide_08_child.md/Introduction to Child Nodes': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 4, 'end_line': 40, 'children': ['soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Why Suborchestration?': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Why Suborchestration?', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 8, 'end_line': 15, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/The Power of Isolation': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Power of Isolation', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 16, 'end_line': 35, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Domain-Specific Business Logic': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 36, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 41, 'end_line': 465, 'children': ['soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Suborchestration Patterns'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, 'soe/docs/guide_08_child.md/Your First Child Node': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Your First Child Node', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 83, 'end_line': 135, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/The Workflow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/The Workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 396, 'end_line': 424, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Configuration': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Configuration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 118, 'end_line': 127, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/How It Works', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 557, 'end_line': 565, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Passing Data to Child': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Passing Data to Child', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 136, 'end_line': 173, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Data Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Data Flow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Data Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 208, 'end_line': 214, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Receiving Data from Child': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Receiving Data from Child', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 174, 'end_line': 214, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Data Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Child Continues After Callback': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Child Continues After Callback', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 215, 'end_line': 279, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Execution Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Execution Flow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Execution Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 572, 'end_line': 580, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Multiple Children (Parallel)': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 280, 'end_line': 334, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Execution'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Execution': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Execution', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 323, 'end_line': 334, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Nested Children (Grandchild)': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 335, 'end_line': 391, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Signal Flow'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Signal Flow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Signal Flow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 378, 'end_line': 391, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Child with LLM': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Child with LLM', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 392, 'end_line': 430, 'children': ['soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Use Cases'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Use Cases': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Use Cases', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 591, 'end_line': 597, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Suborchestration Patterns': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 431, 'end_line': 465, 'children': ['soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 433, 'end_line': 465, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 466, 'end_line': 477, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 478, 'end_line': 568, 'children': ['soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, 'soe/docs/guide_08_child.md/Pattern: Specialized Agents': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 499, 'end_line': 529, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 530, 'end_line': 552, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 553, 'end_line': 568, 'children': ['soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Parent-Child Conversation Example': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 566, 'end_line': 568, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 586, 'end_line': 612, 'children': ['soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 1}, 'soe/docs/guide_08_child.md/Nested Sub-Orchestration': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 581, 'end_line': 585, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 3}, 'soe/docs/guide_08_child.md/Key Points': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Key Points', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 598, 'end_line': 609, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_08_child.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_08_child.md/Next Steps', 'file_path': 'soe/docs/guide_08_child.md', 'start_line': 610, 'end_line': 612, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'workflow', 'sub-orchestration', 'signals', 'templating', 'error-handling', 'history', 'orchestration', 'child-workflows', 'nesting'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md': {'type': 'file', 'path': 'soe/docs/guide_09_ecosystem.md', 'children': ['soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/In a tool function'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 2, 'end_line': 192, 'children': ['soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 10, 'end_line': 66, 'children': ['soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 50, 'end_line': 56, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 57, 'end_line': 66, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 67, 'end_line': 173, 'children': ['soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 82, 'end_line': 90, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 91, 'end_line': 173, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 174, 'end_line': 192, 'children': ['soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 183, 'end_line': 192, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Load from file', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 193, 'end_line': 196, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Load from database', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 197, 'end_line': 199, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 200, 'end_line': 424, 'children': ['soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 204, 'end_line': 222, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 223, 'end_line': 232, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 233, 'end_line': 372, 'children': ['soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 237, 'end_line': 338, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 339, 'end_line': 372, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 373, 'end_line': 424, 'children': ['soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 377, 'end_line': 419, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 420, 'end_line': 424, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 425, 'end_line': 490, 'children': ['soe/docs/guide_09_ecosystem.md/External Triggers and Continuation'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 437, 'end_line': 490, 'children': ['soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/The Pattern', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 441, 'end_line': 482, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/How It Works', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 483, 'end_line': 490, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 491, 'end_line': 497, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 498, 'end_line': 499, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 500, 'end_line': 505, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 506, 'end_line': 610, 'children': ['soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Use Cases', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 511, 'end_line': 520, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 521, 'end_line': 610, 'children': ['soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 525, 'end_line': 590, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 591, 'end_line': 600, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 601, 'end_line': 610, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 611, 'end_line': 638, 'children': ['soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 628, 'end_line': 638, 'children': ['soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 636, 'end_line': 638, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 639, 'end_line': 649, 'children': ['soe/docs/guide_09_ecosystem.md/Reading Execution State'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 647, 'end_line': 649, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 650, 'end_line': 660, 'children': ['soe/docs/guide_09_ecosystem.md/Cross-Execution Communication'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 656, 'end_line': 660, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/In a tool function', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 661, 'end_line': 690, 'children': ['soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 673, 'end_line': 687, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Next Steps', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 688, 'end_line': 690, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 2, 'end_line': 192, 'children': ['soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 4, 'end_line': 9, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 10, 'end_line': 66, 'children': ['soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Why Combined Config?': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 50, 'end_line': 56, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Combined Config Sections': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 57, 'end_line': 66, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 67, 'end_line': 173, 'children': ['soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 82, 'end_line': 90, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 91, 'end_line': 173, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 174, 'end_line': 192, 'children': ['soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 183, 'end_line': 192, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Load from file': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Load from file', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 193, 'end_line': 196, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Load from database': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Load from database', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 197, 'end_line': 199, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 200, 'end_line': 424, 'children': ['soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 204, 'end_line': 222, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Why This Matters': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 223, 'end_line': 232, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 233, 'end_line': 372, 'children': ['soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 237, 'end_line': 338, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 339, 'end_line': 372, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 373, 'end_line': 424, 'children': ['soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 377, 'end_line': 419, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 420, 'end_line': 424, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/From child node configuration': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 425, 'end_line': 490, 'children': ['soe/docs/guide_09_ecosystem.md/External Triggers and Continuation'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 437, 'end_line': 490, 'children': ['soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/The Pattern': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/The Pattern', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 441, 'end_line': 482, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/How It Works': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/How It Works', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 483, 'end_line': 490, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Start the workflow': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 491, 'end_line': 497, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 498, 'end_line': 499, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 500, 'end_line': 505, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 506, 'end_line': 610, 'children': ['soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Use Cases': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Use Cases', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 511, 'end_line': 520, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Versioning Strategies': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 521, 'end_line': 610, 'children': ['soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 525, 'end_line': 590, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 591, 'end_line': 600, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 601, 'end_line': 610, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 611, 'end_line': 638, 'children': ['soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 628, 'end_line': 638, 'children': ['soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 636, 'end_line': 638, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/External system sends a signal': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 639, 'end_line': 649, 'children': ['soe/docs/guide_09_ecosystem.md/Reading Execution State'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Reading Execution State': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 647, 'end_line': 649, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/Inspect an execution': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 650, 'end_line': 660, 'children': ['soe/docs/guide_09_ecosystem.md/Cross-Execution Communication'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 656, 'end_line': 660, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 3}, 'soe/docs/guide_09_ecosystem.md/In a tool function': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/In a tool function', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 661, 'end_line': 690, 'children': ['soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps'], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 1}, 'soe/docs/guide_09_ecosystem.md/Key Takeaways': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 673, 'end_line': 687, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_09_ecosystem.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_09_ecosystem.md/Next Steps', 'file_path': 'soe/docs/guide_09_ecosystem.md', 'start_line': 688, 'end_line': 690, 'children': [], 'tags': ['guide', 'tutorial', 'context', 'event-driven', 'state-management', 'api', 'rest-api', 'integrations', 'workflow', 'logging', 'debugging', 'signals', 'ecosystem', 'orchestration', 'community', 'python'], 'level': 2}, 'soe/docs/guide_10_infrastructure.md': {'type': 'file', 'path': 'soe/docs/guide_10_infrastructure.md', 'children': ['soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 1, 'end_line': 251, 'children': ['soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Introduction', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 3, 'end_line': 13, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 14, 'end_line': 251, 'children': ['soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 16, 'end_line': 27, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 28, 'end_line': 57, 'children': ['soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 32, 'end_line': 41, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 42, 'end_line': 57, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 58, 'end_line': 114, 'children': ['soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 62, 'end_line': 68, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 69, 'end_line': 77, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 78, 'end_line': 83, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 84, 'end_line': 92, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 93, 'end_line': 103, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 104, 'end_line': 114, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 115, 'end_line': 129, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 130, 'end_line': 244, 'children': ['soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 132, 'end_line': 181, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 182, 'end_line': 215, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 216, 'end_line': 244, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 245, 'end_line': 251, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 252, 'end_line': 427, 'children': ['soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 264, 'end_line': 355, 'children': ['soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 266, 'end_line': 269, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 270, 'end_line': 280, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 281, 'end_line': 355, 'children': ['soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 285, 'end_line': 308, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 309, 'end_line': 330, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 331, 'end_line': 355, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 356, 'end_line': 410, 'children': ["soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, {'type': 'section', 'path': "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 358, 'end_line': 361, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 362, 'end_line': 369, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 370, 'end_line': 392, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 393, 'end_line': 410, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Summary', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 411, 'end_line': 423, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Next Steps', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 424, 'end_line': 427, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 1, 'end_line': 251, 'children': ['soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 1}, 'soe/docs/guide_10_infrastructure.md/Introduction': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Introduction', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 3, 'end_line': 13, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 14, 'end_line': 251, 'children': ['soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, 'soe/docs/guide_10_infrastructure.md/What Are Backends?': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 16, 'end_line': 27, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Built-in Backends': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 28, 'end_line': 57, 'children': ['soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/In-Memory Backends': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 32, 'end_line': 41, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Local File Backends': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 42, 'end_line': 57, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/The Backend Protocols': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 58, 'end_line': 114, 'children': ['soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 62, 'end_line': 68, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 69, 'end_line': 77, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 78, 'end_line': 83, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 84, 'end_line': 92, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 93, 'end_line': 103, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 104, 'end_line': 114, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Database Recommendations': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 115, 'end_line': 129, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 130, 'end_line': 244, 'children': ['soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 132, 'end_line': 181, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 182, 'end_line': 215, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 216, 'end_line': 244, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 245, 'end_line': 251, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 252, 'end_line': 427, 'children': ['soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 1}, 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 264, 'end_line': 355, 'children': ['soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, 'soe/docs/guide_10_infrastructure.md/What Are Callers?': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 266, 'end_line': 269, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 270, 'end_line': 280, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Distributed Callers': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 281, 'end_line': 355, 'children': ['soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 285, 'end_line': 308, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 309, 'end_line': 330, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 331, 'end_line': 355, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 4}, 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 356, 'end_line': 410, 'children': ["soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller'], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM": {'type': 'section', 'path': "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 358, 'end_line': 361, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 362, 'end_line': 369, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 370, 'end_line': 392, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 393, 'end_line': 410, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 3}, 'soe/docs/guide_10_infrastructure.md/Summary': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Summary', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 411, 'end_line': 423, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, 'soe/docs/guide_10_infrastructure.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_10_infrastructure.md/Next Steps', 'file_path': 'soe/docs/guide_10_infrastructure.md', 'start_line': 424, 'end_line': 427, 'children': [], 'tags': ['tutorial', 'workflow', 'deployment', 'guide', 'state-management', 'api', 'async', 'ops', 'orchestration', 'context', 'memory', 'debugging', 'history', 'scaling', 'infrastructure', 'event-driven', 'signals', 'telemetry', 'python'], 'level': 2}, 'soe/docs/guide_11_builtins.md': {'type': 'file', 'path': 'soe/docs/guide_11_builtins.md', 'children': ['soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools'], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'sections': [{'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 2, 'end_line': 126, 'children': ['soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related'], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 4, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Naming Convention', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 17, 'end_line': 22, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Principles', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 23, 'end_line': 55, 'children': ['soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required'], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Always Available', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 25, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 41, 'end_line': 49, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/No Registration Required', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 50, 'end_line': 55, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Available Built-ins', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 56, 'end_line': 81, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 82, 'end_line': 109, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Next Steps', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 110, 'end_line': 122, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Related', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 123, 'end_line': 126, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 2, 'end_line': 126, 'children': ['soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related'], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 1}, 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 4, 'end_line': 16, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Naming Convention': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Naming Convention', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 17, 'end_line': 22, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Principles': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Principles', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 23, 'end_line': 55, 'children': ['soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required'], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Always Available': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Always Available', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 25, 'end_line': 40, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 41, 'end_line': 49, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/guide_11_builtins.md/No Registration Required': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/No Registration Required', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 50, 'end_line': 55, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 3}, 'soe/docs/guide_11_builtins.md/Available Built-ins': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Available Built-ins', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 56, 'end_line': 81, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 82, 'end_line': 109, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Next Steps': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Next Steps', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 110, 'end_line': 122, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/guide_11_builtins.md/Related': {'type': 'section', 'path': 'soe/docs/guide_11_builtins.md/Related', 'file_path': 'soe/docs/guide_11_builtins.md', 'start_line': 123, 'end_line': 126, 'children': [], 'tags': ['guide', 'tutorial', 'event-driven', 'state-management', 'workflow', 'signals', 'orchestration', 'context'], 'level': 2}, 'soe/docs/primitives/': {'type': 'dir', 'children': ['soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md'], 'path': 'soe/docs/primitives/'}, 'soe/docs/primitives/backends.md': {'type': 'file', 'path': 'soe/docs/primitives/backends.md', 'children': ['soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'sections': [{'type': 'section', 'path': 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 2, 'end_line': 39, 'children': ['soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 8, 'end_line': 19, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/The 6 Backend Types', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 20, 'end_line': 32, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 33, 'end_line': 39, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 40, 'end_line': 42, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/For development: persisted to local files', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 43, 'end_line': 281, 'children': ['soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 56, 'end_line': 199, 'children': ['soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 60, 'end_line': 80, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 81, 'end_line': 107, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 108, 'end_line': 120, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 121, 'end_line': 147, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 148, 'end_line': 170, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 171, 'end_line': 199, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 200, 'end_line': 218, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Database Recommendations', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 219, 'end_line': 265, 'children': ['soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 221, 'end_line': 239, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 240, 'end_line': 265, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 266, 'end_line': 277, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/backends.md/See Also', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 278, 'end_line': 281, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/primitives/backends.md/Backends: Pluggable Storage': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 2, 'end_line': 39, 'children': ['soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 8, 'end_line': 19, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/The 6 Backend Types': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/The 6 Backend Types', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 20, 'end_line': 32, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 33, 'end_line': 39, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 40, 'end_line': 42, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/backends.md/For development: persisted to local files': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/For development: persisted to local files', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 43, 'end_line': 281, 'children': ['soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/backends.md/Implementing Custom Backends': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 56, 'end_line': 199, 'children': ['soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/ContextBackend (Required)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 60, 'end_line': 80, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/WorkflowBackend (Required)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 81, 'end_line': 107, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 108, 'end_line': 120, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 121, 'end_line': 147, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 148, 'end_line': 170, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/IdentityBackend (Optional)': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 171, 'end_line': 199, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/Combining Into a Backends Container': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 200, 'end_line': 218, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/Database Recommendations': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Database Recommendations', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 219, 'end_line': 265, 'children': ['soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables'], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/Single Database, Multiple Tables': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 221, 'end_line': 239, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 240, 'end_line': 265, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 3}, 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 266, 'end_line': 277, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/backends.md/See Also': {'type': 'section', 'path': 'soe/docs/primitives/backends.md/See Also', 'file_path': 'soe/docs/primitives/backends.md', 'start_line': 278, 'end_line': 281, 'children': [], 'tags': ['event-driven', 'state-management', 'rest-api', 'workflow', 'debugging', 'telemetry', 'history', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/context.md': {'type': 'file', 'path': 'soe/docs/primitives/context.md', 'children': ['soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/primitives/context.md/Context: State Management with History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 2, 'end_line': 12, 'children': ['soe/docs/primitives/context.md/Context as History'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context as History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 8, 'end_line': 12, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 13, 'end_line': 156, 'children': ['soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Reading Context in Jinja', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 27, 'end_line': 62, 'children': ['soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 29, 'end_line': 41, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 42, 'end_line': 62, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context in Conditions', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 63, 'end_line': 85, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context in Prompts', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 86, 'end_line': 107, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/How Context is Updated', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 108, 'end_line': 156, 'children': ['soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Tool Nodes', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 110, 'end_line': 123, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 124, 'end_line': 136, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Initial Context', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 137, 'end_line': 156, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Internal representation:', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 157, 'end_line': 187, 'children': ['soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/The `__operational__` Field', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 163, 'end_line': 181, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Practical Examples', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 182, 'end_line': 187, 'children': ['soe/docs/primitives/context.md/Aggregating Multiple Results'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 184, 'end_line': 187, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 188, 'end_line': 216, 'children': ['soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Retry with History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 198, 'end_line': 212, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Building Context Over Time', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 213, 'end_line': 216, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Each step adds to enrichment', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 217, 'end_line': 229, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 230, 'end_line': 240, 'children': ['soe/docs/primitives/context.md/Context Backend'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context Backend', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 236, 'end_line': 240, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Save', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 241, 'end_line': 243, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/Retrieve', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 244, 'end_line': 256, 'children': ['soe/docs/primitives/context.md/See Also'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/context.md/See Also', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 252, 'end_line': 256, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/primitives/context.md/Context: State Management with History': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context: State Management with History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 2, 'end_line': 12, 'children': ['soe/docs/primitives/context.md/Context as History'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Context as History': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context as History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 8, 'end_line': 12, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/After three tool calls that update "result":': {'type': 'section', 'path': 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 13, 'end_line': 156, 'children': ['soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Reading Context in Jinja': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Reading Context in Jinja', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 27, 'end_line': 62, 'children': ['soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Get Latest Value (Default)': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 29, 'end_line': 41, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Get Full History with `| accumulated`': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 42, 'end_line': 62, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Context in Conditions': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context in Conditions', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 63, 'end_line': 85, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Context in Prompts': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context in Prompts', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 86, 'end_line': 107, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/How Context is Updated': {'type': 'section', 'path': 'soe/docs/primitives/context.md/How Context is Updated', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 108, 'end_line': 156, 'children': ['soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Tool Nodes': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Tool Nodes', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 110, 'end_line': 123, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/LLM/Agent Nodes': {'type': 'section', 'path': 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 124, 'end_line': 136, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Initial Context': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Initial Context', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 137, 'end_line': 156, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Internal representation:': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Internal representation:', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 157, 'end_line': 187, 'children': ['soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/The `__operational__` Field': {'type': 'section', 'path': 'soe/docs/primitives/context.md/The `__operational__` Field', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 163, 'end_line': 181, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Practical Examples': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Practical Examples', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 182, 'end_line': 187, 'children': ['soe/docs/primitives/context.md/Aggregating Multiple Results'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Aggregating Multiple Results': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 184, 'end_line': 187, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 188, 'end_line': 216, 'children': ['soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Retry with History': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Retry with History', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 198, 'end_line': 212, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Building Context Over Time': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Building Context Over Time', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 213, 'end_line': 216, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/context.md/Each step adds to enrichment': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Each step adds to enrichment', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 217, 'end_line': 229, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 230, 'end_line': 240, 'children': ['soe/docs/primitives/context.md/Context Backend'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Context Backend': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Context Backend', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 236, 'end_line': 240, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/context.md/Save': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Save', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 241, 'end_line': 243, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/Retrieve': {'type': 'section', 'path': 'soe/docs/primitives/context.md/Retrieve', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 244, 'end_line': 256, 'children': ['soe/docs/primitives/context.md/See Also'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/context.md/See Also': {'type': 'section', 'path': 'soe/docs/primitives/context.md/See Also', 'file_path': 'soe/docs/primitives/context.md', 'start_line': 252, 'end_line': 256, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'error-handling', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md': {'type': 'file', 'path': 'soe/docs/primitives/node_reference.md', 'children': ['soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Or dynamic:'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 2, 'end_line': 73, 'children': ['soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Node Types Overview', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 6, 'end_line': 15, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 16, 'end_line': 68, 'children': ['soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Legend', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 18, 'end_line': 24, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Core Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 25, 'end_line': 32, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 33, 'end_line': 40, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 41, 'end_line': 48, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 49, 'end_line': 61, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 62, 'end_line': 68, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 69, 'end_line': 73, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Simple format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 74, 'end_line': 78, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Extended format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 79, 'end_line': 154, 'children': ['soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 96, 'end_line': 115, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Parameter Details', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 116, 'end_line': 154, 'children': ['soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`event_triggers`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 118, 'end_line': 125, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`event_emissions`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 126, 'end_line': 137, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`prompt`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 138, 'end_line': 147, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`identity`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 148, 'end_line': 154, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Or dynamic:', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 155, 'end_line': 259, 'children': ['soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`retries`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 160, 'end_line': 167, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 168, 'end_line': 175, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 176, 'end_line': 259, 'children': ['soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Router Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 178, 'end_line': 191, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/LLM Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 192, 'end_line': 208, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Agent Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 209, 'end_line': 226, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 227, 'end_line': 245, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Child Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 246, 'end_line': 259, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}], 'frontmatter_end_offset': None}, 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 2, 'end_line': 73, 'children': ['soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/node_reference.md/Node Types Overview': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Node Types Overview', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 6, 'end_line': 15, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/Configuration Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 16, 'end_line': 68, 'children': ['soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/Legend': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Legend', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 18, 'end_line': 24, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Core Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Core Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 25, 'end_line': 32, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 33, 'end_line': 40, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Tool Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 41, 'end_line': 48, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Child Workflow Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 49, 'end_line': 61, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 62, 'end_line': 68, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Tool Registry Configuration': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 69, 'end_line': 73, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/Simple format': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Simple format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 74, 'end_line': 78, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/node_reference.md/Extended format': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Extended format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 79, 'end_line': 154, 'children': ['soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/node_reference.md/Event Emissions Format': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 96, 'end_line': 115, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/Parameter Details': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Parameter Details', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 116, 'end_line': 154, 'children': ['soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/`event_triggers`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`event_triggers`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 118, 'end_line': 125, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/`event_emissions`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`event_emissions`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 126, 'end_line': 137, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/`prompt`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`prompt`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 138, 'end_line': 147, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/`identity`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`identity`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 148, 'end_line': 154, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Or dynamic:': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Or dynamic:', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 155, 'end_line': 259, 'children': ['soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/node_reference.md/`retries`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`retries`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 160, 'end_line': 167, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/`llm_failure_signal`': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 168, 'end_line': 175, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 176, 'end_line': 259, 'children': ['soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node'], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/node_reference.md/Router Node': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Router Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 178, 'end_line': 191, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/LLM Node': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/LLM Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 192, 'end_line': 208, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Agent Node': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Agent Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 209, 'end_line': 226, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Tool Node': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Tool Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 227, 'end_line': 245, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/node_reference.md/Child Node': {'type': 'section', 'path': 'soe/docs/primitives/node_reference.md/Child Node', 'file_path': 'soe/docs/primitives/node_reference.md', 'start_line': 246, 'end_line': 259, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'workflow', 'signals', 'templating', 'history', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/primitives.md': {'type': 'file', 'path': 'soe/docs/primitives/primitives.md', 'children': ['soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field'], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'sections': [{'type': 'section', 'path': 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 1, 'end_line': 51, 'children': ['soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context'], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/1. Signals', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 17, 'end_line': 43, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/2. Context', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 44, 'end_line': 51, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 52, 'end_line': 62, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 63, 'end_line': 331, 'children': ['soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table'], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/3. Workflows', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 69, 'end_line': 101, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/4. Backends', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 102, 'end_line': 132, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/5. Nodes', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 133, 'end_line': 175, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/6. Callers', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 176, 'end_line': 201, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/6. Identities', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 202, 'end_line': 235, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/7. Context Schema', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 236, 'end_line': 272, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/How Primitives Interact', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 273, 'end_line': 318, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/Summary Table', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 319, 'end_line': 331, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 1, 'end_line': 51, 'children': ['soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context'], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/primitives.md/1. Signals': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/1. Signals', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 17, 'end_line': 43, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/2. Context': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/2. Context', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 44, 'end_line': 51, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 52, 'end_line': 62, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 63, 'end_line': 331, 'children': ['soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table'], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 1}, 'soe/docs/primitives/primitives.md/3. Workflows': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/3. Workflows', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 69, 'end_line': 101, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/4. Backends': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/4. Backends', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 102, 'end_line': 132, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/5. Nodes': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/5. Nodes', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 133, 'end_line': 175, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/6. Callers': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/6. Callers', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 176, 'end_line': 201, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/6. Identities': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/6. Identities', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 202, 'end_line': 235, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/7. Context Schema': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/7. Context Schema', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 236, 'end_line': 272, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/How Primitives Interact': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/How Primitives Interact', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 273, 'end_line': 318, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/primitives.md/Summary Table': {'type': 'section', 'path': 'soe/docs/primitives/primitives.md/Summary Table', 'file_path': 'soe/docs/primitives/primitives.md', 'start_line': 319, 'end_line': 331, 'children': [], 'tags': ['jinja2', 'event-driven', 'state-management', 'workflow', 'signals', 'telemetry', 'error-handling', 'history', 'templating', 'orchestration', 'context', 'python', 'memory'], 'level': 2}, 'soe/docs/primitives/signals.md': {'type': 'file', 'path': 'soe/docs/primitives/signals.md', 'children': ['soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'sections': [{'type': 'section', 'path': 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 2, 'end_line': 30, 'children': ['soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/What Are Signals?', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 14, 'end_line': 25, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 26, 'end_line': 30, 'children': ['soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 28, 'end_line': 30, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 31, 'end_line': 36, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 37, 'end_line': 48, 'children': ['soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 44, 'end_line': 48, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Parent workflow', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 49, 'end_line': 51, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Instead of', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 52, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 56, 'end_line': 66, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 67, 'end_line': 104, 'children': ['soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Fields', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 78, 'end_line': 84, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 85, 'end_line': 104, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 105, 'end_line': 170, 'children': ['soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 109, 'end_line': 126, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 127, 'end_line': 146, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 147, 'end_line': 170, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 171, 'end_line': 222, 'children': ['soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Router Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 175, 'end_line': 192, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM/Agent Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 193, 'end_line': 216, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 217, 'end_line': 222, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 223, 'end_line': 426, 'children': ['soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/Child Node'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Router Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 225, 'end_line': 260, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 261, 'end_line': 306, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Agent Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 307, 'end_line': 335, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Tool Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 336, 'end_line': 414, 'children': ['soe/docs/primitives/signals.md/The `result` Keyword'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `result` Keyword', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 379, 'end_line': 414, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Child Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 415, 'end_line': 426, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Failure Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 427, 'end_line': 547, 'children': ['soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Failure Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 431, 'end_line': 459, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Agent Failure Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 460, 'end_line': 487, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 488, 'end_line': 529, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 530, 'end_line': 547, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 548, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 550, 'end_line': 591, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 592, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 594, 'end_line': 596, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 597, 'end_line': 599, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 600, 'end_line': 823, 'children': ['soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 604, 'end_line': 607, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, {'type': 'section', 'path': "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 608, 'end_line': 613, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 614, 'end_line': 627, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 628, 'end_line': 652, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Common Patterns', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 653, 'end_line': 727, 'children': ['soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Exclusive Routing', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 655, 'end_line': 690, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 691, 'end_line': 727, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 728, 'end_line': 804, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 805, 'end_line': 823, 'children': ['soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Not Emitting', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 807, 'end_line': 812, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 813, 'end_line': 818, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 819, 'end_line': 823, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 824, 'end_line': 826, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 827, 'end_line': 829, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 830, 'end_line': 865, 'children': ['soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 836, 'end_line': 843, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Summary Table', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 844, 'end_line': 855, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Key Takeaways', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 856, 'end_line': 865, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}], 'frontmatter_end_offset': None}, 'soe/docs/primitives/signals.md/Appendix C: Signals Reference': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 2, 'end_line': 30, 'children': ['soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/What Are Signals?': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/What Are Signals?', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 14, 'end_line': 25, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Signal Naming Best Practices': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 26, 'end_line': 30, 'children': ['soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 28, 'end_line': 30, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/✅ Good - clear intent': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 31, 'end_line': 36, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/❌ Bad - vague or generic': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 37, 'end_line': 48, 'children': ['soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 44, 'end_line': 48, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Parent workflow': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Parent workflow', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 49, 'end_line': 51, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/Instead of': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Instead of', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 52, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/Use Consistent Conventions': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 56, 'end_line': 66, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/The `event_emissions` Field': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 67, 'end_line': 104, 'children': ['soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Fields': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Fields', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 78, 'end_line': 84, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/No Signals (Terminal Node)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 85, 'end_line': 104, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Condition Types: The Three Modes': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 105, 'end_line': 170, 'children': ['soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 109, 'end_line': 126, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 127, 'end_line': 146, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 147, 'end_line': 170, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 171, 'end_line': 222, 'children': ['soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Router Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Router Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 225, 'end_line': 260, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/LLM/Agent Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM/Agent Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 193, 'end_line': 216, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 217, 'end_line': 222, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Signal Behavior by Node Type': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 223, 'end_line': 426, 'children': ['soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/Child Node'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/LLM Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 261, 'end_line': 306, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Agent Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Agent Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 307, 'end_line': 335, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Tool Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Tool Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 336, 'end_line': 414, 'children': ['soe/docs/primitives/signals.md/The `result` Keyword'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/The `result` Keyword': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `result` Keyword', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 379, 'end_line': 414, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, 'soe/docs/primitives/signals.md/Child Node': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Child Node', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 415, 'end_line': 426, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Failure Signals': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Failure Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 427, 'end_line': 547, 'children': ['soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/LLM Failure Signal': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Failure Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 431, 'end_line': 459, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Agent Failure Signal': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Agent Failure Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 460, 'end_line': 487, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 488, 'end_line': 529, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Failure Signal Behavior': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 530, 'end_line': 547, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 548, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/The `signals_to_parent` Field': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 550, 'end_line': 591, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 592, 'end_line': 596, 'children': ['soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 594, 'end_line': 596, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 597, 'end_line': 599, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 600, 'end_line': 823, 'children': ['soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 604, 'end_line': 607, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective": {'type': 'section', 'path': "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 608, 'end_line': 613, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 4}, 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 614, 'end_line': 627, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 628, 'end_line': 652, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Common Patterns': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Common Patterns', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 653, 'end_line': 727, 'children': ['soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Exclusive Routing': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Exclusive Routing', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 655, 'end_line': 690, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 691, 'end_line': 727, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Complete Example: Order Processing': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 728, 'end_line': 804, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Debugging Signal Issues': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 805, 'end_line': 823, 'children': ['soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Signal Not Emitting': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Signal Not Emitting', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 807, 'end_line': 812, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Wrong Signal Emitting': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 813, 'end_line': 818, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 819, 'end_line': 823, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method": {'type': 'section', 'path': "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 824, 'end_line': 826, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 827, 'end_line': 829, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 830, 'end_line': 865, 'children': ['soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways'], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 1}, 'soe/docs/primitives/signals.md/Parent Not Receiving Signal': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 836, 'end_line': 843, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 3}, 'soe/docs/primitives/signals.md/Summary Table': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Summary Table', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 844, 'end_line': 855, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}, 'soe/docs/primitives/signals.md/Key Takeaways': {'type': 'section', 'path': 'soe/docs/primitives/signals.md/Key Takeaways', 'file_path': 'soe/docs/primitives/signals.md', 'start_line': 856, 'end_line': 865, 'children': [], 'tags': ['retries', 'jinja2', 'event-driven', 'state-management', 'api', 'workflow', 'logging', 'debugging', 'signals', 'templating', 'error-handling', 'orchestration', 'context', 'python'], 'level': 2}}, 'tags': {'guide': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md'], 'patterns': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md'], 'tutorial': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md'], 'jinja2': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'event-driven': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'workflow': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'best-practices': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md'], 'architecture': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md'], 'signals': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'history': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md'], 'context': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'python': ['soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Advanced Pattern: Fan-Out, Fan-In & Aggregations', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Hidden Power of Context: History Lists', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 1: Fan-Out (Parallel Processing)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The `fan_out_field` Parameter', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 2: Fan-In (Waiting for Completion)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/The Router Check', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Pattern 3: Aggregation (Processing History)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/LLM Aggregation (The "Judge" Pattern)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Complete Workflow Examples', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 1: Fan-Out / Fan-In with Tool Aggregation', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 2: The Judge Pattern (LLM Selection)', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Example 3: Map-Reduce Pattern', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Summary of New Parameters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Child Node', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Tool Registry', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Jinja Filters', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Non-Dynamic Fan-Out', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md/Related Patterns', 'soe/docs/advanced_patterns/guide_fanout_and_aggregations.md', 'soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/advanced_patterns/swarm_intelligence.md/SOE Advanced Patterns: Swarm Intelligence', 'soe/docs/advanced_patterns/swarm_intelligence.md/Introduction', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 1: Simple Consensus', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/swarm_intelligence.md/How It Works', 'soe/docs/advanced_patterns/swarm_intelligence.md/Usage', 'soe/docs/advanced_patterns/swarm_intelligence.md/Result: CONSENSUS_REACHED signal emitted', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 2: Multi-Voter Tallying', 'soe/docs/advanced_patterns/swarm_intelligence.md/The Jinja2 Magic', 'soe/docs/advanced_patterns/swarm_intelligence.md/Pattern 3: LLM-Based Voting (Full Swarm)', 'soe/docs/advanced_patterns/swarm_intelligence.md/Why Signals Beat Conversation', 'soe/docs/advanced_patterns/swarm_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/swarm_intelligence.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'retries': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'state-management': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/builtins/workflows.md/Built-in: Workflow Modification', 'soe/docs/builtins/workflows.md/Runtime Workflow Evolution', 'soe/docs/builtins/workflows.md/Available Tools', 'soe/docs/builtins/workflows.md/soe_get_workflows', 'soe/docs/builtins/workflows.md/Use Cases', 'soe/docs/builtins/workflows.md/soe_inject_workflow', 'soe/docs/builtins/workflows.md/Context Setup', 'soe/docs/builtins/workflows.md/soe_inject_node', 'soe/docs/builtins/workflows.md/soe_remove_workflow', 'soe/docs/builtins/workflows.md/soe_remove_node', 'soe/docs/builtins/workflows.md/Evolution Pattern', 'soe/docs/builtins/workflows.md/Related', 'soe/docs/builtins/workflows.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'api': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'rest-api': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md'], 'error-handling': ['soe/docs/advanced_patterns/guide_inheritance.md/Advanced Pattern: Configuration and Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Hidden Power: Execution Chaining', 'soe/docs/advanced_patterns/guide_inheritance.md/The Two Inheritance Parameters', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 1: Config Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/The Workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: First Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - establishes config', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Inherited Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits config, no need to resend', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 2: Context Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Retry with Existing Context', 'soe/docs/advanced_patterns/guide_inheritance.md/First execution - builds up context', 'soe/docs/advanced_patterns/guide_inheritance.md/Second execution - inherits context, runs retry workflow', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 3: Multi-Phase Execution', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Phase 1 → Phase 2', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 1 - Analysis', 'soe/docs/advanced_patterns/guide_inheritance.md/Phase 2 - Generation (inherits everything)', 'soe/docs/advanced_patterns/guide_inheritance.md/Pattern 4: Identity Sharing Across Conversations', 'soe/docs/advanced_patterns/guide_inheritance.md/Usage: Continued Conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/First conversation', 'soe/docs/advanced_patterns/guide_inheritance.md/Follow-up conversation (same identity definitions)', 'soe/docs/advanced_patterns/guide_inheritance.md/Override Behavior', 'soe/docs/advanced_patterns/guide_inheritance.md/Config Override', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits, then overrides with new config', 'soe/docs/advanced_patterns/guide_inheritance.md/Context Append (History Preservation)', 'soe/docs/advanced_patterns/guide_inheritance.md/Inherits context, appends new values to history', 'soe/docs/advanced_patterns/guide_inheritance.md/Result: context["user_input"] = ["old message", "new message"]', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_field() returns "new message" (latest)', 'soe/docs/advanced_patterns/guide_inheritance.md/Reading with get_accumulated() returns ["old message", "new message"] (full history)', 'soe/docs/advanced_patterns/guide_inheritance.md/Validation Rules', 'soe/docs/advanced_patterns/guide_inheritance.md/When to Use Each Pattern', 'soe/docs/advanced_patterns/guide_inheritance.md/Version Management with Inheritance', 'soe/docs/advanced_patterns/guide_inheritance.md/Original execution - workflow may have self-evolved', 'soe/docs/advanced_patterns/guide_inheritance.md/New execution inherits the evolved config (including injected nodes)', 'soe/docs/advanced_patterns/guide_inheritance.md/Best Practices', 'soe/docs/advanced_patterns/guide_inheritance.md', 'soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'async': ['soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md'], 'telemetry': ['soe/docs/advanced_patterns/hybrid_intelligence.md/SOE Advanced Patterns: Hybrid Intelligence', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Introduction', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Intelligence Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 1: Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Workflow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/How It Works', 'soe/docs/advanced_patterns/hybrid_intelligence.md/The Flow', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 2: LLM with Safety Rails', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Pattern 3: Retry with Validation', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Why Hybrid Matters', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Best Practices', 'soe/docs/advanced_patterns/hybrid_intelligence.md/Related Patterns', 'soe/docs/advanced_patterns/hybrid_intelligence.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md'], 'orchestration': ['soe/docs/advanced_patterns/index.md/SOE Advanced Patterns', 'soe/docs/advanced_patterns/index.md/The Patterns', 'soe/docs/advanced_patterns/index.md/Philosophy', 'soe/docs/advanced_patterns/index.md/Future Patterns', 'soe/docs/advanced_patterns/index.md/Fractal Orchestration', 'soe/docs/advanced_patterns/index.md/Universal Backend', 'soe/docs/advanced_patterns/index.md/Edge AI', 'soe/docs/advanced_patterns/index.md/Getting Started', 'soe/docs/advanced_patterns/index.md', 'soe/docs/advanced_patterns/operational.md/Appendix A: Operational Features', 'soe/docs/advanced_patterns/operational.md/Introduction', 'soe/docs/advanced_patterns/operational.md/The Operational Context', 'soe/docs/advanced_patterns/operational.md/Structure', 'soe/docs/advanced_patterns/operational.md/Main Execution ID', 'soe/docs/advanced_patterns/operational.md/Accessing in Jinja', 'soe/docs/advanced_patterns/operational.md/broadcast_signals: Post-Execution Control', 'soe/docs/advanced_patterns/operational.md/Understanding the Relationship', 'soe/docs/advanced_patterns/operational.md/Important: Avoid START with broadcast_signals', "soe/docs/advanced_patterns/operational.md/❌ WRONG - Don't use START with broadcast_signals", 'soe/docs/advanced_patterns/operational.md/Proper Usage of broadcast_signals', 'soe/docs/advanced_patterns/operational.md/✅ CORRECT - Use for continuation or specific signals', 'soe/docs/advanced_patterns/operational.md/Later, send a specific signal to continue', 'soe/docs/advanced_patterns/operational.md/Use Cases for broadcast_signals', 'soe/docs/advanced_patterns/operational.md/For Clean Restarts, Use Inheritance', 'soe/docs/advanced_patterns/operational.md/Fresh execution inheriting config from previous run', 'soe/docs/advanced_patterns/operational.md/Wait for Multiple Signals (AND Logic)', 'soe/docs/advanced_patterns/operational.md/The Pattern', 'soe/docs/advanced_patterns/operational.md/How It Works', 'soe/docs/advanced_patterns/operational.md/LLM Call Limiting', 'soe/docs/advanced_patterns/operational.md/Use Cases', 'soe/docs/advanced_patterns/operational.md/Tool Call Limiting', 'soe/docs/advanced_patterns/operational.md/Error Circuit Breaker', 'soe/docs/advanced_patterns/operational.md/Loop Prevention', 'soe/docs/advanced_patterns/operational.md/Retry Configuration', 'soe/docs/advanced_patterns/operational.md/LLM Retries', 'soe/docs/advanced_patterns/operational.md/LLM Failure Signal', 'soe/docs/advanced_patterns/operational.md/Agent Retries', 'soe/docs/advanced_patterns/operational.md/Agent Failure Signals', 'soe/docs/advanced_patterns/operational.md/Tool Retries', 'soe/docs/advanced_patterns/operational.md/Conditional Processing Based on State', 'soe/docs/advanced_patterns/operational.md/Operational Context Fields Reference', 'soe/docs/advanced_patterns/operational.md/The Parent Context (`__parent__`)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Guardrail Patterns', 'soe/docs/advanced_patterns/operational.md/Execute Only Once', 'soe/docs/advanced_patterns/operational.md/Health Check Guardrail', 'soe/docs/advanced_patterns/operational.md/Rate Limiting', 'soe/docs/advanced_patterns/operational.md/Kill Switch', 'soe/docs/advanced_patterns/operational.md/Production Guardrails (Combined Pattern)', 'soe/docs/advanced_patterns/operational.md/Infrastructure Configurations Reference', 'soe/docs/advanced_patterns/operational.md/Best Practices', 'soe/docs/advanced_patterns/operational.md/Do', "soe/docs/advanced_patterns/operational.md/Don't", 'soe/docs/advanced_patterns/operational.md/Key Points', 'soe/docs/advanced_patterns/operational.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/soe_explore_docs.md/Built-in: soe_explore_docs', 'soe/docs/builtins/soe_explore_docs.md/Making SOE Self-Aware', 'soe/docs/builtins/soe_explore_docs.md/Why Self-Awareness Matters', 'soe/docs/builtins/soe_explore_docs.md/Basic Usage', 'soe/docs/builtins/soe_explore_docs.md/List Documentation Structure', 'soe/docs/builtins/soe_explore_docs.md/Search Documentation', 'soe/docs/builtins/soe_explore_docs.md/Read Documentation Content', 'soe/docs/builtins/soe_explore_docs.md/Actions Reference', 'soe/docs/builtins/soe_explore_docs.md/Path Navigation', 'soe/docs/builtins/soe_explore_docs.md/Integration with LLM Nodes', 'soe/docs/builtins/soe_explore_docs.md/Related', 'soe/docs/builtins/soe_explore_docs.md', 'soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/guide_11_builtins.md/SOE Guide: Chapter 11 - Built-in Tools', 'soe/docs/guide_11_builtins.md/The Power of Self-Evolution', 'soe/docs/guide_11_builtins.md/Naming Convention', 'soe/docs/guide_11_builtins.md/Principles', 'soe/docs/guide_11_builtins.md/Always Available', 'soe/docs/guide_11_builtins.md/Essential for Self-Evolution', 'soe/docs/guide_11_builtins.md/No Registration Required', 'soe/docs/guide_11_builtins.md/Available Built-ins', 'soe/docs/guide_11_builtins.md/Self-Awareness in Practice', 'soe/docs/guide_11_builtins.md/Next Steps', 'soe/docs/guide_11_builtins.md/Related', 'soe/docs/guide_11_builtins.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/context.md/Context: State Management with History', 'soe/docs/primitives/context.md/Context as History', 'soe/docs/primitives/context.md/After three tool calls that update "result":', 'soe/docs/primitives/context.md/Reading Context in Jinja', 'soe/docs/primitives/context.md/Get Latest Value (Default)', 'soe/docs/primitives/context.md/Get Full History with `| accumulated`', 'soe/docs/primitives/context.md/Context in Conditions', 'soe/docs/primitives/context.md/Context in Prompts', 'soe/docs/primitives/context.md/How Context is Updated', 'soe/docs/primitives/context.md/Tool Nodes', 'soe/docs/primitives/context.md/LLM/Agent Nodes', 'soe/docs/primitives/context.md/Initial Context', 'soe/docs/primitives/context.md/Internal representation:', 'soe/docs/primitives/context.md/The `__operational__` Field', 'soe/docs/primitives/context.md/Practical Examples', 'soe/docs/primitives/context.md/Aggregating Multiple Results', 'soe/docs/primitives/context.md/Fan-out pattern: multiple child workflows write to same field', 'soe/docs/primitives/context.md/Retry with History', 'soe/docs/primitives/context.md/Building Context Over Time', 'soe/docs/primitives/context.md/Each step adds to enrichment', 'soe/docs/primitives/context.md/Later: context.enrichment | accumulated = [profile, history]', 'soe/docs/primitives/context.md/Context Backend', 'soe/docs/primitives/context.md/Save', 'soe/docs/primitives/context.md/Retrieve', 'soe/docs/primitives/context.md/See Also', 'soe/docs/primitives/context.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'debugging': ['soe/docs/advanced_patterns/self_evolving_workflows.md/SOE Advanced Patterns: Self-Evolving Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Introduction', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Awareness with soe_explore_docs', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Built-in Injection Tools', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Create tools bound to the current execution', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 1: Deterministic Workflow Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/How It Works', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Workflow', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 2: Deterministic Node Injection', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Injected Node', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 3: LLM-Driven Workflow Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/The Prompt', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Safety Considerations', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Pattern 4: LLM-Driven Node Generation', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Use Cases', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Self-Healing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Dynamic Skill Acquisition', 'soe/docs/advanced_patterns/self_evolving_workflows.md/A/B Testing Workflows', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Best Practices', 'soe/docs/advanced_patterns/self_evolving_workflows.md/Summary', 'soe/docs/advanced_patterns/self_evolving_workflows.md', 'soe/docs/builtins/context.md/Built-in: Context Management', 'soe/docs/builtins/context.md/Execution State Control', 'soe/docs/builtins/context.md/Available Tools', 'soe/docs/builtins/context.md/soe_get_context', 'soe/docs/builtins/context.md/Use Cases', 'soe/docs/builtins/context.md/soe_update_context', 'soe/docs/builtins/context.md/Context Setup', 'soe/docs/builtins/context.md/soe_copy_context', 'soe/docs/builtins/context.md/soe_list_contexts', 'soe/docs/builtins/context.md/Context Patterns', 'soe/docs/builtins/context.md/Context Inspection for LLMs', 'soe/docs/builtins/context.md/Related', 'soe/docs/builtins/context.md', 'soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_04_patterns.md/SOE Guide: Chapter 4 - Building Custom Workflows', 'soe/docs/guide_04_patterns.md/The Three Core Node Types', 'soe/docs/guide_04_patterns.md/Why Build Custom Workflows?', 'soe/docs/guide_04_patterns.md/Pattern 1: Chain of Thought', 'soe/docs/guide_04_patterns.md/The Workflow', 'soe/docs/guide_04_patterns.md/How It Works', 'soe/docs/guide_04_patterns.md/Why This Pattern?', 'soe/docs/guide_04_patterns.md/Pattern 2: Custom ReAct Loop', 'soe/docs/guide_04_patterns.md/The Loop Structure', 'soe/docs/guide_04_patterns.md/Pattern 3: Metacognition (Self-Reflection)', 'soe/docs/guide_04_patterns.md/Pattern 4: Parallel Analysis with Voting', 'soe/docs/guide_04_patterns.md/Pattern 5: Iterative Refinement with Tools', 'soe/docs/guide_04_patterns.md/Pattern 6: Hierarchical Task Decomposition', 'soe/docs/guide_04_patterns.md/Combining Patterns', 'soe/docs/guide_04_patterns.md/When to Use Custom Workflows vs Agent Node', 'soe/docs/guide_04_patterns.md/Next Steps', 'soe/docs/guide_04_patterns.md', 'soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md', 'soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'types': ['soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md'], 'validation': ['soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md'], 'schema': ['soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md'], 'data-structure': ['soe/docs/builtins/context_schema.md/Built-in: Context Schema Management', 'soe/docs/builtins/context_schema.md/Runtime Schema Control', 'soe/docs/builtins/context_schema.md/Available Tools', 'soe/docs/builtins/context_schema.md/soe_get_context_schema', 'soe/docs/builtins/context_schema.md/Parameters', 'soe/docs/builtins/context_schema.md/Return Values', 'soe/docs/builtins/context_schema.md/Use Cases', 'soe/docs/builtins/context_schema.md/soe_inject_context_schema_field', 'soe/docs/builtins/context_schema.md/Field Definition Format', 'soe/docs/builtins/context_schema.md/Return Value', 'soe/docs/builtins/context_schema.md/soe_remove_context_schema_field', 'soe/docs/builtins/context_schema.md/Schema Patterns', 'soe/docs/builtins/context_schema.md/Self-Documenting Workflows', 'soe/docs/builtins/context_schema.md/Related', 'soe/docs/builtins/context_schema.md', 'soe/docs/guide_06_schema.md/SOE Guide: Chapter 6 - Context Schema', 'soe/docs/guide_06_schema.md/Introduction to Context Schema', 'soe/docs/guide_06_schema.md/Why Use Context Schema?', 'soe/docs/guide_06_schema.md/Defining a Schema', 'soe/docs/guide_06_schema.md/Available Types', 'soe/docs/guide_06_schema.md/Your First Schema (Full Config)', 'soe/docs/guide_06_schema.md/Full Workflow + Schema (Config)', 'soe/docs/guide_06_schema.md/How It Works', 'soe/docs/guide_06_schema.md/Integer Schema (Full Config)', 'soe/docs/guide_06_schema.md/Object Schema (Full Config)', 'soe/docs/guide_06_schema.md/Nested Object Schema (with `properties`)', 'soe/docs/guide_06_schema.md/Schema with Tool Integration (Full Config)', 'soe/docs/guide_06_schema.md/Data Flow', 'soe/docs/guide_06_schema.md/Multiple Fields (Full Config)', 'soe/docs/guide_06_schema.md/Agent Node + Schema (Full Config)', 'soe/docs/guide_06_schema.md/Schema is Optional (Workflow Only)', 'soe/docs/guide_06_schema.md/The Workflow (No context_schema)', 'soe/docs/guide_06_schema.md/Output Shape (Important)', 'soe/docs/guide_06_schema.md/Defining Schemas in Config (Recommended)', 'soe/docs/guide_06_schema.md/Complete config with workflows and context_schema', 'soe/docs/guide_06_schema.md/Backend Requirement', 'soe/docs/guide_06_schema.md/Saving Schemas Programmatically', 'soe/docs/guide_06_schema.md/Run orchestrate first to get the execution_id', 'soe/docs/guide_06_schema.md/Retrieve schema (keyed by execution_id)', 'soe/docs/guide_06_schema.md/Get schema for specific field', 'soe/docs/guide_06_schema.md/Key Points', 'soe/docs/guide_06_schema.md/Next Steps', 'soe/docs/guide_06_schema.md'], 'auth': ['soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md'], 'security': ['soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md'], 'permissions': ['soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md'], 'identity': ['soe/docs/builtins/identity.md/Built-in: Identity Management', 'soe/docs/builtins/identity.md/Runtime Identity Control', 'soe/docs/builtins/identity.md/Available Tools', 'soe/docs/builtins/identity.md/soe_get_identities', 'soe/docs/builtins/identity.md/Parameters', 'soe/docs/builtins/identity.md/Return Values', 'soe/docs/builtins/identity.md/Use Cases', 'soe/docs/builtins/identity.md/soe_inject_identity', 'soe/docs/builtins/identity.md/Return Value', 'soe/docs/builtins/identity.md/soe_remove_identity', 'soe/docs/builtins/identity.md/Identity Patterns', 'soe/docs/builtins/identity.md/Dynamic Persona Selection', 'soe/docs/builtins/identity.md/Related', 'soe/docs/builtins/identity.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md'], 'tools': ['soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md'], 'extensions': ['soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md'], 'plugins': ['soe/docs/builtins/tools.md/Built-in: Tool Management', 'soe/docs/builtins/tools.md/Dynamic Tool Discovery and Invocation', 'soe/docs/builtins/tools.md/Available Tools', 'soe/docs/builtins/tools.md/soe_get_available_tools', 'soe/docs/builtins/tools.md/Use Cases', 'soe/docs/builtins/tools.md/soe_call_tool', 'soe/docs/builtins/tools.md/Context Setup', 'soe/docs/builtins/tools.md/Return Value', 'soe/docs/builtins/tools.md/Dynamic Tool Pattern', 'soe/docs/builtins/tools.md/When to Use', 'soe/docs/builtins/tools.md/Use Dynamic Invocation When:', 'soe/docs/builtins/tools.md/Use Direct Tool Nodes When:', 'soe/docs/builtins/tools.md/Security Considerations', 'soe/docs/builtins/tools.md/Related', 'soe/docs/builtins/tools.md', 'soe/docs/guide_01_tool.md/SOE Guide: Chapter 1 - Tool Nodes', 'soe/docs/guide_01_tool.md/Introduction to Tool Nodes', 'soe/docs/guide_01_tool.md/When to Use Tool Nodes', 'soe/docs/guide_01_tool.md/Your First Tool Node', 'soe/docs/guide_01_tool.md/The Workflow', 'soe/docs/guide_01_tool.md/How It Works', 'soe/docs/guide_01_tool.md/Understanding context_parameter_field', 'soe/docs/guide_01_tool.md/The Tools Registry', 'soe/docs/guide_01_tool.md/Event Emissions with Conditions', 'soe/docs/guide_01_tool.md/Conditional Signal Example', 'soe/docs/guide_01_tool.md/Combining Result and Context', 'soe/docs/guide_01_tool.md/Extended Tool Registry', 'soe/docs/guide_01_tool.md/Success vs Failure Flow', 'soe/docs/guide_01_tool.md/Next Steps', 'soe/docs/guide_01_tool.md'], 'templating': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md', 'soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md', 'soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md', 'soe/docs/primitives/node_reference.md/Appendix B: Node Configuration Reference', 'soe/docs/primitives/node_reference.md/Node Types Overview', 'soe/docs/primitives/node_reference.md/Configuration Parameters', 'soe/docs/primitives/node_reference.md/Legend', 'soe/docs/primitives/node_reference.md/Core Parameters', 'soe/docs/primitives/node_reference.md/Prompt & Output Parameters', 'soe/docs/primitives/node_reference.md/Tool Parameters', 'soe/docs/primitives/node_reference.md/Child Workflow Parameters', 'soe/docs/primitives/node_reference.md/Retry & Failure Parameters', 'soe/docs/primitives/node_reference.md/Tool Registry Configuration', 'soe/docs/primitives/node_reference.md/Simple format', 'soe/docs/primitives/node_reference.md/Extended format', 'soe/docs/primitives/node_reference.md/Event Emissions Format', 'soe/docs/primitives/node_reference.md/Parameter Details', 'soe/docs/primitives/node_reference.md/`event_triggers`', 'soe/docs/primitives/node_reference.md/`event_emissions`', 'soe/docs/primitives/node_reference.md/`prompt`', 'soe/docs/primitives/node_reference.md/`identity`', 'soe/docs/primitives/node_reference.md/Or dynamic:', 'soe/docs/primitives/node_reference.md/`retries`', 'soe/docs/primitives/node_reference.md/`llm_failure_signal`', 'soe/docs/primitives/node_reference.md/Quick Reference by Node Type', 'soe/docs/primitives/node_reference.md/Router Node', 'soe/docs/primitives/node_reference.md/LLM Node', 'soe/docs/primitives/node_reference.md/Agent Node', 'soe/docs/primitives/node_reference.md/Tool Node', 'soe/docs/primitives/node_reference.md/Child Node', 'soe/docs/primitives/node_reference.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'getting-started': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md'], 'installation': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md'], 'memory': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md', 'soe/docs/guide_07_identity.md/SOE Guide: Chapter 7 - Identity', 'soe/docs/guide_07_identity.md/Introduction to Identity', 'soe/docs/guide_07_identity.md/Why Identity Matters', 'soe/docs/guide_07_identity.md/Identity Schema in Config', 'soe/docs/guide_07_identity.md/Key Insight', 'soe/docs/guide_07_identity.md/The Claude Skills Parallel', 'soe/docs/guide_07_identity.md/Multi-Turn Conversations (Same Identity)', 'soe/docs/guide_07_identity.md/The Workflow', 'soe/docs/guide_07_identity.md/How It Works', "soe/docs/guide_07_identity.md/What You'll See in the Prompt", 'soe/docs/guide_07_identity.md/All Identities Share History (Within Execution)', 'soe/docs/guide_07_identity.md/What Actually Happens', 'soe/docs/guide_07_identity.md/No Identity = No History', 'soe/docs/guide_07_identity.md/What Happens', 'soe/docs/guide_07_identity.md/How Identity Actually Works', 'soe/docs/guide_07_identity.md/The Reality', 'soe/docs/guide_07_identity.md/All these share the SAME history within one orchestration:', 'soe/docs/guide_07_identity.md/Only this is different:', 'soe/docs/guide_07_identity.md/(no identity) # No history at all', 'soe/docs/guide_07_identity.md/When You Need Isolation', 'soe/docs/guide_07_identity.md/Execution 1 - has its own main_execution_id', 'soe/docs/guide_07_identity.md/Execution 2 - different main_execution_id, different history', 'soe/docs/guide_07_identity.md/History Accumulates Over Turns', 'soe/docs/guide_07_identity.md/Accumulation Pattern', 'soe/docs/guide_07_identity.md/The Skill Pattern', 'soe/docs/guide_07_identity.md/How Skills Work', 'soe/docs/guide_07_identity.md/Benefits', 'soe/docs/guide_07_identity.md/Identity and Strong Models', 'soe/docs/guide_07_identity.md/Why Strong Models Benefit', 'soe/docs/guide_07_identity.md/First call builds context', 'soe/docs/guide_07_identity.md/Second call (same identity) references first', 'soe/docs/guide_07_identity.md/Third call builds further', 'soe/docs/guide_07_identity.md/The Dynamic Prompting Pattern', 'soe/docs/guide_07_identity.md/Defining Identities in Config (Recommended)', 'soe/docs/guide_07_identity.md/Multiple Identities', 'soe/docs/guide_07_identity.md/Full Config (Workflows + Schema + Identities)', 'soe/docs/guide_07_identity.md/Conversation History API', 'soe/docs/guide_07_identity.md/Get conversation history (keyed by execution_id)', 'soe/docs/guide_07_identity.md/Append to history', 'soe/docs/guide_07_identity.md/Replace entire history', 'soe/docs/guide_07_identity.md/Clear history', 'soe/docs/guide_07_identity.md/Identity Best Practices', 'soe/docs/guide_07_identity.md/Do', "soe/docs/guide_07_identity.md/Don't", 'soe/docs/guide_07_identity.md/Key Points', 'soe/docs/guide_07_identity.md/Next Steps', 'soe/docs/guide_07_identity.md', 'soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md', 'soe/docs/primitives/backends.md/Backends: Pluggable Storage', 'soe/docs/primitives/backends.md/The Principle: Dumb Data Retrievers', 'soe/docs/primitives/backends.md/The 6 Backend Types', 'soe/docs/primitives/backends.md/Quick Start: Built-in Backends', 'soe/docs/primitives/backends.md/For testing: everything in memory (lost on restart)', 'soe/docs/primitives/backends.md/For development: persisted to local files', 'soe/docs/primitives/backends.md/Implementing Custom Backends', 'soe/docs/primitives/backends.md/ContextBackend (Required)', 'soe/docs/primitives/backends.md/WorkflowBackend (Required)', 'soe/docs/primitives/backends.md/TelemetryBackend (Optional)', 'soe/docs/primitives/backends.md/ConversationHistoryBackend (Optional)', 'soe/docs/primitives/backends.md/ContextSchemaBackend (Optional)', 'soe/docs/primitives/backends.md/IdentityBackend (Optional)', 'soe/docs/primitives/backends.md/Combining Into a Backends Container', 'soe/docs/primitives/backends.md/Database Recommendations', 'soe/docs/primitives/backends.md/Single Database, Multiple Tables', 'soe/docs/primitives/backends.md/Example: PostgreSQL Tables', 'soe/docs/primitives/backends.md/Key Insight: Execution ID as Primary Key', 'soe/docs/primitives/backends.md/See Also', 'soe/docs/primitives/backends.md', 'soe/docs/primitives/primitives.md/SOE Concepts: The 7 Primitives', 'soe/docs/primitives/primitives.md/1. Signals', 'soe/docs/primitives/primitives.md/2. Context', 'soe/docs/primitives/primitives.md/{"user_id": "123", "validated": True, "result": "Hello!"}', 'soe/docs/primitives/primitives.md/LLM/Agent nodes store results via output_field', 'soe/docs/primitives/primitives.md/3. Workflows', 'soe/docs/primitives/primitives.md/4. Backends', 'soe/docs/primitives/primitives.md/5. Nodes', 'soe/docs/primitives/primitives.md/6. Callers', 'soe/docs/primitives/primitives.md/6. Identities', 'soe/docs/primitives/primitives.md/7. Context Schema', 'soe/docs/primitives/primitives.md/How Primitives Interact', 'soe/docs/primitives/primitives.md/Summary Table', 'soe/docs/primitives/primitives.md'], 'setup': ['soe/docs/guide_00_getting_started.md/SOE Guide: Getting Started', 'soe/docs/guide_00_getting_started.md/What is SOE?', 'soe/docs/guide_00_getting_started.md/The 7 Primitives', 'soe/docs/guide_00_getting_started.md/Signal Types', 'soe/docs/guide_00_getting_started.md/Key Concept: Synchronous Execution', 'soe/docs/guide_00_getting_started.md/This is how SOE works - synchronous, blocking execution', 'soe/docs/guide_00_getting_started.md/When this returns, the entire workflow has completed', 'soe/docs/guide_00_getting_started.md/Installation', 'soe/docs/guide_00_getting_started.md/With uv (recommended)', 'soe/docs/guide_00_getting_started.md/Or with pip', 'soe/docs/guide_00_getting_started.md/Quick Start: Copy-Paste Template', 'soe/docs/guide_00_getting_started.md/1. Define your workflow in YAML', 'soe/docs/guide_00_getting_started.md/2. Create in-memory backends (simplest option)', 'soe/docs/guide_00_getting_started.md/3. Set up nodes and caller', 'soe/docs/guide_00_getting_started.md/4. Execute!', 'soe/docs/guide_00_getting_started.md/5. Check the result', 'soe/docs/guide_00_getting_started.md/Adding More Node Types', 'soe/docs/guide_00_getting_started.md/Adding Tool Nodes', 'soe/docs/guide_00_getting_started.md/Define your tools', 'soe/docs/guide_00_getting_started.md/Add to nodes', 'soe/docs/guide_00_getting_started.md/Adding LLM Nodes', 'soe/docs/guide_00_getting_started.md/Define your LLM caller (wrap your API)', 'soe/docs/guide_00_getting_started.md/Adding Agent Nodes', 'soe/docs/guide_00_getting_started.md/Agent needs both LLM and tools', 'soe/docs/guide_00_getting_started.md/Adding Child Workflow Nodes', 'soe/docs/guide_00_getting_started.md/Create orchestrate caller for child workflows', 'soe/docs/guide_00_getting_started.md/Helper Function: All Nodes at Once', 'soe/docs/guide_00_getting_started.md/Set up all nodes (pass your call_llm and tools_registry)', 'soe/docs/guide_00_getting_started.md/Usage', 'soe/docs/guide_00_getting_started.md/Choosing Your Infrastructure', 'soe/docs/guide_00_getting_started.md/Workflow Portability', 'soe/docs/guide_00_getting_started.md/This exact workflow runs:', 'soe/docs/guide_00_getting_started.md/- Locally with in-memory backends', 'soe/docs/guide_00_getting_started.md/- In production with PostgreSQL + Lambda callers', 'soe/docs/guide_00_getting_started.md/- In Jenkins with file backends + webhook callers', 'soe/docs/guide_00_getting_started.md/Next Steps', 'soe/docs/guide_00_getting_started.md'], 'llm': ['soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md'], 'models': ['soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md'], 'configuration': ['soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md'], 'ai': ['soe/docs/guide_02_llm.md/SOE Guide: Chapter 2 - LLM Nodes', 'soe/docs/guide_02_llm.md/Introduction to LLM Nodes', 'soe/docs/guide_02_llm.md/Your First LLM Node: Text Summarization', 'soe/docs/guide_02_llm.md/The Workflow', 'soe/docs/guide_02_llm.md/How It Works', 'soe/docs/guide_02_llm.md/Key Concepts', 'soe/docs/guide_02_llm.md/Chaining LLM Nodes', 'soe/docs/guide_02_llm.md/LLM Signal Selection (Resolution Step)', 'soe/docs/guide_02_llm.md/Signal Emission Rules', 'soe/docs/guide_02_llm.md/Testing LLM Nodes', 'soe/docs/guide_02_llm.md/Next Steps', 'soe/docs/guide_02_llm.md'], 'branching': ['soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md'], 'flow-control': ['soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md'], 'router': ['soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md'], 'logic': ['soe/docs/guide_03_router.md/SOE Guide: Chapter 3 - Router Nodes', 'soe/docs/guide_03_router.md/Introduction to Router Nodes', 'soe/docs/guide_03_router.md/When to Use Router Nodes', 'soe/docs/guide_03_router.md/Why Router Comes Third', 'soe/docs/guide_03_router.md/Your First Router: Input Validation', 'soe/docs/guide_03_router.md/The Workflow', 'soe/docs/guide_03_router.md/How It Works', 'soe/docs/guide_03_router.md/Key Concepts', 'soe/docs/guide_03_router.md/Unconditional Signals', 'soe/docs/guide_03_router.md/Decision Trees: Routers Calling Routers', 'soe/docs/guide_03_router.md/The Pattern', 'soe/docs/guide_03_router.md/Why This Matters', 'soe/docs/guide_03_router.md/The Three Core Node Types', 'soe/docs/guide_03_router.md/Next Steps', 'soe/docs/guide_03_router.md'], 'loop': ['soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md'], 'autonomous': ['soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md'], 'agent': ['soe/docs/guide_05_agent.md/SOE Guide: Chapter 5 - Agent Nodes', 'soe/docs/guide_05_agent.md/Introduction to Agent Nodes', 'soe/docs/guide_05_agent.md/Why Use Agent Nodes?', 'soe/docs/guide_05_agent.md/The Agent Loop', 'soe/docs/guide_05_agent.md/Multiple Tool Calls', 'soe/docs/guide_05_agent.md/Configuring Tools', 'soe/docs/guide_05_agent.md/Example: Tool Restriction', 'soe/docs/guide_05_agent.md/The Workflow', 'soe/docs/guide_05_agent.md/How It Works', 'soe/docs/guide_05_agent.md/Advanced Configuration: Multiple Tools', 'soe/docs/guide_05_agent.md/Robustness Features', 'soe/docs/guide_05_agent.md/Agent Signal Selection', 'soe/docs/guide_05_agent.md/When to Choose Agent vs Custom Workflow', 'soe/docs/guide_05_agent.md/Use Agent Node For:', 'soe/docs/guide_05_agent.md/Build Custom Workflows For:', 'soe/docs/guide_05_agent.md/Next Steps', 'soe/docs/guide_05_agent.md'], 'sub-orchestration': ['soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md'], 'child-workflows': ['soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md'], 'nesting': ['soe/docs/guide_08_child.md/SOE Guide: Chapter 8 - Suborchestration', 'soe/docs/guide_08_child.md/Introduction to Child Nodes', 'soe/docs/guide_08_child.md/Why Suborchestration?', 'soe/docs/guide_08_child.md/The Power of Isolation', 'soe/docs/guide_08_child.md/Domain-Specific Business Logic', 'soe/docs/guide_08_child.md/E-commerce orchestration - each domain is a separate workflow', 'soe/docs/guide_08_child.md/Your First Child Node', 'soe/docs/guide_08_child.md/The Workflow', 'soe/docs/guide_08_child.md/Configuration', 'soe/docs/guide_08_child.md/How It Works', 'soe/docs/guide_08_child.md/Passing Data to Child', 'soe/docs/guide_08_child.md/Data Flow', 'soe/docs/guide_08_child.md/Receiving Data from Child', 'soe/docs/guide_08_child.md/Child Continues After Callback', 'soe/docs/guide_08_child.md/Execution Flow', 'soe/docs/guide_08_child.md/Multiple Children (Parallel)', 'soe/docs/guide_08_child.md/Execution', 'soe/docs/guide_08_child.md/Nested Children (Grandchild)', 'soe/docs/guide_08_child.md/Signal Flow', 'soe/docs/guide_08_child.md/Child with LLM', 'soe/docs/guide_08_child.md/Use Cases', 'soe/docs/guide_08_child.md/Suborchestration Patterns', 'soe/docs/guide_08_child.md/Pattern: Custom Agent Solvers', 'soe/docs/guide_08_child.md/Reusable research agent - can be used by any parent workflow', 'soe/docs/guide_08_child.md/Reusable coding agent - encapsulates coding expertise', 'soe/docs/guide_08_child.md/Pattern: Specialized Agents', 'soe/docs/guide_08_child.md/Pattern: Pipeline with Stages', 'soe/docs/guide_08_child.md/Shared Conversation History Across Sub-Orchestration', 'soe/docs/guide_08_child.md/Parent-Child Conversation Example', 'soe/docs/guide_08_child.md/ERROR: File not found: tests/test_cases/workflows/guide_07_child.py', 'soe/docs/guide_08_child.md/Nested Sub-Orchestration', 'soe/docs/guide_08_child.md/Key Points', 'soe/docs/guide_08_child.md/Next Steps', 'soe/docs/guide_08_child.md'], 'integrations': ['soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md'], 'logging': ['soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md', 'soe/docs/primitives/signals.md/Appendix C: Signals Reference', 'soe/docs/primitives/signals.md/What Are Signals?', 'soe/docs/primitives/signals.md/Signal Naming Best Practices', 'soe/docs/primitives/signals.md/Use Descriptive, Action-Oriented Names', 'soe/docs/primitives/signals.md/✅ Good - clear intent', 'soe/docs/primitives/signals.md/❌ Bad - vague or generic', 'soe/docs/primitives/signals.md/Prefix Workflow-Specific Signals', 'soe/docs/primitives/signals.md/Parent workflow', 'soe/docs/primitives/signals.md/Instead of', 'soe/docs/primitives/signals.md/Use Consistent Conventions', 'soe/docs/primitives/signals.md/The `event_emissions` Field', 'soe/docs/primitives/signals.md/Fields', 'soe/docs/primitives/signals.md/No Signals (Terminal Node)', 'soe/docs/primitives/signals.md/Condition Types: The Three Modes', 'soe/docs/primitives/signals.md/Mode 1: No Condition (Unconditional)', 'soe/docs/primitives/signals.md/Mode 2: Jinja Template (Programmatic)', 'soe/docs/primitives/signals.md/Mode 3: Plain Text (Semantic/LLM Selection)', 'soe/docs/primitives/signals.md/How SOE Decides: The Decision Tree', 'soe/docs/primitives/signals.md/Router Node', 'soe/docs/primitives/signals.md/LLM/Agent Node', 'soe/docs/primitives/signals.md/Critical Rule: Jinja Takes Over', 'soe/docs/primitives/signals.md/Signal Behavior by Node Type', 'soe/docs/primitives/signals.md/LLM Node', 'soe/docs/primitives/signals.md/Agent Node', 'soe/docs/primitives/signals.md/Tool Node', 'soe/docs/primitives/signals.md/The `result` Keyword', 'soe/docs/primitives/signals.md/Child Node', 'soe/docs/primitives/signals.md/Failure Signals', 'soe/docs/primitives/signals.md/LLM Failure Signal', 'soe/docs/primitives/signals.md/Agent Failure Signal', 'soe/docs/primitives/signals.md/Tool Failure Signal (Registry-Based)', 'soe/docs/primitives/signals.md/Failure Signal Behavior', 'soe/docs/primitives/signals.md/Sub-Orchestration Signal Propagation', 'soe/docs/primitives/signals.md/The `signals_to_parent` Field', 'soe/docs/primitives/signals.md/Best Practices for Sub-Orchestration Signals', 'soe/docs/primitives/signals.md/1. Use Specific, Workflow-Prefixed Names', 'soe/docs/primitives/signals.md/✅ Good - parent knows exactly what completed', 'soe/docs/primitives/signals.md/❌ Bad - ambiguous in parent context', 'soe/docs/primitives/signals.md/2. Keep Internal Signals Internal', "soe/docs/primitives/signals.md/3. Consider the Parent's Perspective", 'soe/docs/primitives/signals.md/The `context_updates_to_parent` Field', 'soe/docs/primitives/signals.md/LLM Signal Selection: Under the Hood', 'soe/docs/primitives/signals.md/Common Patterns', 'soe/docs/primitives/signals.md/Exclusive Routing', 'soe/docs/primitives/signals.md/Fan-Out (Multiple Signals)', 'soe/docs/primitives/signals.md/Complete Example: Order Processing', 'soe/docs/primitives/signals.md/Debugging Signal Issues', 'soe/docs/primitives/signals.md/Signal Not Emitting', 'soe/docs/primitives/signals.md/Wrong Signal Emitting', 'soe/docs/primitives/signals.md/Jinja Attribute Access Gotcha', "soe/docs/primitives/signals.md/❌ BAD: 'items' conflicts with dict.items() method", 'soe/docs/primitives/signals.md/✅ GOOD: Use bracket notation for conflicting keys', 'soe/docs/primitives/signals.md/✅ GOOD: Rename to avoid conflicts', 'soe/docs/primitives/signals.md/Parent Not Receiving Signal', 'soe/docs/primitives/signals.md/Summary Table', 'soe/docs/primitives/signals.md/Key Takeaways', 'soe/docs/primitives/signals.md'], 'ecosystem': ['soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md'], 'community': ['soe/docs/guide_09_ecosystem.md/SOE Guide: Chapter 9 - The Workflows Ecosystem', 'soe/docs/guide_09_ecosystem.md/Understanding the Big Picture', 'soe/docs/guide_09_ecosystem.md/Combined Config: The Recommended Pattern', 'soe/docs/guide_09_ecosystem.md/Why Combined Config?', 'soe/docs/guide_09_ecosystem.md/Combined Config Sections', 'soe/docs/guide_09_ecosystem.md/Multi-Workflow Ecosystems', 'soe/docs/guide_09_ecosystem.md/Why Multiple Workflows?', 'soe/docs/guide_09_ecosystem.md/Example: Full Ecosystem Config', 'soe/docs/guide_09_ecosystem.md/Data vs Execution: A Critical Distinction', 'soe/docs/guide_09_ecosystem.md/Workflow Definitions Are Data', 'soe/docs/guide_09_ecosystem.md/Load from file', 'soe/docs/guide_09_ecosystem.md/Load from database', 'soe/docs/guide_09_ecosystem.md/Pass to orchestrate', 'soe/docs/guide_09_ecosystem.md/Executions Are Immutable', 'soe/docs/guide_09_ecosystem.md/Why This Matters', 'soe/docs/guide_09_ecosystem.md/Parallel Workflow Execution', 'soe/docs/guide_09_ecosystem.md/Fan-Out Pattern with Combined Config', 'soe/docs/guide_09_ecosystem.md/How Parallel Execution Works', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget vs Callbacks', 'soe/docs/guide_09_ecosystem.md/Fire-and-Forget', 'soe/docs/guide_09_ecosystem.md/Callback (Wait for Child)', 'soe/docs/guide_09_ecosystem.md/From child node configuration', 'soe/docs/guide_09_ecosystem.md/External Triggers and Continuation', 'soe/docs/guide_09_ecosystem.md/The Pattern', 'soe/docs/guide_09_ecosystem.md/How It Works', 'soe/docs/guide_09_ecosystem.md/Start the workflow', 'soe/docs/guide_09_ecosystem.md/Execution stops after emitting WAITING_FOR_APPROVAL (no nodes listen for it yet)', 'soe/docs/guide_09_ecosystem.md/Later... external system sends approval', 'soe/docs/guide_09_ecosystem.md/Workflow resumes and runs to completion', 'soe/docs/guide_09_ecosystem.md/Use Cases', 'soe/docs/guide_09_ecosystem.md/Versioning Strategies', 'soe/docs/guide_09_ecosystem.md/Strategy 1: Context-Based Routing', 'soe/docs/guide_09_ecosystem.md/Strategy 2: Natural Versioning (No Migration)', 'soe/docs/guide_09_ecosystem.md/Strategy 3: Context Migration', 'soe/docs/guide_09_ecosystem.md/Migrate an execution to a new workflow version', 'soe/docs/guide_09_ecosystem.md/Execution IDs: The Key to Everything', 'soe/docs/guide_09_ecosystem.md/Sending Signals to Existing Executions', 'soe/docs/guide_09_ecosystem.md/External system sends a signal', 'soe/docs/guide_09_ecosystem.md/Reading Execution State', 'soe/docs/guide_09_ecosystem.md/Inspect an execution', 'soe/docs/guide_09_ecosystem.md/Cross-Execution Communication', 'soe/docs/guide_09_ecosystem.md/In a tool function', 'soe/docs/guide_09_ecosystem.md/Key Takeaways', 'soe/docs/guide_09_ecosystem.md/Next Steps', 'soe/docs/guide_09_ecosystem.md'], 'deployment': ['soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md'], 'ops': ['soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md'], 'scaling': ['soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md'], 'infrastructure': ['soe/docs/guide_10_infrastructure.md/SOE Guide: Chapter 10 - Custom Infrastructure', 'soe/docs/guide_10_infrastructure.md/Introduction', 'soe/docs/guide_10_infrastructure.md/Part 1: Persistent Infrastructure (Backends)', 'soe/docs/guide_10_infrastructure.md/What Are Backends?', 'soe/docs/guide_10_infrastructure.md/Built-in Backends', 'soe/docs/guide_10_infrastructure.md/In-Memory Backends', 'soe/docs/guide_10_infrastructure.md/Local File Backends', 'soe/docs/guide_10_infrastructure.md/The Backend Protocols', 'soe/docs/guide_10_infrastructure.md/ContextBackend Protocol', 'soe/docs/guide_10_infrastructure.md/WorkflowBackend Protocol', 'soe/docs/guide_10_infrastructure.md/TelemetryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ConversationHistoryBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/ContextSchemaBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/IdentityBackend Protocol (Optional)', 'soe/docs/guide_10_infrastructure.md/Database Recommendations', 'soe/docs/guide_10_infrastructure.md/Creating Custom Backends', 'soe/docs/guide_10_infrastructure.md/Example: PostgreSQL Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: DynamoDB Context Backend', 'soe/docs/guide_10_infrastructure.md/Example: Datadog Telemetry Backend', 'soe/docs/guide_10_infrastructure.md/Assembling Custom Backends', 'soe/docs/guide_10_infrastructure.md/Mix and match backends based on your infrastructure', 'soe/docs/guide_10_infrastructure.md/Part 2: Communication Infrastructure (Callers)', 'soe/docs/guide_10_infrastructure.md/What Are Callers?', 'soe/docs/guide_10_infrastructure.md/The Default Pattern (In-Process)', 'soe/docs/guide_10_infrastructure.md/Distributed Callers', 'soe/docs/guide_10_infrastructure.md/Example: AWS Lambda Caller', 'soe/docs/guide_10_infrastructure.md/Example: HTTP Webhook Caller', 'soe/docs/guide_10_infrastructure.md/Example: Message Queue Caller (SQS)', 'soe/docs/guide_10_infrastructure.md/Part 3: The LLM Caller', "soe/docs/guide_10_infrastructure.md/SOE Doesn't Provide an LLM", 'soe/docs/guide_10_infrastructure.md/The CallLlm Protocol', 'soe/docs/guide_10_infrastructure.md/Example: OpenAI Caller', 'soe/docs/guide_10_infrastructure.md/Example: Test Stub Caller', 'soe/docs/guide_10_infrastructure.md/Summary', 'soe/docs/guide_10_infrastructure.md/Next Steps', 'soe/docs/guide_10_infrastructure.md']}, 'root_children': ['docs/']}
|