Stabilize source health monitoring

这个提交包含在:
hao
2026-03-18 19:28:13 -07:00
父节点 9b0d72b112
当前提交 94d257177c
修改 83 个文件,包含 4437 行新增546 行删除

查看文件

@@ -1 +1,110 @@
[]
[
{
"alert_id": "django::OSV Django",
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.112
}
},
{
"alert_id": "flask::OSV Flask",
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.129
}
},
{
"alert_id": "spring-security::OSV Spring Security",
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"source_bucket": "ecosystem_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.247
}
},
{
"alert_id": "symfony::OSV Symfony",
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.232
}
}
]

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:23:04+00:00",
"generated_at": "2026-03-19T02:27:20+00:00",
"title": "\u5f53\u524d\u67b6\u6784\u5e93",
"summary": "\u5de5\u4f5c\u53f0\u3001\u63a7\u5236\u9762\u3001\u6570\u636e\u5c42\u3001\u6388\u6743\u8fb9\u754c\u4e0e\u7cfb\u7edf\u8986\u76d6\u7684\u5f53\u524d\u771f\u503c\u89c6\u56fe\u3002",
"sections": [
@@ -49,7 +49,7 @@
},
{
"label": "\u751f\u6210\u65f6\u95f4",
"value": "2026-03-19T02:23:04+00:00"
"value": "2026-03-19T02:27:20+00:00"
}
],
"links": [

查看文件

@@ -1 +1,110 @@
[]
[
{
"alert_id": "django::OSV Django",
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.112
}
},
{
"alert_id": "flask::OSV Flask",
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.129
}
},
{
"alert_id": "spring-security::OSV Spring Security",
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"source_bucket": "ecosystem_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.247
}
},
{
"alert_id": "symfony::OSV Symfony",
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.232
}
}
]

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:23:04+00:00",
"generated_at": "2026-03-19T02:27:20+00:00",
"advisory_total": 89,
"registry_advisory_total": 2392,
"scope": "latest-run-backed-advisories",
@@ -168,30 +168,25 @@
}
],
"ingest_health": {
"failure_count": 4,
"failures": [
"django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))"
]
"failure_count": 0,
"failures": []
},
"source_health": {
"active_source_count": 118,
"green_source_count": 118,
"failure_count": 0,
"last_fully_green_run": "2026-03-19T02:22:24+00:00",
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"open_alert_count": 0,
"resolved_alert_count": 0
"resolved_alert_count": 4
},
"monitor_summary": {
"generated_at": "2026-03-19T02:22:24+00:00",
"generated_at": "2026-03-19T02:27:12+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 0,
"last_fully_green_run": "2026-03-19T02:22:24+00:00",
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -200,7 +195,7 @@
"ingest": {
"new_count": 0,
"updated_count": 7,
"failure_count": 4,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"

查看文件

@@ -1,11 +1,11 @@
{
"generated_at": "2026-03-19T02:22:24+00:00",
"generated_at": "2026-03-19T02:27:12+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 0,
"last_fully_green_run": "2026-03-19T02:22:24+00:00",
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -14,7 +14,7 @@
"ingest": {
"new_count": 0,
"updated_count": 7,
"failure_count": 4,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:22:09+00:00",
"generated_at": "2026-03-19T02:26:48+00:00",
"system_count": 62,
"source_count": 173,
"active_source_count": 118,

查看文件

@@ -87,7 +87,7 @@
<h1>当前架构库镜像</h1>
<div class="meta">工作台内置镜像页:当前架构库结构化数据镜像。</div>
<pre>{
&quot;generated_at&quot;: &quot;2026-03-19T02:23:04+00:00&quot;,
&quot;generated_at&quot;: &quot;2026-03-19T02:27:20+00:00&quot;,
&quot;title&quot;: &quot;当前架构库&quot;,
&quot;summary&quot;: &quot;工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。&quot;,
&quot;sections&quot;: [
@@ -137,7 +137,7 @@
},
{
&quot;label&quot;: &quot;生成时间&quot;,
&quot;value&quot;: &quot;2026-03-19T02:23:04+00:00&quot;
&quot;value&quot;: &quot;2026-03-19T02:27:20+00:00&quot;
}
],
&quot;links&quot;: [

查看文件

@@ -88,7 +88,7 @@
<div class="meta">工作台内置镜像页active/retired source、replacement map 与覆盖摘要。</div>
<pre># Source Catalog Audit
- generated_at: `2026-03-19T02:22:09+00:00`
- generated_at: `2026-03-19T02:26:48+00:00`
- systems: `62`
- sources: `173`
- active_sources: `118`

查看文件

@@ -88,7 +88,7 @@
<div class="meta">工作台内置镜像页89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。</div>
<pre># 全库 Advisory 完整度报告
- 生成时间: `2026-03-19T02:23:04+00:00`
- 生成时间: `2026-03-19T02:27:20+00:00`
- 最新 advisory 完整度: `89/89` `verified-real`
- 合成验证数量: `0`
- 阻塞数量: `0`
@@ -96,7 +96,7 @@
- 完整度百分比: `100.0%`
- active source 全绿: `118/118`
- source open alerts: `0`
- 最近一次 source 全绿: `2026-03-19T02:22:24+00:00`
- 最近一次 source 全绿: `2026-03-19T02:27:12+00:00`
## 系统覆盖矩阵
@@ -117,14 +117,10 @@
## Ingest / Source 健康度
- source failures: `4`
- source failures: `0`
- active sources: `118`
- green sources: `118`
- open alerts: `0`
- django::OSV Django::tls::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, &#x27;EOF occurred in violation of protocol (_ssl.c:1129)&#x27;)))
- flask::OSV Flask::tls::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, &#x27;EOF occurred in violation of protocol (_ssl.c:1129)&#x27;)))
- spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, &#x27;EOF occurred in violation of protocol (_ssl.c:1129)&#x27;)))
- symfony::OSV Symfony::tls::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, &#x27;EOF occurred in violation of protocol (_ssl.c:1129)&#x27;)))
## 剩余风险说明

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:23:04+00:00",
"generated_at": "2026-03-19T02:27:20+00:00",
"advisory_count": 2392,
"run_count": 140,
"statuses": {
@@ -158,7 +158,7 @@
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"last_fully_green_run": "2026-03-19T02:22:24+00:00"
"last_fully_green_run": "2026-03-19T02:27:12+00:00"
},
"systems": [
{

查看文件

@@ -1,6 +1,6 @@
# 最新同步摘要
- 渲染时间: `2026-03-19T02:23:04+00:00`
- 渲染时间: `2026-03-19T02:27:20+00:00`
- 系统数量: `62`
- Advisory 数量: `2348`
- 重点 Markdown 数量: `156`
@@ -8,11 +8,4 @@
- 新增记录: `0`
- 更新记录: `7`
- Triage 数量: `1169`
- 失败的 source adapter: `4`
## 失败列表
- django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
- flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
- spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
- symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
- 失败的 source adapter: `0`

查看文件

@@ -1,11 +1,11 @@
{
"generated_at": "2026-03-19T02:22:24+00:00",
"generated_at": "2026-03-19T02:27:12+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 0,
"last_fully_green_run": "2026-03-19T02:22:24+00:00",
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -14,7 +14,7 @@
"ingest": {
"new_count": 0,
"updated_count": 7,
"failure_count": 4,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:23:04+00:00",
"generated_at": "2026-03-19T02:27:20+00:00",
"system_count": 62,
"advisory_count": 2348,
"markdown_count": 156,
@@ -11,62 +11,5 @@
],
"triage_count": 1169,
"run_bundle_count": 89,
"failures": [
{
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.112
},
{
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.129
},
{
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"source_bucket": "ecosystem_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.247
},
{
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"status_code": null,
"url": "",
"summary": "symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))",
"elapsed_seconds": 25.232
}
]
"failures": []
}

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:22:09+00:00",
"generated_at": "2026-03-19T02:26:48+00:00",
"system_count": 62,
"source_count": 173,
"active_source_count": 118,

查看文件

@@ -1,6 +1,6 @@
# Source Catalog Audit
- generated_at: `2026-03-19T02:22:09+00:00`
- generated_at: `2026-03-19T02:26:48+00:00`
- systems: `62`
- sources: `173`
- active_sources: `118`

文件差异内容过多而无法显示 加载差异

文件差异内容过多而无法显示 加载差异