flare-kernel 0.2.10__tar.gz → 0.2.11__tar.gz

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.
Files changed (666) hide show
  1. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/PKG-INFO +1 -1
  2. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/pyproject.toml +1 -1
  3. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/payload.py +16 -12
  4. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/projection.py +43 -2
  5. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/guided.py +76 -0
  6. flare_kernel-0.2.11/src/flare_kernel/router/completion/intake_summary_events.py +200 -0
  7. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/response_builder.py +53 -6
  8. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/selection.py +52 -1
  9. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/context/endpoint.py +2 -0
  10. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/context/sourcing_preview.py +1 -1
  11. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/authority/hydration.py +7 -3
  12. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/extraction/extractors.py +12 -0
  13. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/inputs.py +3 -1
  14. flare_kernel-0.2.11/src/flare_kernel/router/intake/legacy_question.py +24 -0
  15. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/payload_updates.py +11 -0
  16. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/chooser_stage.py +1 -1
  17. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/session_intent/core.py +1 -1
  18. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/session_intent/fields.py +1 -1
  19. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_endpoint_handlers/turn.py +14 -1
  20. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/domain_pack_payload.py +43 -0
  21. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/flow.py +4 -1
  22. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/turn_context.py +2 -0
  23. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_route/action.py +1 -0
  24. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_route/run.py +28 -3
  25. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/core.py +5 -3
  26. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/requirement_intake.py +39 -0
  27. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/response_strategy.py +11 -2
  28. flare_kernel-0.2.11/src/flare_kernel/router/prompting/summary_contract.py +54 -0
  29. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/response_intent/contracts.py +3 -0
  30. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/response_intent/resolution.py +40 -0
  31. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/completion.py +13 -1
  32. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/post_completion.py +55 -4
  33. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/phases.py +19 -0
  34. flare_kernel-0.2.11/src/flare_kernel/router/streaming/response/structured_reasoning_phase.py +151 -0
  35. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/domain/domain_pack_loader.py +1 -15
  36. flare_kernel-0.2.11/src/flare_kernel/runtime/llm/intent_model_policy.py +44 -0
  37. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/llm_provider.py +11 -0
  38. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/canvas_state.py +10 -2
  39. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_canvas.py +1 -1
  40. flare_kernel-0.2.11/src/flare_kernel/runtime/orchestration/mode/intake_canvas_content.py +29 -0
  41. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_coverage.py +45 -1
  42. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_events.py +17 -4
  43. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_next_actions_payload.py +3 -2
  44. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_progress_payload.py +3 -2
  45. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_question.py +21 -7
  46. flare_kernel-0.2.11/src/flare_kernel/runtime/orchestration/mode/intake_summary_artifact.py +162 -0
  47. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/question_selection.py +3 -2
  48. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/runtime.py +1 -0
  49. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/sourcing_preview.py +5 -4
  50. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/sourcing_report.py +1 -0
  51. flare_kernel-0.2.11/src/flare_kernel/runtime/orchestration/response_strategy_runtime.py +97 -0
  52. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/canvas_state.py +6 -5
  53. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/search_runtime.py +1 -1
  54. flare_kernel-0.2.11/src/flare_kernel/runtime/orchestration/structured_prompt_context.py +127 -0
  55. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/structured_reasoning.py +40 -37
  56. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/question/builder.py +2 -11
  57. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/question/extraction.py +21 -45
  58. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/question/planner.py +14 -38
  59. flare_kernel-0.2.11/src/flare_kernel/runtime/reasoning/intake/question/structured.py +115 -0
  60. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel.egg-info/PKG-INFO +1 -1
  61. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel.egg-info/SOURCES.txt +12 -0
  62. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_payload.py +7 -1
  63. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_projection.py +19 -2
  64. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canvas_sourcing_contract_meta.py +4 -0
  65. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_completion_response_builder.py +111 -0
  66. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_completion_selection.py +47 -0
  67. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_domain_pack_loader.py +6 -16
  68. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_guided_completion.py +49 -0
  69. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_authority_hydration.py +29 -0
  70. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_extraction.py +10 -0
  71. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_inputs.py +24 -0
  72. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_payload_updates.py +16 -0
  73. flare_kernel-0.2.11/tests/test_intake_question_extraction.py +42 -0
  74. flare_kernel-0.2.11/tests/test_intake_question_projection.py +173 -0
  75. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_facade_turn_context.py +49 -0
  76. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_fallback_policy.py +51 -0
  77. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_payload_enrichment.py +18 -0
  78. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_prompting_analysis_instruction.py +29 -0
  79. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_prompting_requirement_intake.py +27 -0
  80. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_requirement_intake_canvas_state.py +85 -7
  81. flare_kernel-0.2.11/tests/test_requirement_intake_continuation.py +59 -0
  82. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_response_intent_resolution.py +19 -0
  83. flare_kernel-0.2.11/tests/test_response_strategy_runtime.py +126 -0
  84. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_intent_fields.py +2 -2
  85. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_draft_completion.py +63 -0
  86. flare_kernel-0.2.11/tests/test_streaming_draft_intake_canvas_sync.py +125 -0
  87. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_draft_post_completion.py +109 -0
  88. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_response_phases.py +37 -0
  89. flare_kernel-0.2.11/tests/test_structured_prompt_context.py +81 -0
  90. flare_kernel-0.2.10/src/flare_kernel/runtime/orchestration/mode/intake_canvas_content.py +0 -86
  91. flare_kernel-0.2.10/src/flare_kernel/runtime/orchestration/response_strategy_runtime.py +0 -52
  92. flare_kernel-0.2.10/tests/test_intake_question_projection.py +0 -74
  93. flare_kernel-0.2.10/tests/test_response_strategy_runtime.py +0 -46
  94. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/README.md +0 -0
  95. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/setup.cfg +0 -0
  96. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/__init__.py +0 -0
  97. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/app.py +0 -0
  98. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/__init__.py +0 -0
  99. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/auth_contract.py +0 -0
  100. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/context.py +0 -0
  101. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/kernel_contract.py +0 -0
  102. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/list_event_contract.py +0 -0
  103. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/mode.py +0 -0
  104. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/project_contract.py +0 -0
  105. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/project_memory_contract.py +0 -0
  106. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/run_contract.py +0 -0
  107. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/session_contract.py +0 -0
  108. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/contracts/update_contract.py +0 -0
  109. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/list_event_broker.py +0 -0
  110. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/main.py +0 -0
  111. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/project_store.py +0 -0
  112. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/__init__.py +0 -0
  113. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/__init__.py +0 -0
  114. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/auth.py +0 -0
  115. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/auth_guard.py +0 -0
  116. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/chat.py +0 -0
  117. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/errors.py +0 -0
  118. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/list_events.py +0 -0
  119. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/project.py +0 -0
  120. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/run.py +0 -0
  121. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/session.py +0 -0
  122. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/session_list_events.py +0 -0
  123. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/api/update.py +0 -0
  124. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/__init__.py +0 -0
  125. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/analysis.py +0 -0
  126. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/checkpoint.py +0 -0
  127. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/composer_ui.py +0 -0
  128. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/context/__init__.py +0 -0
  129. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/context/analysis.py +0 -0
  130. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/context/inputs.py +0 -0
  131. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/context/session.py +0 -0
  132. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/context_authority.py +0 -0
  133. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/contract_support.py +0 -0
  134. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/flow.py +0 -0
  135. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/canonical/track_actions.py +0 -0
  136. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/__init__.py +0 -0
  137. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/analysis_policy.py +0 -0
  138. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/analysis_result_contract.py +0 -0
  139. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/completion/stream_collect.py +0 -0
  140. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/context/__init__.py +0 -0
  141. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/__init__.py +0 -0
  142. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/amount_quantity.py +0 -0
  143. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/answer.py +0 -0
  144. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/authority/__init__.py +0 -0
  145. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/authority/checkpoint.py +0 -0
  146. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/authority/core.py +0 -0
  147. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/authority/session.py +0 -0
  148. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/canonicalization.py +0 -0
  149. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/clarification.py +0 -0
  150. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/decision_rules.py +0 -0
  151. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/delivery_time.py +0 -0
  152. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/entry_policy.py +0 -0
  153. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/extraction/__init__.py +0 -0
  154. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/extraction/core.py +0 -0
  155. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/extraction/merge.py +0 -0
  156. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_projection/__init__.py +0 -0
  157. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_projection/core.py +0 -0
  158. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_projection/entity.py +0 -0
  159. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_projection/payload.py +0 -0
  160. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_projection/source.py +0 -0
  161. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/field_scope.py +0 -0
  162. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/__init__.py +0 -0
  163. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/confirmed_updates.py +0 -0
  164. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/flags.py +0 -0
  165. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/followup.py +0 -0
  166. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/followup_work_item.py +0 -0
  167. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/open_fields.py +0 -0
  168. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/status.py +0 -0
  169. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/guided/summary.py +0 -0
  170. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/node_state.py +0 -0
  171. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/numeric.py +0 -0
  172. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/readiness.py +0 -0
  173. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/state_persistence.py +0 -0
  174. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/__init__.py +0 -0
  175. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/core.py +0 -0
  176. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/guided_session.py +0 -0
  177. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/projection.py +0 -0
  178. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/status/schema.py +0 -0
  179. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intake/workflow_checkpoint.py +0 -0
  180. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/__init__.py +0 -0
  181. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/classifier_utils.py +0 -0
  182. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/compat_aliases.py +0 -0
  183. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/escalation/__init__.py +0 -0
  184. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/escalation/override.py +0 -0
  185. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/escalation/pipeline.py +0 -0
  186. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/escalation/signal.py +0 -0
  187. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/routing.py +0 -0
  188. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/session_intent/__init__.py +0 -0
  189. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/intent/session_intent/small_talk.py +0 -0
  190. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel.py +0 -0
  191. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_constants/__init__.py +0 -0
  192. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_constants/intake.py +0 -0
  193. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_constants/intent.py +0 -0
  194. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_constants/patch.py +0 -0
  195. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_endpoint_handlers/__init__.py +0 -0
  196. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_endpoint_handlers/health.py +0 -0
  197. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_endpoint_handlers/knowledge.py +0 -0
  198. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_endpoint_handlers/sourcing.py +0 -0
  199. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/__init__.py +0 -0
  200. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/canonical_state.py +0 -0
  201. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/dependency_resolution.py +0 -0
  202. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/orchestration.py +0 -0
  203. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/payload_enrichment.py +0 -0
  204. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_facade/utils.py +0 -0
  205. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_flow_bindings/__init__.py +0 -0
  206. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_flow_bindings/intent_query.py +0 -0
  207. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_flow_bindings/mode.py +0 -0
  208. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_flow_bindings/session_intent.py +0 -0
  209. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_request_pipeline/__init__.py +0 -0
  210. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_request_pipeline/action.py +0 -0
  211. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_request_pipeline/intake.py +0 -0
  212. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_request_pipeline/intent_query.py +0 -0
  213. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_request_pipeline/intent_signal.py +0 -0
  214. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_route/__init__.py +0 -0
  215. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_route/execution.py +0 -0
  216. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/kernel_route/stream.py +0 -0
  217. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/mode/__init__.py +0 -0
  218. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/mode/resolution.py +0 -0
  219. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/mode/switch.py +0 -0
  220. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/next_actions_guard.py +0 -0
  221. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/__init__.py +0 -0
  222. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/__init__.py +0 -0
  223. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/action_readiness.py +0 -0
  224. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/actions.py +0 -0
  225. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/analysis_entry_decision.py +0 -0
  226. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/builder.py +0 -0
  227. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/checkpoint_state.py +0 -0
  228. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/context.py +0 -0
  229. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/context_helpers.py +0 -0
  230. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/core.py +0 -0
  231. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/decision.py +0 -0
  232. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/followup_state.py +0 -0
  233. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/projection.py +0 -0
  234. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/result.py +0 -0
  235. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/runtime_state.py +0 -0
  236. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/__init__.py +0 -0
  237. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/context.py +0 -0
  238. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/decision.py +0 -0
  239. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/entry.py +0 -0
  240. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/flow.py +0 -0
  241. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/followup.py +0 -0
  242. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/intent.py +0 -0
  243. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/node.py +0 -0
  244. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/payload.py +0 -0
  245. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/status/state/unpack.py +0 -0
  246. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/trace/__init__.py +0 -0
  247. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/trace/core.py +0 -0
  248. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/trace/projection.py +0 -0
  249. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/orchestration/trace/steps.py +0 -0
  250. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/patch_contract.py +0 -0
  251. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/payload/__init__.py +0 -0
  252. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/payload/action.py +0 -0
  253. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/payload/analysis_canvas.py +0 -0
  254. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/payload/enrichment.py +0 -0
  255. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/__init__.py +0 -0
  256. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/artifact_template.py +0 -0
  257. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/prompting/context_blocks.py +0 -0
  258. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/request/__init__.py +0 -0
  259. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/request/identity.py +0 -0
  260. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/request/intent_resolution.py +0 -0
  261. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/response_intent/__init__.py +0 -0
  262. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/response_intent/document_output.py +0 -0
  263. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/__init__.py +0 -0
  264. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/aliases.py +0 -0
  265. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/field_queries.py +0 -0
  266. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/projection.py +0 -0
  267. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/query_builder.py +0 -0
  268. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/retrieval/search.py +0 -0
  269. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/source_library.py +0 -0
  270. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/__init__.py +0 -0
  271. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/__init__.py +0 -0
  272. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/finalize.py +0 -0
  273. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/phase.py +0 -0
  274. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/phase_timing.py +0 -0
  275. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/draft/prologue.py +0 -0
  276. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/event_emitter.py +0 -0
  277. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/intake/__init__.py +0 -0
  278. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/intake/phase.py +0 -0
  279. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/mode/__init__.py +0 -0
  280. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/mode/event_payload.py +0 -0
  281. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/mode/events.py +0 -0
  282. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/__init__.py +0 -0
  283. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/bootstrap.py +0 -0
  284. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/builder.py +0 -0
  285. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/builder_transport.py +0 -0
  286. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/draft_phase.py +0 -0
  287. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/phase_groups.py +0 -0
  288. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/response/runtime.py +0 -0
  289. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/retrieval/__init__.py +0 -0
  290. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/retrieval/phase.py +0 -0
  291. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/runtime/__init__.py +0 -0
  292. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/runtime/sourcing_observations.py +0 -0
  293. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/streaming/runtime/steps.py +0 -0
  294. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/router/text_safety.py +0 -0
  295. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/run_store.py +0 -0
  296. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/__init__.py +0 -0
  297. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/auth/__init__.py +0 -0
  298. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/auth/exchange.py +0 -0
  299. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/auth/policy.py +0 -0
  300. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/auth/scope_guard.py +0 -0
  301. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/__init__.py +0 -0
  302. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/analysis_application.py +0 -0
  303. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/document_application.py +0 -0
  304. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/reasoning_application.py +0 -0
  305. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/session_context.py +0 -0
  306. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/context/track_application.py +0 -0
  307. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/__init__.py +0 -0
  308. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/provider_audit.py +0 -0
  309. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/provider_audit_export.py +0 -0
  310. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/replay_snapshot.py +0 -0
  311. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/replay_snapshot_io.py +0 -0
  312. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/diagnostics/replay_snapshot_validation.py +0 -0
  313. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/domain/__init__.py +0 -0
  314. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/domain/domain_pack_paths.py +0 -0
  315. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/domain/profile_resolution.py +0 -0
  316. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/execution/__init__.py +0 -0
  317. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/execution/agent_runtime.py +0 -0
  318. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/execution/skill_runtime.py +0 -0
  319. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/__init__.py +0 -0
  320. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/chat_memory.py +0 -0
  321. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/database.py +0 -0
  322. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/dependency_status.py +0 -0
  323. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/infrastructure.py +0 -0
  324. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_ingest.py +0 -0
  325. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_memory.py +0 -0
  326. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_postgres_search.py +0 -0
  327. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_qdrant_search.py +0 -0
  328. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_search.py +0 -0
  329. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/knowledge_terms.py +0 -0
  330. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/logging.py +0 -0
  331. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/project_memory_codec.py +0 -0
  332. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/project_memory_sql.py +0 -0
  333. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/project_memory_store.py +0 -0
  334. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/redis_client.py +0 -0
  335. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/run/__init__.py +0 -0
  336. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/run/repository.py +0 -0
  337. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/run/repository_memory.py +0 -0
  338. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/run/repository_sql.py +0 -0
  339. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/session/__init__.py +0 -0
  340. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/session/columns.py +0 -0
  341. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/session/repository.py +0 -0
  342. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/session/repository_memory.py +0 -0
  343. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/session/repository_sql.py +0 -0
  344. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/source/__init__.py +0 -0
  345. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/source/document_understanding_codec.py +0 -0
  346. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/source/library_persistence.py +0 -0
  347. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/source/schema.py +0 -0
  348. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/source/text_extractor.py +0 -0
  349. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/__init__.py +0 -0
  350. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/instance_profile_adapter.py +0 -0
  351. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/persistence.py +0 -0
  352. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider.py +0 -0
  353. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider_config.py +0 -0
  354. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider_gateway.py +0 -0
  355. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider_normalize.py +0 -0
  356. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider_public.py +0 -0
  357. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/sourcing/provider_result.py +0 -0
  358. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/trace.py +0 -0
  359. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/infrastructure/vector_store.py +0 -0
  360. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/__init__.py +0 -0
  361. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation/__init__.py +0 -0
  362. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation/decision.py +0 -0
  363. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation/lexicon.py +0 -0
  364. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation/preprocessing.py +0 -0
  365. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation/signals.py +0 -0
  366. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/intent/intent_and_escalation_classifier.py +0 -0
  367. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/__init__.py +0 -0
  368. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/completion_capture.py +0 -0
  369. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/config.py +0 -0
  370. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/contracts.py +0 -0
  371. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/dashscope_provider.py +0 -0
  372. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/dashscope_streaming_provider.py +0 -0
  373. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/fallback_policy.py +0 -0
  374. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/model_router.py +0 -0
  375. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/native_streaming.py +0 -0
  376. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_health.py +0 -0
  377. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_health_probe.py +0 -0
  378. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_health_snapshot.py +0 -0
  379. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_health_source.py +0 -0
  380. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_quota.py +0 -0
  381. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_trace.py +0 -0
  382. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/provider_usage.py +0 -0
  383. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/replay_provider.py +0 -0
  384. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/llm/streaming_provider.py +0 -0
  385. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/__init__.py +0 -0
  386. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/analysis_route_policy.py +0 -0
  387. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/analysis_router_runtime.py +0 -0
  388. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/artifact_template_runtime.py +0 -0
  389. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/canvas/__init__.py +0 -0
  390. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/canvas/toolbar_actions.py +0 -0
  391. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/canvas_sourcing_contract.py +0 -0
  392. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/decision_engine.py +0 -0
  393. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/__init__.py +0 -0
  394. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/field_definitions.py +0 -0
  395. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_action_resolution.py +0 -0
  396. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_actions.py +0 -0
  397. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_canvas_events.py +0 -0
  398. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_context.py +0 -0
  399. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_draft_payload.py +0 -0
  400. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_field_projection.py +0 -0
  401. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_payloads.py +0 -0
  402. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_question_lifecycle.py +0 -0
  403. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/intake_question_progress.py +0 -0
  404. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/orchestration.py +0 -0
  405. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/reasoning.py +0 -0
  406. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/shared.py +0 -0
  407. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/sourcing_actions.py +0 -0
  408. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/sourcing_events.py +0 -0
  409. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/mode/state_transition.py +0 -0
  410. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/module_prompt_registry.py +0 -0
  411. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/observation.py +0 -0
  412. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/session_context_runtime.py +0 -0
  413. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/__init__.py +0 -0
  414. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/additive_search.py +0 -0
  415. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/analysis_entry.py +0 -0
  416. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/candidate_explainability.py +0 -0
  417. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/context_round.py +0 -0
  418. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/event_payloads.py +0 -0
  419. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/instance_db_runtime.py +0 -0
  420. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/internal_runtime.py +0 -0
  421. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/mcp_runtime.py +0 -0
  422. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/observation_payloads.py +0 -0
  423. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/observations.py +0 -0
  424. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/parameter_draft.py +0 -0
  425. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/provider_config_loader.py +0 -0
  426. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/provider_health.py +0 -0
  427. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/result_window.py +0 -0
  428. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/source_priority.py +0 -0
  429. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/sourcing/web_runtime.py +0 -0
  430. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/orchestration/track_runtime.py +0 -0
  431. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/project_memory/__init__.py +0 -0
  432. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/project_memory/extraction.py +0 -0
  433. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/project_memory/recall.py +0 -0
  434. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/project_memory/runtime.py +0 -0
  435. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/__init__.py +0 -0
  436. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/__init__.py +0 -0
  437. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/api.py +0 -0
  438. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/branching/__init__.py +0 -0
  439. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/branching/core.py +0 -0
  440. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/branching/policy.py +0 -0
  441. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/context.py +0 -0
  442. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/field_selection.py +0 -0
  443. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/gap_detection.py +0 -0
  444. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/hypothesis.py +0 -0
  445. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/planning.py +0 -0
  446. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/priority.py +0 -0
  447. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/question/__init__.py +0 -0
  448. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/question/decision.py +0 -0
  449. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/readiness/__init__.py +0 -0
  450. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/readiness/core.py +0 -0
  451. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/readiness/scoring.py +0 -0
  452. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/shared.py +0 -0
  453. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/understanding_state.py +0 -0
  454. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/visible_response.py +0 -0
  455. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/reasoning/intake/visible_summary.py +0 -0
  456. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/session/__init__.py +0 -0
  457. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/session/checkpoint_manager.py +0 -0
  458. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/session/intake_session_store.py +0 -0
  459. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/session/models.py +0 -0
  460. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/__init__.py +0 -0
  461. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/artifacts.py +0 -0
  462. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/chunk_storage.py +0 -0
  463. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/knowledge_storage.py +0 -0
  464. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/runtime.py +0 -0
  465. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/runtime/source_ingestion/storage.py +0 -0
  466. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_archive_context.py +0 -0
  467. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_archive_graph.py +0 -0
  468. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_archive_metrics.py +0 -0
  469. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_archive_summary.py +0 -0
  470. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_lifecycle_policy.py +0 -0
  471. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_record_policy.py +0 -0
  472. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_replay.py +0 -0
  473. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/session_store.py +0 -0
  474. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/update/__init__.py +0 -0
  475. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/update/compatibility.py +0 -0
  476. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/update/planner.py +0 -0
  477. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/update/registry.py +0 -0
  478. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/update/versioning.py +0 -0
  479. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel/user_store.py +0 -0
  480. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel.egg-info/dependency_links.txt +0 -0
  481. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel.egg-info/requires.txt +0 -0
  482. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/src/flare_kernel.egg-info/top_level.txt +0 -0
  483. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_action_payload.py +0 -0
  484. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_action_readiness.py +0 -0
  485. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_canvas_payload.py +0 -0
  486. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_context_patch.py +0 -0
  487. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_e2e.py +0 -0
  488. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_entry_decision.py +0 -0
  489. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_route_projection.py +0 -0
  490. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_analysis_route_runtime.py +0 -0
  491. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_artifact_template_runtime.py +0 -0
  492. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_auth_exchange.py +0 -0
  493. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_auth_scope_guard.py +0 -0
  494. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_basics.py +0 -0
  495. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_builder_split_modules.py +0 -0
  496. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_business_hardcode_guard.py +0 -0
  497. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_context_analysis.py +0 -0
  498. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_context_inputs.py +0 -0
  499. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_context_session.py +0 -0
  500. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_canonical_state_flow.py +0 -0
  501. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_chat_api_alias.py +0 -0
  502. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_command_resolution_analysis_mode.py +0 -0
  503. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_compat_aliases.py +0 -0
  504. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_context_authority_projection.py +0 -0
  505. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_dashscope_streaming_provider.py +0 -0
  506. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_decision_engine.py +0 -0
  507. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_endpoint_context.py +0 -0
  508. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_flare_v1_patch_contract.py +0 -0
  509. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_infrastructure_helpers.py +0 -0
  510. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_infrastructure_knowledge.py +0 -0
  511. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_amount_quantity.py +0 -0
  512. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_answer.py +0 -0
  513. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_authority.py +0 -0
  514. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_authority_checkpoint.py +0 -0
  515. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_authority_session.py +0 -0
  516. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_canonicalization.py +0 -0
  517. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_clarification.py +0 -0
  518. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_decision_rules.py +0 -0
  519. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_delivery_time.py +0 -0
  520. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_domain_context_options.py +0 -0
  521. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_entry_policy.py +0 -0
  522. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_extraction_extractors.py +0 -0
  523. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_extraction_merge.py +0 -0
  524. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_field_projection.py +0 -0
  525. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_field_projection_entity.py +0 -0
  526. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_field_projection_payload.py +0 -0
  527. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_field_projection_source.py +0 -0
  528. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_field_scope.py +0 -0
  529. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_confirmed_updates.py +0 -0
  530. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_flags.py +0 -0
  531. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_followup.py +0 -0
  532. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_followup_work_item.py +0 -0
  533. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_open_fields.py +0 -0
  534. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_status.py +0 -0
  535. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_guided_summary.py +0 -0
  536. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_node_state.py +0 -0
  537. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_numeric.py +0 -0
  538. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_readiness.py +0 -0
  539. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_reasoning_priority.py +0 -0
  540. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_state_persistence.py +0 -0
  541. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_status.py +0 -0
  542. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_status_guided_session.py +0 -0
  543. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_status_projection.py +0 -0
  544. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_status_schema.py +0 -0
  545. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_status_stage.py +0 -0
  546. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_visible_response.py +0 -0
  547. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intake_workflow_checkpoint.py +0 -0
  548. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_classifier_utils.py +0 -0
  549. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_escalation_classifier.py +0 -0
  550. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_escalation_override.py +0 -0
  551. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_escalation_pipeline.py +0 -0
  552. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_escalation_signal.py +0 -0
  553. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_resolution.py +0 -0
  554. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_retrieval.py +0 -0
  555. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_routing.py +0 -0
  556. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_intent_type_compat_aliases.py +0 -0
  557. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_alias_delegation.py +0 -0
  558. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_endpoint_handlers.py +0 -0
  559. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_endpoint_handlers_sourcing.py +0 -0
  560. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_facade_helpers.py +0 -0
  561. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_intent_query_flow.py +0 -0
  562. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_mode_flow.py +0 -0
  563. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_route_execution_wrappers.py +0 -0
  564. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_kernel_session_intent_flow.py +0 -0
  565. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_list_events.py +0 -0
  566. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider.py +0 -0
  567. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_health_file.py +0 -0
  568. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_health_probe.py +0 -0
  569. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_health_snapshot.py +0 -0
  570. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_live.py +0 -0
  571. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_native_streaming.py +0 -0
  572. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_quota.py +0 -0
  573. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_provider_streaming.py +0 -0
  574. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_llm_replay_provider.py +0 -0
  575. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_mode_orchestration_state_bridge.py +0 -0
  576. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_mode_reasoning.py +0 -0
  577. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_mode_resolution.py +0 -0
  578. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_mode_switch.py +0 -0
  579. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_model_router.py +0 -0
  580. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_module_prompt_registry.py +0 -0
  581. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_new_flow_guard.py +0 -0
  582. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_checkpoint_state.py +0 -0
  583. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_followup_state.py +0 -0
  584. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_context.py +0 -0
  585. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_context_helpers.py +0 -0
  586. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_decision.py +0 -0
  587. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_projection.py +0 -0
  588. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_result.py +0 -0
  589. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_runtime_state.py +0 -0
  590. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_context.py +0 -0
  591. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_decision.py +0 -0
  592. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_entry.py +0 -0
  593. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_followup.py +0 -0
  594. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_intent.py +0 -0
  595. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_node.py +0 -0
  596. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_payload.py +0 -0
  597. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_status_state_unpack.py +0 -0
  598. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_trace.py +0 -0
  599. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_trace_projection.py +0 -0
  600. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_orchestration_trace_steps.py +0 -0
  601. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_patch_contract.py +0 -0
  602. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_pln03_question_chooser.py +0 -0
  603. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_pln11_question_option_extraction.py +0 -0
  604. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_project_api.py +0 -0
  605. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_project_memory_runtime.py +0 -0
  606. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_project_memory_store.py +0 -0
  607. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_prompting_user_template_instruction.py +0 -0
  608. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_provider_audit.py +0 -0
  609. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_provider_audit_export.py +0 -0
  610. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_replay_snapshot.py +0 -0
  611. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_replay_snapshot_validation.py +0 -0
  612. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_request_identity.py +0 -0
  613. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_request_intent_resolution.py +0 -0
  614. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_retrieval_aliases.py +0 -0
  615. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_retrieval_field_queries.py +0 -0
  616. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_retrieval_projection.py +0 -0
  617. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_retrieval_query_builder.py +0 -0
  618. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_retrieval_search.py +0 -0
  619. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_run_api.py +0 -0
  620. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_run_sql_repository.py +0 -0
  621. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_run_store.py +0 -0
  622. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_api.py +0 -0
  623. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_archive_summary.py +0 -0
  624. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_context_persistence.py +0 -0
  625. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_intent.py +0 -0
  626. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_intent_small_talk.py +0 -0
  627. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_lifecycle_api.py +0 -0
  628. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_replay_api.py +0 -0
  629. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_sql_columns.py +0 -0
  630. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_sql_migration.py +0 -0
  631. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_session_sql_repository.py +0 -0
  632. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_source_ingestion_runtime.py +0 -0
  633. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_source_ingestion_ssot_acceptance.py +0 -0
  634. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_source_library.py +0 -0
  635. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_source_library_persistence_scope.py +0 -0
  636. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_source_text_extractor.py +0 -0
  637. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_additive_search.py +0 -0
  638. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_candidate_explainability.py +0 -0
  639. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_context_reuse.py +0 -0
  640. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_e2e.py +0 -0
  641. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_instance_profile_adapter.py +0 -0
  642. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_parameter_draft.py +0 -0
  643. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_preview_context.py +0 -0
  644. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_provider.py +0 -0
  645. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_provider_adapters.py +0 -0
  646. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_provider_config_loader.py +0 -0
  647. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_provider_health.py +0 -0
  648. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_runtime_additive_search.py +0 -0
  649. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_search_runtime.py +0 -0
  650. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_sourcing_source_priority.py +0 -0
  651. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_stream_collect_completion.py +0 -0
  652. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_draft_finalize.py +0 -0
  653. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_draft_phase.py +0 -0
  654. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_draft_prologue.py +0 -0
  655. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_event_emitter.py +0 -0
  656. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_intake_phase.py +0 -0
  657. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_mode_event_payload.py +0 -0
  658. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_mode_events.py +0 -0
  659. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_response_bootstrap.py +0 -0
  660. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_response_runtime.py +0 -0
  661. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_response_transport.py +0 -0
  662. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_retrieval_phase.py +0 -0
  663. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_streaming_runtime_steps.py +0 -0
  664. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_text_safety.py +0 -0
  665. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_track_runtime.py +0 -0
  666. {flare_kernel-0.2.10 → flare_kernel-0.2.11}/tests/test_update_plane.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flare-kernel
