feat: enforce proactive report gate during force-recall preflight

This commit is contained in:
Eve
2026-05-04 11:55:05 +08:00
parent 3e45643f9b
commit c51bd84449
4 changed files with 230 additions and 3 deletions

View File

@@ -54,6 +54,10 @@ function normalizeRequest(raw) {
checkpointTrigger: data.checkpointTrigger || '',
externalizedTrigger: data.externalizedTrigger || '',
triggerKind: data.triggerKind || '',
firstReportTrigger: data.firstReportTrigger || '',
fallbackState: data.fallbackState || '',
reportMode: data.reportMode || '',
ownerVisibleIfStalled: data.ownerVisibleIfStalled === true,
};
}
@@ -76,6 +80,9 @@ function inferFromRequestText(input) {
if (!input.checkpointTrigger && inferred.needsSubagent) {
inferred.checkpointTrigger = 'when delegated work returns or the next checkpoint fires';
}
if (!input.firstReportTrigger && inferred.checkpointTrigger) {
inferred.firstReportTrigger = inferred.checkpointTrigger;
}
if (!input.externalizedTrigger && inferred.needsSubagent) {
inferred.externalizedTrigger = 'wrapper-derived checkpoint artifact';
}
@@ -114,6 +121,10 @@ function bootstrapTaskState(input, classificationResult) {
waiting_on: input.waitingOn,
blocker: input.blocker,
silent: classificationResult.silentCandidate,
first_report_trigger: input.firstReportTrigger,
fallback_state: input.fallbackState,
report_mode: input.reportMode,
owner_visible_if_stalled: input.ownerVisibleIfStalled,
};
}
@@ -244,6 +255,11 @@ function main() {
progressEvidence,
externalizedCheckpointPath,
checkpointArtifact,
firstReportTrigger: input.firstReportTrigger || '',
nextReportCondition: input.nextReportCondition || '',
fallbackState: input.fallbackState || '',
reportMode: input.reportMode || '',
ownerVisibleIfStalled: input.ownerVisibleIfStalled === true,
silentLaunchOk: silentLaunch.ok,
silentLaunchReason: silentLaunch.reason,
recommendedFallback: silentLaunch.recommendedFallback,