Skip to content

Commit 47bd86d

Browse files
committed
fix: gate dual-mode triage skip on emit success
Made-with: Cursor
1 parent 9084a20 commit 47bd86d

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

packages/utils/src/helpers/alerts.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ export async function sendAlerts(
9191
const methodContext = createMethodContext(sendAlerts.name);
9292
const mode = getPipelineMode();
9393
const { emitterConfig, secretEmpty } = getEmitterConfig(config);
94+
let eventEmissionSucceeded = false;
9495

9596
if (secretEmpty && emitterConfig) {
9697
logger.warn('Event emitter webhook secret is empty — HMAC signatures will provide no authentication', requestContext, methodContext);
@@ -100,6 +101,7 @@ export async function sendAlerts(
100101
if (mode !== 'legacy' && emitterConfig) {
101102
try {
102103
await emitEvent(report, emitterConfig, logger, requestContext);
104+
eventEmissionSucceeded = true;
103105
} catch (emitErr) {
104106
logger.error('Event emission failed; continuing with legacy path', requestContext, methodContext, {
105107
type: 'EventEmissionError',
@@ -123,7 +125,6 @@ export async function sendAlerts(
123125
// In dual mode, when event emission succeeded the everclear-agents pipeline
124126
// handles triage. Skip the monorepo triage interceptor to avoid double LLM
125127
// calls and potentially contradictory verdicts.
126-
const eventEmissionSucceeded = mode === 'dual' && emitterConfig != null;
127128
const skipTriage = mode === 'dual' && eventEmissionSucceeded;
128129

129130
const triageOutput = skipTriage

0 commit comments

Comments
 (0)