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

327 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
belongs_to:
- "[[INDEX · 铸渊·协作指令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 — 服务器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 同步管道
```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 文件本身。
>
> 先恢复大脑,再用大脑的视角去全面排查。
>
> 能修的立即修,修不了的开工单等妈妈。
>
> **系统要回到正轨。**
>