Skip to main content

OrchestrationRepository

Trait OrchestrationRepository 

Source
pub trait OrchestrationRepository: Send + Sync {
Show 33 methods // Required methods fn insert_orchestration<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, controller_session_id: &'life1 str, status: &'life2 str, max_parallelism: i64, ) -> Pin<Box<dyn Future<Output = Result<i64, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn upsert_orchestration_task<'life0, 'async_trait>( &'life0 self, task: PersistedOrchestrationTask, ) -> Pin<Box<dyn Future<Output = Result<i64, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_orchestration_for_controller<'life0, 'life1, 'async_trait>( &'life0 self, controller_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<SessionOrchestrationRow>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn load_active_orchestrations<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationRow>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_recoverable_focused_review_session_ids<'life0, 'async_trait>( &'life0 self, project_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_session_metadata_for_project<'life0, 'async_trait>( &'life0 self, project_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationMetadataRow>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_orchestration_tasks<'life0, 'async_trait>( &'life0 self, session_orchestration_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationTaskRow>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_orchestration_integration_approach<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<String, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_orchestration_task_scope_for_child<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<OrchestrationTaskScopeRow>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn load_child_session_id_for_task<'life0, 'async_trait>( &'life0 self, task_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn begin_orchestration_cancellation<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn claim_orchestration_task<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn claim_orchestration_review_application<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, prompt: &'life1 str, iteration_limit: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn claim_orchestration_rollup<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn complete_orchestration_rollup<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn record_orchestration_verdict<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: i64, task_key: &'life1 str, is_pass: bool, reason: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn complete_orchestration_campaign<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn load_rollup_operation_status<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_orchestration_status<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, status: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn approve_orchestration_plan<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn approve_orchestration_integration<'life0, 'async_trait>( &'life0 self, id: i64, approach: IntegrationApproach, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_orchestration_plan<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, goal_statement: &'life1 str, max_parallelism: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn queue_orchestration_continuation<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, id: i64, prompt: &'life1 str, acceptance_criteria: &'life2 str, touched_areas: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait; fn reset_orchestration_verification<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn record_orchestration_spawn_failure<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, error: &'life1 str, retry_limit: i64, ) -> Pin<Box<dyn Future<Output = Result<String, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn detach_orchestration_child<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn surface_orchestration_questions<'life0, 'life1, 'async_trait>( &'life0 self, session_orchestration_id: i64, task_id: i64, questions: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn clear_orchestration_questions<'life0, 'async_trait>( &'life0 self, session_orchestration_id: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn link_orchestration_task_child<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_orchestration_task_status<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, status: &'life1 str, last_error: Option<String>, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_orchestration_task_result_summary<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, result_summary: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_orchestration_task_research_report<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, research_report: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_orchestration_task_area_compliance<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, areas_compliant: Option<bool>, area_violations: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait;
}
Expand description

Orchestration persistence boundary used by the coordinator and tests.

The coordinator owns its own pool through this trait so reconciliation reads never contend with the foreground session-runtime mailbox.

Required Methods§

Source

fn insert_orchestration<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, controller_session_id: &'life1 str, status: &'life2 str, max_parallelism: i64, ) -> Pin<Box<dyn Future<Output = Result<i64, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Inserts one orchestration and returns its stable identifier.

Source

