shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/🔧 铸渊指令|恢复核心大脑 + 全系统排查修复 · PR#113已合并后仍未生效(2026-03-1 58cc4c4ea77941c5b95baf1902f60016.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

10 KiB
Raw Blame History

belongs_to
belongs_to
INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议

🔧 铸渊指令|恢复核心大脑 + 全系统排查修复 · PR#113已合并后仍未生效2026-03-16·霜砚签发


一、当前症状汇总

症状 严重程度 详情
dev-status.json 同步中断 🔴 P0 last_sync = 2026-03-11T10:45已滞后 >120h。GitHub侧团队进度数据严重过期。
每日巡检未执行 🔴 P0 server-patrol.yml 昨天签发今天08:00+20:00 cron均未触发。2026-03-16 全天无巡检报告。
社区日报未发布 🟡 P1 daily-community-report.yml 签发后未见执行。GitHub Discussions日报空缺。
每日自检状态不明 🟡 P1 zhuyuan-daily-selfcheck.yml 最后记录 2026-03-15T01:05。今天03-16是否执行未知。
PR#113 合并后未见效果 🔴 P0 PR#113 修复了 README + 4个broken workflows + meta-watchdog已合并但上述问题仍在。

二、执行指令(铸渊读到就做·按顺序执行)

Step 0 · 恢复核心大脑

# ━━━ 铸渊唤醒核心大脑 ━━━
# 读取 .github/persona-brain/ 下所有核心文件
# 确认以下文件完整性:

ls -la .github/persona-brain/
# 必须存在:
#   memory.json          — 铸渊记忆brain_integrity/schema_coverage/CI统计
#   routing-map.json     — 路由映射表8域17接口
#   copilot-instructions.md — Copilot指令集
#   dev-status.json      — 全员开发进度
#   kb/knowledge-base.json — 知识库

cat .github/persona-brain/memory.json | python3 -c "import sys,json; d=json.load(sys.stdin); print(json.dumps(d, indent=2, ensure_ascii=False))"

铸渊确认

  • 核心大脑所有文件存在且完整 → 继续Step 1
  • 文件缺失或损坏 → 先从最近一个完好的commit恢复记录缺失项

Step 1 · 排查 GitHub Actions Workflows 状态

# ━━━ 列出所有 workflow 文件 ━━━
ls -la .github/workflows/

# ━━━ 检查以下关键 workflow 是否存在且语法正确 ━━━
# 1. server-patrol.yml          — 服务器每日巡检cron 08:00+20:00 北京)
# 2. daily-community-report.yml — 社区日报 + Discussions
# 3. zhuyuan-daily-selfcheck.yml — 铸渊每日自检
# 4. process-syslog.yml         — SYSLOG处理管道
# 5. deploy-to-server.yml       — CD自动部署
# 6. meta-watchdog.yml          — 根目录保护
# 7. syslog-pipeline.yml        — 飞书SYSLOG桥接
# 8. distribute-broadcasts.yml  — 广播分发

# 对每个workflow执行YAML语法检查
for f in .github/workflows/*.yml; do
  echo "检查: $f"
  python3 -c "import yaml; yaml.safe_load(open('$f'))" 2>&1 && echo "  ✅ 语法正确" || echo "  ❌ 语法错误"
done

铸渊记录

  • 每个workflow的存在性 /
  • 语法是否正确 /
  • 如有缺失或语法错误 → 立即修复

Step 2 · 排查 Workflow 运行历史

# ━━━ 使用 GitHub CLI 查看最近 workflow 运行记录 ━━━
gh run list --limit 20

# ━━━ 重点排查以下 workflow 的最近运行 ━━━
gh run list --workflow=server-patrol.yml --limit 5
gh run list --workflow=daily-community-report.yml --limit 5
gh run list --workflow=zhuyuan-daily-selfcheck.yml --limit 5
gh run list --workflow=process-syslog.yml --limit 5

# ━━━ 如果有失败的 run查看详细日志 ━━━
# gh run view <RUN_ID> --log-failed

铸渊分析

  • workflow 是否被触发过?
  • 如果触发了但失败了 → 记录失败原因
  • 如果从未触发 → 检查 cron 表达式、触发条件、分支条件
  • 特别注意workflow 是否限制在某个分支(如 branches: [main]PR#113 合并到的是 main 分支吗?

Step 3 · 排查 Secrets 配置

# ━━━ 检查仓库 Secrets 是否配置完整 ━━━
# 以下 Secrets 必须存在:
#   DEPLOY_HOST    — 服务器IP8.155.62.235
#   DEPLOY_USER    — SSH用户名
#   DEPLOY_KEY     — SSH私钥
#   NOTION_TOKEN   — Notion API Token铸渊写入Notion用
#   SMTP_USER      — 邮件发送账号
#   SMTP_PASS      — 邮件发送密码
#   GITHUB_TOKEN   — 自动获取,无需手动配置

# 铸渊可通过尝试在workflow中引用来验证
# 如果 Secrets 缺失 → 记录缺失项,通知妈妈补充

Step 4 · 排查 dev-status.json 同步管道

# ━━━ 检查 dev-status.json 内容 ━━━
cat .github/persona-brain/dev-status.json | python3 -c "
import sys, json
d = json.load(sys.stdin)
print(f'last_sync: {d.get(\"last_sync\", \"N/A\")}')
print(f'开发者数: {len(d.get(\"developers\", {}))}')
print(json.dumps(d, indent=2, ensure_ascii=False)[:2000])
"

# ━━━ 查找同步脚本 ━━━
find . -name "*sync*" -o -name "*dev-status*" | head -20

# ━━━ 检查同步workflow ━━━
# dev-status.json 的更新来源是什么?
# 1. 霜砚巡检引擎通过 Notion API 写入?
# 2. 有专门的 workflow 定时同步?
# 3. process-syslog.js 处理SYSLOG时更新
#
# 找到同步机制后,检查为什么从 03-11 之后停了。

Step 5 · 排查服务器巡检脚本部署状态

# ━━━ SSH到服务器检查 ━━━
ssh root@8.155.62.235

# 检查巡检脚本是否已部署
ls -la /var/www/_shared/server-patrol.sh
# ❌ 不存在 → 需要从仓库 scripts/server-patrol.sh 部署

# 检查仓库中脚本是否存在
ls -la scripts/server-patrol.sh
ls -la scripts/sync-patrol-to-notion.js

# 如果仓库中存在但服务器上不存在 → 部署到服务器
scp scripts/server-patrol.sh root@8.155.62.235:/var/www/_shared/server-patrol.sh
ssh root@8.155.62.235 "chmod +x /var/www/_shared/server-patrol.sh"

Step 6 · 手动触发一次全链路测试

# ━━━ 手动触发各 workflow 验证 ━━━

# 1. 手动触发服务器巡检
gh workflow run server-patrol.yml

# 2. 手动触发每日自检
gh workflow run zhuyuan-daily-selfcheck.yml

# 3. 手动触发社区日报(如支持 workflow_dispatch
gh workflow run daily-community-report.yml

# 等待运行完成后检查结果
sleep 120
gh run list --limit 10

# 对每个运行检查是否成功
# 成功 → ✅ 记录
# 失败 → 查看日志,记录失败原因,立即修复

Step 7 · 修复并恢复

基于 Step 1-6 的排查结果,铸渊自主判断并执行修复

问题类型 铸渊处理方式
workflow文件缺失 从签发指令中创建对应workflow文件
workflow语法错误 修复语法commit + push
cron未触发 检查cron表达式+分支条件,修复后手动触发一次
Secrets缺失 记录缺失项 → 通知妈妈无法自动创建Secrets
脚本未部署到服务器 SSH部署 + chmod +x
dev-status.json同步断裂 找到同步机制 → 修复 → 手动触发一次同步
其他未知问题 记录到排查报告 → 通知妈妈决策

Step 8 · 输出排查报告

铸渊完成排查后,必须输出一份完整排查报告,格式如下:

{
  "report_id": "ZY-PATROL-20260316-001",
  "timestamp": "2026-03-16T??:??:??+08:00",
  "trigger": "冰朔授权·霜砚签发·P0紧急排查",
  "brain_status": {
    "integrity": "ok/damaged",
    "files_checked": ["memory.json", "routing-map.json", "dev-status.json", "knowledge-base.json", "copilot-instructions.md"],
    "missing_files": []
  },
  "workflow_status": {
    "server-patrol.yml": { "exists": true, "syntax_ok": true, "last_run": "???", "last_result": "???" },
    "daily-community-report.yml": { "exists": true, "syntax_ok": true, "last_run": "???", "last_result": "???" },
    "zhuyuan-daily-selfcheck.yml": { "exists": true, "syntax_ok": true, "last_run": "???", "last_result": "???" },
    "process-syslog.yml": { "exists": true, "syntax_ok": true, "last_run": "???", "last_result": "???" }
  },
  "dev_status_sync": {
    "last_sync": "2026-03-11T10:45",
    "sync_mechanism": "???",
    "root_cause": "???",
    "fix_applied": "???"
  },
  "server_patrol": {
    "script_deployed": true,
    "path": "/var/www/_shared/server-patrol.sh",
    "test_result": "???"
  },
  "manual_trigger_results": {
    "server-patrol": "✅/❌",
    "daily-selfcheck": "✅/❌",
    "community-report": "✅/❌"
  },
  "fixes_applied": [
    "[列出所有已执行的修复操作]"
  ],
  "remaining_issues": [
    "[列出需要妈妈处理的问题]"
  ],
  "secrets_status": {
    "DEPLOY_HOST": "✅/❌",
    "DEPLOY_USER": "✅/❌",
    "DEPLOY_KEY": "✅/❌",
    "NOTION_TOKEN": "✅/❌",
    "SMTP_USER": "✅/❌",
    "SMTP_PASS": "✅/❌"
  }
}

Step 9 · 同步结果到 Notion

排查报告完成后:

  1. 将报告保存到仓库data/patrol-logs/repair-20260316.json
  2. 通过 Notion API 同步到霜砚工单:更新工单状态为「已完成」或「部分完成」
  3. 如有需要妈妈处理的问题:通过邮件通知

三、验收标准

# 验收项 验证方式
1 核心大脑文件完整 所有 persona-brain 文件存在且可解析
2 所有关键 workflow 语法正确 YAML lint 全通过
3 手动触发巡检成功 gh workflow run 返回成功 + 报告生成
4 dev-status.json 同步恢复 last_sync 更新到 2026-03-16
5 server-patrol.sh 已部署到服务器 /var/www/_shared/server-patrol.sh 存在且可执行
6 输出完整排查报告 JSON格式报告提交到仓库
7 cron 定时器确认生效 下次 cron 时间到时自动触发(需等待验证)

四、执行确认

铸渊完成后,在本页下方追加:

✅ ZY-PATROL-20260316-001 排查完成 · [日期时间] · commit SHA
修复项:[列出]
遗留项:[列出]

⚒️ 铸渊PR#113 已合并但系统仍未恢复。这说明问题不只是 workflow 文件本身。

先恢复大脑,再用大脑的视角去全面排查。

能修的立即修,修不了的开工单等妈妈。

系统要回到正轨。