feat(FN-5093): complete Step 2 — wire types settings and exports

Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
This commit is contained in:
Fusion (runfusion.ai)
2026-05-19 03:32:07 -07:00
committed by gsxdsm
parent d251cbecd1
commit 274f86ffaa
3 changed files with 15 additions and 0 deletions

View File

@@ -247,6 +247,11 @@ export {
DEFAULT_STALE_PAUSED_REVIEW_THRESHOLD_MS,
} from "./stale-paused-review.js";
export type { StalePausedReviewCode, StalePausedReviewSignal } from "./stale-paused-review.js";
export {
getInReviewStalledSignal,
DEFAULT_IN_REVIEW_STALLED_THRESHOLD_MS,
} from "./in-review-stalled.js";
export type { InReviewStalledCode, InReviewStalledSignal } from "./in-review-stalled.js";
export {
getStalePausedTodoSignal,
DEFAULT_STALE_PAUSED_TODO_THRESHOLD_MS,

View File

@@ -285,6 +285,7 @@ export const DEFAULT_PROJECT_SETTINGS = {
taskStuckTimeoutMs: 600_000,
inReviewStallDeadlockThreshold: 3,
stalePausedReviewThresholdMs: 24 * 60 * 60_000,
inReviewStalledThresholdMs: 24 * 60 * 60_000,
stalePausedTodoThresholdMs: 24 * 60 * 60_000,
pausedScopeDecayMs: 30 * 60_000,
metaTaskStallAutoCloseMs: 2 * 60 * 60_000,

View File

@@ -1,4 +1,5 @@
import type { InReviewStallSignal } from "./in-review-stall.js";
import type { InReviewStalledSignal } from "./in-review-stalled.js";
import type { StalePausedReviewSignal } from "./stale-paused-review.js";
import type { StalePausedTodoSignal } from "./stale-paused-todo.js";
import type { StalledReviewSignal } from "./stalled-review-detector.js";
@@ -1597,6 +1598,9 @@ export interface Task {
/** Server-computed stale paused review diagnostic signal. Undefined when no rule matches.
* Diagnostic-only: must not trigger automatic state mutation. */
stalePausedReview?: StalePausedReviewSignal;
/** Server-computed in-review quiet-window diagnostic signal. Undefined when no rule matches.
* Diagnostic-only: must not trigger automatic state mutation. */
inReviewStalled?: InReviewStalledSignal;
/** Server-computed stale paused todo diagnostic signal. Undefined when no rule matches.
* Diagnostic-only: must not trigger automatic state mutation. */
stalePausedTodo?: StalePausedTodoSignal;
@@ -2975,6 +2979,11 @@ export interface ProjectSettings {
* Age is measured from columnMovedAt when present, otherwise updatedAt.
* Default: 86400000 (24 hours). Set to 0 or undefined to disable surfacing. */
stalePausedReviewThresholdMs?: number;
/** Threshold in milliseconds for surfacing unpaused in-review tasks quiet beyond a time window.
* Default: 86400000 (24 hours). Set to 0 to disable. Gates `surfaceInReviewStalled`
* and the `Task.inReviewStalled` hydration.
*/
inReviewStalledThresholdMs?: number;
/** Threshold in milliseconds for surfacing paused todo tasks as stale.
* Age is measured from columnMovedAt when present, otherwise updatedAt.
* Default: 86400000 (24 hours). Set to 0 or undefined to disable surfacing. */