Skip to content

Commit e09ba5b

Browse files
FL4TLiN3claude
andcommitted
refactor(core): remove dead runtime field from Checkpoint and RuntimeEvent
The `runtime` field was a leftover from multi-runtime support. After the refactor to local-only, `RuntimeName` is always "local" and no code reads the field. Remove it from: - Checkpoint.metadata.runtime - RuntimeEventPayloads.initializeRuntime.runtime - createNormalizedCheckpoint params - createRuntimeInitEvent params - RuntimeName type export (now unused) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8a53d0a commit e09ba5b

File tree

6 files changed

+10
-30
lines changed

6 files changed

+10
-30
lines changed

apps/runtime/src/orchestration/single-run-executor.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ export class SingleRunExecutor {
127127

128128
const initEvent = createRuntimeEvent("initializeRuntime", setting.jobId, setting.runId, {
129129
runtimeVersion: pkg.version,
130-
runtime: "local",
131130
expertName: expertToRun.name,
132131
experts: Object.keys(experts),
133132
model: setting.model,

packages/core/src/adapters/event-creators.test.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ describe("@perstack/core: event-creators", () => {
3232
expertKey: "expert-key",
3333
expert: { key: "expert-key", name: "Test Expert", version: "1.0.0" },
3434
output: "Hello, world!",
35-
runtime: "local",
35+
3636
})
3737
expect(checkpoint.jobId).toBe("job-1")
3838
expect(checkpoint.runId).toBe("run-1")
@@ -41,7 +41,7 @@ describe("@perstack/core: event-creators", () => {
4141
expect(checkpoint.expert.name).toBe("Test Expert")
4242
expect(checkpoint.messages).toHaveLength(1)
4343
expect(checkpoint.messages[0].type).toBe("expertMessage")
44-
expect(checkpoint.metadata?.runtime).toBe("local")
44+
expect(checkpoint.metadata).toBeUndefined()
4545
})
4646
})
4747

@@ -51,22 +51,20 @@ describe("@perstack/core: event-creators", () => {
5151
"job-1",
5252
"run-1",
5353
"Test Expert",
54-
"local",
5554
"1.0.0",
5655
"What is 2+2?",
5756
)
5857
expect(event.type).toBe("initializeRuntime")
5958
expect(event.jobId).toBe("job-1")
6059
expect(event.runId).toBe("run-1")
6160
if (event.type === "initializeRuntime") {
62-
expect(event.runtime).toBe("local")
6361
expect(event.expertName).toBe("Test Expert")
6462
expect(event.query).toBe("What is 2+2?")
6563
}
6664
})
6765

