Skip to content

feat: add failure_emitter — close the learning-loop failure-signal gap#8

Open
jessekemp1 wants to merge 1 commit into
mainfrom
feat/failure-emitter
Open

feat: add failure_emitter — close the learning-loop failure-signal gap#8
jessekemp1 wants to merge 1 commit into
mainfrom
feat/failure-emitter

Conversation

@jessekemp1

Copy link
Copy Markdown
Owner

Adds intelligence/failure_emitter.py (+11 tests). Upstream's outcome stream supports outcome="failed" but nothing emits it from real operational failures (pytest lastfailed, alert/restart/scheduler artifacts), so calibration and routing learn only from wins. This idempotent emitter closes that gap — run standalone or on a 5-min cron; degrades gracefully when sources are absent. Verified: binds upstream FeedbackLogger.log_outcome (9/9 kwargs match), tests 11/11 green against main. No config or API changes.

…ilure-signal gap

The outcome stream records success/partial but nothing emits 'failed' entries from operational failures, so calibration and routing learn only from wins. Adds intelligence/failure_emitter.py: scans pytest lastfailed + alert/restart/scheduler artifacts under ~/.cortex and emits idempotent 'failed' outcomes via FeedbackLogger.log_outcome (its signature already supports outcome='failed'). Runs standalone or on a 5-min cron; degrades gracefully when sources are absent. Includes 11 tests.
@jessekemp1

Copy link
Copy Markdown
Owner Author

Folded into #9 (cherry-picked as-is onto the integration branch — zero conflicts; its outcomes are additionally tagged source="auto" there so the new human/auto learning-metrics split classifies failure signals correctly). Can be closed once #9 merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant