Build the [`ChildRunContext`](crate::child_run::ChildRunContext) that orchestrated / delegated child runs inherit from this session. Mirrors the context the model-driven `task` / `parallel_task` path installs (see `register_task_capability` in `agent_api/capabilities.rs`) so a step run through [`agent_executor`](Self::agent_executor) carries the SAME governance — security provider, skill restrict
(&self)
| 1042 | /// authority. Sourced from the session's resolved config; `hook_engine` |
| 1043 | /// stays `None` to match the model-driven path. |
| 1044 | pub(crate) fn parent_run_context(&self) -> crate::child_run::ChildRunContext { |
| 1045 | crate::child_run::ChildRunContext { |
| 1046 | security_provider: self.config.security_provider.clone(), |
| 1047 | hook_engine: None, |
| 1048 | skill_registry: self.config.skill_registry.clone(), |
| 1049 | tool_timeout_ms: self.config.tool_timeout_ms, |
| 1050 | max_parallel_tasks: Some(self.config.max_parallel_tasks), |
| 1051 | max_execution_time_ms: self.config.max_execution_time_ms, |
| 1052 | circuit_breaker_threshold: Some(self.config.circuit_breaker_threshold), |
| 1053 | confirmation_manager: self.config.confirmation_manager.clone(), |
| 1054 | workspace_services: Some(Arc::clone(&self.tool_context.workspace_services)), |
| 1055 | budget_guard: self.config.budget_guard.clone(), |
| 1056 | } |
| 1057 | } |
| 1058 | |
| 1059 | /// The session's persistence store, if one is configured — needed by the |
| 1060 | /// resumable orchestration combinator to journal workflow progress. |