coleam00/Archon · error
Terminal workflow status '${requestedStatus}' requires a lif
Error message
Terminal workflow status '${requestedStatus}' requires a lifecycle writer What it means
Error "Terminal workflow status '${requestedStatus}' requires a lifecycle writer" thrown in coleam00/Archon.
Source
Thrown at packages/core/src/db/workflows.ts:1135
/**
* Partially update non-terminal workflow state. Terminal transitions use their
* dedicated lifecycle writers so the run row cannot outpace its durable event.
*/
export async function updateWorkflowRun(
id: string,
updates: Partial<Pick<WorkflowRun, 'metadata' | 'output_root'>> & {
status?: Exclude<WorkflowRunStatus, 'completed' | 'failed' | 'cancelled'>;
outcome?: WorkflowRunOutcome;
working_path?: string;
}
): Promise<void> {
const dialect = getDialect();
const setClauses: string[] = [];
const values: unknown[] = [];
const requestedStatus: WorkflowRunStatus | undefined = updates.status;
if (requestedStatus !== undefined && TERMINAL_WORKFLOW_STATUSES.includes(requestedStatus)) {
throw new Error(`Terminal workflow status '${requestedStatus}' requires a lifecycle writer`);
}
if (requestedStatus !== undefined) {
values.push(requestedStatus);
setClauses.push(`status = $${values.length}`);
}
if (updates.metadata !== undefined) {
// Use dialect helper for JSON merge - need to calculate the param index
const paramIndex = values.length + 1;
values.push(JSON.stringify(updates.metadata));
setClauses.push(`metadata = ${dialect.jsonMerge('metadata', paramIndex)}`);
}
if (updates.outcome !== undefined) {
values.push(updates.outcome);
setClauses.push(`outcome = $${values.length}`);
}
if (updates.output_root !== undefined) {
values.push(updates.output_root);View on GitHub (pinned to 0773b97458)
When it happens
Trigger: Thrown at packages/core/src/db/workflows.ts:1135 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01).
Data as JSON: /api/errors/cb4cef4b24a19a28.
Report an issue: GitHub.