From b9ad3cdac73e6ec9ab5a7348a07db1f500706fe8 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Tue, 12 May 2026 05:30:18 +0100 Subject: [PATCH] Remove Epiphany job backend kind --- .../schema/json/ClientRequest.json | 16 ----- .../schema/json/ServerNotification.json | 32 ---------- .../codex_app_server_protocol.schemas.json | 32 ---------- .../codex_app_server_protocol.v2.schemas.json | 32 ---------- ...ThreadEpiphanyJobsUpdatedNotification.json | 16 ----- ...hreadEpiphanyStateUpdatedNotification.json | 16 ----- .../schema/json/v2/ThreadForkResponse.json | 16 ----- .../schema/json/v2/ThreadListResponse.json | 16 ----- .../json/v2/ThreadMetadataUpdateResponse.json | 16 ----- .../schema/json/v2/ThreadReadResponse.json | 16 ----- .../schema/json/v2/ThreadResumeResponse.json | 16 ----- .../json/v2/ThreadRollbackResponse.json | 16 ----- .../schema/json/v2/ThreadStartResponse.json | 16 ----- .../json/v2/ThreadStartedNotification.json | 16 ----- .../json/v2/ThreadUnarchiveResponse.json | 16 ----- .../schema/typescript/EpiphanyJobBinding.ts | 2 +- .../schema/typescript/v2/ThreadEpiphanyJob.ts | 3 +- .../v2/ThreadEpiphanyJobBackendKind.ts | 5 -- .../schema/typescript/v2/index.ts | 1 - .../src/protocol/common.rs | 26 -------- .../app-server-protocol/src/protocol/v2.rs | 10 --- .../app-server/src/codex_message_processor.rs | 64 +++---------------- .../codex/codex-rs/core/src/codex_thread.rs | 51 +-------------- .../codex/codex-rs/protocol/src/protocol.rs | 10 --- 24 files changed, 13 insertions(+), 447 deletions(-) delete mode 100644 vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJobBackendKind.ts diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json index 7cf601f0..870ff882 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json @@ -1307,12 +1307,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -1327,16 +1321,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json index 4adf68b5..f0c73022 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json @@ -1567,12 +1567,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -1587,16 +1581,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", @@ -4559,16 +4543,6 @@ "null" ] }, - "backendKind": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadEpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blockingReason": { "type": [ "string", @@ -4647,12 +4621,6 @@ ], "type": "object" }, - "ThreadEpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "ThreadEpiphanyJobKind": { "enum": [ "indexing", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json index 09db276b..106f59f1 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json @@ -8436,12 +8436,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -8456,16 +8450,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/v2/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", @@ -16160,16 +16144,6 @@ "null" ] }, - "backendKind": { - "anyOf": [ - { - "$ref": "#/definitions/v2/ThreadEpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blockingReason": { "type": [ "string", @@ -16248,12 +16222,6 @@ ], "type": "object" }, - "ThreadEpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "ThreadEpiphanyJobKind": { "enum": [ "indexing", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json index c6de71ff..36acb74f 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json @@ -4976,12 +4976,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -4996,16 +4990,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", @@ -14047,16 +14031,6 @@ "null" ] }, - "backendKind": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadEpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blockingReason": { "type": [ "string", @@ -14135,12 +14109,6 @@ ], "type": "object" }, - "ThreadEpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "ThreadEpiphanyJobKind": { "enum": [ "indexing", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyJobsUpdatedNotification.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyJobsUpdatedNotification.json index b366362d..90049743 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyJobsUpdatedNotification.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyJobsUpdatedNotification.json @@ -21,16 +21,6 @@ "null" ] }, - "backendKind": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadEpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blockingReason": { "type": [ "string", @@ -109,12 +99,6 @@ ], "type": "object" }, - "ThreadEpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "ThreadEpiphanyJobKind": { "enum": [ "indexing", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyStateUpdatedNotification.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyStateUpdatedNotification.json index 78aac23b..879eaec4 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyStateUpdatedNotification.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadEpiphanyStateUpdatedNotification.json @@ -566,12 +566,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -586,16 +580,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json index 3bf6b38c..b7ffbda2 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json @@ -1014,12 +1014,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -1034,16 +1028,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json index cac0c8ee..3122de71 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadMetadataUpdateResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadMetadataUpdateResponse.json index 33f96c3c..f5892d7f 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadMetadataUpdateResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadMetadataUpdateResponse.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json index ceb2c3da..266e45e3 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json index b02bdd8e..986ceff0 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json @@ -1014,12 +1014,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -1034,16 +1028,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json index 74b5208f..5c94f417 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json index 7e2d2643..98480532 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json @@ -1014,12 +1014,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -1034,16 +1028,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json index 3624b372..b5a819ff 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json index 2848ebc9..b2a94839 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json +++ b/vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json @@ -955,12 +955,6 @@ ], "type": "string" }, - "EpiphanyJobBackendKind": { - "enum": [ - "heartbeat" - ], - "type": "string" - }, "EpiphanyJobBinding": { "properties": { "authority_scope": { @@ -975,16 +969,6 @@ "null" ] }, - "backend_kind": { - "anyOf": [ - { - "$ref": "#/definitions/EpiphanyJobBackendKind" - }, - { - "type": "null" - } - ] - }, "blocking_reason": { "type": [ "string", diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts index 6903b06a..4c237085 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts +++ b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts @@ -3,4 +3,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { EpiphanyJobKind } from "./EpiphanyJobKind"; -export type EpiphanyJobBinding = { id: string, kind: EpiphanyJobKind, scope: string, owner_role: string, launcher_job_id?: string | null, authority_scope?: string | null, backend_kind?: EpiphanyJobBackendKind | null, backend_job_id?: string | null, linked_subgoal_ids?: Array, linked_graph_node_ids?: Array, progress_note?: string | null, blocking_reason?: string | null, }; +export type EpiphanyJobBinding = { id: string, kind: EpiphanyJobKind, scope: string, owner_role: string, launcher_job_id?: string | null, authority_scope?: string | null, backend_job_id?: string | null, linked_subgoal_ids?: Array, linked_graph_node_ids?: Array, progress_note?: string | null, blocking_reason?: string | null, }; diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts index f85f3d8f..59269af3 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts +++ b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts @@ -1,8 +1,7 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { ThreadEpiphanyJobBackendKind } from "./ThreadEpiphanyJobBackendKind"; import type { ThreadEpiphanyJobKind } from "./ThreadEpiphanyJobKind"; import type { ThreadEpiphanyJobStatus } from "./ThreadEpiphanyJobStatus"; -export type ThreadEpiphanyJob = { id: string, kind: ThreadEpiphanyJobKind, scope: string, ownerRole: string, launcherJobId?: string | null, authorityScope?: string | null, backendKind?: ThreadEpiphanyJobBackendKind | null, backendJobId?: string | null, status: ThreadEpiphanyJobStatus, itemsProcessed?: number | null, itemsTotal?: number | null, progressNote?: string | null, lastCheckpointAtUnixSeconds?: bigint | null, blockingReason?: string | null, activeThreadIds?: Array, linkedSubgoalIds?: Array, linkedGraphNodeIds?: Array, }; +export type ThreadEpiphanyJob = { id: string, kind: ThreadEpiphanyJobKind, scope: string, ownerRole: string, launcherJobId?: string | null, authorityScope?: string | null, backendJobId?: string | null, status: ThreadEpiphanyJobStatus, itemsProcessed?: number | null, itemsTotal?: number | null, progressNote?: string | null, lastCheckpointAtUnixSeconds?: bigint | null, blockingReason?: string | null, activeThreadIds?: Array, linkedSubgoalIds?: Array, linkedGraphNodeIds?: Array, }; diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJobBackendKind.ts b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJobBackendKind.ts deleted file mode 100644 index 73b91c42..00000000 --- a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJobBackendKind.ts +++ /dev/null @@ -1,5 +0,0 @@ -// GENERATED CODE! DO NOT MODIFY BY HAND! - -// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. - -export type ThreadEpiphanyJobBackendKind = "heartbeat"; diff --git a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts index 8c5bcbfd..8cbc892a 100644 --- a/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts +++ b/vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts @@ -337,7 +337,6 @@ export type { ThreadEpiphanyGraphQueryMissing } from "./ThreadEpiphanyGraphQuery export type { ThreadEpiphanyInvalidationInput } from "./ThreadEpiphanyInvalidationInput"; export type { ThreadEpiphanyInvalidationStatus } from "./ThreadEpiphanyInvalidationStatus"; export type { ThreadEpiphanyJob } from "./ThreadEpiphanyJob"; -export type { ThreadEpiphanyJobBackendKind } from "./ThreadEpiphanyJobBackendKind"; export type { ThreadEpiphanyJobKind } from "./ThreadEpiphanyJobKind"; export type { ThreadEpiphanyJobStatus } from "./ThreadEpiphanyJobStatus"; export type { ThreadEpiphanyJobsSource } from "./ThreadEpiphanyJobsSource"; diff --git a/vendor/codex/codex-rs/app-server-protocol/src/protocol/common.rs b/vendor/codex/codex-rs/app-server-protocol/src/protocol/common.rs index 18cc6fc3..bc2741d6 100644 --- a/vendor/codex/codex-rs/app-server-protocol/src/protocol/common.rs +++ b/vendor/codex/codex-rs/app-server-protocol/src/protocol/common.rs @@ -1978,7 +1978,6 @@ mod tests { owner_role: "epiphany-core".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: v2::ThreadEpiphanyJobStatus::Needed, items_processed: Some(12), @@ -2048,7 +2047,6 @@ mod tests { owner_role: "epiphany-verifier".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: v2::ThreadEpiphanyJobStatus::Needed, items_processed: None, @@ -2207,9 +2205,6 @@ mod tests { owner_role: "epiphany-modeler".to_string(), launcher_job_id: Some("epiphany-launch-1".to_string()), authority_scope: Some("epiphany.role.modeling".to_string()), - backend_kind: Some( - codex_protocol::protocol::EpiphanyJobBackendKind::Heartbeat, - ), backend_job_id: Some("backend-1".to_string()), linked_subgoal_ids: vec!["phase-6".to_string()], linked_graph_node_ids: vec!["state-spine".to_string()], @@ -2228,7 +2223,6 @@ mod tests { owner_role: "epiphany-modeler".to_string(), launcher_job_id: Some("epiphany-launch-1".to_string()), authority_scope: Some("epiphany.role.modeling".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("backend-1".to_string()), status: v2::ThreadEpiphanyJobStatus::Pending, items_processed: None, @@ -2266,7 +2260,6 @@ mod tests { "owner_role": "epiphany-modeler", "launcher_job_id": "epiphany-launch-1", "authority_scope": "epiphany.role.modeling", - "backend_kind": "heartbeat", "backend_job_id": "backend-1", "linked_subgoal_ids": ["phase-6"], "linked_graph_node_ids": ["state-spine"], @@ -2280,7 +2273,6 @@ mod tests { "ownerRole": "epiphany-modeler", "launcherJobId": "epiphany-launch-1", "authorityScope": "epiphany.role.modeling", - "backendKind": "heartbeat", "backendJobId": "backend-1", "status": "pending", "progressNote": "Explicitly launched through the Epiphany authority surface onto the heartbeat backend.", @@ -2313,7 +2305,6 @@ mod tests { owner_role: "epiphany-verifier".to_string(), launcher_job_id: Some("epiphany-launch-2".to_string()), authority_scope: Some("epiphany.role.verification".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("backend-2".to_string()), status: v2::ThreadEpiphanyJobStatus::Completed, items_processed: Some(1), @@ -2373,7 +2364,6 @@ mod tests { "ownerRole": "epiphany-verifier", "launcherJobId": "epiphany-launch-2", "authorityScope": "epiphany.role.verification", - "backendKind": "heartbeat", "backendJobId": "backend-2", "status": "completed", "itemsProcessed": 1, @@ -3259,9 +3249,6 @@ mod tests { owner_role: "epiphany-reorient".to_string(), launcher_job_id: Some("epiphany-launch-1".to_string()), authority_scope: Some("epiphany.reorient.regather".to_string()), - backend_kind: Some( - codex_protocol::protocol::EpiphanyJobBackendKind::Heartbeat, - ), backend_job_id: Some("backend-1".to_string()), linked_subgoal_ids: vec!["phase-6".to_string()], linked_graph_node_ids: vec!["state-spine".to_string()], @@ -3280,7 +3267,6 @@ mod tests { owner_role: "epiphany-reorient".to_string(), launcher_job_id: Some("epiphany-launch-1".to_string()), authority_scope: Some("epiphany.reorient.regather".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("backend-1".to_string()), status: v2::ThreadEpiphanyJobStatus::Pending, items_processed: None, @@ -3338,7 +3324,6 @@ mod tests { "owner_role": "epiphany-reorient", "launcher_job_id": "epiphany-launch-1", "authority_scope": "epiphany.reorient.regather", - "backend_kind": "heartbeat", "backend_job_id": "backend-1", "linked_subgoal_ids": ["phase-6"], "linked_graph_node_ids": ["state-spine"], @@ -3352,7 +3337,6 @@ mod tests { "ownerRole": "epiphany-reorient", "launcherJobId": "epiphany-launch-1", "authorityScope": "epiphany.reorient.regather", - "backendKind": "heartbeat", "backendJobId": "backend-1", "status": "pending", "progressNote": "Explicitly launched through the Epiphany authority surface onto the heartbeat backend.", @@ -3384,7 +3368,6 @@ mod tests { owner_role: "epiphany-reorient".to_string(), launcher_job_id: Some("epiphany-launch-1".to_string()), authority_scope: Some("epiphany.reorient.resume".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("backend-1".to_string()), status: v2::ThreadEpiphanyJobStatus::Completed, items_processed: Some(1), @@ -3436,7 +3419,6 @@ mod tests { "ownerRole": "epiphany-reorient", "launcherJobId": "epiphany-launch-1", "authorityScope": "epiphany.reorient.resume", - "backendKind": "heartbeat", "backendJobId": "backend-1", "status": "completed", "itemsProcessed": 1, @@ -3855,7 +3837,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: None, backend_job_id: None, linked_subgoal_ids: Vec::new(), linked_graph_node_ids: Vec::new(), @@ -3882,7 +3863,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("job-123".to_string()), status: v2::ThreadEpiphanyJobStatus::Pending, items_processed: None, @@ -3930,7 +3910,6 @@ mod tests { "scope": "role-scoped specialist work", "ownerRole": "epiphany-harness", "authorityScope": "epiphany.specialist", - "backendKind": "heartbeat", "backendJobId": "job-123", "status": "pending", "progressNote": "Runtime agent job is pending." @@ -3960,7 +3939,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: None, backend_job_id: None, linked_subgoal_ids: Vec::new(), linked_graph_node_ids: Vec::new(), @@ -3978,7 +3956,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: None, backend_job_id: None, status: v2::ThreadEpiphanyJobStatus::Blocked, items_processed: None, @@ -4151,7 +4128,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: Some("launcher-specialist".to_string()), authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("job-123".to_string()), status: v2::ThreadEpiphanyJobStatus::Running, items_processed: Some(1), @@ -4179,7 +4155,6 @@ mod tests { "ownerRole": "epiphany-harness", "launcherJobId": "launcher-specialist", "authorityScope": "epiphany.specialist", - "backendKind": "heartbeat", "backendJobId": "job-123", "status": "running", "itemsProcessed": 1, @@ -5074,7 +5049,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: Some("launcher-specialist".to_string()), authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: Some(v2::ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("job-123".to_string()), status: v2::ThreadEpiphanyJobStatus::Running, items_processed: Some(1), diff --git a/vendor/codex/codex-rs/app-server-protocol/src/protocol/v2.rs b/vendor/codex/codex-rs/app-server-protocol/src/protocol/v2.rs index 384f0ac7..d5f032c5 100644 --- a/vendor/codex/codex-rs/app-server-protocol/src/protocol/v2.rs +++ b/vendor/codex/codex-rs/app-server-protocol/src/protocol/v2.rs @@ -4645,13 +4645,6 @@ pub enum ThreadEpiphanyJobKind { Specialist, } -#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, JsonSchema, TS)] -#[serde(rename_all = "camelCase")] -#[ts(export_to = "v2/")] -pub enum ThreadEpiphanyJobBackendKind { - Heartbeat, -} - #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] @@ -4683,9 +4676,6 @@ pub struct ThreadEpiphanyJob { pub authority_scope: Option, #[serde(default, skip_serializing_if = "Option::is_none")] #[ts(optional = nullable)] - pub backend_kind: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - #[ts(optional = nullable)] pub backend_job_id: Option, pub status: ThreadEpiphanyJobStatus, #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/vendor/codex/codex-rs/app-server/src/codex_message_processor.rs b/vendor/codex/codex-rs/app-server/src/codex_message_processor.rs index b1023bef..dfd82546 100644 --- a/vendor/codex/codex-rs/app-server/src/codex_message_processor.rs +++ b/vendor/codex/codex-rs/app-server/src/codex_message_processor.rs @@ -182,7 +182,6 @@ use codex_app_server_protocol::ThreadEpiphanyIndexResponse; use codex_app_server_protocol::ThreadEpiphanyInvalidationInput; use codex_app_server_protocol::ThreadEpiphanyInvalidationStatus; use codex_app_server_protocol::ThreadEpiphanyJob; -use codex_app_server_protocol::ThreadEpiphanyJobBackendKind; use codex_app_server_protocol::ThreadEpiphanyJobInterruptParams; use codex_app_server_protocol::ThreadEpiphanyJobInterruptResponse; use codex_app_server_protocol::ThreadEpiphanyJobKind; @@ -463,7 +462,6 @@ use codex_protocol::protocol::EpiphanyCodeRef; use codex_protocol::protocol::EpiphanyEvidenceRecord; use codex_protocol::protocol::EpiphanyInvestigationCheckpoint; use codex_protocol::protocol::EpiphanyInvestigationDisposition; -use codex_protocol::protocol::EpiphanyJobBackendKind as CoreEpiphanyJobBackendKind; use codex_protocol::protocol::EpiphanyJobBinding; use codex_protocol::protocol::EpiphanyJobKind as CoreEpiphanyJobKind; use codex_protocol::protocol::EpiphanyObservation; @@ -5318,7 +5316,6 @@ impl CodexMessageProcessor { owner_role: "epiphany-harness".to_string(), launcher_job_id: Some(launched.launcher_job_id.clone()), authority_scope: None, - backend_kind: Some(ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some(launched.backend_job_id.clone()), status: ThreadEpiphanyJobStatus::Pending, items_processed: None, @@ -7275,7 +7272,6 @@ impl CodexMessageProcessor { owner_role: "epiphany-harness".to_string(), launcher_job_id: Some(launched.launcher_job_id.clone()), authority_scope: None, - backend_kind: Some(ThreadEpiphanyJobBackendKind::Heartbeat), backend_job_id: Some(launched.backend_job_id.clone()), status: ThreadEpiphanyJobStatus::Pending, items_processed: None, @@ -15001,13 +14997,13 @@ async fn load_epiphany_role_result_snapshot( "No matching Epiphany role specialist binding exists.".to_string(), ); }; - if binding_backend_kind(binding) == Some(CoreEpiphanyJobBackendKind::Heartbeat) { + if binding_backend_job_id(binding).is_some() { return load_epiphany_role_result_from_runtime_spine(binding, runtime_store_path, role_id); } ( ThreadEpiphanyRoleResultStatus::BackendUnavailable, None, - "Non-heartbeat role bindings are unsupported; launch a heartbeat-backed role worker for typed runtime-spine results.".to_string(), + "Role binding has no runtime-spine job id; launch a runtime-linked role worker for typed results.".to_string(), ) } @@ -15045,13 +15041,13 @@ async fn load_epiphany_reorient_result_snapshot( "No matching Epiphany reorientation worker binding exists.".to_string(), ); }; - if binding_backend_kind(binding) == Some(CoreEpiphanyJobBackendKind::Heartbeat) { + if binding_backend_job_id(binding).is_some() { return load_epiphany_reorient_result_from_runtime_spine(binding, runtime_store_path); } ( ThreadEpiphanyReorientResultStatus::BackendUnavailable, None, - "Non-heartbeat reorientation bindings are unsupported; launch a heartbeat-backed reorient worker for typed runtime-spine results.".to_string(), + "Reorientation binding has no runtime-spine job id; launch a runtime-linked reorient worker for typed results.".to_string(), ) } @@ -16128,7 +16124,7 @@ async fn load_completed_epiphany_reorient_finding( .job_bindings .iter() .find(|binding| binding.id == binding_id) - && binding_backend_kind(binding) == Some(CoreEpiphanyJobBackendKind::Heartbeat) + && binding_backend_job_id(binding).is_some() { let runtime_store_path = thread.epiphany_runtime_spine_store_path().await; let (status, finding, _note) = load_epiphany_reorient_result_from_runtime_spine( @@ -16150,7 +16146,7 @@ async fn load_completed_epiphany_reorient_finding( } Err(CodexErr::InvalidRequest( - "non-heartbeat reorientation findings are unsupported; accept only typed runtime-spine heartbeat results" + "reorientation findings without runtime-spine results are unsupported; accept only typed runtime-spine results" .to_string(), )) } @@ -16192,7 +16188,7 @@ async fn load_completed_epiphany_role_finding( binding_id )) })?; - if binding_backend_kind(binding) == Some(CoreEpiphanyJobBackendKind::Heartbeat) { + if binding_backend_job_id(binding).is_some() { let runtime_store_path = thread.epiphany_runtime_spine_store_path().await; let (status, finding, _note) = load_epiphany_role_result_from_runtime_spine( binding, @@ -16214,7 +16210,7 @@ async fn load_completed_epiphany_role_finding( } Err(CodexErr::InvalidRequest( - "non-heartbeat role findings are unsupported; accept only typed runtime-spine heartbeat results" + "role findings without runtime-spine results are unsupported; accept only typed runtime-spine results" .to_string(), )) } @@ -17879,10 +17875,6 @@ fn binding_launcher_job_id(binding: &EpiphanyJobBinding) -> Option<&str> { binding.launcher_job_id.as_deref() } -fn binding_backend_kind(binding: &EpiphanyJobBinding) -> Option { - binding.backend_kind -} - fn binding_backend_job_id(binding: &EpiphanyJobBinding) -> Option<&str> { binding.backend_job_id.as_deref() } @@ -18183,9 +18175,6 @@ fn map_epiphany_bound_job( owner_role: binding.owner_role.clone(), launcher_job_id: binding_launcher_job_id(binding).map(str::to_string), authority_scope: binding.authority_scope.clone(), - backend_kind: runtime_link - .map(|_| ThreadEpiphanyJobBackendKind::Heartbeat) - .or_else(|| binding_backend_kind(binding).map(map_core_epiphany_job_backend_kind)), backend_job_id: runtime_link .map(|link| link.runtime_job_id.clone()) .or_else(|| binding_projected_backend_job_id(binding).map(str::to_string)), @@ -18218,9 +18207,6 @@ fn overlay_epiphany_job_binding( job.owner_role = binding.owner_role.clone(); job.launcher_job_id = binding_launcher_job_id(binding).map(str::to_string); job.authority_scope = binding.authority_scope.clone(); - job.backend_kind = runtime_link - .map(|_| ThreadEpiphanyJobBackendKind::Heartbeat) - .or_else(|| binding_backend_kind(binding).map(map_core_epiphany_job_backend_kind)); job.backend_job_id = runtime_link .map(|link| link.runtime_job_id.clone()) .or_else(|| binding_projected_backend_job_id(binding).map(str::to_string)); @@ -18241,10 +18227,7 @@ fn overlay_epiphany_job_binding( return job; } - if runtime_link.is_some() - || (binding_backend_kind(binding) == Some(CoreEpiphanyJobBackendKind::Heartbeat) - && binding_backend_job_id(binding).is_some()) - { + if runtime_link.is_some() || binding_backend_job_id(binding).is_some() { job.status = ThreadEpiphanyJobStatus::Pending; job.blocking_reason = None; job.progress_note = Some( @@ -18260,18 +18243,7 @@ fn overlay_epiphany_job_binding( } fn binding_projected_backend_job_id(binding: &EpiphanyJobBinding) -> Option<&str> { - match binding_backend_kind(binding) { - Some(CoreEpiphanyJobBackendKind::Heartbeat) => binding_backend_job_id(binding), - None => None, - } -} - -fn map_core_epiphany_job_backend_kind( - kind: CoreEpiphanyJobBackendKind, -) -> ThreadEpiphanyJobBackendKind { - match kind { - CoreEpiphanyJobBackendKind::Heartbeat => ThreadEpiphanyJobBackendKind::Heartbeat, - } + binding_backend_job_id(binding) } fn map_core_epiphany_job_kind(kind: CoreEpiphanyJobKind) -> ThreadEpiphanyJobKind { @@ -18301,7 +18273,6 @@ fn map_epiphany_index_job( owner_role: "epiphany-core".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: ThreadEpiphanyJobStatus::Unavailable, items_processed: None, @@ -18337,7 +18308,6 @@ fn map_epiphany_index_job( owner_role: "epiphany-core".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: epiphany_job_status_from_retrieval_status(retrieval.status), items_processed: retrieval.indexed_file_count, @@ -18403,7 +18373,6 @@ fn map_epiphany_remap_job(state: Option<&EpiphanyThreadState>) -> ThreadEpiphany owner_role: "epiphany-core".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: if needs_work { ThreadEpiphanyJobStatus::Needed @@ -18457,7 +18426,6 @@ fn map_epiphany_verification_job(state: Option<&EpiphanyThreadState>) -> ThreadE owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status, items_processed: Some(verified), @@ -18479,7 +18447,6 @@ fn map_epiphany_specialist_job() -> ThreadEpiphanyJob { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: ThreadEpiphanyJobStatus::Unavailable, items_processed: None, @@ -18509,7 +18476,6 @@ fn epiphany_blocked_state_job( owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: ThreadEpiphanyJobStatus::Blocked, items_processed: None, @@ -20662,7 +20628,6 @@ mod tests { owner_role: EPIPHANY_REORIENT_OWNER_ROLE.to_string(), launcher_job_id: Some("launcher-1".to_string()), authority_scope: Some("epiphany.reorient.resume".to_string()), - backend_kind: Some(codex_protocol::protocol::EpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("backend-1".to_string()), linked_subgoal_ids: Vec::new(), linked_graph_node_ids: Vec::new(), @@ -20975,7 +20940,6 @@ mod tests { owner_role: "epiphany-verifier".to_string(), launcher_job_id: None, authority_scope: None, - backend_kind: None, backend_job_id: None, status: ThreadEpiphanyJobStatus::Needed, items_processed: None, @@ -23327,7 +23291,6 @@ mod tests { owner_role: "epiphany-modeler".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.role.modeling".to_string()), - backend_kind: None, backend_job_id: None, linked_subgoal_ids: vec!["phase-6".to_string()], linked_graph_node_ids: vec!["runtime-spine".to_string()], @@ -23355,10 +23318,6 @@ mod tests { .expect("heartbeat specialist slot should exist"); assert_eq!(specialist.status, ThreadEpiphanyJobStatus::Pending); - assert_eq!( - specialist.backend_kind, - Some(ThreadEpiphanyJobBackendKind::Heartbeat) - ); assert_eq!( specialist.backend_job_id.as_deref(), Some("heartbeat-turn-1") @@ -23429,7 +23388,6 @@ mod tests { owner_role: "epiphany-modeler".to_string(), launcher_job_id: Some("epiphany-heartbeat-launch-1".to_string()), authority_scope: Some("epiphany.role.modeling".to_string()), - backend_kind: Some(codex_protocol::protocol::EpiphanyJobBackendKind::Heartbeat), backend_job_id: Some("heartbeat-job-1".to_string()), linked_subgoal_ids: Vec::new(), linked_graph_node_ids: Vec::new(), @@ -23460,7 +23418,6 @@ mod tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: None, authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: None, backend_job_id: None, linked_subgoal_ids: vec!["phase-6".to_string()], linked_graph_node_ids: vec!["job-control".to_string()], @@ -23485,7 +23442,6 @@ mod tests { Some("epiphany.specialist") ); assert_eq!(specialist.launcher_job_id, None); - assert_eq!(specialist.backend_kind, None); assert_eq!(specialist.backend_job_id, None); assert_eq!(specialist.linked_subgoal_ids, vec!["phase-6".to_string()]); assert_eq!( diff --git a/vendor/codex/codex-rs/core/src/codex_thread.rs b/vendor/codex/codex-rs/core/src/codex_thread.rs index a3bd5b7a..05a24c79 100644 --- a/vendor/codex/codex-rs/core/src/codex_thread.rs +++ b/vendor/codex/codex-rs/core/src/codex_thread.rs @@ -33,8 +33,6 @@ use codex_protocol::protocol::EpiphanyGraphFrontier; use codex_protocol::protocol::EpiphanyGraphs; use codex_protocol::protocol::EpiphanyInvariant; use codex_protocol::protocol::EpiphanyInvestigationCheckpoint; -#[cfg(test)] -use codex_protocol::protocol::EpiphanyJobBackendKind; use codex_protocol::protocol::EpiphanyJobBinding; use codex_protocol::protocol::EpiphanyJobKind; use codex_protocol::protocol::EpiphanyModeState; @@ -848,7 +846,6 @@ fn build_epiphany_job_launch_binding( owner_role: request.owner_role.clone(), launcher_job_id: None, authority_scope: Some(request.authority_scope.clone()), - backend_kind: None, backend_job_id: None, linked_subgoal_ids: request.linked_subgoal_ids.clone(), linked_graph_node_ids: request.linked_graph_node_ids.clone(), @@ -960,7 +957,6 @@ fn clear_epiphany_job_binding_backend( ) -> Vec { let binding = &mut bindings[binding_index]; binding.launcher_job_id = None; - binding.backend_kind = None; binding.backend_job_id = None; binding.progress_note = None; binding.blocking_reason = Some(blocking_reason.to_string()); @@ -1198,17 +1194,6 @@ fn validate_epiphany_job_bindings(job_bindings: &[EpiphanyJobBinding]) -> Vec errors.push(format!( - "job binding {:?} sets backend_kind without backend_job_id", - binding.id - )), - (None, Some(_)) => errors.push(format!( - "job binding {:?} sets backend_job_id without backend_kind", - binding.id - )), - _ => {} - } if !binding.id.is_empty() && !seen_ids.insert(binding.id.as_str()) { errors.push(format!("duplicate job binding id {:?}", binding.id)); } @@ -1527,7 +1512,6 @@ mod epiphany_update_tests { owner_role: "epiphany-harness".to_string(), launcher_job_id: Some(format!("launcher-{id}")), authority_scope: Some("epiphany.specialist".to_string()), - backend_kind: Some(EpiphanyJobBackendKind::Heartbeat), backend_job_id: Some(format!("heartbeat-job-{id}")), linked_subgoal_ids: vec!["phase-6".to_string()], linked_graph_node_ids: vec!["job-surface".to_string()], @@ -2017,7 +2001,6 @@ mod epiphany_update_tests { owner_role: String::new(), launcher_job_id: Some(String::new()), authority_scope: Some(String::new()), - backend_kind: Some(EpiphanyJobBackendKind::Heartbeat), backend_job_id: Some(String::new()), linked_subgoal_ids: Vec::new(), linked_graph_node_ids: Vec::new(), @@ -2079,38 +2062,7 @@ mod epiphany_update_tests { } #[test] - fn validate_epiphany_state_update_rejects_incomplete_or_conflicting_job_backend_bindings() { - let update = EpiphanyStateUpdate { - job_bindings: Some(vec![ - EpiphanyJobBinding { - backend_kind: Some(EpiphanyJobBackendKind::Heartbeat), - backend_job_id: None, - ..job_binding("missing-backend-job-id") - }, - EpiphanyJobBinding { - backend_kind: None, - backend_job_id: Some("heartbeat-job-orphan".to_string()), - ..job_binding("orphan-backend-job-id") - }, - ]), - ..Default::default() - }; - - let errors = - epiphany_state_update_validation_errors(&EpiphanyThreadState::default(), &update); - - assert!(errors.iter().any(|error| { - error.contains("backend_kind without backend_job_id") - && error.contains("missing-backend-job-id") - })); - assert!(errors.iter().any(|error| { - error.contains("backend_job_id without backend_kind") - && error.contains("orphan-backend-job-id") - })); - } - - #[test] - fn build_epiphany_job_launch_binding_targets_heartbeat_backend() { + fn build_epiphany_job_launch_binding_leaves_lifecycle_to_runtime_links() { let request = EpiphanyJobLaunchRequest { expected_revision: Some(7), binding_id: "modeling-checkpoint-worker".to_string(), @@ -2131,7 +2083,6 @@ mod epiphany_update_tests { let runtime_link = build_epiphany_runtime_link(&request, "turn-1"); assert_eq!(binding.launcher_job_id, None); - assert_eq!(binding.backend_kind, None); assert_eq!(binding.backend_job_id, None); assert_eq!(binding.progress_note, None); assert_eq!( diff --git a/vendor/codex/codex-rs/protocol/src/protocol.rs b/vendor/codex/codex-rs/protocol/src/protocol.rs index 6d2b6f68..d6005a31 100644 --- a/vendor/codex/codex-rs/protocol/src/protocol.rs +++ b/vendor/codex/codex-rs/protocol/src/protocol.rs @@ -3356,13 +3356,6 @@ pub enum EpiphanyJobKind { Specialist, } -#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, JsonSchema, TS)] -#[serde(rename_all = "snake_case")] -#[ts(rename_all = "snake_case")] -pub enum EpiphanyJobBackendKind { - Heartbeat, -} - #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema, TS)] pub struct EpiphanyJobBinding { pub id: String, @@ -3376,9 +3369,6 @@ pub struct EpiphanyJobBinding { #[ts(type = "string | null")] pub authority_scope: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - #[ts(type = "EpiphanyJobBackendKind | null")] - pub backend_kind: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] #[ts(type = "string | null")] pub backend_job_id: Option, #[serde(default, skip_serializing_if = "Vec::is_empty")]