You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
route network incidents to #noc, model/engineering-loop incidents to #ai, and workflow failures to the dedicated #ci secret
make NOC Agent the single owner of normal Alertmanager/Icinga case cards, with a narrow six-hour direct fallback for loss of the NOC/monitoring plane
remove legacy Gemini quota alerts, damp model-health flapping, and treat transient runtime/provider degradation as warning rather than model-chain outage
keep extmon direct Discord only as an independent critical fallback while sending all extmon alerts through persistent NOC cases
switch Alertmanager transport reassertion to 24 hours and enable acknowledgement-aware six-hour critical reminders in CaseService
render route-specific webhook fields from Vault and document synthetic extmon validation
live Discord cutover requires #ci plus Manage Channels/Manage Webhooks permission for the existing NOC Agent bot, or equivalent manual channel/webhook creation
Validation
scripts/ci/render-all.sh
scripts/ci/iac-static.sh — 122 tests passed; repository advisory host-tool warnings only
focused routing and Vault contract tests passed
Rollout guard
Do not merge this draft before the app PR is promoted and route-specific webhook secrets are stored in Vault. Removing the normal direct Alertmanager receiver first would create an avoidable delivery gap.
The script collects readiness and runtime fields but does not use them to determine the exit code. According to the header comment, OK should only be returned when the model chain, runtime, and provider health are all OK; otherwise a WARNING should be raised. Include readiness and runtime in the condition to match the documented behaviour.
Why: The suggestion correctly identifies that the script collects readiness and runtime fields but does not use them in the exit code logic, which contradicts the documented behavior in the header comments. This is a significant functional issue that could lead to incorrect alert states.
Medium
General
Strip whitespace from notification route env var
Environment variable values from Icinga may contain trailing whitespace or newlines, causing the validation to silently fall back to the default "network" route. Strip the value before matching to ensure the intended route is preserved.
-notification_route = os.environ.get("NOTIFICATION_ROUTE") or os.environ.get("HOST_NOTIFICATION_ROUTE") or "network"+notification_route = (os.environ.get("NOTIFICATION_ROUTE") or os.environ.get("HOST_NOTIFICATION_ROUTE") or "network").strip()
if notification_route not in {"network", "ai", "ci"}:
notification_route = "network"
Suggestion importance[1-10]: 6
__
Why: The suggestion addresses a potential robustness issue where trailing whitespace from Icinga environment variables could cause unintended fallback to the default route. While valid, the likelihood of this specific issue occurring in practice is moderate, and the impact is limited to misrouting rather than a critical failure.
the Icinga model check now requires overall status, readiness, and runtime reliability to all be OK before returning exit 0;
route values are stripped before being checked against the network/AI/CI allowlist.
The focused routing tests and the complete 123-test infrastructure suite pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#noc, model/engineering-loop incidents to#ai, and workflow failures to the dedicated#cisecretDependencies
#ciplus Manage Channels/Manage Webhooks permission for the existing NOC Agent bot, or equivalent manual channel/webhook creationValidation
scripts/ci/render-all.shscripts/ci/iac-static.sh— 122 tests passed; repository advisory host-tool warnings onlyRollout guard
Do not merge this draft before the app PR is promoted and route-specific webhook secrets are stored in Vault. Removing the normal direct Alertmanager receiver first would create an avoidable delivery gap.