arvis 0.1.0a12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. arvis/__init__.py +24 -0
  2. arvis/action/__init__.py +13 -0
  3. arvis/action/action_context.py +18 -0
  4. arvis/action/action_decision.py +26 -0
  5. arvis/action/action_evaluator.py +97 -0
  6. arvis/action/action_mapper.py +47 -0
  7. arvis/action/action_mode.py +17 -0
  8. arvis/action/action_policy.py +61 -0
  9. arvis/action/action_resolver.py +34 -0
  10. arvis/action/action_template.py +28 -0
  11. arvis/adapters/__init__.py +10 -0
  12. arvis/adapters/ir/__init__.py +0 -0
  13. arvis/adapters/ir/adaptive_adapter.py +20 -0
  14. arvis/adapters/ir/cognitive_ir_builder.py +50 -0
  15. arvis/adapters/ir/decision_adapter.py +154 -0
  16. arvis/adapters/ir/gate_adapter.py +86 -0
  17. arvis/adapters/ir/projection_adapter.py +30 -0
  18. arvis/adapters/ir/stability_adapter.py +24 -0
  19. arvis/adapters/ir/state_adapter.py +202 -0
  20. arvis/adapters/ir/validity_adapter.py +25 -0
  21. arvis/adapters/kernel/__init__.py +18 -0
  22. arvis/adapters/kernel/canonical_to_event.py +26 -0
  23. arvis/adapters/kernel/event_to_signal.py +23 -0
  24. arvis/adapters/kernel/kernel_adapter.py +38 -0
  25. arvis/adapters/kernel/mappers/__init__.py +0 -0
  26. arvis/adapters/kernel/mappers/ir_to_canonical.py +38 -0
  27. arvis/adapters/kernel/rules/__init__.py +23 -0
  28. arvis/adapters/kernel/rules/base_rule.py +21 -0
  29. arvis/adapters/kernel/rules/decision_rules.py +45 -0
  30. arvis/adapters/kernel/rules/fallback_rules.py +22 -0
  31. arvis/adapters/kernel/rules/gate_rules.py +38 -0
  32. arvis/adapters/kernel/rules/state_rules.py +36 -0
  33. arvis/adapters/kernel/signals/__init__.py +0 -0
  34. arvis/adapters/kernel/signals/signal_factory.py +122 -0
  35. arvis/adapters/kernel/signals/signal_semantics.py +45 -0
  36. arvis/adapters/kernel/timeline_from_signals.py +88 -0
  37. arvis/adapters/llm/__init__.py +32 -0
  38. arvis/adapters/llm/context/__init__.py +0 -0
  39. arvis/adapters/llm/context/arvis_context_mapper.py +80 -0
  40. arvis/adapters/llm/contracts/__init__.py +20 -0
  41. arvis/adapters/llm/contracts/context.py +15 -0
  42. arvis/adapters/llm/contracts/error_payload.py +24 -0
  43. arvis/adapters/llm/contracts/errors.py +24 -0
  44. arvis/adapters/llm/contracts/execution_result.py +49 -0
  45. arvis/adapters/llm/contracts/message.py +15 -0
  46. arvis/adapters/llm/contracts/options.py +16 -0
  47. arvis/adapters/llm/contracts/privacy.py +10 -0
  48. arvis/adapters/llm/contracts/request.py +73 -0
  49. arvis/adapters/llm/contracts/response.py +28 -0
  50. arvis/adapters/llm/contracts/result.py +56 -0
  51. arvis/adapters/llm/contracts/structured_output.py +14 -0
  52. arvis/adapters/llm/contracts/usage.py +49 -0
  53. arvis/adapters/llm/epistemic/__init__.py +1 -0
  54. arvis/adapters/llm/epistemic/state.py +41 -0
  55. arvis/adapters/llm/governance/__init__.py +0 -0
  56. arvis/adapters/llm/governance/budget.py +36 -0
  57. arvis/adapters/llm/governance/decision.py +17 -0
  58. arvis/adapters/llm/governance/evaluator.py +57 -0
  59. arvis/adapters/llm/governance/policy.py +29 -0
  60. arvis/adapters/llm/governance/risk.py +36 -0
  61. arvis/adapters/llm/observability/__init__.py +11 -0
  62. arvis/adapters/llm/observability/evaluation.py +30 -0
  63. arvis/adapters/llm/observability/math_utils.py +57 -0
  64. arvis/adapters/llm/observability/observation.py +34 -0
  65. arvis/adapters/llm/observability/observer.py +52 -0
  66. arvis/adapters/llm/observability/providers/__init__.py +1 -0
  67. arvis/adapters/llm/observability/providers/base.py +11 -0
  68. arvis/adapters/llm/observability/providers/mock.py +20 -0
  69. arvis/adapters/llm/observability/providers/openai.py +27 -0
  70. arvis/adapters/llm/observability/risk_mapper.py +56 -0
  71. arvis/adapters/llm/observability/risk_signal.py +41 -0
  72. arvis/adapters/llm/policy/__init__.py +11 -0
  73. arvis/adapters/llm/policy/behavior_policy.py +45 -0
  74. arvis/adapters/llm/policy/behavior_policy_mapper.py +108 -0
  75. arvis/adapters/llm/policy/linguistic_frame_mapper.py +74 -0
  76. arvis/adapters/llm/prompts/__init__.py +12 -0
  77. arvis/adapters/llm/prompts/builder.py +120 -0
  78. arvis/adapters/llm/prompts/contract.py +31 -0
  79. arvis/adapters/llm/prompts/prompt_to_messages.py +29 -0
  80. arvis/adapters/llm/prompts/sanitizer.py +11 -0
  81. arvis/adapters/llm/prompts/templates.py +20 -0
  82. arvis/adapters/llm/providers/__init__.py +23 -0
  83. arvis/adapters/llm/providers/anthropic.py +59 -0
  84. arvis/adapters/llm/providers/base.py +15 -0
  85. arvis/adapters/llm/providers/mock.py +30 -0
  86. arvis/adapters/llm/providers/ollama.py +61 -0
  87. arvis/adapters/llm/providers/openai.py +60 -0
  88. arvis/adapters/llm/providers/registry.py +35 -0
  89. arvis/adapters/llm/providers/resolver.py +33 -0
  90. arvis/adapters/llm/runtime/__init__.py +29 -0
  91. arvis/adapters/llm/runtime/evaluator.py +55 -0
  92. arvis/adapters/llm/runtime/executor.py +155 -0
  93. arvis/adapters/llm/runtime/fallback_executor.py +118 -0
  94. arvis/adapters/llm/runtime/guarded_adapter.py +153 -0
  95. arvis/adapters/llm/runtime/retry.py +99 -0
  96. arvis/adapters/llm/runtime/router.py +55 -0
  97. arvis/adapters/llm/tracing/__init__.py +15 -0
  98. arvis/adapters/llm/tracing/llm_trace.py +58 -0
  99. arvis/adapters/llm/tracing/serializer.py +53 -0
  100. arvis/adapters/llm/validation/__init__.py +0 -0
  101. arvis/adapters/llm/validation/output_validator.py +196 -0
  102. arvis/adapters/registry.py +8 -0
  103. arvis/adapters/tools/__init__.py +0 -0
  104. arvis/adapters/tools/authorization.py +10 -0
  105. arvis/adapters/tools/authorization_snapshot.py +78 -0
  106. arvis/adapters/tools/gates.py +31 -0
  107. arvis/adapters/tools/invocation.py +327 -0
  108. arvis/adapters/tools/policy.py +90 -0
  109. arvis/api/__init__.py +199 -0
  110. arvis/api/audit.py +28 -0
  111. arvis/api/cognition.py +31 -0
  112. arvis/api/commitment.py +293 -0
  113. arvis/api/engine.py +139 -0
  114. arvis/api/execution.py +49 -0
  115. arvis/api/ir.py +87 -0
  116. arvis/api/ir_canonical.py +32 -0
  117. arvis/api/ir_diff.py +45 -0
  118. arvis/api/math.py +39 -0
  119. arvis/api/memory.py +17 -0
  120. arvis/api/os.py +404 -0
  121. arvis/api/os_internals.py +429 -0
  122. arvis/api/reasoning.py +15 -0
  123. arvis/api/reflexive.py +29 -0
  124. arvis/api/runtime/__init__.py +0 -0
  125. arvis/api/runtime/cognitive_runtime.py +389 -0
  126. arvis/api/runtime_controls.py +25 -0
  127. arvis/api/runtime_mode.py +45 -0
  128. arvis/api/schema/ir_schema.json +68 -0
  129. arvis/api/stability.py +54 -0
  130. arvis/api/timeline.py +90 -0
  131. arvis/api/trace.py +119 -0
  132. arvis/api/version.py +84 -0
  133. arvis/api/views/__init__.py +0 -0
  134. arvis/api/views/cognitive_result_view.py +379 -0
  135. arvis/cognition/__init__.py +29 -0
  136. arvis/cognition/attention/__init__.py +0 -0
  137. arvis/cognition/attention/attention_context.py +23 -0
  138. arvis/cognition/attention/attention_policy.py +31 -0
  139. arvis/cognition/bundle/__init__.py +15 -0
  140. arvis/cognition/bundle/cognitive_bundle_builder.py +115 -0
  141. arvis/cognition/bundle/cognitive_bundle_invariants.py +125 -0
  142. arvis/cognition/bundle/cognitive_bundle_snapshot.py +46 -0
  143. arvis/cognition/calibration/__init__.py +0 -0
  144. arvis/cognition/calibration/calibration_engine.py +104 -0
  145. arvis/cognition/coherence/__init__.py +24 -0
  146. arvis/cognition/coherence/change_budget.py +23 -0
  147. arvis/cognition/coherence/coherence_limits.py +18 -0
  148. arvis/cognition/coherence/coherence_observer.py +171 -0
  149. arvis/cognition/coherence/coherence_policy.py +54 -0
  150. arvis/cognition/coherence/stability_constraint.py +72 -0
  151. arvis/cognition/confirmation/__init__.py +12 -0
  152. arvis/cognition/confirmation/confirmation_evaluator.py +26 -0
  153. arvis/cognition/confirmation/confirmation_flow.py +34 -0
  154. arvis/cognition/confirmation/confirmation_request.py +16 -0
  155. arvis/cognition/confirmation/confirmation_result.py +20 -0
  156. arvis/cognition/conflict/__init__.py +17 -0
  157. arvis/cognition/conflict/conflict_confirmation.py +14 -0
  158. arvis/cognition/conflict/conflict_evaluator.py +46 -0
  159. arvis/cognition/conflict/conflict_extractor.py +35 -0
  160. arvis/cognition/conflict/conflict_hint.py +18 -0
  161. arvis/cognition/conflict/conflict_impact.py +19 -0
  162. arvis/cognition/conflict/conflict_modulation.py +25 -0
  163. arvis/cognition/conflict/conflict_policy_result.py +14 -0
  164. arvis/cognition/conflict/conflict_pressure_engine.py +44 -0
  165. arvis/cognition/conflict/conflict_severity.py +15 -0
  166. arvis/cognition/conflict/conflict_signal.py +16 -0
  167. arvis/cognition/conflict/conflict_type.py +20 -0
  168. arvis/cognition/conflict/default_rules.py +22 -0
  169. arvis/cognition/control/__init__.py +15 -0
  170. arvis/cognition/control/adaptive_mode_snapshot.py +23 -0
  171. arvis/cognition/control/cognitive_control_engine.py +643 -0
  172. arvis/cognition/control/cognitive_control_runtime.py +34 -0
  173. arvis/cognition/control/cognitive_control_snapshot.py +36 -0
  174. arvis/cognition/control/exploration_controller.py +101 -0
  175. arvis/cognition/control/exploration_snapshot.py +36 -0
  176. arvis/cognition/control/mode_hysteresis.py +61 -0
  177. arvis/cognition/control/regime_control_snapshot.py +34 -0
  178. arvis/cognition/control/regime_policy.py +53 -0
  179. arvis/cognition/control/temporal_modulation.py +33 -0
  180. arvis/cognition/control/temporal_pressure.py +58 -0
  181. arvis/cognition/control/temporal_regulation.py +51 -0
  182. arvis/cognition/conversation/__init__.py +21 -0
  183. arvis/cognition/conversation/conversation_context.py +35 -0
  184. arvis/cognition/conversation/conversation_mode.py +19 -0
  185. arvis/cognition/conversation/conversation_signal.py +21 -0
  186. arvis/cognition/conversation/conversation_state.py +34 -0
  187. arvis/cognition/conversation/response_plan.py +36 -0
  188. arvis/cognition/conversation/response_realization_mode.py +13 -0
  189. arvis/cognition/conversation/response_strategy_decision.py +24 -0
  190. arvis/cognition/conversation/response_strategy_type.py +20 -0
  191. arvis/cognition/core/__init__.py +0 -0
  192. arvis/cognition/core/cognitive_core_engine.py +93 -0
  193. arvis/cognition/core/cognitive_core_result.py +28 -0
  194. arvis/cognition/decision/__init__.py +0 -0
  195. arvis/cognition/decision/decision_context.py +17 -0
  196. arvis/cognition/decision/decision_evaluator.py +71 -0
  197. arvis/cognition/decision/decision_result.py +43 -0
  198. arvis/cognition/decision/decision_signal.py +33 -0
  199. arvis/cognition/events/__init__.py +5 -0
  200. arvis/cognition/events/base_event.py +22 -0
  201. arvis/cognition/execution/__init__.py +5 -0
  202. arvis/cognition/execution/executable_intent.py +34 -0
  203. arvis/cognition/explanation/__init__.py +0 -0
  204. arvis/cognition/explanation/explanation_snapshot.py +34 -0
  205. arvis/cognition/gate/__init__.py +5 -0
  206. arvis/cognition/gate/cognitive_gate_protocol.py +11 -0
  207. arvis/cognition/gate/cognitive_gate_result.py +47 -0
  208. arvis/cognition/gate/cognitive_gate_verdict.py +9 -0
  209. arvis/cognition/gate/gate_decision_trace.py +27 -0
  210. arvis/cognition/gate/gate_trace_builder.py +78 -0
  211. arvis/cognition/gate/reason_code_normalizer.py +84 -0
  212. arvis/cognition/gate/reason_code_registry.py +54 -0
  213. arvis/cognition/governance/__init__.py +12 -0
  214. arvis/cognition/governance/governance_decision.py +22 -0
  215. arvis/cognition/governance/governance_evaluator.py +27 -0
  216. arvis/cognition/governance/governance_suggestion.py +16 -0
  217. arvis/cognition/introspection/__init__.py +0 -0
  218. arvis/cognition/introspection/introspection_snapshot.py +33 -0
  219. arvis/cognition/observability/__init__.py +2 -0
  220. arvis/cognition/observability/adaptive/__init__.py +0 -0
  221. arvis/cognition/observability/adaptive/adaptive_stability_snapshot.py +11 -0
  222. arvis/cognition/observability/observability_builder.py +173 -0
  223. arvis/cognition/observability/symbolic/__init__.py +11 -0
  224. arvis/cognition/observability/symbolic/symbolic_drift_snapshot.py +23 -0
  225. arvis/cognition/observability/symbolic/symbolic_feature_snapshot.py +17 -0
  226. arvis/cognition/pending/__init__.py +5 -0
  227. arvis/cognition/pending/pending_cognitive_action.py +28 -0
  228. arvis/cognition/policy/__init__.py +6 -0
  229. arvis/cognition/policy/cognitive_policy_result.py +24 -0
  230. arvis/cognition/policy/cognitive_signal_snapshot.py +24 -0
  231. arvis/cognition/projection/__init__.py +0 -0
  232. arvis/cognition/projection/projection_api.py +105 -0
  233. arvis/cognition/projection/projection_diagnostics.py +35 -0
  234. arvis/cognition/projection/projection_result.py +21 -0
  235. arvis/cognition/retrieval/__init__.py +0 -0
  236. arvis/cognition/retrieval/cognitive_retrieval_snapshot.py +22 -0
  237. arvis/cognition/state/__init__.py +26 -0
  238. arvis/cognition/state/cognitive_state.py +104 -0
  239. arvis/cognition/state/cognitive_state_builder.py +96 -0
  240. arvis/cognition/suggestion/__init__.py +0 -0
  241. arvis/cognition/suggestion/suggestion_evaluator.py +37 -0
  242. arvis/cognition/suggestion/suggestion_signal.py +13 -0
  243. arvis/cognition/temporal/__init__.py +0 -0
  244. arvis/cognition/temporal/temporal_context.py +23 -0
  245. arvis/cognition/temporal/temporal_policy.py +48 -0
  246. arvis/context/__init__.py +0 -0
  247. arvis/context/context_hint_policy_gate.py +31 -0
  248. arvis/contracts/__init__.py +0 -0
  249. arvis/contracts/cognitive_state_contract.py +141 -0
  250. arvis/control/__init__.py +31 -0
  251. arvis/control/control_context.py +33 -0
  252. arvis/control/control_inertia.py +117 -0
  253. arvis/control/control_preferences.py +22 -0
  254. arvis/control/control_signal.py +16 -0
  255. arvis/control/control_state.py +42 -0
  256. arvis/control/onboarding_state.py +16 -0
  257. arvis/control/understanding_snapshot.py +35 -0
  258. arvis/conversation/__init__.py +0 -0
  259. arvis/conversation/act_strategy_mapper.py +35 -0
  260. arvis/conversation/continuation.py +45 -0
  261. arvis/conversation/conversation_adaptive_controller.py +172 -0
  262. arvis/conversation/conversation_adaptive_policy.py +61 -0
  263. arvis/conversation/conversation_adversarial_detector.py +54 -0
  264. arvis/conversation/conversation_attractor_model.py +63 -0
  265. arvis/conversation/conversation_cognitive_bridge.py +99 -0
  266. arvis/conversation/conversation_coherence_metric.py +22 -0
  267. arvis/conversation/conversation_collapse_guard.py +26 -0
  268. arvis/conversation/conversation_composite_stability.py +42 -0
  269. arvis/conversation/conversation_context.py +37 -0
  270. arvis/conversation/conversation_energy_model.py +80 -0
  271. arvis/conversation/conversation_entropy_regulator.py +50 -0
  272. arvis/conversation/conversation_fast_path.py +34 -0
  273. arvis/conversation/conversation_feedback_signal.py +27 -0
  274. arvis/conversation/conversation_future_simulator.py +33 -0
  275. arvis/conversation/conversation_global_stability_adapter.py +29 -0
  276. arvis/conversation/conversation_lyapunov_adapter.py +24 -0
  277. arvis/conversation/conversation_memory_bridge.py +95 -0
  278. arvis/conversation/conversation_memory_policy.py +67 -0
  279. arvis/conversation/conversation_orchestrator.py +330 -0
  280. arvis/conversation/conversation_policy_base.py +18 -0
  281. arvis/conversation/conversation_policy_engine.py +60 -0
  282. arvis/conversation/conversation_predictive_strategy.py +31 -0
  283. arvis/conversation/conversation_predictor.py +69 -0
  284. arvis/conversation/conversation_regime_controller.py +195 -0
  285. arvis/conversation/conversation_stability_controller.py +78 -0
  286. arvis/conversation/conversation_stability_signals.py +141 -0
  287. arvis/conversation/conversation_state.py +48 -0
  288. arvis/conversation/conversation_strategy_dynamics.py +61 -0
  289. arvis/conversation/conversation_strategy_field.py +63 -0
  290. arvis/conversation/conversation_trajectory_controller.py +28 -0
  291. arvis/conversation/conversation_world_prediction_bridge.py +42 -0
  292. arvis/conversation/pending_turn.py +47 -0
  293. arvis/conversation/response_plan.py +5 -0
  294. arvis/conversation/response_plan_builder.py +128 -0
  295. arvis/conversation/response_realization_mode.py +7 -0
  296. arvis/conversation/response_strategy_decision.py +7 -0
  297. arvis/conversation/response_strategy_resolver.py +130 -0
  298. arvis/conversation/response_strategy_type.py +5 -0
  299. arvis/conversation/strategy_stability_controller.py +38 -0
  300. arvis/conversation/user_adaptive_profile.py +23 -0
  301. arvis/errors/__init__.py +234 -0
  302. arvis/errors/api.py +20 -0
  303. arvis/errors/artifact.py +26 -0
  304. arvis/errors/base.py +422 -0
  305. arvis/errors/boundaries/__init__.py +25 -0
  306. arvis/errors/boundaries/llm.py +77 -0
  307. arvis/errors/boundaries/observability.py +59 -0
  308. arvis/errors/boundaries/pipeline.py +112 -0
  309. arvis/errors/classification.py +178 -0
  310. arvis/errors/codes.py +195 -0
  311. arvis/errors/context.py +39 -0
  312. arvis/errors/disposition.py +39 -0
  313. arvis/errors/factories.py +39 -0
  314. arvis/errors/helpers.py +16 -0
  315. arvis/errors/kernel.py +34 -0
  316. arvis/errors/kernel_runtime.py +36 -0
  317. arvis/errors/llm_runtime.py +36 -0
  318. arvis/errors/manager.py +407 -0
  319. arvis/errors/messages.py +26 -0
  320. arvis/errors/normalization.py +158 -0
  321. arvis/errors/observability.py +32 -0
  322. arvis/errors/pipeline.py +32 -0
  323. arvis/errors/policy.py +42 -0
  324. arvis/errors/provenance.py +116 -0
  325. arvis/errors/redaction.py +137 -0
  326. arvis/errors/registry.py +36 -0
  327. arvis/errors/replay.py +25 -0
  328. arvis/errors/runtime.py +47 -0
  329. arvis/errors/runtime_execution.py +31 -0
  330. arvis/errors/runtime_pipeline.py +44 -0
  331. arvis/errors/runtime_scheduler.py +37 -0
  332. arvis/errors/syscall.py +53 -0
  333. arvis/errors/tool_runtime.py +52 -0
  334. arvis/errors/types.py +12 -0
  335. arvis/interfaces/__init__.py +4 -0
  336. arvis/interfaces/cognitive_bundle.py +47 -0
  337. arvis/ir/__init__.py +15 -0
  338. arvis/ir/cognitive_ir.py +41 -0
  339. arvis/ir/context.py +42 -0
  340. arvis/ir/decision.py +74 -0
  341. arvis/ir/envelope.py +44 -0
  342. arvis/ir/gate.py +33 -0
  343. arvis/ir/input.py +18 -0
  344. arvis/ir/normalization/__init__.py +0 -0
  345. arvis/ir/normalization/cognitive_ir_normalizer.py +97 -0
  346. arvis/ir/replay/__init__.py +0 -0
  347. arvis/ir/replay/replay_validator.py +81 -0
  348. arvis/ir/serialization/__init__.py +0 -0
  349. arvis/ir/serialization/cognitive_ir_hasher.py +29 -0
  350. arvis/ir/serialization/cognitive_ir_serializer.py +153 -0
  351. arvis/ir/state.py +47 -0
  352. arvis/ir/validation/__init__.py +0 -0
  353. arvis/ir/validation/cognitive_ir_validator.py +158 -0
  354. arvis/ir/version.py +4 -0
  355. arvis/kernel/__init__.py +8 -0
  356. arvis/kernel/execution/__init__.py +0 -0
  357. arvis/kernel/execution/cognitive_execution_state.py +43 -0
  358. arvis/kernel/execution/execution_gate_status.py +9 -0
  359. arvis/kernel/execution/execution_llm_state.py +16 -0
  360. arvis/kernel/gate/__init__.py +0 -0
  361. arvis/kernel/gate/input_risk.py +81 -0
  362. arvis/kernel/gate/pi_gate.py +120 -0
  363. arvis/kernel/kernel_contract.py +15 -0
  364. arvis/kernel/kernel_invariants.py +59 -0
  365. arvis/kernel/observability/__init__.py +11 -0
  366. arvis/kernel/observability/gate_observer.py +276 -0
  367. arvis/kernel/observability/lyapunov_observer.py +118 -0
  368. arvis/kernel/pipeline/__init__.py +0 -0
  369. arvis/kernel/pipeline/cognitive_pipeline.py +244 -0
  370. arvis/kernel/pipeline/cognitive_pipeline_context.py +835 -0
  371. arvis/kernel/pipeline/cognitive_pipeline_result.py +164 -0
  372. arvis/kernel/pipeline/context/__init__.py +51 -0
  373. arvis/kernel/pipeline/context/decision_context.py +34 -0
  374. arvis/kernel/pipeline/context/error_context.py +30 -0
  375. arvis/kernel/pipeline/context/execution_context.py +14 -0
  376. arvis/kernel/pipeline/context/observability/diagnostic_context.py +16 -0
  377. arvis/kernel/pipeline/context/observability/projections_context.py +20 -0
  378. arvis/kernel/pipeline/context/observability/state_context.py +14 -0
  379. arvis/kernel/pipeline/context/observability/symbolic_context.py +12 -0
  380. arvis/kernel/pipeline/context/observability_context.py +47 -0
  381. arvis/kernel/pipeline/context/projection_context.py +31 -0
  382. arvis/kernel/pipeline/context/runtime_bindings_context.py +18 -0
  383. arvis/kernel/pipeline/context/runtime_policy_context.py +12 -0
  384. arvis/kernel/pipeline/context/scientific_accessors.py +197 -0
  385. arvis/kernel/pipeline/context/scientific_context.py +435 -0
  386. arvis/kernel/pipeline/context/tooling_context.py +22 -0
  387. arvis/kernel/pipeline/factories/__init__.py +13 -0
  388. arvis/kernel/pipeline/factories/pipeline_result_factory.py +67 -0
  389. arvis/kernel/pipeline/factories/pipeline_trace_factory.py +57 -0
  390. arvis/kernel/pipeline/gate_overrides.py +11 -0
  391. arvis/kernel/pipeline/pipeline_contract.py +34 -0
  392. arvis/kernel/pipeline/result/__init__.py +17 -0
  393. arvis/kernel/pipeline/result/execution_result.py +27 -0
  394. arvis/kernel/pipeline/result/ir_result.py +31 -0
  395. arvis/kernel/pipeline/result/observability_result.py +13 -0
  396. arvis/kernel/pipeline/runtime_bindings.py +19 -0
  397. arvis/kernel/pipeline/services/__init__.py +17 -0
  398. arvis/kernel/pipeline/services/llm_request_builder.py +62 -0
  399. arvis/kernel/pipeline/services/pipeline_bootstrap_service.py +226 -0
  400. arvis/kernel/pipeline/services/pipeline_compatibility_service.py +64 -0
  401. arvis/kernel/pipeline/services/pipeline_error_service.py +62 -0
  402. arvis/kernel/pipeline/services/pipeline_execution_service.py +33 -0
  403. arvis/kernel/pipeline/services/pipeline_execution_sync_service.py +55 -0
  404. arvis/kernel/pipeline/services/pipeline_finalize_service.py +271 -0
  405. arvis/kernel/pipeline/services/pipeline_input_service.py +54 -0
  406. arvis/kernel/pipeline/services/pipeline_ir_bootstrap_service.py +214 -0
  407. arvis/kernel/pipeline/services/pipeline_ir_service.py +160 -0
  408. arvis/kernel/pipeline/services/pipeline_iteration_service.py +31 -0
  409. arvis/kernel/pipeline/services/pipeline_lifecycle_service.py +58 -0
  410. arvis/kernel/pipeline/services/pipeline_llm_service.py +499 -0
  411. arvis/kernel/pipeline/services/pipeline_observability_service.py +135 -0
  412. arvis/kernel/pipeline/services/pipeline_preparation_service.py +117 -0
  413. arvis/kernel/pipeline/services/pipeline_replay_service.py +67 -0
  414. arvis/kernel/pipeline/services/pipeline_retry_budget.py +40 -0
  415. arvis/kernel/pipeline/services/pipeline_retry_policy.py +151 -0
  416. arvis/kernel/pipeline/services/pipeline_runner_service.py +78 -0
  417. arvis/kernel/pipeline/services/pipeline_runtime_service.py +27 -0
  418. arvis/kernel/pipeline/services/pipeline_stage_execution_service.py +32 -0
  419. arvis/kernel/pipeline/services/pipeline_stage_registry_service.py +41 -0
  420. arvis/kernel/pipeline/stages/__init__.py +45 -0
  421. arvis/kernel/pipeline/stages/action_stage.py +140 -0
  422. arvis/kernel/pipeline/stages/bundle_stage.py +48 -0
  423. arvis/kernel/pipeline/stages/confirmation_stage.py +200 -0
  424. arvis/kernel/pipeline/stages/conflict_modulation_stage.py +28 -0
  425. arvis/kernel/pipeline/stages/conflict_stage.py +54 -0
  426. arvis/kernel/pipeline/stages/control_feedback_stage.py +151 -0
  427. arvis/kernel/pipeline/stages/control_stage.py +228 -0
  428. arvis/kernel/pipeline/stages/core_stage.py +409 -0
  429. arvis/kernel/pipeline/stages/decision_stage.py +96 -0
  430. arvis/kernel/pipeline/stages/execution_stage.py +71 -0
  431. arvis/kernel/pipeline/stages/gate/__init__.py +3 -0
  432. arvis/kernel/pipeline/stages/gate/adaptive.py +175 -0
  433. arvis/kernel/pipeline/stages/gate/composite.py +468 -0
  434. arvis/kernel/pipeline/stages/gate/confidence.py +34 -0
  435. arvis/kernel/pipeline/stages/gate/context.py +264 -0
  436. arvis/kernel/pipeline/stages/gate/decision_stack.py +564 -0
  437. arvis/kernel/pipeline/stages/gate/enforcement.py +214 -0
  438. arvis/kernel/pipeline/stages/gate/gating_regime.py +82 -0
  439. arvis/kernel/pipeline/stages/gate/input_risk_gate.py +201 -0
  440. arvis/kernel/pipeline/stages/gate/memory_policy.py +77 -0
  441. arvis/kernel/pipeline/stages/gate/mid_traces.py +69 -0
  442. arvis/kernel/pipeline/stages/gate/models.py +52 -0
  443. arvis/kernel/pipeline/stages/gate/observability.py +52 -0
  444. arvis/kernel/pipeline/stages/gate/pi_override.py +99 -0
  445. arvis/kernel/pipeline/stages/gate/stability.py +446 -0
  446. arvis/kernel/pipeline/stages/gate/stage.py +150 -0
  447. arvis/kernel/pipeline/stages/gate/switching.py +83 -0
  448. arvis/kernel/pipeline/stages/gate/trace_helpers.py +150 -0
  449. arvis/kernel/pipeline/stages/gate_stage.py +53 -0
  450. arvis/kernel/pipeline/stages/intent_stage.py +95 -0
  451. arvis/kernel/pipeline/stages/passive_context_stage.py +136 -0
  452. arvis/kernel/pipeline/stages/projection_stage.py +144 -0
  453. arvis/kernel/pipeline/stages/regime_stage.py +65 -0
  454. arvis/kernel/pipeline/stages/runtime_stage.py +69 -0
  455. arvis/kernel/pipeline/stages/structural_risk_stage.py +35 -0
  456. arvis/kernel/pipeline/stages/temporal_stage.py +68 -0
  457. arvis/kernel/pipeline/stages/tool_feedback_stage.py +25 -0
  458. arvis/kernel/pipeline/stages/tool_retry_stage.py +13 -0
  459. arvis/kernel/projection/__init__.py +19 -0
  460. arvis/kernel/projection/bundle_projection_mapper.py +23 -0
  461. arvis/kernel/projection/certificate.py +78 -0
  462. arvis/kernel/projection/domain.py +97 -0
  463. arvis/kernel/projection/llm_projection_mapper.py +121 -0
  464. arvis/kernel/projection/pi_impl.py +395 -0
  465. arvis/kernel/projection/pi_types.py +105 -0
  466. arvis/kernel/projection/projected_state.py +60 -0
  467. arvis/kernel/projection/validator.py +141 -0
  468. arvis/kernel/replay_engine.py +82 -0
  469. arvis/kernel/trace/__init__.py +0 -0
  470. arvis/kernel/trace/decision_trace.py +56 -0
  471. arvis/kernel/trace/decision_trace_schema.py +18 -0
  472. arvis/kernel_core/__init__.py +0 -0
  473. arvis/kernel_core/access/__init__.py +0 -0
  474. arvis/kernel_core/access/decision.py +28 -0
  475. arvis/kernel_core/access/identity.py +38 -0
  476. arvis/kernel_core/access/models.py +85 -0
  477. arvis/kernel_core/access/policy.py +96 -0
  478. arvis/kernel_core/access/resolvers.py +104 -0
  479. arvis/kernel_core/canonicalization.py +470 -0
  480. arvis/kernel_core/contracts/__init__.py +0 -0
  481. arvis/kernel_core/contracts/execution_contract.py +20 -0
  482. arvis/kernel_core/host_declaration.py +148 -0
  483. arvis/kernel_core/interrupts/__init__.py +0 -0
  484. arvis/kernel_core/interrupts/interrupt.py +19 -0
  485. arvis/kernel_core/interrupts/interrupt_bus.py +61 -0
  486. arvis/kernel_core/interrupts/interrupt_type.py +16 -0
  487. arvis/kernel_core/process/__init__.py +20 -0
  488. arvis/kernel_core/process/budget.py +53 -0
  489. arvis/kernel_core/process/lifecycle/__init__.py +9 -0
  490. arvis/kernel_core/process/lifecycle/lifecycle_manager.py +84 -0
  491. arvis/kernel_core/process/lifecycle/queue_manager.py +65 -0
  492. arvis/kernel_core/process/priority.py +17 -0
  493. arvis/kernel_core/process/process.py +478 -0
  494. arvis/kernel_core/process/process_descriptor.py +25 -0
  495. arvis/kernel_core/process/process_execution_state.py +15 -0
  496. arvis/kernel_core/process/process_factory.py +64 -0
  497. arvis/kernel_core/process/process_interrupt_state.py +10 -0
  498. arvis/kernel_core/process/process_runtime_state.py +27 -0
  499. arvis/kernel_core/process/snapshot.py +36 -0
  500. arvis/kernel_core/process/transitions.py +82 -0
  501. arvis/kernel_core/process/types.py +32 -0
  502. arvis/kernel_core/state/__init__.py +0 -0
  503. arvis/kernel_core/state/scheduler_state.py +43 -0
  504. arvis/kernel_core/syscalls/__init__.py +39 -0
  505. arvis/kernel_core/syscalls/artifact.py +126 -0
  506. arvis/kernel_core/syscalls/audit_sink.py +243 -0
  507. arvis/kernel_core/syscalls/engagement.py +314 -0
  508. arvis/kernel_core/syscalls/intent_outbox.py +361 -0
  509. arvis/kernel_core/syscalls/intent_result_bijection.py +149 -0
  510. arvis/kernel_core/syscalls/service_registry.py +47 -0
  511. arvis/kernel_core/syscalls/syscall.py +29 -0
  512. arvis/kernel_core/syscalls/syscall_handler.py +1138 -0
  513. arvis/kernel_core/syscalls/syscall_registry.py +155 -0
  514. arvis/kernel_core/syscalls/syscalls/__init__.py +21 -0
  515. arvis/kernel_core/syscalls/syscalls/interrupt_syscalls.py +55 -0
  516. arvis/kernel_core/syscalls/syscalls/llm_syscalls.py +189 -0
  517. arvis/kernel_core/syscalls/syscalls/meta_syscalls.py +146 -0
  518. arvis/kernel_core/syscalls/syscalls/process_syscalls.py +132 -0
  519. arvis/kernel_core/syscalls/syscalls/tool_syscalls.py +214 -0
  520. arvis/kernel_core/syscalls/syscalls/vfs_syscalls.py +739 -0
  521. arvis/kernel_core/vfs/__init__.py +0 -0
  522. arvis/kernel_core/vfs/exceptions.py +40 -0
  523. arvis/kernel_core/vfs/models.py +27 -0
  524. arvis/kernel_core/vfs/repositories/__init__.py +7 -0
  525. arvis/kernel_core/vfs/repositories/in_memory.py +135 -0
  526. arvis/kernel_core/vfs/repository.py +54 -0
  527. arvis/kernel_core/vfs/service.py +285 -0
  528. arvis/kernel_core/vfs/tree.py +58 -0
  529. arvis/kernel_core/vfs/zip/__init__.py +0 -0
  530. arvis/kernel_core/vfs/zip/analyzer.py +97 -0
  531. arvis/kernel_core/vfs/zip/collision.py +85 -0
  532. arvis/kernel_core/vfs/zip/exceptions.py +17 -0
  533. arvis/kernel_core/vfs/zip/executor.py +148 -0
  534. arvis/kernel_core/vfs/zip/guard.py +116 -0
  535. arvis/kernel_core/vfs/zip/models.py +93 -0
  536. arvis/kernel_core/vfs/zip/plan.py +70 -0
  537. arvis/kernel_core/vfs/zip/reader.py +83 -0
  538. arvis/kernel_core/vfs/zip/service.py +148 -0
  539. arvis/knowledge/__init__.py +0 -0
  540. arvis/knowledge/knowledge_event.py +24 -0
  541. arvis/knowledge/knowledge_signal.py +45 -0
  542. arvis/knowledge/knowledge_snapshot.py +22 -0
  543. arvis/knowledge/knowledge_state.py +32 -0
  544. arvis/linguistic/__init__.py +0 -0
  545. arvis/linguistic/acts/__init__.py +0 -0
  546. arvis/linguistic/acts/act_authorization_gate.py +32 -0
  547. arvis/linguistic/acts/act_types.py +12 -0
  548. arvis/linguistic/acts/gate_mapping.py +34 -0
  549. arvis/linguistic/acts/linguistic_act.py +33 -0
  550. arvis/linguistic/acts/mode_act_policy.py +33 -0
  551. arvis/linguistic/generation/__init__.py +0 -0
  552. arvis/linguistic/generation/frame_builder.py +103 -0
  553. arvis/linguistic/generation/generation_frame.py +23 -0
  554. arvis/linguistic/generation/prompt_builder.py +53 -0
  555. arvis/linguistic/generation/retrieval_frame_adapter.py +35 -0
  556. arvis/linguistic/invariants.py +46 -0
  557. arvis/linguistic/lexicon/__init__.py +0 -0
  558. arvis/linguistic/lexicon/core/__init__.py +0 -0
  559. arvis/linguistic/lexicon/core/minimal_v0.py +57 -0
  560. arvis/linguistic/lexicon/domains/__init__.py +0 -0
  561. arvis/linguistic/lexicon/domains/finance_v0.py +27 -0
  562. arvis/linguistic/lexicon/domains/legal_v0.py +27 -0
  563. arvis/linguistic/lexicon/domains/security_v0.py +41 -0
  564. arvis/linguistic/lexicon/lexicon_entry.py +54 -0
  565. arvis/linguistic/lexicon/lexicon_snapshot.py +48 -0
  566. arvis/linguistic/lexicon/registry/__init__.py +0 -0
  567. arvis/linguistic/lexicon/registry/lexicon_registry.py +28 -0
  568. arvis/linguistic/lexicon/resolvers/__init__.py +0 -0
  569. arvis/linguistic/lexicon/resolvers/lexicon_resolver.py +58 -0
  570. arvis/linguistic/realization/__init__.py +0 -0
  571. arvis/linguistic/realization/default_templates.py +16 -0
  572. arvis/linguistic/realization/realization_service.py +22 -0
  573. arvis/math/__init__.py +41 -0
  574. arvis/math/adaptive/__init__.py +0 -0
  575. arvis/math/adaptive/adaptive_control_policy.py +90 -0
  576. arvis/math/adaptive/adaptive_kappa_eff.py +85 -0
  577. arvis/math/adaptive/adaptive_runtime_observer.py +66 -0
  578. arvis/math/adaptive/adaptive_snapshot.py +29 -0
  579. arvis/math/confidence/__init__.py +11 -0
  580. arvis/math/confidence/system_confidence.py +70 -0
  581. arvis/math/control/__init__.py +0 -0
  582. arvis/math/control/beta_adaptive.py +59 -0
  583. arvis/math/control/confidence_control.py +65 -0
  584. arvis/math/control/eps_adaptive.py +112 -0
  585. arvis/math/control/epsilon_controller.py +39 -0
  586. arvis/math/control/irg_epsilon_controller.py +201 -0
  587. arvis/math/core/__init__.py +0 -0
  588. arvis/math/core/change_budget.py +43 -0
  589. arvis/math/core/contraction_monitor_core.py +352 -0
  590. arvis/math/core/control_inertia.py +13 -0
  591. arvis/math/core/fast_dynamics.py +22 -0
  592. arvis/math/core/local_dynamics.py +65 -0
  593. arvis/math/core/normalization.py +135 -0
  594. arvis/math/core/perturbation.py +45 -0
  595. arvis/math/core/stability_certificate.py +91 -0
  596. arvis/math/decision/__init__.py +0 -0
  597. arvis/math/decision/fusion_policy.py +47 -0
  598. arvis/math/decision/multiaxial_fusion.py +106 -0
  599. arvis/math/drift/__init__.py +0 -0
  600. arvis/math/drift/drift.py +71 -0
  601. arvis/math/drift/drift_detector.py +34 -0
  602. arvis/math/gate/__init__.py +0 -0
  603. arvis/math/gate/gate_adapter.py +13 -0
  604. arvis/math/gate/gate_entry.py +10 -0
  605. arvis/math/gate/gate_fusion.py +24 -0
  606. arvis/math/gate/gate_kernel.py +142 -0
  607. arvis/math/gate/gate_policy.py +75 -0
  608. arvis/math/gate/gate_types.py +58 -0
  609. arvis/math/lyapunov/__init__.py +0 -0
  610. arvis/math/lyapunov/composite_lyapunov.py +129 -0
  611. arvis/math/lyapunov/lyapunov.py +134 -0
  612. arvis/math/lyapunov/lyapunov_gate.py +95 -0
  613. arvis/math/lyapunov/probabilistic_lyapunov.py +93 -0
  614. arvis/math/lyapunov/quadratic_lyapunov.py +111 -0
  615. arvis/math/lyapunov/quadratic_projection.py +29 -0
  616. arvis/math/lyapunov/slow_dynamics.py +17 -0
  617. arvis/math/lyapunov/slow_state.py +46 -0
  618. arvis/math/lyapunov/target_map.py +63 -0
  619. arvis/math/lyapunov/verdict_order.py +53 -0
  620. arvis/math/observability/__init__.py +15 -0
  621. arvis/math/observability/global_forecast_snapshot.py +12 -0
  622. arvis/math/observability/global_stability_snapshot.py +20 -0
  623. arvis/math/observability/multi_horizon_snapshot.py +11 -0
  624. arvis/math/observability/predictive_snapshot.py +12 -0
  625. arvis/math/observability/stability_stats_snapshot.py +11 -0
  626. arvis/math/predictive/__init__.py +0 -0
  627. arvis/math/predictive/predictive_multi_horizon.py +165 -0
  628. arvis/math/predictive/predictive_stability.py +149 -0
  629. arvis/math/predictive/trajectory_observer.py +93 -0
  630. arvis/math/projection/__init__.py +0 -0
  631. arvis/math/projection/pi_operator.py +82 -0
  632. arvis/math/projection/projection_view.py +67 -0
  633. arvis/math/risk/__init__.py +0 -0
  634. arvis/math/risk/confidence_sequence.py +233 -0
  635. arvis/math/risk/risk_bound.py +72 -0
  636. arvis/math/risk/risk_calibration.py +111 -0
  637. arvis/math/signals/__init__.py +26 -0
  638. arvis/math/signals/base.py +67 -0
  639. arvis/math/signals/coercion.py +99 -0
  640. arvis/math/signals/confidence.py +16 -0
  641. arvis/math/signals/conflict.py +59 -0
  642. arvis/math/signals/drift.py +36 -0
  643. arvis/math/signals/forecast.py +16 -0
  644. arvis/math/signals/risk.py +56 -0
  645. arvis/math/signals/stability.py +20 -0
  646. arvis/math/signals/symbolic_drift.py +16 -0
  647. arvis/math/signals/system_tension.py +35 -0
  648. arvis/math/signals/uncertainty.py +32 -0
  649. arvis/math/stability/__init__.py +0 -0
  650. arvis/math/stability/global_guard.py +52 -0
  651. arvis/math/stability/global_stability.py +125 -0
  652. arvis/math/stability/hard_block_policy.py +74 -0
  653. arvis/math/stability/hybrid_risk_observer.py +191 -0
  654. arvis/math/stability/multi_horizon_stability.py +75 -0
  655. arvis/math/stability/regime_estimator.py +78 -0
  656. arvis/math/stability/theorem.py +11 -0
  657. arvis/math/stability/validity_envelope.py +86 -0
  658. arvis/math/state/__init__.py +7 -0
  659. arvis/math/state/fast_projection.py +19 -0
  660. arvis/math/state/fast_state.py +16 -0
  661. arvis/math/state/lyapunov_projection_state.py +11 -0
  662. arvis/math/state/symbolic_state.py +18 -0
  663. arvis/math/switching/__init__.py +0 -0
  664. arvis/math/switching/global_stability_observer.py +205 -0
  665. arvis/math/switching/regime_mapper.py +24 -0
  666. arvis/math/switching/regime_state.py +21 -0
  667. arvis/math/switching/switching_params.py +46 -0
  668. arvis/math/switching/switching_runtime.py +40 -0
  669. arvis/memory/__init__.py +35 -0
  670. arvis/memory/governance.py +96 -0
  671. arvis/memory/memory_gate.py +8 -0
  672. arvis/memory/memory_intent.py +9 -0
  673. arvis/memory/memory_long_entry.py +51 -0
  674. arvis/memory/memory_long_policy_gate.py +114 -0
  675. arvis/memory/memory_long_projector.py +45 -0
  676. arvis/memory/memory_long_record.py +12 -0
  677. arvis/memory/memory_long_registry.py +76 -0
  678. arvis/memory/memory_long_repository.py +82 -0
  679. arvis/memory/memory_long_service.py +92 -0
  680. arvis/memory/memory_long_snapshot.py +32 -0
  681. arvis/py.typed +0 -0
  682. arvis/reasoning/__init__.py +20 -0
  683. arvis/reasoning/gap_to_intent_mapper.py +28 -0
  684. arvis/reasoning/reasoning_gap.py +43 -0
  685. arvis/reasoning/reasoning_intent.py +32 -0
  686. arvis/reflexive/__init__.py +0 -0
  687. arvis/reflexive/architecture/__init__.py +0 -0
  688. arvis/reflexive/architecture/arvis_system_architecture.py +45 -0
  689. arvis/reflexive/attestation/__init__.py +0 -0
  690. arvis/reflexive/attestation/reflexive_attestation.py +105 -0
  691. arvis/reflexive/capabilities/__init__.py +0 -0
  692. arvis/reflexive/capabilities/capability.py +11 -0
  693. arvis/reflexive/capabilities/capability_registry.py +34 -0
  694. arvis/reflexive/capabilities/capability_snapshot.py +28 -0
  695. arvis/reflexive/capabilities/capability_snapshot_builder.py +21 -0
  696. arvis/reflexive/compliance/__init__.py +0 -0
  697. arvis/reflexive/compliance/compliance_reflexive_attestation.py +49 -0
  698. arvis/reflexive/compliance/reflexive_compliance_chain.py +41 -0
  699. arvis/reflexive/compliance/reflexive_explanation.py +86 -0
  700. arvis/reflexive/core/__init__.py +0 -0
  701. arvis/reflexive/core/irg_latent_state.py +27 -0
  702. arvis/reflexive/core/irg_service.py +86 -0
  703. arvis/reflexive/core/reflexive_mode.py +31 -0
  704. arvis/reflexive/core/reflexive_mode_registry.py +30 -0
  705. arvis/reflexive/introspection/__init__.py +0 -0
  706. arvis/reflexive/introspection/architecture_introspector.py +30 -0
  707. arvis/reflexive/introspection/arvis_introspection_service.py +50 -0
  708. arvis/reflexive/introspection/capability_introspector.py +29 -0
  709. arvis/reflexive/introspection/cognition_introspector.py +29 -0
  710. arvis/reflexive/introspection/counterfactual_introspector.py +25 -0
  711. arvis/reflexive/introspection/decision_introspector.py +30 -0
  712. arvis/reflexive/introspection/math_introspector.py +47 -0
  713. arvis/reflexive/introspection/runtime_introspector.py +11 -0
  714. arvis/reflexive/introspection/uncertainty_introspector.py +30 -0
  715. arvis/reflexive/introspection/world_model_introspector.py +36 -0
  716. arvis/reflexive/rendering/__init__.py +0 -0
  717. arvis/reflexive/rendering/reflexive_render_profile.py +25 -0
  718. arvis/reflexive/rendering/reflexive_render_registry.py +63 -0
  719. arvis/reflexive/rendering/reflexive_renderer.py +27 -0
  720. arvis/reflexive/snapshot/__init__.py +0 -0
  721. arvis/reflexive/snapshot/reflexive_snapshot.py +69 -0
  722. arvis/reflexive/snapshot/reflexive_snapshot_builder.py +64 -0
  723. arvis/reflexive/snapshot/reflexive_snapshot_service.py +62 -0
  724. arvis/reflexive/timeline/__init__.py +0 -0
  725. arvis/reflexive/timeline/aggregation/__init__.py +0 -0
  726. arvis/reflexive/timeline/aggregation/irg_timeline_insight_aggregate.py +27 -0
  727. arvis/reflexive/timeline/aggregation/irg_timeline_insight_aggregator.py +58 -0
  728. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_aggregator.py +35 -0
  729. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_comparator.py +59 -0
  730. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_diff.py +30 -0
  731. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_memory.py +54 -0
  732. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_memory_view.py +20 -0
  733. arvis/reflexive/timeline/aggregation/irg_timeline_temporal_snapshot.py +24 -0
  734. arvis/reflexive/timeline/explanation/__init__.py +7 -0
  735. arvis/reflexive/timeline/explanation/irg_timeline_explanation.py +21 -0
  736. arvis/reflexive/timeline/explanation/irg_timeline_explanation_builder.py +62 -0
  737. arvis/reflexive/timeline/explanation/reflexive_timeline_exposure_explanation.py +57 -0
  738. arvis/reflexive/timeline/insight/__init__.py +0 -0
  739. arvis/reflexive/timeline/insight/irg_timeline_insight.py +34 -0
  740. arvis/reflexive/timeline/insight/irg_timeline_insight_builder.py +47 -0
  741. arvis/reflexive/timeline/irg_timeline_mapper.py +26 -0
  742. arvis/reflexive/timeline/irg_timeline_view.py +35 -0
  743. arvis/runtime/__init__.py +12 -0
  744. arvis/runtime/cognitive_process.py +29 -0
  745. arvis/runtime/cognitive_runtime_state.py +148 -0
  746. arvis/runtime/cognitive_scheduler.py +494 -0
  747. arvis/runtime/cognitive_state.py +40 -0
  748. arvis/runtime/invariants/__init__.py +5 -0
  749. arvis/runtime/invariants/scheduler_invariants.py +52 -0
  750. arvis/runtime/pipeline_executor.py +150 -0
  751. arvis/runtime/process_hooks.py +136 -0
  752. arvis/runtime/resource_model.py +49 -0
  753. arvis/runtime/runtime_decision_record.py +62 -0
  754. arvis/runtime/runtime_snapshot.py +24 -0
  755. arvis/runtime/runtime_snapshot_builder.py +73 -0
  756. arvis/runtime/scheduler_decision.py +24 -0
  757. arvis/signals/__init__.py +0 -0
  758. arvis/signals/canonical/__init__.py +22 -0
  759. arvis/signals/canonical/canonical_signal.py +32 -0
  760. arvis/signals/canonical/canonical_signal_category.py +15 -0
  761. arvis/signals/canonical/canonical_signal_invariants.py +17 -0
  762. arvis/signals/canonical/canonical_signal_key.py +15 -0
  763. arvis/signals/canonical/canonical_signal_registry.py +75 -0
  764. arvis/signals/canonical/canonical_signal_spec.py +50 -0
  765. arvis/signals/canonical/specs/__init__.py +2 -0
  766. arvis/signals/canonical/specs/decision.py +72 -0
  767. arvis/signals/canonical/specs/memory_long.py +11 -0
  768. arvis/signals/canonical/specs/risk.py +62 -0
  769. arvis/signals/canonical/specs/timeline.py +41 -0
  770. arvis/signals/canonical/specs/validation.py +72 -0
  771. arvis/signals/signal.py +125 -0
  772. arvis/signals/signal_event.py +63 -0
  773. arvis/signals/signal_invariants.py +40 -0
  774. arvis/signals/signal_journal.py +102 -0
  775. arvis/stability/__init__.py +20 -0
  776. arvis/stability/global_forecast_snapshot.py +20 -0
  777. arvis/stability/multi_horizon_snapshot.py +11 -0
  778. arvis/stability/predictive_snapshot.py +12 -0
  779. arvis/stability/stability_observer.py +29 -0
  780. arvis/stability/stability_snapshot.py +63 -0
  781. arvis/stability/stability_state_projector.py +89 -0
  782. arvis/stability/stability_statistics.py +62 -0
  783. arvis/telemetry/__init__.py +39 -0
  784. arvis/telemetry/adapters/__init__.py +83 -0
  785. arvis/telemetry/adapters/core.py +64 -0
  786. arvis/telemetry/adapters/errors.py +132 -0
  787. arvis/telemetry/adapters/forecast.py +40 -0
  788. arvis/telemetry/adapters/multi.py +38 -0
  789. arvis/telemetry/adapters/predictive.py +40 -0
  790. arvis/telemetry/adapters/stability.py +51 -0
  791. arvis/telemetry/adapters/stats.py +38 -0
  792. arvis/telemetry/adapters/symbolic_drift.py +44 -0
  793. arvis/telemetry/adapters/symbolic_features.py +47 -0
  794. arvis/telemetry/adapters/symbolic_state.py +46 -0
  795. arvis/telemetry/adapters/tension.py +41 -0
  796. arvis/telemetry/event.py +149 -0
  797. arvis/telemetry/redaction.py +32 -0
  798. arvis/telemetry/sink.py +74 -0
  799. arvis/telemetry/types.py +12 -0
  800. arvis/timeline/__init__.py +21 -0
  801. arvis/timeline/timeline_commitment.py +116 -0
  802. arvis/timeline/timeline_consistency_validator.py +35 -0
  803. arvis/timeline/timeline_cursor.py +78 -0
  804. arvis/timeline/timeline_delta.py +215 -0
  805. arvis/timeline/timeline_entry.py +164 -0
  806. arvis/timeline/timeline_hashchain.py +98 -0
  807. arvis/timeline/timeline_snapshot.py +81 -0
  808. arvis/timeline/timeline_types.py +55 -0
  809. arvis/timeline/timeline_view.py +57 -0
  810. arvis/timeline/timeline_view_types.py +22 -0
  811. arvis/timeline/timeline_window.py +61 -0
  812. arvis/tools/__init__.py +0 -0
  813. arvis/tools/authorization_service.py +294 -0
  814. arvis/tools/authorized_invocation.py +446 -0
  815. arvis/tools/base.py +59 -0
  816. arvis/tools/confirmation.py +472 -0
  817. arvis/tools/effect_context.py +154 -0
  818. arvis/tools/effect_dispatcher.py +254 -0
  819. arvis/tools/executor.py +134 -0
  820. arvis/tools/manager.py +564 -0
  821. arvis/tools/registry.py +168 -0
  822. arvis/tools/retry_policy.py +54 -0
  823. arvis/tools/runtime/__init__.py +8 -0
  824. arvis/tools/runtime/runtime_bindings.py +22 -0
  825. arvis/tools/spec.py +64 -0
  826. arvis/tools/tool_result.py +93 -0
  827. arvis/tools/tool_schema.py +22 -0
  828. arvis/types/__init__.py +10 -0
  829. arvis/types/identifiers.py +20 -0
  830. arvis/types/time.py +50 -0
  831. arvis/types/timestamps.py +7 -0
  832. arvis/uncertainty/__init__.py +17 -0
  833. arvis/uncertainty/uncertainty_axis.py +20 -0
  834. arvis/uncertainty/uncertainty_frame.py +24 -0
  835. arvis/uncertainty/uncertainty_frame_registry.py +51 -0
  836. arvis/uncertainty/uncertainty_inference.py +114 -0
  837. arvis/uncertainty/uncertainty_to_intent_mapper.py +69 -0
  838. arvis-0.1.0a12.dist-info/METADATA +454 -0
  839. arvis-0.1.0a12.dist-info/RECORD +844 -0
  840. arvis-0.1.0a12.dist-info/WHEEL +5 -0
  841. arvis-0.1.0a12.dist-info/licenses/AUTHORS_NOTE.md +29 -0
  842. arvis-0.1.0a12.dist-info/licenses/LICENSE +172 -0
  843. arvis-0.1.0a12.dist-info/licenses/NOTICE +6 -0
  844. arvis-0.1.0a12.dist-info/top_level.txt +1 -0
arvis/__init__.py ADDED
@@ -0,0 +1,24 @@
1
+ # arvis/__init__.py
2
+ """
3
+ Top-level public API.
4
+
5
+ Only stable high-level entrypoints are exposed here.
6
+ """
7
+
8
+ from .api.audit import AuditCommitmentPolicy
9
+ from .api.engine import ArvisEngine
10
+ from .api.os import CognitiveOS, CognitiveOSConfig
11
+ from .api.runtime_controls import TrustedRuntimeControls
12
+ from .api.runtime_mode import RuntimeMode
13
+ from .api.version import PACKAGE_VERSION
14
+
15
+ __version__ = PACKAGE_VERSION
16
+
17
+ __all__ = [
18
+ "ArvisEngine",
19
+ "AuditCommitmentPolicy",
20
+ "CognitiveOS",
21
+ "CognitiveOSConfig",
22
+ "RuntimeMode",
23
+ "TrustedRuntimeControls",
24
+ ]
@@ -0,0 +1,13 @@
1
+ # arvis/action/__init__.py
2
+
3
+ from .action_context import ActionContext
4
+ from .action_decision import ActionDecision
5
+ from .action_mode import ActionMode
6
+ from .action_template import ActionTemplate
7
+
8
+ __all__ = [
9
+ "ActionContext",
10
+ "ActionDecision",
11
+ "ActionMode",
12
+ "ActionTemplate",
13
+ ]
@@ -0,0 +1,18 @@
1
+ # arvis/action/action_context.py
2
+
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(frozen=True)
7
+ class ActionContext:
8
+ """
9
+ Minimal kernel-safe action context.
10
+
11
+ Kernel invariants:
12
+ - immutable
13
+ - no backend dependency
14
+ - no place/control coupling
15
+ """
16
+
17
+ user_id: str
18
+ responsibility_mode: str = "standard"
@@ -0,0 +1,26 @@
1
+ # arvis/action/action_decision.py
2
+
3
+ from dataclasses import dataclass
4
+ from typing import Any
5
+
6
+ from .action_mode import ActionMode
7
+
8
+
9
+ @dataclass(frozen=True)
10
+ class ActionDecision:
11
+ """
12
+ Declarative result of evaluating an action.
13
+
14
+ Kernel invariants:
15
+ - immutable
16
+ - no execution
17
+ - explicit decision surface
18
+ """
19
+
20
+ allowed: bool
21
+ requires_user_validation: bool = False
22
+ denied_reason: str | None = None
23
+ audit_required: bool = False
24
+ tool: str | None = None
25
+ tool_payload: dict[str, Any] | None = None
26
+ action_mode: ActionMode = ActionMode.ASSISTED
@@ -0,0 +1,97 @@
1
+ # arvis/action/action_evaluator.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from arvis.action.action_context import ActionContext
8
+ from arvis.math.signals import RiskSignal
9
+
10
+ from .action_decision import ActionDecision
11
+ from .action_mapper import map_verdict_to_action
12
+ from .action_template import ActionTemplate
13
+
14
+
15
+ def evaluate_action(
16
+ verdict: Any,
17
+ template: ActionTemplate,
18
+ risk: RiskSignal,
19
+ context: ActionContext | None = None,
20
+ ) -> ActionDecision:
21
+ """
22
+ Context-aware action evaluation.
23
+
24
+ Combines:
25
+ - cognitive verdict
26
+ - action capabilities
27
+ - system risk
28
+
29
+ Kernel invariants:
30
+ - deterministic
31
+ - no side effects
32
+ - no external dependencies
33
+ """
34
+
35
+ base_decision = map_verdict_to_action(verdict)
36
+
37
+ # --------------------------------------------------
38
+ # Risk overrides
39
+ # --------------------------------------------------
40
+
41
+ # High risk + destructive action → block
42
+ if float(risk) > 0.7 and template.writes_data:
43
+ return ActionDecision(
44
+ allowed=False,
45
+ requires_user_validation=False,
46
+ denied_reason="high_risk_write_block",
47
+ audit_required=True,
48
+ action_mode=base_decision.action_mode,
49
+ )
50
+
51
+ # External trigger + medium risk → require validation
52
+ if float(risk) > 0.4 and template.triggers_external:
53
+ return ActionDecision(
54
+ allowed=True,
55
+ requires_user_validation=True,
56
+ denied_reason=None,
57
+ audit_required=True,
58
+ action_mode=base_decision.action_mode,
59
+ )
60
+
61
+ # Irreversible + any risk → require validation
62
+ if not template.reversible and float(risk) > 0.2:
63
+ return ActionDecision(
64
+ allowed=True,
65
+ requires_user_validation=True,
66
+ denied_reason=None,
67
+ audit_required=True,
68
+ action_mode=base_decision.action_mode,
69
+ )
70
+
71
+ # --------------------------------------------------
72
+ # Context overrides (user responsibility)
73
+ # --------------------------------------------------
74
+
75
+ if context is not None:
76
+ # Strict mode → force validation
77
+ if context.responsibility_mode == "strict":
78
+ return ActionDecision(
79
+ allowed=base_decision.allowed,
80
+ requires_user_validation=True,
81
+ denied_reason=base_decision.denied_reason,
82
+ audit_required=True,
83
+ action_mode=base_decision.action_mode,
84
+ )
85
+
86
+ # Autonomous mode → reduce friction (safe only)
87
+ if context.responsibility_mode == "autonomous":
88
+ if base_decision.allowed and float(risk) < 0.3:
89
+ return ActionDecision(
90
+ allowed=True,
91
+ requires_user_validation=False,
92
+ denied_reason=None,
93
+ audit_required=False,
94
+ action_mode=base_decision.action_mode,
95
+ )
96
+
97
+ return base_decision
@@ -0,0 +1,47 @@
1
+ # arvis/action/action_mapper.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from arvis.math.lyapunov.lyapunov_gate import LyapunovVerdict
6
+
7
+ from .action_decision import ActionDecision
8
+ from .action_mode import ActionMode
9
+
10
+
11
+ def map_verdict_to_action(verdict: LyapunovVerdict) -> ActionDecision:
12
+ """
13
+ Pure mapping from cognitive verdict → action decision.
14
+
15
+ Kernel invariants:
16
+ - no side effects
17
+ - deterministic
18
+ - no external dependency
19
+ - no pipeline coupling
20
+ """
21
+
22
+ if verdict == LyapunovVerdict.ABSTAIN:
23
+ return ActionDecision(
24
+ allowed=False,
25
+ requires_user_validation=False,
26
+ denied_reason="stability_guard",
27
+ audit_required=True,
28
+ action_mode=ActionMode.MANUAL,
29
+ )
30
+
31
+ if verdict == LyapunovVerdict.REQUIRE_CONFIRMATION:
32
+ return ActionDecision(
33
+ allowed=True,
34
+ requires_user_validation=True,
35
+ denied_reason=None,
36
+ audit_required=True,
37
+ action_mode=ActionMode.ASSISTED,
38
+ )
39
+
40
+ # ALLOW
41
+ return ActionDecision(
42
+ allowed=True,
43
+ requires_user_validation=False,
44
+ denied_reason=None,
45
+ audit_required=False,
46
+ action_mode=ActionMode.AUTOMATIC,
47
+ )
@@ -0,0 +1,17 @@
1
+ # arvis/action/action_mode.py
2
+
3
+ from enum import StrEnum
4
+
5
+
6
+ class ActionMode(StrEnum):
7
+ """
8
+ Describes how an action is initiated and validated.
9
+
10
+ Kernel invariant:
11
+ - declarative only
12
+ """
13
+
14
+ MANUAL = "manual"
15
+ ASSISTED = "assisted"
16
+ AUTOMATIC = "automatic"
17
+ BLOCKED = "blocked"
@@ -0,0 +1,61 @@
1
+ # arvis/action/action_policy.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+
7
+ from arvis.action.action_decision import ActionDecision
8
+ from arvis.action.action_mode import ActionMode
9
+ from arvis.math.signals import RiskSignal
10
+
11
+
12
+ @dataclass(frozen=True)
13
+ class ActionPolicy:
14
+ """
15
+ Global policy layer (system-level constraints)
16
+
17
+ ZKCS-safe:
18
+ - deterministic
19
+ - no external calls
20
+ """
21
+
22
+ max_risk_threshold: float = 0.85
23
+ require_audit_above: float = 0.6
24
+
25
+ def apply(
26
+ self,
27
+ decision: ActionDecision,
28
+ risk: RiskSignal,
29
+ ) -> ActionDecision:
30
+ # --------------------------------------------------
31
+ # 1. Hard block (system safety)
32
+ # --------------------------------------------------
33
+ if float(risk) >= self.max_risk_threshold:
34
+ return ActionDecision(
35
+ allowed=False,
36
+ requires_user_validation=False,
37
+ denied_reason="policy_risk_threshold",
38
+ audit_required=True,
39
+ tool=decision.tool,
40
+ tool_payload=decision.tool_payload,
41
+ action_mode=ActionMode.BLOCKED,
42
+ )
43
+
44
+ # --------------------------------------------------
45
+ # 2. Force audit
46
+ # --------------------------------------------------
47
+ if float(risk) >= self.require_audit_above:
48
+ return ActionDecision(
49
+ allowed=decision.allowed,
50
+ requires_user_validation=decision.requires_user_validation,
51
+ denied_reason=decision.denied_reason,
52
+ audit_required=True,
53
+ tool=decision.tool,
54
+ tool_payload=decision.tool_payload,
55
+ action_mode=decision.action_mode,
56
+ )
57
+
58
+ # --------------------------------------------------
59
+ # 3. passthrough
60
+ # --------------------------------------------------
61
+ return decision
@@ -0,0 +1,34 @@
1
+ # arvis/action/action_resolver.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from arvis.action.action_template import ActionTemplate
8
+
9
+
10
+ def resolve_action(decision_result: Any) -> ActionTemplate:
11
+ """
12
+ Resolve an ActionTemplate from a cognitive decision.
13
+
14
+ Kernel invariants:
15
+ - deterministic
16
+ - no side effects
17
+ - no external dependency
18
+ - no pipeline coupling
19
+ """
20
+
21
+ # Minimal v1 strategy:
22
+ # fallback to generic safe action
23
+
24
+ # You can branch later on decision_result.reason, intent, etc.
25
+
26
+ return ActionTemplate(
27
+ action_id="default_read",
28
+ description="default safe read action",
29
+ reads_data=True,
30
+ writes_data=False,
31
+ triggers_external=False,
32
+ risk_level="low",
33
+ reversible=True,
34
+ )
@@ -0,0 +1,28 @@
1
+ # arvis/action/action_template.py
2
+
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(frozen=True)
7
+ class ActionTemplate:
8
+ """
9
+ Declarative description of a possible action.
10
+
11
+ Kernel invariants:
12
+ - immutable
13
+ - no execution
14
+ - no side effects
15
+ - capability description only
16
+ """
17
+
18
+ action_id: str
19
+ description: str
20
+
21
+ reads_data: bool = False
22
+ writes_data: bool = False
23
+ triggers_external: bool = False
24
+
25
+ risk_level: str = "low"
26
+ reversible: bool = True
27
+
28
+ user_facing_label: str | None = None
@@ -0,0 +1,10 @@
1
+ # arvis/adapters/__init__.py
2
+ """
3
+ ARVIS adapters package.
4
+ """
5
+
6
+ from .registry import get_llm_adapter
7
+
8
+ __all__ = [
9
+ "get_llm_adapter",
10
+ ]
File without changes
@@ -0,0 +1,20 @@
1
+ # arvis/adapters/ir/adaptive_adapter.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+
8
+ class AdaptiveIRAdapter:
9
+ @staticmethod
10
+ def from_adaptive(snapshot: Any) -> dict[str, Any] | None:
11
+ if snapshot is None:
12
+ return None
13
+
14
+ return {
15
+ "schema_version": "v1",
16
+ "available": True,
17
+ "stability_band": getattr(snapshot, "band", None),
18
+ "veto": bool(getattr(snapshot, "is_unstable", False)),
19
+ "margin": getattr(snapshot, "margin", None),
20
+ }
@@ -0,0 +1,50 @@
1
+ # arvis/adapters/ir/cognitive_ir_builder.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from arvis.ir.cognitive_ir import CognitiveIR
8
+
9
+
10
+ class CognitiveIRBuilder:
11
+ @staticmethod
12
+ def from_context(ctx: Any) -> CognitiveIR:
13
+ """
14
+ Build canonical IR from pipeline context.
15
+
16
+ Pure projection:
17
+ - no logic
18
+ - no mutation
19
+ - no side effects
20
+ """
21
+
22
+ tool_results: list[dict[str, Any]] | None = None
23
+
24
+ extra = getattr(ctx, "extra", None)
25
+ if isinstance(extra, dict):
26
+ results = extra.get("tool_results", [])
27
+ if results:
28
+ tool_results = [
29
+ {
30
+ "tool_name": r.tool_name,
31
+ "success": r.success,
32
+ "output": r.output,
33
+ "error": r.error,
34
+ "latency_ms": getattr(r, "latency_ms", None),
35
+ }
36
+ for r in results
37
+ ]
38
+
39
+ return CognitiveIR(
40
+ input=getattr(ctx, "ir_input", None),
41
+ context=getattr(ctx, "ir_context", None),
42
+ decision=getattr(ctx, "ir_decision", None),
43
+ state=getattr(ctx, "ir_state", None),
44
+ gate=getattr(ctx, "ir_gate", None),
45
+ projection=getattr(ctx, "ir_projection", None),
46
+ validity=getattr(ctx, "ir_validity", None),
47
+ stability=getattr(ctx, "ir_stability", None),
48
+ adaptive=getattr(ctx, "ir_adaptive", None),
49
+ tools=tool_results,
50
+ )
@@ -0,0 +1,154 @@
1
+ # arvis/adapters/ir/decision_adapter.py
2
+
3
+ from __future__ import annotations
4
+
5
+ from hashlib import sha256
6
+ from json import dumps
7
+ from typing import Any
8
+
9
+ from arvis.ir.decision import (
10
+ CognitiveActionIR,
11
+ CognitiveConflictIR,
12
+ CognitiveDecisionIR,
13
+ CognitiveGapIR,
14
+ CognitiveKnowledgeIR,
15
+ CognitiveUncertaintyIR,
16
+ )
17
+
18
+
19
+ def _hash(payload: dict[str, Any]) -> str:
20
+ return sha256(dumps(payload, sort_keys=True, default=str).encode()).hexdigest()
21
+
22
+
23
+ def _string_value(value: object | None, default: str = "") -> str:
24
+ if value is None:
25
+ return default
26
+ enum_value = getattr(value, "value", None)
27
+ if isinstance(enum_value, str):
28
+ return enum_value
29
+ return str(value)
30
+
31
+
32
+ def _normalize_reason_codes(value: object | None) -> tuple[str, ...]:
33
+ if value is None:
34
+ return ()
35
+ if isinstance(value, (list, tuple)):
36
+ return tuple(str(x).strip() for x in value if str(x).strip())
37
+ raw = str(value)
38
+ return tuple(part.strip() for part in raw.split("|") if part.strip())
39
+
40
+
41
+ class DecisionIRAdapter:
42
+ @staticmethod
43
+ def from_result(result: object) -> CognitiveDecisionIR:
44
+ reason_codes = _normalize_reason_codes(
45
+ getattr(result, "reason_codes", None) or getattr(result, "reason", None)
46
+ )
47
+
48
+ actions = tuple(
49
+ CognitiveActionIR(
50
+ action_id=str(getattr(a, "action_id", "unknown")),
51
+ category=str(getattr(a, "category", "unknown")),
52
+ severity=DecisionIRAdapter._severity(a),
53
+ requires_confirmation=DecisionIRAdapter._severity(a) != "safe",
54
+ parameters=getattr(a, "parameters", {}) or {},
55
+ )
56
+ for a in (getattr(result, "proposed_actions", []) or [])
57
+ )
58
+
59
+ gaps = tuple(
60
+ CognitiveGapIR(
61
+ gap_type=_string_value(getattr(g, "type", None), "unknown"),
62
+ severity=_string_value(getattr(g, "severity", None), "medium"),
63
+ description=str(getattr(g, "description", "")),
64
+ )
65
+ for g in (getattr(result, "gaps", []) or [])
66
+ )
67
+
68
+ conflicts = tuple(
69
+ CognitiveConflictIR(
70
+ conflict_type=_string_value(getattr(c, "type", None), "unknown"),
71
+ severity=_string_value(getattr(c, "severity", None), "high"),
72
+ description=str(getattr(c, "description", "")),
73
+ resolvable_by_confirmation=bool(
74
+ getattr(c, "resolvable_by_confirmation", True)
75
+ ),
76
+ )
77
+ for c in (getattr(result, "conflicts", []) or [])
78
+ )
79
+
80
+ knowledge_snapshot = getattr(result, "knowledge_snapshot", None)
81
+ knowledge = None
82
+ if knowledge_snapshot is not None:
83
+ knowledge = CognitiveKnowledgeIR(
84
+ state=_string_value(
85
+ getattr(knowledge_snapshot, "state", None), "unknown"
86
+ ).lower(),
87
+ support_level=getattr(knowledge_snapshot, "support_level", None),
88
+ )
89
+
90
+ uncertainty = tuple(
91
+ CognitiveUncertaintyIR(
92
+ axis=_string_value(getattr(u, "axis", None), "epistemic"),
93
+ level=float(getattr(u, "level", 0.5)),
94
+ explanation=getattr(u, "explanation", None),
95
+ )
96
+ for u in (getattr(result, "uncertainty_frames", []) or [])
97
+ )
98
+
99
+ memory_intent = _string_value(
100
+ getattr(result, "memory_intent", None), "none"
101
+ ).lower()
102
+
103
+ payload = {
104
+ "reason_codes": reason_codes,
105
+ "memory_intent": memory_intent,
106
+ "actions": [a.action_id for a in actions],
107
+ "gaps": [g.gap_type for g in gaps],
108
+ "conflicts": [c.conflict_type for c in conflicts],
109
+ }
110
+
111
+ return CognitiveDecisionIR(
112
+ decision_id=_hash(payload),
113
+ decision_kind=DecisionIRAdapter._kind(reason_codes, memory_intent),
114
+ memory_intent=memory_intent,
115
+ reason_codes=reason_codes,
116
+ proposed_actions=actions,
117
+ gaps=gaps,
118
+ conflicts=conflicts,
119
+ reasoning_intents=tuple(
120
+ _string_value(x)
121
+ for x in (getattr(result, "reasoning_intents", []) or [])
122
+ ),
123
+ uncertainty_frames=uncertainty,
124
+ knowledge=knowledge,
125
+ context_hints=getattr(result, "context_hints", {}) or {},
126
+ )
127
+
128
+ @staticmethod
129
+ def _kind(reason_codes: tuple[str, ...], memory_intent: str) -> str:
130
+ tokens = set(reason_codes)
131
+
132
+ if "action_request" in tokens:
133
+ return "action"
134
+ if "search_user_files" in tokens:
135
+ return "action"
136
+ if memory_intent not in {"", "none"}:
137
+ return "memory"
138
+ if "conversation" in tokens:
139
+ return "conversational"
140
+ if "search" in tokens or "informational_query" in tokens:
141
+ return "informational"
142
+ if "meta_query" in tokens:
143
+ return "meta"
144
+ return "unknown"
145
+
146
+ @staticmethod
147
+ def _severity(action: object) -> str:
148
+ action_id = str(getattr(action, "action_id", ""))
149
+
150
+ if action_id in {"search_user_files", "retrieve", "summarize"}:
151
+ return "safe"
152
+ if action_id == "memory_store":
153
+ return "confirm"
154
+ return "confirm"