3
- Version: 0.2.10
3
+ Version: 0.2.11
4
4
  Summary: FLARE kernel runtime package
5
5
  License: Proprietary
6
6
  Classifier: Development Status :: 3 - Alpha
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "flare-kernel"
7
- version = "0.2.10"
7
+ version = "0.2.11"
8
8
  description = "FLARE kernel runtime package"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -12,11 +12,13 @@ from typing import Any, Callable
12
12
  from flare_kernel.contracts import KernelRequest
13
13
  from flare_kernel.router.canonical.contract_support import (
14
14
  coerce_action_list,
15
+ coerce_mapping,
15
16
  resolve_authoritative_runtime_payload,
16
17
  resolve_canvas_analysis_payload,
17
18
  )
18
19
  from flare_kernel.router.canonical.composer_ui import build_composer_ui_projection
19
20
  from flare_kernel.router.canonical.context_authority import build_context_authority_projection
21
+ from flare_kernel.router.canonical.projection import resolve_canonical_next_actions
20
22
  from flare_kernel.router.canonical.track_actions import build_track_next_actions
21
23
  from flare_kernel.router.intake.status.projection import (
22
24
  build_round_projection,
@@ -101,20 +103,22 @@ def build_canonical_payload(
101
103
  if isinstance(authoritative_runtime_payload.get("response_strategy_result"), dict)
102
104
  else {}
103
105
  )
104
- authoritative_next_actions = (
105
- coerce_action_list(authoritative_runtime_payload.get("next_actions"))
106
- or next_actions
107
- # DOC HELPER — ORC-10: track-derived actions are a backend fallback only
108
- # when no runtime/canonical next_actions exist. UI must not infer these.
109
- or build_track_next_actions(track_result)
106
+ runtime_payload = coerce_mapping(coerce_mapping(runtime_snapshot).get("payload"))
107
+ # DOC HELPER — ORC-10: track-derived actions are a backend fallback only
108
+ # when no runtime/canonical next_actions exist. UI must not infer these.
109
+ authoritative_next_actions = resolve_canonical_next_actions(
110
+ runtime_actions=coerce_action_list(runtime_payload.get("next_actions")),
111
+ context_actions=next_actions,
112
+ track_actions=build_track_next_actions(track_result),
113
+ intake_session_completed=intake_session_completed,
110
114
  )
111
- if intake_session_completed:
112
- authoritative_next_actions = []
113
115
  module_prompt_registry = coerce_action_list(authoritative_runtime_payload.get("module_prompt_registry"))
114
116
  current_question = authoritative_current_question
115
117
  next_actions = authoritative_next_actions
118
+ projected_activated_mode = "auto" if intake_session_completed else activated_mode
119
+ projected_suggested_mode = None if intake_session_completed else canonical_context.get("suggested_mode")
116
120
  composer_ui = build_composer_ui_projection(
117
- activated_mode=activated_mode,
121
+ activated_mode=projected_activated_mode,
118
122
  mode_source=mode_source,
119
123
  stage_key=stage_key,
120
124
  status_key=status_key,
@@ -205,9 +209,9 @@ def build_canonical_payload(
205
209
  "context_authority": build_context_authority_projection(runtime_snapshot),
206
210
  "primary_flow": {
207
211
  "mode": {
208
- "suggested": canonical_context.get("suggested_mode"),
209
- "activated": activated_mode,
210
- "is_activation_explicit": explicit_activation and activated_mode != "auto",
212
+ "suggested": projected_suggested_mode,
213
+ "activated": projected_activated_mode,
214
+ "is_activation_explicit": explicit_activation and projected_activated_mode != "auto",
211
215
  "activation_source": mode_source if explicit_activation else "none",
212
216
  },
213
217
  "stage": stage_key,
@@ -12,6 +12,12 @@ from flare_kernel.router.canonical.checkpoint import (
12
12
  )
13
13
  from flare_kernel.router.next_actions_guard import dedupe_next_actions_by_action_key
14
14
 
15
+ _POST_INTAKE_INTERNAL_ACTION_KEYS = {
16
+ "activate_requirement_intake",
17
+ "continue_collection",
18
+ "implement",
19
+ }
20
+
15
21
 
16
22
  def normalize_retrieved_knowledge(
17
23
  structured_retrieved_knowledge: list[dict[str, Any]] | None,
@@ -58,6 +64,41 @@ def collect_confirmed_field_values(
58
64
  return fields, field_entities
59
65
 
60
66
 
67
+ def _action_key(action: dict[str, Any]) -> str:
68
+ return str(action.get("action_key") or action.get("type") or "").strip()
69
+
70
+
71
+ def filter_post_intake_next_actions(
72
+ actions: list[dict[str, Any]],
73
+ *,
74
+ intake_session_completed: bool,
75
+ ) -> list[dict[str, Any]]:
76
+ filtered = [item for item in actions if isinstance(item, dict)]
77
+ if not intake_session_completed:
78
+ return filtered
79
+ return [
80
+ item for item in filtered
81
+ if _action_key(item) not in _POST_INTAKE_INTERNAL_ACTION_KEYS
82
+ ]
83
+
84
+
85
+ def resolve_canonical_next_actions(
86
+ *,
87
+ runtime_actions: list[dict[str, Any]],
88
+ context_actions: list[dict[str, Any]],
89
+ track_actions: list[dict[str, Any]],
90
+ intake_session_completed: bool,
91
+ ) -> list[dict[str, Any]]:
92
+ for actions in (runtime_actions, context_actions, track_actions):
93
+ resolved = filter_post_intake_next_actions(
94
+ actions,
95
+ intake_session_completed=intake_session_completed,
96
+ )
97
+ if resolved:
98
+ return resolved
99
+ return []
100
+
101
+
61
102
  def build_next_actions_projection(
62
103
  *,
63
104
  orchestration_status: dict[str, Any],
@@ -67,8 +108,6 @@ def build_next_actions_projection(
67
108
  status_key: str,
68
109
  map_external_mode_fn: Callable[[str], str],
69
110
  ) -> list[dict[str, Any]]:
70
- if intake_session_completed:
71
- return []
72
111
  next_actions: list[dict[str, Any]] = []
73
112
  raw_actions = (
74
113
  orchestration_status.get("next_actions")
@@ -81,6 +120,8 @@ def build_next_actions_projection(
81
120
  action_key = str(action.get("action_key") or action.get("type") or "").strip()
82
121
  if not action_key:
83
122
  continue
123
+ if intake_session_completed and action_key in _POST_INTAKE_INTERNAL_ACTION_KEYS:
124
+ continue
84
125
  # DOC HELPER — action visibility is decision-driven.
85
126
  # Do not hide analysis actions by workflow stage here; status/readiness
86
127
  # must already reflect analysis_entry_decision from orchestration.
@@ -15,6 +15,8 @@ _REQUIREMENT_INTAKE_COMMAND_SCORES = {
15
15
  "activate_requirement_intake": {"main_chain": 0.0, "patch_only": 1.0},
16
16
  }
17
17
  _DEFAULT_REQUIREMENT_INTAKE_COMMAND_SCORE = {"main_chain": 1.0, "patch_only": 0.0}
18
+ _PATCH_ONLY_COMPLETION_MODES = frozenset({"patch_only", "state_patch_only"})
19
+ _MAIN_CHAIN_COMPLETION_MODES = frozenset({"main_chain", "llm", "generate"})
18
20
 
19
21
 
20
22
  @dataclass(frozen=True)
@@ -23,6 +25,7 @@ class _GuidedCompletionDecision:
23
25
  main_chain_score: float
24
26
  patch_only_score: float
25
27
  phase_score: float
28
+ policy_reason: str
26
29
 
27
30
  @property
28
31
  def is_patch_only(self) -> bool:
@@ -51,8 +54,71 @@ def _is_collecting_question_phase(orchestration_status: dict[str, Any]) -> bool:
51
54
  return False
52
55
 
53
56
 
57
+ def _coerce_payload(req: KernelRequest) -> dict[str, Any]:
58
+ return req.payload if isinstance(req.payload, dict) else {}
59
+
60
+
61
+ def _completion_mode_from_payload(payload: dict[str, Any]) -> str:
62
+ """Read the optional completion-routing contract from request payload.
63
+
64
+ Supported payload shapes:
65
+ - completion_policy: {"mode": "patch_only" | "main_chain"}
66
+ - completion_mode: "patch_only" | "main_chain"
67
+ """
68
+ policy = payload.get("completion_policy")
69
+ raw_mode = ""
70
+ if isinstance(policy, dict):
71
+ raw_mode = str(policy.get("mode") or policy.get("completion_mode") or policy.get("action") or "").strip()
72
+ elif policy is not None:
73
+ raw_mode = str(policy or "").strip()
74
+ if not raw_mode:
75
+ raw_mode = str(payload.get("completion_mode") or "").strip()
76
+ return raw_mode.lower().replace("-", "_").replace(" ", "_")
77
+
78
+
79
+ def _has_workspace_patch_signal(payload: dict[str, Any]) -> bool:
80
+ if isinstance(payload.get("workspace_patch"), dict) and payload.get("workspace_patch"):
81
+ return True
82
+ patches = payload.get("workspace_patches")
83
+ return isinstance(patches, list) and any(isinstance(item, dict) and item for item in patches)
84
+
85
+
86
+ def _explicit_completion_decision(payload: dict[str, Any]) -> _GuidedCompletionDecision | None:
87
+ completion_mode = _completion_mode_from_payload(payload)
88
+ if completion_mode in _PATCH_ONLY_COMPLETION_MODES:
89
+ return _GuidedCompletionDecision(
90
+ action="patch_only",
91
+ main_chain_score=0.0,
92
+ patch_only_score=1.0,
93
+ phase_score=1.0,
94
+ policy_reason="explicit_completion_policy",
95
+ )
96
+ if completion_mode in _MAIN_CHAIN_COMPLETION_MODES:
97
+ return _GuidedCompletionDecision(
98
+ action="main_chain",
99
+ main_chain_score=1.0,
100
+ patch_only_score=0.0,
101
+ phase_score=0.0,
102
+ policy_reason="explicit_completion_policy",
103
+ )
104
+ return None
105
+
106
+
107
+ def _payload_patch_decision(payload: dict[str, Any]) -> _GuidedCompletionDecision | None:
108
+ if not _has_workspace_patch_signal(payload):
109
+ return None
110
+ return _GuidedCompletionDecision(
111
+ action="patch_only",
112
+ main_chain_score=0.0,
113
+ patch_only_score=1.0,
114
+ phase_score=1.0,
115
+ policy_reason="workspace_patch_payload",
116
+ )
117
+
118
+
54
119
  def _resolve_requirement_intake_guided_decision(
55
120
  *,
121
+ req: KernelRequest,
56
122
  command: str,
57
123
  orchestration_status: dict[str, Any],
58
124
  ) -> _GuidedCompletionDecision:
@@ -67,6 +133,13 @@ def _resolve_requirement_intake_guided_decision(
67
133
  through the normal LLM path; `patch_only` means this turn only emits UI/state
68
134
  patches and should not be persisted as an assistant memory record.
69
135
  """
136
+ payload = _coerce_payload(req)
137
+ explicit_decision = _explicit_completion_decision(payload)
138
+ if explicit_decision is not None:
139
+ return explicit_decision
140
+ payload_decision = _payload_patch_decision(payload)
141
+ if payload_decision is not None:
142
+ return payload_decision
70
143
  command_scores = _REQUIREMENT_INTAKE_COMMAND_SCORES.get(
71
144
  command,
72
145
  _DEFAULT_REQUIREMENT_INTAKE_COMMAND_SCORE,
@@ -80,6 +153,7 @@ def _resolve_requirement_intake_guided_decision(
80
153
  main_chain_score=main_chain_score,
81
154
  patch_only_score=patch_only_score,
82
155
  phase_score=phase_score,
156
+ policy_reason="legacy_command_phase_score",
83
157
  )
84
158
 
85
159
 
@@ -98,6 +172,7 @@ def resolve_guided_orchestrated_completion(
98
172
  if normalized_mode != "requirement_intake":
99
173
  return None
100
174
  intake_decision = _resolve_requirement_intake_guided_decision(
175
+ req=req,
101
176
  command=normalized_command,
102
177
  orchestration_status=orchestration_status,
103
178
  )
@@ -117,6 +192,7 @@ def resolve_guided_orchestrated_completion(
117
192
  "main_chain_score": intake_decision.main_chain_score,
118
193
  "patch_only_score": intake_decision.patch_only_score,
119
194
  "phase_score": intake_decision.phase_score,
195
+ "policy_reason": intake_decision.policy_reason,
120
196
  },
121
197
  )
122
198
 
@@ -0,0 +1,200 @@
1
+ """Completion-time intake summary event helpers."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from flare_kernel.runtime.orchestration.mode.intake_summary_artifact import (
8
+ build_model_authored_requirement_summary_event,
9
+ )
10
+
11
+ _CANVAS_ONLY_COMMANDS = frozenset({"", "send_message"})
12
+ _DOCUMENT_OUTPUT_INTENTS = frozenset({"document_template_output", "document_draft_output"})
13
+ _CONFIRM_SEND_PROMPT_ACTION_KEY = "confirm_send_prompt"
14
+
15
+
16
+ def _clean_text(value: Any) -> str:
17
+ return str(value or "").strip()
18
+
19
+
20
+ def _coerce_mapping(value: Any) -> dict[str, Any]:
21
+ return value if isinstance(value, dict) else {}
22
+
23
+
24
+ def _has_document_output_intent(runtime_snapshot: dict[str, Any]) -> bool:
25
+ payload = _coerce_mapping(runtime_snapshot.get("payload"))
26
+ response_intent_result = _coerce_mapping(payload.get("response_intent_result"))
27
+ return _clean_text(response_intent_result.get("response_intent")) in _DOCUMENT_OUTPUT_INTENTS
28
+
29
+
30
+ def _has_active_question(orchestration_status: dict[str, Any]) -> bool:
31
+ status = orchestration_status if isinstance(orchestration_status, dict) else {}
32
+ current_question = _coerce_mapping(status.get("current_question"))
33
+ question_status = _clean_text(current_question.get("question_status") or current_question.get("status")).lower()
34
+ if current_question and question_status not in {"answered", "stale", "dismissed", "completed", "applied"}:
35
+ return True
36
+ chooser_state = _coerce_mapping(status.get("chooser_state"))
37
+ if _clean_text(chooser_state.get("kind")).lower() == "question" and chooser_state.get("visible") is not False:
38
+ return True
39
+ return bool(status.get("has_active_question"))
40
+
41
+
42
+ def _is_confirm_send_prompt_action(action: dict[str, Any]) -> bool:
43
+ payload = _coerce_mapping(action.get("payload"))
44
+ action_key = _clean_text(action.get("action_key") or action.get("id") or action.get("command"))
45
+ action_type = _clean_text(action.get("action_type") or action.get("type"))
46
+ payload_action_type = _clean_text(payload.get("action_type") or payload.get("type"))
47
+ return (
48
+ action_key == _CONFIRM_SEND_PROMPT_ACTION_KEY
49
+ or action_type == _CONFIRM_SEND_PROMPT_ACTION_KEY
50
+ or payload_action_type == _CONFIRM_SEND_PROMPT_ACTION_KEY
51
+ )
52
+
53
+
54
+ def build_requirement_summary_confirm_send_action(
55
+ *,
56
+ content_text: str,
57
+ ) -> dict[str, Any] | None:
58
+ """Build the backend-owned action that sends the reviewed prompt text."""
59
+
60
+ prompt = _clean_text(content_text)
61
+ if not prompt:
62
+ return None
63
+ return {
64
+ "action_key": _CONFIRM_SEND_PROMPT_ACTION_KEY,
65
+ "action_type": _CONFIRM_SEND_PROMPT_ACTION_KEY,
66
+ "label": "确认发送",
67
+ "target_mode": "auto",
68
+ "priority": 0,
69
+ "status": "available",
70
+ "command": "send_message",
71
+ "reason": "确认后会将整理后的完整提示词作为下一条消息发送。",
72
+ "payload": {
73
+ "action_key": _CONFIRM_SEND_PROMPT_ACTION_KEY,
74
+ "action_type": _CONFIRM_SEND_PROMPT_ACTION_KEY,
75
+ "command": "send_message",
76
+ "target_mode": "auto",
77
+ "prompt_text": prompt,
78
+ "answer_value": prompt,
79
+ "submit_label": "确认发送",
80
+ "title": "确认发送整理后的提示词",
81
+ },
82
+ }
83
+
84
+
85
+ def with_requirement_summary_confirm_send_action(
86
+ *,
87
+ next_actions: list[dict[str, Any]],
88
+ content_text: str,
89
+ ) -> list[dict[str, Any]]:
90
+ """Attach the prompt-confirm action without rewriting other actions."""
91
+
92
+ actions = next_actions if isinstance(next_actions, list) else []
93
+ resolved = [
94
+ dict(action)
95
+ for action in actions
96
+ if isinstance(action, dict) and not _is_confirm_send_prompt_action(action)
97
+ ]
98
+ confirm_action = build_requirement_summary_confirm_send_action(content_text=content_text)
99
+ if not confirm_action:
100
+ return resolved
101
+ return [confirm_action, *resolved]
102
+
103
+
104
+ def with_requirement_summary_confirm_send_canvas_event(
105
+ *,
106
+ summary_event: dict[str, Any] | None,
107
+ content_text: str,
108
+ ) -> dict[str, Any] | None:
109
+ """Attach the prompt-confirm action to a Canvas state event."""
110
+
111
+ if not isinstance(summary_event, dict):
112
+ return summary_event
113
+ payload = _coerce_mapping(summary_event.get("payload"))
114
+ canvas_state = _coerce_mapping(payload.get("canvas_state"))
115
+ if not canvas_state:
116
+ return summary_event
117
+ next_actions = with_requirement_summary_confirm_send_action(
118
+ next_actions=canvas_state.get("next_actions") if isinstance(canvas_state.get("next_actions"), list) else [],
119
+ content_text=content_text,
120
+ )
121
+ if not next_actions:
122
+ return summary_event
123
+ next_canvas_state = {**canvas_state, "next_actions": next_actions}
124
+ next_payload = {**payload, "canvas_state": next_canvas_state}
125
+ return {**summary_event, "payload": next_payload}
126
+
127
+
128
+ def should_render_requirement_summary_as_canvas_only(
129
+ *,
130
+ runtime_snapshot: dict[str, Any],
131
+ orchestration_status: dict[str, Any],
132
+ content_text: str,
133
+ completion_provider: str,
134
+ completion_model: str,
135
+ completion_status: str,
136
+ command: str,
137
+ ) -> bool:
138
+ """Return whether a generated intake summary is a review prompt, not a reply."""
139
+
140
+ if _clean_text(command) not in _CANVAS_ONLY_COMMANDS:
141
+ return False
142
+ if _has_document_output_intent(runtime_snapshot):
143
+ return False
144
+ # PLN-15: a model-authored intake summary is the prompt-ready artifact to
145
+ # review/send. Existing active questions remain state carriers, but must not
146
+ # block the summary confirmation loop or revive mechanical field chasing.
147
+ return build_model_authored_requirement_summary_event(
148
+ runtime_snapshot=runtime_snapshot,
149
+ content_text=content_text,
150
+ completion_provider=completion_provider,
151
+ completion_model=completion_model,
152
+ completion_status=completion_status,
153
+ ) is not None
154
+
155
+
156
+ def with_model_authored_requirement_summary_event(
157
+ *,
158
+ runtime_snapshot: dict[str, Any],
159
+ orchestration_status: dict[str, Any],
160
+ content_text: str,
161
+ completion_provider: str,
162
+ completion_model: str,
163
+ completion_status: str,
164
+ command: str,
165
+ ) -> list[dict[str, Any]]:
166
+ """Return mode events with a model-authored Canvas summary event appended."""
167
+
168
+ mode_events = list(runtime_snapshot.get("mode_events") if isinstance(runtime_snapshot.get("mode_events"), list) else [])
169
+ if not should_render_requirement_summary_as_canvas_only(
170
+ runtime_snapshot=runtime_snapshot,
171
+ orchestration_status=orchestration_status,
172
+ content_text=content_text,
173
+ completion_provider=completion_provider,
174
+ completion_model=completion_model,
175
+ completion_status=completion_status,
176
+ command=command,
177
+ ):
178
+ return mode_events
179
+ summary_event = build_model_authored_requirement_summary_event(
180
+ runtime_snapshot=runtime_snapshot,
181
+ content_text=content_text,
182
+ completion_provider=completion_provider,
183
+ completion_model=completion_model,
184
+ completion_status=completion_status,
185
+ )
186
+ if summary_event:
187
+ mode_events.append(with_requirement_summary_confirm_send_canvas_event(
188
+ summary_event=summary_event,
189
+ content_text=content_text,
190
+ ))
191
+ return mode_events
192
+
193
+
194
+ __all__ = [
195
+ "build_requirement_summary_confirm_send_action",
196
+ "should_render_requirement_summary_as_canvas_only",
197
+ "with_requirement_summary_confirm_send_action",
198
+ "with_requirement_summary_confirm_send_canvas_event",
199
+ "with_model_authored_requirement_summary_event",
200
+ ]
@@ -10,6 +10,11 @@ from flare_kernel.router.completion.analysis_policy import apply_completion_cont
10
10
  from flare_kernel.router.completion.analysis_result_contract import (
11
11
  attach_analysis_result_contract,
12
12
  )
13
+ from flare_kernel.router.completion.intake_summary_events import (
14
+ should_render_requirement_summary_as_canvas_only,
15
+ with_requirement_summary_confirm_send_action,
16
+ with_model_authored_requirement_summary_event,
17
+ )
13
18
  from flare_kernel.router.next_actions_guard import dedupe_next_actions_by_action_key
14
19
  from flare_kernel.runtime.llm.contracts import LLMCompletion
15
20
  from flare_kernel.runtime.llm.provider_trace import build_completion_provider_trace
@@ -46,7 +51,7 @@ def _append_sourcing_preview_lines(
46
51
  if not lines:
47
52
  return content_text
48
53
 
49
- extra = "先给您两条预检索参考(补充字段后我会重排):\n" + "\n".join(lines)
54
+ extra = "先给您两条预检索参考(补充字段后再匹配候选供应商):\n" + "\n".join(lines)
50
55
  base = str(content_text or "").rstrip()
51
56
  return f"{base}\n\n{extra}".strip()
52
57
 
@@ -124,6 +129,7 @@ def _append_context_answer_lines(*, content_text: str, runtime_snapshot: dict[st
124
129
  def build_run_result_payload(
125
130
  *,
126
131
  content_text: str,
132
+ effective_command: str = "",
127
133
  completion_provider: str,
128
134
  completion_model: str,
129
135
  completion_status: str,
@@ -157,9 +163,40 @@ def build_run_result_payload(
157
163
  runtime_snapshot=runtime_snapshot,
158
164
  )
159
165
  final_message = _append_citation_lines(content_text=final_message, citations=knowledge_citation)
160
- next_actions = dedupe_next_actions_by_action_key(
166
+ canvas_only_summary = should_render_requirement_summary_as_canvas_only(
167
+ runtime_snapshot=runtime_snapshot,
168
+ orchestration_status=orchestration_status,
169
+ content_text=content_text,
170
+ completion_provider=completion_provider,
171
+ completion_model=completion_model,
172
+ completion_status=completion_status,
173
+ command=effective_command,
174
+ )
175
+ raw_next_actions = dedupe_next_actions_by_action_key(
161
176
  orchestration_status.get("next_actions", runtime_snapshot["next_actions"])
162
177
  )
178
+ next_actions = (
179
+ with_requirement_summary_confirm_send_action(
180
+ next_actions=raw_next_actions,
181
+ content_text=content_text,
182
+ )
183
+ if canvas_only_summary
184
+ else raw_next_actions
185
+ )
186
+ result_orchestration_status = (
187
+ {**orchestration_status, "next_actions": next_actions}
188
+ if canvas_only_summary
189
+ else orchestration_status
190
+ )
191
+ mode_events = with_model_authored_requirement_summary_event(
192
+ runtime_snapshot=runtime_snapshot,
193
+ orchestration_status=orchestration_status,
194
+ content_text=content_text,
195
+ completion_provider=completion_provider,
196
+ completion_model=completion_model,
197
+ completion_status=completion_status,
198
+ command=effective_command,
199
+ )
163
200
  result = {
164
201
  "message": final_message,
165
202
  "provider": completion_provider,
@@ -187,22 +224,23 @@ def build_run_result_payload(
187
224
  "llm_success_count": 1 if completion_status == "ok" else 0,
188
225
  },
189
226
  },
190
- "mode_events": runtime_snapshot["mode_events"],
227
+ "mode_events": mode_events,
191
228
  "next_actions": next_actions,
192
229
  "retrieved_knowledge": structured_retrieved_knowledge,
193
230
  "knowledge_citation": knowledge_citation,
194
231
  "context_answer": context_answer,
195
- "orchestration_status": orchestration_status,
232
+ "orchestration_status": result_orchestration_status,
196
233
  }
197
234
  return attach_analysis_result_contract(
198
235
  result=result,
199
- orchestration_status=orchestration_status,
236
+ orchestration_status=result_orchestration_status,
200
237
  )
201
238
 
202
239
 
203
240
  def build_action_result_payload(
204
241
  *,
205
242
  content_text: str,
243
+ action_command: str = "action",
206
244
  completion_provider: str,
207
245
  completion_model: str,
208
246
  completion_status: str,
@@ -227,6 +265,15 @@ def build_action_result_payload(
227
265
  next_actions = dedupe_next_actions_by_action_key(
228
266
  orchestration_status.get("next_actions", runtime_snapshot["next_actions"])
229
267
  )
268
+ mode_events = with_model_authored_requirement_summary_event(
269
+ runtime_snapshot=runtime_snapshot,
270
+ orchestration_status=orchestration_status,
271
+ content_text=content_text,
272
+ completion_provider=completion_provider,
273
+ completion_model=completion_model,
274
+ completion_status=completion_status,
275
+ command=action_command,
276
+ )
230
277
  return {
231
278
  "message": content_text,
232
279
  "provider": completion_provider,
@@ -250,7 +297,7 @@ def build_action_result_payload(
250
297
  "llm_success_count": 1 if completion_status == "ok" else 0,
251
298
  },
252
299
  },
253
- "mode_events": runtime_snapshot["mode_events"],
300
+ "mode_events": mode_events,
254
301
  "next_actions": next_actions,
255
302
  "orchestration_status": orchestration_status,
256
303
  "selected_action": {
@@ -12,6 +12,47 @@ from flare_kernel.runtime.llm.llm_provider import LLMCompletion
12
12
  _DOCUMENT_OUTPUT_INTENTS = frozenset({"document_template_output", "document_draft_output"})
13
13
 
14
14
 
15
+ def _coerce_mapping(value: Any) -> dict[str, Any]:
16
+ return value if isinstance(value, dict) else {}
17
+
18
+
19
+ def _resolve_current_question(
20
+ *,
21
+ runtime_snapshot: dict[str, Any],
22
+ orchestration_status: dict[str, Any],
23
+ ) -> dict[str, Any]:
24
+ current_question = _coerce_mapping(orchestration_status.get("current_question"))
25
+ if current_question:
26
+ return current_question
27
+ mode_events = runtime_snapshot.get("mode_events")
28
+ event_list = mode_events if isinstance(mode_events, list) else []
29
+ for event in reversed(event_list):
30
+ if not isinstance(event, dict):
31
+ continue
32
+ payload = _coerce_mapping(event.get("payload"))
33
+ current_question = _coerce_mapping(payload.get("current_question"))
34
+ if current_question:
35
+ return current_question
36
+ return {}
37
+
38
+
39
+ def _build_prompt_payload(
40
+ *,
41
+ enriched_payload: dict[str, Any],
42
+ runtime_snapshot: dict[str, Any],
43
+ orchestration_status: dict[str, Any],
44
+ ) -> dict[str, Any]:
45
+ prompt_payload = dict(enriched_payload)
46
+ if not isinstance(prompt_payload.get("current_question"), dict):
47
+ current_question = _resolve_current_question(
48
+ runtime_snapshot=runtime_snapshot,
49
+ orchestration_status=orchestration_status,
50
+ )
51
+ if current_question:
52
+ prompt_payload["current_question"] = current_question
53
+ return prompt_payload
54
+
55
+
15
56
  def _should_skip_guided_completion_for_output_request(
16
57
  *,
17
58
  raw_message: str,
@@ -90,7 +131,17 @@ async def resolve_turn_completion(
90
131
  details={"reason": "requirement_clarification_required"},
91
132
  )
92
133
 
93
- prompt = build_prompt_fn(req, enriched_payload, instance_profile, resolved_mode, effective_command)
134
+ prompt = build_prompt_fn(
135
+ req,
136
+ _build_prompt_payload(
137
+ enriched_payload=enriched_payload,
138
+ runtime_snapshot=runtime_snapshot,
139
+ orchestration_status=orchestration_status,
140
+ ),
141
+ instance_profile,
142
+ resolved_mode,
143
+ effective_command,
144
+ )
94
145
  if on_llm_delta_fn is None:
95
146
  return await generate_llm_completion_fn(
96
147
  prompt,
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  from typing import Any, Callable
6
6
 
7
7
  from flare_kernel.contracts import KernelRequest
8
+ from flare_kernel.router.prompting.summary_contract import apply_prompt_summary_contract
8
9
 
9
10
 
10
11
  def _normalize_action_target_mode(value: str) -> str:
@@ -87,6 +88,7 @@ def prepare_action_turn_context(
87
88
  payload=action_payload,
88
89
  instance_profile=instance_profile,
89
90
  )
91
+ apply_prompt_summary_contract(payload=action_payload, runtime_snapshot=runtime_snapshot)
90
92
  orchestration_status = build_orchestration_status_fn(
91
93
  trace_id=trace_id,
92
94
  command=action_command,