317 lines
9.5 KiB
Markdown
317 lines
9.5 KiB
Markdown
|
|
# 🔧 铸渊指令|桥接巡检三项修复 · routing-map恢复 + dev-status同步 + memory去重(2026-03-11·曜冥签发)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🔴
|
|||
|
|
|
|||
|
|
**签发人**:曜冥(冰朔指令)
|
|||
|
|
|
|||
|
|
**签发时间**:2026-03-11 10:45 +08:00
|
|||
|
|
|
|||
|
|
**执行人**:铸渊(GitHub守护人格体)
|
|||
|
|
|
|||
|
|
**优先级**:P0 · 立即执行
|
|||
|
|
|
|||
|
|
**来源**:铸渊桥接巡检报告 2026-03-11 08:00
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 修复任务清单
|
|||
|
|
|
|||
|
|
| # | 问题 | 严重度 | 目标 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| 1 | routing-map.json 被覆盖,原7域路由表丢失,仅剩 NOTIFICATION 域 | 🔴 严重 | 从备份/Git历史恢复完整7域路由表 |
|
|||
|
|
| 2 | dev-status.json 滞后6天(最后同步 2026-03-05) | 🟡 高 | 同步至 2026-03-11 最新团队状态 |
|
|||
|
|
| 3 | memory.json 存在重复 broadcast_received 事件循环 | 🟡 高 | 去重 + 加防重复写入校验 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 修复1:routing-map.json 7域路由表恢复
|
|||
|
|
|
|||
|
|
### 问题描述
|
|||
|
|
|
|||
|
|
`routing-map.json` 被某次提交覆盖,原本包含的 **7个业务域路由** 全部丢失,目前仅剩 `NOTIFICATION` 域。
|
|||
|
|
|
|||
|
|
### 修复步骤
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
Step 1:定位最后一个完整版本
|
|||
|
|
→ git log --oneline -- .github/persona-brain/routing-map.json
|
|||
|
|
→ 找到最后一个包含7域路由的 commit SHA
|
|||
|
|
→ 7域 = AUTH / PERSONA / USER / TICKET / DIALOGUE / STORAGE / NOTIFICATION
|
|||
|
|
(或实际存在的完整域列表)
|
|||
|
|
|
|||
|
|
Step 2:从Git历史恢复
|
|||
|
|
→ git show <完整版commit-sha>:.github/persona-brain/routing-map.json > routing-map-restored.json
|
|||
|
|
→ 检查恢复的文件是否包含全部域
|
|||
|
|
|
|||
|
|
Step 3:合并当前新增内容
|
|||
|
|
→ 如果当前版本的 NOTIFICATION 域有新增条目(相比旧版)
|
|||
|
|
→ 将新增条目合并到恢复版本中
|
|||
|
|
→ 确保不丢失任何有效数据
|
|||
|
|
|
|||
|
|
Step 4:写回并提交
|
|||
|
|
→ cp routing-map-restored.json .github/persona-brain/routing-map.json
|
|||
|
|
→ git add .github/persona-brain/routing-map.json
|
|||
|
|
→ git commit -m "fix: restore routing-map.json full 7-domain routing table (was overwritten to NOTIFICATION only)"
|
|||
|
|
→ git push
|
|||
|
|
|
|||
|
|
Step 5:验证
|
|||
|
|
→ cat .github/persona-brain/routing-map.json | python3 -m json.tool
|
|||
|
|
→ 确认所有域都存在 + JSON格式合法
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 验收标准
|
|||
|
|
|
|||
|
|
- ✅ routing-map.json 包含全部业务域路由(≥7域)
|
|||
|
|
- ✅ JSON格式合法,无语法错误
|
|||
|
|
- ✅ 新增的 NOTIFICATION 条目未丢失
|
|||
|
|
- ✅ commit message 清晰标注修复原因
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 修复2:dev-status.json 团队进度同步
|
|||
|
|
|
|||
|
|
### 问题描述
|
|||
|
|
|
|||
|
|
`dev-status.json` 最后同步时间为 2026-03-05,距今 **6天未更新**。GitHub 侧团队进度数据严重过期,影响铸渊自助问答系统的准确性。
|
|||
|
|
|
|||
|
|
### 最新团队状态(2026-03-11 · 从 Notion 主控台同步)
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"last_sync": "2026-03-11T10:45:00+08:00",
|
|||
|
|
"sync_source": "notion-master-console",
|
|||
|
|
"team": [
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-001",
|
|||
|
|
"name": "页页",
|
|||
|
|
"module": "后端中间层",
|
|||
|
|
"status": "active",
|
|||
|
|
"current": "环节1-5全✅ · 看板API路由部署中",
|
|||
|
|
"waiting": "看板API路由部署完成",
|
|||
|
|
"streak": 5
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-002",
|
|||
|
|
"name": "肥猫",
|
|||
|
|
"module": "M-STATUS系统状态监控",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "M01✅+M03✅+M04✅+M14全通✅+M-BRIDGE全通✅ · 角色升级→Human Bridge",
|
|||
|
|
"waiting": "M-STATUS环节0~1 SYSLOG (BC-M-STATUS-001-FM · EL-5)",
|
|||
|
|
"streak": 9
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-003",
|
|||
|
|
"name": "燕樊",
|
|||
|
|
"module": "M-MEMORY AI永久记忆核心",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "M07✅+M15✅+M10✅+M18全通✅ · 七连胜",
|
|||
|
|
"waiting": "M-MEMORY环节0+1 SYSLOG (BC-M-MEMORY-001-YF · 🍼寂曜宝宝线)",
|
|||
|
|
"streak": 7
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-004",
|
|||
|
|
"name": "之之",
|
|||
|
|
"module": "M-DINGTALK钉钉开发者工作台",
|
|||
|
|
"status": "waiting_broadcast",
|
|||
|
|
"current": "M17全通✅+M-DINGTALK Phase 1✅ · 九连胜",
|
|||
|
|
"waiting": "M-DINGTALK Phase 2待出广播 · 钉钉环节3 HOLD等页页API",
|
|||
|
|
"streak": 9
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-005",
|
|||
|
|
"name": "小草莓",
|
|||
|
|
"module": "部署",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "看板环节0~3全✅+M12✅+M13✅+部署✅ · guanghulab.com已上线 · 八连胜",
|
|||
|
|
"waiting": "BC-部署-001-XCM(v2) SYSLOG",
|
|||
|
|
"streak": 8
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-009",
|
|||
|
|
"name": "花尔",
|
|||
|
|
"module": "M05用户中心+M20搜索与筛选",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "M05环节0~2✅+M20环节1~4✅ · 糖星云首次觉醒",
|
|||
|
|
"waiting": "M20环节5+6 SYSLOG (BC-M20-003-HE · EL-8)",
|
|||
|
|
"streak": 7
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-010",
|
|||
|
|
"name": "桔子",
|
|||
|
|
"module": "M06+M08+M11+M-CHANNEL",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "M06✅+M08✅+M11全通✅+M-CHANNEL环节0~5✅ · 十三连胜 · 三模块全毕业",
|
|||
|
|
"waiting": "M-CHANNEL环节6 SYSLOG (BC-M-CHANNEL-004-JZ · EL-5)",
|
|||
|
|
"streak": 13
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-011",
|
|||
|
|
"name": "匆匆那年",
|
|||
|
|
"module": "M16码字工作台",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "BC-000✅ · 首胜",
|
|||
|
|
"waiting": "M16环节1 SYSLOG (BC-M16-001-CCNN) · ⚠️超72h未回执",
|
|||
|
|
"streak": 1
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-012",
|
|||
|
|
"name": "Awen",
|
|||
|
|
"module": "M09+M22公告栏",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "M09全通✅+M22环节0~6全✅ · 十一连胜 · EL-8工程级任务走通",
|
|||
|
|
"waiting": "M22环节7 SYSLOG (BC-M22-007-AW · EL-5 · 冲十二连胜)",
|
|||
|
|
"streak": 11
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-013",
|
|||
|
|
"name": "小兴",
|
|||
|
|
"module": "M-AUTH注册登录系统",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "BC-000✅ · 首胜",
|
|||
|
|
"waiting": "M-AUTH环节0/1 SYSLOG (BC-M-AUTH-001-XX)",
|
|||
|
|
"streak": 1
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"dev_id": "DEV-014",
|
|||
|
|
"name": "时雨",
|
|||
|
|
"module": "待分配(副控)",
|
|||
|
|
"status": "waiting_syslog",
|
|||
|
|
"current": "BC-000广播已出 · 副控首航",
|
|||
|
|
"waiting": "BC-000 SYSLOG · ⚠️72h窗口已过期",
|
|||
|
|
"streak": 0
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"summary": {
|
|||
|
|
"total_devs": 14,
|
|||
|
|
"active_waiting_syslog": 8,
|
|||
|
|
"active_normal": 2,
|
|||
|
|
"recovered": 2,
|
|||
|
|
"not_started": 1,
|
|||
|
|
"pending_assignment": 1,
|
|||
|
|
"top_streak": "DEV-010 桔子 13连胜",
|
|||
|
|
"alerts": [
|
|||
|
|
"DEV-011 匆匆那年: M16环节1超72h未回执",
|
|||
|
|
"DEV-014 时雨: BC-000 72h启动窗口已过期"
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 修复步骤
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
Step 1:用上方JSON替换 dev-status.json 全文
|
|||
|
|
→ 文件路径:根据仓库实际位置(通常在 .github/persona-brain/dev-status.json 或根目录)
|
|||
|
|
|
|||
|
|
Step 2:提交
|
|||
|
|
→ git add dev-status.json
|
|||
|
|
→ git commit -m "sync: update dev-status.json to 2026-03-11 (was 6 days behind)"
|
|||
|
|
→ git push
|
|||
|
|
|
|||
|
|
Step 3:验证
|
|||
|
|
→ cat dev-status.json | python3 -m json.tool
|
|||
|
|
→ 确认 last_sync = 2026-03-11
|
|||
|
|
→ 确认所有活跃开发者状态正确
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 验收标准
|
|||
|
|
|
|||
|
|
- ✅ dev-status.json 的 last_sync 为 2026-03-11
|
|||
|
|
- ✅ 包含全部14人状态(含回收和未启动)
|
|||
|
|
- ✅ 连胜数、当前模块、等待内容与 Notion 主控台一致
|
|||
|
|
- ✅ JSON格式合法
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 修复3:memory.json 重复事件去重
|
|||
|
|
|
|||
|
|
### 问题描述
|
|||
|
|
|
|||
|
|
`memory.json` 中存在重复的 `broadcast_received` 事件,形成事件循环,可能导致铸渊记忆读取异常或重复触发。
|
|||
|
|
|
|||
|
|
### 修复步骤
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
Step 1:分析重复模式
|
|||
|
|
→ cat .github/persona-brain/memory.json | python3 -c "
|
|||
|
|
import json, sys, collections
|
|||
|
|
data = json.load(sys.stdin)
|
|||
|
|
events = data.get('events', data.get('memory', []))
|
|||
|
|
dupes = [e for e in events if e.get('type') == 'broadcast_received']
|
|||
|
|
print(f'Total broadcast_received events: {len(dupes)}')
|
|||
|
|
# 按 broadcast_id 或 timestamp 找重复
|
|||
|
|
ids = [e.get('broadcast_id', e.get('id', '')) for e in dupes]
|
|||
|
|
counter = collections.Counter(ids)
|
|||
|
|
for k, v in counter.items():
|
|||
|
|
if v > 1:
|
|||
|
|
print(f' DUPLICATE: {k} x{v}')
|
|||
|
|
"
|
|||
|
|
|
|||
|
|
Step 2:去重(保留每个 broadcast_id 的最新一条)
|
|||
|
|
→ 写一个去重脚本或手动编辑
|
|||
|
|
→ 规则:同一个 broadcast_id 只保留时间戳最新的那条
|
|||
|
|
→ 删除所有重复条目
|
|||
|
|
|
|||
|
|
Step 3:加防重复校验注释
|
|||
|
|
→ 在 memory.json 的写入逻辑处(如果有对应脚本)加入去重检查
|
|||
|
|
→ 或在 copilot-instructions.md 中注明:
|
|||
|
|
"写入 memory.json 前必须检查 broadcast_id 是否已存在,已存在则跳过"
|
|||
|
|
|
|||
|
|
Step 4:提交
|
|||
|
|
→ git add .github/persona-brain/memory.json
|
|||
|
|
→ git commit -m "fix: deduplicate broadcast_received events in memory.json + add dedup note"
|
|||
|
|
→ git push
|
|||
|
|
|
|||
|
|
Step 5:验证
|
|||
|
|
→ 重新运行 Step 1 的检查脚本
|
|||
|
|
→ 确认无重复事件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 验收标准
|
|||
|
|
|
|||
|
|
- ✅ memory.json 中无重复的 broadcast_received 事件
|
|||
|
|
- ✅ 每个 broadcast_id 仅保留一条记录
|
|||
|
|
- ✅ JSON格式合法
|
|||
|
|
- ✅ [copilot-instructions.md](http://copilot-instructions.md) 或相关脚本中有防重复写入说明
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🐙 执行方式
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🐙
|
|||
|
|
|
|||
|
|
**铸渊自主执行** · 按修复1→2→3顺序 · 每项修复单独 commit
|
|||
|
|
|
|||
|
|
妈妈零操作 · 铸渊在 GitHub 侧独立完成全部修复
|
|||
|
|
|
|||
|
|
修复完成后更新 GitHub 变更日志 + 刷新路由地图
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
### 提交规范
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
fix: restore routing-map.json full 7-domain routing table
|
|||
|
|
sync: update dev-status.json to 2026-03-11
|
|||
|
|
fix: deduplicate broadcast_received events in memory.json
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 完成后通知
|
|||
|
|
|
|||
|
|
铸渊修复完成后,在下一次巡检报告中标注:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
✅ routing-map.json 已恢复(7域完整)
|
|||
|
|
✅ dev-status.json 已同步至 2026-03-11
|
|||
|
|
✅ memory.json 已去重(N条重复事件已清理)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**签发完毕 · 铸渊接令执行 · 妈妈零操作**
|