# 🔧 铸渊指令｜桥接巡检三项修复 · 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条重复事件已清理）
```

---

**签发完毕 · 铸渊接令执行 · 妈妈零操作**