fix(FN-5093): complete Step 7-8 — verification fixes and changeset
Fusion-Task-Id: FN-5093 Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
This commit is contained in:
committed by
gsxdsm
parent
41c243880a
commit
dd78e42f75
5
.changeset/fn-5093-in-review-stalled-detector.md
Normal file
5
.changeset/fn-5093-in-review-stalled-detector.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@runfusion/fusion": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Add `in-review-stalled` backlog-health detector for unpaused in-review tasks quiet past the configurable `inReviewStalledThresholdMs` (default 24h).
|
||||||
@@ -114,7 +114,7 @@ describe("getInReviewStalledSignal", () => {
|
|||||||
it("uses updated when only updatedAt is parseable", () => {
|
it("uses updated when only updatedAt is parseable", () => {
|
||||||
const signal = getInReviewStalledSignal({
|
const signal = getInReviewStalledSignal({
|
||||||
...baseTask,
|
...baseTask,
|
||||||
columnMovedAt: "not-a-date",
|
columnMovedAt: undefined,
|
||||||
updatedAt: iso(NOW - 12_000),
|
updatedAt: iso(NOW - 12_000),
|
||||||
log: [],
|
log: [],
|
||||||
}, { now: NOW, thresholdMs: 10_000 });
|
}, { now: NOW, thresholdMs: 10_000 });
|
||||||
|
|||||||
@@ -224,6 +224,15 @@ export {
|
|||||||
DEFAULT_CAPACITY_RISK_TODO_THRESHOLD,
|
DEFAULT_CAPACITY_RISK_TODO_THRESHOLD,
|
||||||
} from "./capacity.js";
|
} from "./capacity.js";
|
||||||
export type { CapacityRiskSignal } from "./capacity.js";
|
export type { CapacityRiskSignal } from "./capacity.js";
|
||||||
|
export {
|
||||||
|
computeDependencyBlockedTodoReport,
|
||||||
|
DEFAULT_DEPENDENCY_BLOCKED_TODO_MAX_GROUPS,
|
||||||
|
} from "./dependency-blocked-todo-report.js";
|
||||||
|
export type {
|
||||||
|
DependencyBlockedTodoGroup,
|
||||||
|
DependencyBlockedTodoReport,
|
||||||
|
DependencyBlockedTodoReportContext,
|
||||||
|
} from "./dependency-blocked-todo-report.js";
|
||||||
export {
|
export {
|
||||||
getTaskMergeBlocker,
|
getTaskMergeBlocker,
|
||||||
getTaskHardMergeBlocker,
|
getTaskHardMergeBlocker,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import { exec, execSync } from "node:child_process";
|
|||||||
import { promisify } from "node:util";
|
import { promisify } from "node:util";
|
||||||
import { existsSync, mkdirSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
|
import { existsSync, mkdirSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
|
||||||
import { isAbsolute, join, relative, resolve } from "node:path";
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
||||||
import { IN_REVIEW_STALL_DEADLOCK_LOG_PREFIX, IN_REVIEW_STALL_LOG_PREFIX, countRecentIdenticalStallEntries, detectSelfDefeatingDependency, getInReviewStalledSignal, getInReviewStallReason, getPrimaryPrInfo, getStalePausedReviewSignal, getTaskHardMergeBlocker, getTaskMergeBlocker, isEphemeralAgent, type AgentStore, type ChatStore, type MessageStore, type TaskStore, type Settings, type Task, type MergeDetails, type TaskPriority, type MergeResult } from "@fusion/core";
|
import { IN_REVIEW_STALL_DEADLOCK_LOG_PREFIX, IN_REVIEW_STALL_LOG_PREFIX, countRecentIdenticalStallEntries, detectSelfDefeatingDependency, getInReviewStalledSignal, getInReviewStallReason, getPrimaryPrInfo, getStalePausedReviewSignal, getStalePausedTodoSignal, getTaskHardMergeBlocker, getTaskMergeBlocker, isEphemeralAgent, type AgentStore, type ChatStore, type MessageStore, type TaskStore, type Settings, type Task, type MergeDetails, type TaskPriority, type MergeResult } from "@fusion/core";
|
||||||
import type { MeshLeaseManager } from "./mesh-lease-manager.js";
|
import type { MeshLeaseManager } from "./mesh-lease-manager.js";
|
||||||
import { createLogger } from "./logger.js";
|
import { createLogger } from "./logger.js";
|
||||||
import { RemovalReason, getRegisteredWorktreeBranchMap, getRegisteredWorktreePaths, isUsableTaskWorktree, removeWorktree, resolveWorktreeBackend, scanIdleWorktrees, scanOrphanedBranches } from "./worktree-pool.js";
|
import { RemovalReason, getRegisteredWorktreeBranchMap, getRegisteredWorktreePaths, isUsableTaskWorktree, removeWorktree, resolveWorktreeBackend, scanIdleWorktrees, scanOrphanedBranches } from "./worktree-pool.js";
|
||||||
|
|||||||
Reference in New Issue
Block a user