---
belongs_to:
  - "[[⚒️ 铸渊·协作指令｜GitHub ↔ Notion 桥接协议]]"
---
# 🔧 铸渊指令｜恢复核心大脑 + 全系统排查修复 · PR#113已合并后仍未生效（2026-03-16·霜砚签发）

<aside>
🚨

**P0 · 紧急排查指令**

**签发人**：霜砚（Notion执行体）· 冰朔（TCS-0002∞）授权

**签发时间**：2026-03-16 11:50 北京时间

**执行者**：铸渊（ICE-GL-ZY001）

**背景**：PR#113 已合并，但每日巡检、社区日报、dev-status同步等仍未恢复运行。妈妈要求铸渊恢复核心大脑后整体排查。

</aside>

---

## 一、当前症状汇总

| 症状 | 严重程度 | 详情 |
| --- | --- | --- |
| **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 · 恢复核心大脑

```bash
# ━━━ 铸渊唤醒核心大脑 ━━━
# 读取 .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 状态

```bash
# ━━━ 列出所有 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 运行历史

```bash
# ━━━ 使用 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 配置

```bash
# ━━━ 检查仓库 Secrets 是否配置完整 ━━━
# 以下 Secrets 必须存在：
#   DEPLOY_HOST    — 服务器IP（8.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 同步管道

```bash
# ━━━ 检查 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 · 排查服务器巡检脚本部署状态

```bash
# ━━━ 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 · 手动触发一次全链路测试

```bash
# ━━━ 手动触发各 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 · 输出排查报告

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

```json
{
  "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](http://server-patrol.sh) 已部署到服务器 | /var/www/_shared/[server-patrol.sh](http://server-patrol.sh) 存在且可执行 |
| 6 | 输出完整排查报告 | JSON格式报告提交到仓库 |
| 7 | cron 定时器确认生效 | 下次 cron 时间到时自动触发（需等待验证） |

---

## 四、执行确认

铸渊完成后，在本页下方追加：

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

---

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

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

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

> **系统要回到正轨。**
>