feat(opensource): README 四级回落 + 兜底 JSON 8 仓 + 项目可见性告警

- site-content.ts:README 取数加 AbortSignal.timeout(10s)(原无超时,
  慢端点可卡整条构建);四级回落矩阵逐级 console.warn 点名原因:
  新鲜网络(内容有变才回写缓存)→ token 缺位/HTTP 非 2xx/空/超时/异常
  时吃缓存 → 缓存亦缺回落 yaml blurb → 缓存回写失败(构建仓只读)仅告警
- README 图片加固:markdown 层给每个 img 补 loading=lazy + 缺省 alt
  (幂等;只动这两个属性,因为过 rehype-content-sanitize 白名单后其余
  属性会被剥);相对链接不重写,限制写入 JSDoc 与文档
- projects.ts:单源失败点名、双源全失败点名回落 JSON、mode=only 的
  include 未命中双向点名(双源无此仓 / 被 perSource 过滤掉)
- projects-fallback.json:1 → 8 条真实仓(blog / open-earth-data-guide★58
  / AI-CLI / open-earth-data-kit / pi-mesh / pi-board / pi-jobd /
  ai-code-style-kit,字段对齐 RepoCard)

车道:worker-one(T5);收编复验:E2E 37/37、构建 48 页 0 ERROR、
兜底 JSON 8 条断言过

验证: E2E 37/37 PASS;pnpm astro build 48 页 exit 0;fallback 8 条

Spec: 2026-11-02_blog-5g-pages (T5)

Co-authored-by: GLM-5.3
This commit is contained in:
wait4xandGLM-5.3 committed 2026-11-02 18:13:47 +08:00
1 parent 59eda420b3
commit 6096a9dafe
3 files changed
+244 -25

No files matched your search

+63
View File
@@ -7,5 +7,68 @@
"stars": 0,
"url": "https://git.wait4x.online/wait4x/blog",
"updatedAt": ""
},
{
"source": "github",
"name": "open-earth-data-guide",
"description": "A one-stop index of public earth-system (meteo · ocean · climate · environment) data sources — download channels & access notes. Companion CLI toolkit: open-earth-data-kit.",
"language": "Python",
"stars": 58,
"url": "https://github.com/wait4xx/open-earth-data-guide",
"updatedAt": ""
},
{
"source": "github",
"name": "AI-CLI",
"description": "Run Terminal or AI coding assistants (Claude Code, Aider, etc.) on your phone/tablet — a responsive web IDE with terminal, split-pane editor, file browser, and real-time collaboration",
"language": "TypeScript",
"stars": 2,
"url": "https://github.com/wait4xx/AI-CLI",
"updatedAt": ""
},
{
"source": "github",
"name": "open-earth-data-kit",
"description": "Unified CLI toolkit for public meteorological, oceanographic, climate and environmental data access.",
"language": "Python",
"stars": 2,
"url": "https://github.com/wait4xx/open-earth-data-kit",
"updatedAt": ""
},
{
"source": "github",
"name": "pi-mesh",
"description": "Live agent-to-agent communication for Pi — local broker, mesh.v1 protocol, honest delivered/read/answered statuses, hash-only ledger. Zero runtime deps.",
"language": "TypeScript",
"stars": 0,
"url": "https://github.com/wait4xx/pi-mesh",
"updatedAt": ""
},
{
"source": "github",
"name": "pi-board",
"description": "Shared context board for pi-mesh — typed entries, bounded store, boolean grep. CLI-first; the mesh stays the router, never the database.",
"language": "TypeScript",
"stars": 1,
"url": "https://github.com/wait4xx/pi-board",
"updatedAt": ""
},
{
"source": "github",
"name": "pi-jobd",
"description": "Detached local job runner for Pi — per-user daemon, honest statuses, crash adoption, cross-platform. Zero runtime dependencies.",
"language": null,
"stars": 0,
"url": "https://github.com/wait4xx/pi-jobd",
"updatedAt": ""
},
{
"source": "github",
"name": "ai-code-style-kit",
"description": "Comment & commit-message style kit for AI-assisted coding: cross-tool skills, cross-platform git hook, pi extension",
"language": "Shell",
"stars": 0,
"url": "https://github.com/wait4xx/ai-code-style-kit",
"updatedAt": ""
}
]