fix(FN-4892): harden intake auto-archive fail-open behavior

Fusion-Task-Id: FN-4892
Fusion-Task-Lineage: 6f56b468-a827-416d-ba1f-444e1326d613
This commit is contained in:
Fusion (runfusion.ai)
2026-05-18 00:08:30 -07:00
committed by gsxdsm
parent 19e4aeb87b
commit e0f8e4c7e7
3 changed files with 10 additions and 3 deletions

View File

@@ -67,7 +67,6 @@ export async function archiveAsGhostBug(
taskTitle: string,
decision: GhostBugDecision,
): Promise<void> {
await store.moveTask(taskId, "archived");
await store.logEntry(
taskId,
"Auto-archived as ghost bug — cited code construct not present on main",
@@ -83,6 +82,7 @@ export async function archiveAsGhostBug(
findings: decision.findings.slice(0, 10),
},
});
await store.moveTask(taskId, "archived");
}
async function classifyOwnedLandedEvidenceForSelfHealing(rootDir: string, task: Task, mergeTargetBranch: string): Promise<OwnedLandedClassification> {

View File

@@ -106,7 +106,14 @@ export async function probeCitedConstructs(
const { stdout, stderr } = await opts.exec(command, { cwd: opts.cwd, timeoutMs });
if (construct.kind === "command") {
findings.push({ construct, matched: true, output: `${stdout}${stderr}`.trim() });
// FN-4892: command probes are intentionally non-definitive here because
// ProbeExec does not expose exit codes. Keep fail-open behavior.
findings.push({
construct,
matched: true,
output: `${stdout}${stderr}`.trim(),
probeError: "exit_code_unavailable",
});
continue;
}
const output = `${stdout}${stderr}`.trim();