6866
it("creates event without query", () => {
69-
const event = createRuntimeInitEvent("job-1", "run-1", "Expert", "local", "1.0.0")
67+
const event = createRuntimeInitEvent("job-1", "run-1", "Expert", "1.0.0")
7068
if (event.type === "initializeRuntime") {
7169
expect(event.query).toBeUndefined()
7270
}
@@ -81,7 +79,7 @@ describe("@perstack/core: event-creators", () => {
8179
expertKey: "expert-key",
8280
expert: { key: "expert-key", name: "Expert", version: "1.0.0" },
8381
output: "",
84-
runtime: "local",
82+
8583
})
8684
const initCheckpoint = { ...checkpoint, status: "init" as const, stepNumber: 0 }
8785
const event = createStartRunEvent("job-1", "run-1", "expert-key", initCheckpoint)
@@ -104,7 +102,7 @@ describe("@perstack/core: event-creators", () => {
104102
expertKey: "expert-key",
105103
expert: { key: "expert-key", name: "Expert", version: "1.0.0" },
106104
output: "Result",
107-
runtime: "local",
105+
108106
})
109107
const event = createCompleteRunEvent("job-1", "run-1", "expert-key", checkpoint, "Result")
110108
expect(event.type).toBe("completeRun")
@@ -124,7 +122,7 @@ describe("@perstack/core: event-creators", () => {
124122
expertKey: "expert",
125123
expert: { key: "expert", name: "Expert", version: "1.0.0" },
126124
output: "",
127-
runtime: "local",
125+
128126
})
129127
const toolCalls = [{ id: "tc-1", skillName: "skill", toolName: "tool", args: {} }]
130128
const event = createCallToolsEvent("job-1", "run-1", "expert", 1, toolCalls, checkpoint)

packages/core/src/adapters/event-creators.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { createId } from "@paralleldrive/cuid2"
22
import type { Checkpoint } from "../schemas/checkpoint.js"
33
import type { ExpertMessage, ToolMessage } from "../schemas/message.js"
44
import type { RunEvent, RuntimeEvent } from "../schemas/runtime.js"
5-
import type { RuntimeName } from "../schemas/runtime-name.js"
65
import type { ToolCall } from "../schemas/tool-call.js"
76
import type { ToolResult } from "../schemas/tool-result.js"
87
import type { Usage } from "../schemas/usage.js"
@@ -23,11 +22,10 @@ export type CreateCheckpointParams = {
2322
expertKey: string
2423
expert: { key: string; name: string; version: string }
2524
output: string
26-
runtime: RuntimeName
2725
}
2826

2927
export function createNormalizedCheckpoint(params: CreateCheckpointParams): Checkpoint {
30-
const { jobId, runId, expert, output, runtime } = params
28+
const { jobId, runId, expert, output } = params
3129
const checkpointId = createId()
3230
const expertMessage: ExpertMessage = {
3331
id: createId(),
@@ -43,7 +41,6 @@ export function createNormalizedCheckpoint(params: CreateCheckpointParams): Chec
4341
messages: [expertMessage],
4442
expert: { key: expert.key, name: expert.name, version: expert.version },
4543
usage: createEmptyUsage(),
46-
metadata: { runtime },
4744
}
4845
}
4946

@@ -70,7 +67,6 @@ export function createRuntimeInitEvent(
7067
jobId: string,
7168
runId: string,
7269
expertName: string,
73-
runtime: RuntimeName,
7470
version: string,
7571
query?: string,
7672
): RuntimeEvent {
@@ -81,10 +77,9 @@ export function createRuntimeInitEvent(
8177
jobId,
8278
runId,
8379
runtimeVersion: version,
84-
runtime,
8580
expertName,
8681
experts: [],
87-
model: `${runtime}:default`,
82+
model: "local:default",
8883
maxRetries: 0,
8984
timeout: 0,
9085
query,

packages/core/src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export * from "./schemas/provider-config.js"
1313
export * from "./schemas/provider-tools.js"
1414
export * from "./schemas/run-command.js"
1515
export * from "./schemas/runtime.js"
16-
export * from "./schemas/runtime-name.js"
1716
export * from "./schemas/runtime-version.js"
1817
export * from "./schemas/skill.js"
1918
export * from "./schemas/skill-manager.js"

packages/core/src/schemas/checkpoint.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { z } from "zod"
22
import type { Message } from "./message.js"
33
import { messageSchema } from "./message.js"
4-
import type { RuntimeName } from "./runtime-name.js"
5-
import { runtimeNameSchema } from "./runtime-name.js"
64
import type { ToolCall } from "./tool-call.js"
75
import { toolCallSchema } from "./tool-call.js"
86
import type { ToolResult } from "./tool-result.js"
@@ -99,11 +97,8 @@ export interface Checkpoint {
9997
pendingToolCalls?: ToolCall[]
10098
/** Partial tool results collected before stopping (for resume) */
10199
partialToolResults?: ToolResult[]
102-
/** Optional metadata for runtime-specific information */
100+
/** Optional metadata */
103101
metadata?: {
104-
/** Runtime that executed this checkpoint */
105-
runtime?: RuntimeName
106-
/** Additional runtime-specific data */
107102
[key: string]: unknown
108103
}
109104
/** Error information when status is stoppedByError */
@@ -160,12 +155,7 @@ export const checkpointSchema = z.object({
160155
contextWindowUsage: z.number().optional(),
161156
pendingToolCalls: z.array(toolCallSchema).optional(),
162157
partialToolResults: z.array(toolResultSchema).optional(),
163-
metadata: z
164-
.object({
165-
runtime: runtimeNameSchema.optional(),
166-
})
167-
.passthrough()
168-
.optional(),
158+
metadata: z.object({}).passthrough().optional(),
169159
error: z
170160
.object({
171161
name: z.string(),

packages/core/src/schemas/runtime.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,6 @@ interface BaseRuntimeEvent {
468468
type RuntimeEventPayloads = {
469469
initializeRuntime: {
470470
runtimeVersion: string
471-
runtime?: string
472471
expertName: string
473472
experts: string[]
474473
model: string

0 commit comments

Comments
 (0)