fix(alerts): учитывать свежесть и настройки источников оповещений

This commit is contained in:
Denozordec committed 2026-10-12 15:12:15 +07:00
1 parent 8ffb8b5f00
commit db7105119d
19 files changed
+1614 -233

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,87 @@
{
"date": "2026-10-12",
"block": "12.5.170",
"runtime": {
"backend": "ux-sources170",
"frontend": "ux-bfd158"
},
"checks": [
{
"path": "/health",
"status": 200
},
{
"path": "/api/bgp/catalog",
"status": 200
},
{
"path": "/api/servers/1/bgp/sessions",
"status": 200
},
{
"path": "/api/servers/2/bgp/sessions",
"status": 200
}
],
"cases": [
{
"path": "/alerts",
"width": 1440,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
},
{
"path": "/alerts",
"width": 320,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
},
{
"path": "/servers",
"width": 1440,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
},
{
"path": "/servers",
"width": 320,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
},
{
"path": "/uptime",
"width": 1440,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
},
{
"path": "/uptime",
"width": 320,
"http200": true,
"primaryApi200": true,
"noOverflow": true,
"pageErrors": 0,
"apiWrites": 0
}
],
"bounds": [
"Read-only live API/browser; two CHR selected reads and catalog successes confirm access, no native mutations/password changes/messages",
"Both enabled CHR currently share the same display name; conservative server/traffic alert suppression is tested independently in read-only production PG",
"Positive and failed collector scenarios proved separately in owned PostgreSQL, not by empty production signal arrays"
]
}
@@ -0,0 +1,13 @@
{
"date": "2026-10-12",
"block": "12.5.170",
"version": "1.0.0-test.sources170",
"readOnlyConnection": true,
"duplicateEnabledLabelGroups": 1,
"serverSignals": 0,
"trafficSignals": 0,
"probeSignals": 0,
"positiveMeasurementsProvenInOwnedSql": true,
"routerOsWrites": 0,
"messages": 0
}
@@ -0,0 +1,16 @@
{
"date": "2026-10-12",
"block": "12.5.170",
"runtimeImage": "mmapp-test/backend:ux-sources170",
"runningImageId": "sha256:36949cdb7c9a1c19115022e21a22b95316fc1c460a14dc3b42a81a62f23c9a21",
"matchesVerifiedImage": true,
"health": "healthy",
"frontendUnchanged": "ux-bfd158",
"rollbackBackendTag": "ux-fresh167",
"rollbackFullEnvCopy": false,
"remainingRunningContainers": [
"mmapp-test-backend",
"mmapp-test-frontend",
"mmapp-test-postgres"
]
}
@@ -0,0 +1,10 @@
{
"date": "2026-10-12",
"block": "12.5.170",
"sourceMatched": 433,
"dependencyHashUnchanged": true,
"sourceBase": "8ffb8b5f00942270bfe954ee27ed5b2191955a34",
"normalization": "CRLF to LF",
"different": [],
"missing": []
}
@@ -0,0 +1,22 @@
{
"date": "2026-10-12",
"block": "12.5.170",
"database": "mm_accept_166_1791791913287",
"scope": "ephemeral role and precreated owned database; no copied production credentials",
"tests": [
{
"command": "npm --prefix backend run test:alert-engine",
"passed": true,
"durationMs": 18622,
"ownedHistorySqlRows": 8,
"ownedSourceSqlCases": 16,
"sqlConfirmStabilityPassed": true,
"postgresUnavailableSkip": false
}
],
"scopedRoleVerified": true,
"passed": true,
"databaseRemoved": true,
"roleRemoved": true,
"testContainerRemoved": true
}