Remove Epiphany job backend kind
This commit is contained in:
parent
7b1e79a765
commit
b9ad3cdac7
24 changed files with 13 additions and 447 deletions
16
vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/ClientRequest.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
32
vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json
generated
vendored
32
vendor/codex/codex-rs/app-server-protocol/schema/json/ServerNotification.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json
generated
vendored
16
vendor/codex/codex-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json
generated
vendored
|
|
@ -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",
|
||||
|
|
|
|||
2
vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts
generated
vendored
2
vendor/codex/codex-rs/app-server-protocol/schema/typescript/EpiphanyJobBinding.ts
generated
vendored
|
|
@ -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<string>, linked_graph_node_ids?: Array<string>, 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<string>, linked_graph_node_ids?: Array<string>, progress_note?: string | null, blocking_reason?: string | null, };
|
||||
|
|
|
|||
3
vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts
generated
vendored
3
vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/ThreadEpiphanyJob.ts
generated
vendored
|
|
@ -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<string>, linkedSubgoalIds?: Array<string>, linkedGraphNodeIds?: Array<string>, };
|
||||
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<string>, linkedSubgoalIds?: Array<string>, linkedGraphNodeIds?: Array<string>, };
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
1
vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts
generated
vendored
1
vendor/codex/codex-rs/app-server-protocol/schema/typescript/v2/index.ts
generated
vendored
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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<String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional = nullable)]
|
||||
pub backend_kind: Option<ThreadEpiphanyJobBackendKind>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional = nullable)]
|
||||
pub backend_job_id: Option<String>,
|
||||
pub status: ThreadEpiphanyJobStatus,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
|
|
|
|||
|
|
@ -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<CoreEpiphanyJobBackendKind> {
|
||||
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!(
|
||||
|
|
|
|||
51
vendor/codex/codex-rs/core/src/codex_thread.rs
vendored
51
vendor/codex/codex-rs/core/src/codex_thread.rs
vendored
|
|
@ -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<EpiphanyJobBinding> {
|
||||
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<St
|
|||
if let Some(blocking_reason) = binding.blocking_reason.as_deref() {
|
||||
require_nonempty_update(blocking_reason, "job_binding.blocking_reason", &mut errors);
|
||||
}
|
||||
match (binding.backend_kind, binding.backend_job_id.as_deref()) {
|
||||
(Some(_), None) => 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!(
|
||||
|
|
|
|||
10
vendor/codex/codex-rs/protocol/src/protocol.rs
vendored
10
vendor/codex/codex-rs/protocol/src/protocol.rs
vendored
|
|
@ -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<String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(type = "EpiphanyJobBackendKind | null")]
|
||||
pub backend_kind: Option<EpiphanyJobBackendKind>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(type = "string | null")]
|
||||
pub backend_job_id: Option<String>,
|
||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||
|
|
|
|||
Reference in a new issue