feat: caller-selected Backend Jobs and bounded subjektiv consolidation (T-704)

This commit is contained in:
2026-10-06 19:45:37 +09:00
parent 6f9621ca2e
commit d12cdc9106
36 changed files with 4085 additions and 291 deletions
+14
View File
@@ -420,6 +420,18 @@ pub struct WorkerInput {
pub segments: Option<Vec<Segment>>,
}
/// Host-authored Job/attempt identity, independent of Profile selection.
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct BackendJobExecutionBinding {
pub job_id: String,
pub attempt_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub input_revision: Option<String>,
#[serde(default)]
pub subjektiv_consolidation: bool,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct CreateWorkerRequest {
pub worker_id: WorkerId,
@@ -448,6 +460,8 @@ pub struct CreateWorkerRequest {
/// never activates subjektiv for an ordinary Workspace Worker.
#[serde(default, skip_serializing_if = "std::ops::Not::not")]
pub subjektiv_attached: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub backend_job: Option<BackendJobExecutionBinding>,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]