Explain blocked schedule runs and let a failed document be processed again

Schedule history now shows a readable reason instead of the engine's raw code,
and under the newest run stopped by knowledge_not_ready it lists the Library
material that blocks it, with a link to fix it in Learning Studio. The list
refreshes while that material is still processing or building.

Upload gets a "Process again" button for a failed document, using the engine's
new reprocess endpoint; a knowledge base the document already has is kept. A
document being processed again no longer shows as "In the Brain".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Iqbal
2026-10-28 15:13:03 +07:00
parent b63e9c2ca8
commit d1492b9c76
6 changed files with 159 additions and 13 deletions

View File

@@ -355,8 +355,22 @@ export interface RunSummary {
trigger_kind: string
safe_error_code: string | null
budget_spent: number | null
has_readiness_issues: boolean
created_at: string
finished_at: string | null
}
export const listRuns = (id: number) => request<RunSummary[]>(`${AGENTS}/${id}/runs`)
// What stops a run with knowledge_not_ready. The engine checks the whole Library, so a blocking
// document need not be part of the schedule's chosen material. This is the current state, not the run's.
export interface ReadinessIssue {
kind: 'document' | 'compose_set'
resource_id: number
title: string
reason: string
action_url: string
}
export const knowledgeReadiness = (id: number) =>
request<{ ready: boolean; issues: ReadinessIssue[] }>(`${AGENTS}/${id}/knowledge-readiness`)