feat(FN-4663): complete Step 4 — add stranded refinement API endpoints

Fusion-Task-Id: FN-4663
Fusion-Task-Lineage: 80975e9f-51e2-42ee-9f61-5e065a3fed24
This commit is contained in:
Fusion (runfusion.ai)
2026-05-15 23:12:36 -07:00
committed by gsxdsm
parent 1e62de539c
commit 1aad59aeb2
3 changed files with 157 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ export interface TaskPrioritySortable {
id: string;
createdAt: string;
priority?: TaskPriority | null;
expediteRequestedAt?: string | null;
}
export interface TaskColumnSortable extends TaskPrioritySortable {
@@ -68,6 +69,16 @@ export function compareTasksByPriorityThenAgeAndId<T extends TaskPrioritySortabl
return priorityCmp;
}
const aExpedite = a.expediteRequestedAt;
const bExpedite = b.expediteRequestedAt;
if (aExpedite || bExpedite) {
if (aExpedite && !bExpedite) return -1;
if (!aExpedite && bExpedite) return 1;
if (aExpedite && bExpedite && aExpedite !== bExpedite) {
return bExpedite.localeCompare(aExpedite);
}
}
if (a.createdAt !== b.createdAt) {
return a.createdAt.localeCompare(b.createdAt);
}

View File

@@ -1555,6 +1555,9 @@ export interface Task {
* recovery retry. Scheduler and triage processor skip tasks whose
* `nextRecoveryAt` is still in the future. Cleared alongside `recoveryRetryCount`. */
nextRecoveryAt?: string;
/** ISO-8601 timestamp recording an operator expedite request for triage processing.
* Used as a transient triage tie-break signal; does not bypass planning/approval gates. */
expediteRequestedAt?: string;
/** Thinking level for AI agent sessions — controls reasoning effort (off/minimal/low/medium/high) */
thinkingLevel?: ThinkingLevel;
/** Execution mode for task implementation.