deepseek-ai/deepseek-harness · error · Error
goal snapshot change must have exactly ${allowed.sort().join
Error message
goal snapshot change must have exactly ${allowed.sort().join(',')} fields What it means
Error "goal snapshot change must have exactly ${allowed.sort().join(',')} fields" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/goal/goal/src/fold.ts:158
const allowed = ['cleared', 'clearedAt', 'kind', 'operation', 'version']
if (Object.keys(value).sort().join(',') !== allowed.sort().join(',')) {
throw new Error(`goal clear change must have exactly ${allowed.sort().join(',')} fields`)
}
return {
kind: 'goal/change',
version: GOAL_CHANGE_VERSION,
operation: 'clear',
cleared: decodeRef(value['cleared']),
clearedAt: nonNegativeInteger(value['clearedAt'], 'clearedAt'),
} satisfies GoalClearChangeMeta
}
if (typeof value['operation'] !== 'string'
|| !SNAPSHOT_OPERATIONS.has(value['operation'] as Exclude<GoalOperation, 'clear'>)) {
throw new Error('goal change operation is invalid')
}
const allowed = ['createdAt', 'goal', 'kind', 'operation', 'roundsStarted', 'updatedAt', 'version']
if (Object.keys(value).sort().join(',') !== allowed.sort().join(',')) {
throw new Error(`goal snapshot change must have exactly ${allowed.sort().join(',')} fields`)
}
const createdAt = nonNegativeInteger(value['createdAt'], 'createdAt')
const updatedAt = nonNegativeInteger(value['updatedAt'], 'updatedAt')
if (updatedAt < createdAt) throw new Error('goal change updatedAt cannot precede createdAt')
return {
kind: 'goal/change',
version: GOAL_CHANGE_VERSION,
operation: value['operation'] as Exclude<GoalOperation, 'clear'>,
goal: decodeSnapshot(value['goal']),
roundsStarted: nonNegativeInteger(value['roundsStarted'], 'roundsStarted'),
createdAt,
updatedAt,
} satisfies GoalSnapshotChangeMeta
}
/** Narrow model attribution to a valid goal source. */
function goalSource(source: MessageSource): GoalMessageSource | undefined {
if (source.kind !== 'goal') return undefinedView on GitHub (pinned to b150a551b8)
When it happens
Trigger: Thrown at packages/goal/goal/src/fold.ts:158 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/572b29a39c61d245.
Report an issue: GitHub.