fix: 修复上游健康巡检并同步已审查的市场引用 (#207)

Upstream health checks could select a different branch ending in `main`,
index internal skills or lowercase reference documents, treat a valid
pinned path as broken after an upstream move, and close the tracking
issue while unpinned or unknown entries remained. Resolve exact refs and
tracked filenames, compare the installed snapshot, and drive issue
decisions from structured results.

Refresh 26 reviewed pointers, pin DingTalk and Matt Pocock collections,
remove the deleted merge-conflict skill, and add the six new public
children with reviewed translations. Synchronize sidecars, observed
release facts, license evidence and external dependency disclosures.
Identical-tree Agent pins and their versions remain unchanged. The
per-entry review is recorded in
`docs/upstream-health-189-remediation.md`.

Validation: 99 unit tests pass; all nine pinned collections reproduce;
catalog/i18n and translation-freshness checks pass; online health checks
all 41 external entries with zero broken, actionable or unknown results.
Existing catalog warnings decrease from 123 to 105 with no new warning
groups. Python/workflow shell syntax and whitespace checks pass.

Closes #189.
This commit is contained in:
2026-10-05 08:13:13 -07:00
committed by GitHub
parent 04042d44bf
commit 26a3a4a82a
65 changed files with 1461 additions and 502 deletions

View File

@@ -10,11 +10,11 @@
"i18n": {
"en-US": {
"name": "Follow Builders",
"summary": "Tracks top AI builders across podcasts, X/Twitter and company blogs, delivering curated daily or weekly digests"
"summary": "Tracks top AI builders across podcasts, X/Twitter and company blogs, delivering curated daily or weekly digests. Depends on a third-party public feed; Telegram or mail delivery requires separate setup and explicit authorization."
},
"zh-CN": {
"name": "Follow Builders",
"summary": "追踪 AI 领域真正在造东西的开发者、研究者与创始人,把播客、X/Twitter 与官方博客的动态汇成每日/每周摘要推送"
"summary": "追踪 AI 领域真正在造东西的开发者、研究者与创始人,把播客、X/Twitter 与官方博客的动态汇成每日/每周摘要推送。依赖第三方公共信源;Telegram 或邮件推送须自行配置并明确授权。"
}
},
"category": "productivity",
@@ -28,26 +28,28 @@
"timestamps": {
"catalogUpdatedAt": {
"state": "known",
"value": "2026-08-30T18:00:09Z",
"precision": "second"
"value": "2026-10-05",
"precision": "day"
},
"releasePublishedAt": {
"state": "unknown"
},
"reviewedAt": {
"state": "unknown"
"state": "known",
"value": "2026-10-05",
"precision": "day"
},
"upstreamObservedAt": {
"state": "known",
"value": "2026-08-30T18:00:09Z",
"precision": "second"
"value": "2026-10-05",
"precision": "day"
}
},
"provenance": {
"content": {
"kind": "git",
"url": "https://github.com/zarazhangrui/follow-builders.git",
"ref": "239227ddea46dfb9db6ed23e5864a5fabb9cee83"
"ref": "ec5b50e3127ba9cc5e9c54ea7bf409b0654c7f39"
}
},
"governance": {
@@ -66,7 +68,17 @@
"compatibility": {
"platforms": {
"state": "unknown"
}
},
"requirements": [
{
"kind": "connection",
"value": "Access to the upstream public digest feed. Feed availability and data licensing are governed by its operator."
},
{
"kind": "runtime",
"value": "Node.js is required by the included digest and delivery scripts. Optional Telegram/email delivery requires the operator's own account credentials and explicit sending/scheduling authorization."
}
]
},
"spec": {
"kind": "skill"

View File

@@ -9,11 +9,11 @@
"i18n": {
"zh-CN": {
"name": "Follow Builders",
"shortDesc": "追踪 AI 领域真正在造东西的开发者、研究者与创始人,把播客、X/Twitter 与官方博客的动态汇成每日/每周摘要推送"
"shortDesc": "追踪 AI 领域真正在造东西的开发者、研究者与创始人,把播客、X/Twitter 与官方博客的动态汇成每日/每周摘要推送。依赖第三方公共信源;Telegram 或邮件推送须自行配置并明确授权。"
},
"en-US": {
"name": "Follow Builders",
"shortDesc": "Tracks top AI builders across podcasts, X/Twitter and company blogs, delivering curated daily or weekly digests"
"shortDesc": "Tracks top AI builders across podcasts, X/Twitter and company blogs, delivering curated daily or weekly digests. Depends on a third-party public feed; Telegram or mail delivery requires separate setup and explicit authorization."
}
},
"maintainer": {
@@ -29,6 +29,6 @@
"kind": "git",
"repoUrl": "https://github.com/zarazhangrui/follow-builders.git",
"repoBranch": "main",
"ref": "239227ddea46dfb9db6ed23e5864a5fabb9cee83"
"ref": "ec5b50e3127ba9cc5e9c54ea7bf409b0654c7f39"
}
}