fn upsert_orchestration_task<'life0, 'async_trait>( &'life0 self, task: PersistedOrchestrationTask, ) -> Pin<Box<dyn Future<Output = Result<i64, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Inserts one planned task, replacing any previous attempt that used the same task_key within the same orchestration.

Re-proposing a task key preserves the existing row identity and its attempt_count, so a retry updates the plan in place instead of fanning out a duplicate child. The retry transaction detaches both persisted directions of any prior child link before replacement creation.

Source

fn load_orchestration_for_controller<'life0, 'life1, 'async_trait>( &'life0 self, controller_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<SessionOrchestrationRow>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads the most recent orchestration owned by one controller session.

Source

fn load_active_orchestrations<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationRow>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads every orchestration whose persisted status is still active.

Source

fn load_recoverable_focused_review_session_ids<'life0, 'async_trait>( &'life0 self, project_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads managed Reviewing sessions whose incomplete focused-review state must be regenerated during app startup.

Source

fn load_session_metadata_for_project<'life0, 'async_trait>( &'life0 self, project_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationMetadataRow>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads controller progress and child adjacency for one project’s sessions in a single query.

Source

fn load_orchestration_tasks<'life0, 'async_trait>( &'life0 self, session_orchestration_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Vec<SessionOrchestrationTaskRow>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads all tasks belonging to one orchestration in stable plan order.

Source

fn load_orchestration_integration_approach<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<String, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads the destination selected for verified child branches.

Source

fn load_orchestration_task_scope_for_child<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<OrchestrationTaskScopeRow>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads the declared task scope linked to one managed child.

Source

fn load_child_session_id_for_task<'life0, 'async_trait>( &'life0 self, task_id: i64, ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads a child session already persisted for one orchestration task.

Source

fn begin_orchestration_cancellation<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Atomically blocks new fan-out before cascade cancellation begins.

Source

fn claim_orchestration_task<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Atomically claims one planned task while its orchestration is running.

Source

fn claim_orchestration_review_application<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, prompt: &'life1 str, iteration_limit: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Atomically claims one focused-review remediation turn and clears the consumed child review cache.

Source

fn claim_orchestration_rollup<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Atomically claims roll-up submission for one running orchestration.

Source

fn complete_orchestration_rollup<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Completes a submitted roll-up unless cancellation won the state race.

Source

fn record_orchestration_verdict<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: i64, task_key: &'life1 str, is_pass: bool, reason: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Persists one explicit controller verdict for a settled task.

Source

fn complete_orchestration_campaign<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Archives a finalized campaign and makes its controller terminal.

Source

fn load_rollup_operation_status<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads the durable worker-operation status for one roll-up delivery.

Source

fn update_orchestration_status<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, status: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Updates one orchestration’s persisted status.

Source

fn approve_orchestration_plan<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Approves parked proposed tasks and resumes campaign execution.

Source

fn approve_orchestration_integration<'life0, 'async_trait>( &'life0 self, id: i64, approach: IntegrationApproach, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Persists the selected integration destination and starts integration.

Source

fn update_orchestration_plan<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, goal_statement: &'life1 str, max_parallelism: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Updates plan metadata before fan-out begins.

Source

fn queue_orchestration_continuation<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, id: i64, prompt: &'life1 str, acceptance_criteria: &'life2 str, touched_areas: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Routes feedback to a live managed child without replacing its branch.

Source

fn reset_orchestration_verification<'life0, 'async_trait>( &'life0 self, id: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns previously verified tasks to fan-in before a follow-up wave.

Source

fn record_orchestration_spawn_failure<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, error: &'life1 str, retry_limit: i64, ) -> Pin<Box<dyn Future<Output = Result<String, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Records one infrastructure failure and returns the next task status.

Source

fn detach_orchestration_child<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Permanently transfers one managed child to ordinary user ownership.

Source

fn surface_orchestration_questions<'life0, 'life1, 'async_trait>( &'life0 self, session_orchestration_id: i64, task_id: i64, questions: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<bool, DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Claims one managed task’s questions and mirrors them onto its controller.

Source

fn clear_orchestration_questions<'life0, 'async_trait>( &'life0 self, session_orchestration_id: i64, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Clears the exact question proxy claimed by one orchestration.

Links one child and counts the attempt only while fan-out still owns it.

Source

fn update_orchestration_task_status<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, status: &'life1 str, last_error: Option<String>, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Updates one task’s status and failure detail.

Source

fn update_orchestration_task_result_summary<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, result_summary: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Records one child’s bounded result summary for fan-in.

Source

fn update_orchestration_task_research_report<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, research_report: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Records one research child’s bounded report before its temporary worktree is discarded.

Source

fn update_orchestration_task_area_compliance<'life0, 'life1, 'async_trait>( &'life0 self, id: i64, areas_compliant: Option<bool>, area_violations: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DbError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Records a mechanically computed touched-area planning comparison.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§