---
belongs_to:
- "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]"
---
# 📡 铸渊指令|回执自动回流·Notion指令回执追踪表写入配置(ZY-RECEIPT-SYNC-2026-0325-001)· 霜砚签发 · 冰朔授权
---
## 一、背景与目标
当前状态:
- ✅ `track-work-orders.js` 已存在(R2-003 产出)
- ✅ `NOTION_API_KEY` Secret 已对齐(KNOWN-002 修复)
- ❌ `track-work-orders.js` 尚未配置写入目标 Notion 数据库
- ❌ 回执目前靠人类手动粘贴 → 需要自动化
**目标**:让铸渊每次执行完霜砚签发的指令后,自动将回执写入 Notion 侧「指令回执追踪表」,实现 **指令→执行→回执** 全链路自动闭环。
---
## 二、Notion 侧已就绪
### 2.1 数据库信息
- **数据库名称**:📡 指令回执追踪表
- **位置**:光湖语言壳 · Notion端 · 统一网关 下
- **Notion API 写入方式**:通过 `NOTION_API_KEY` 调用 Notion API
### 2.2 字段映射表(铸渊写入时使用)
| **Notion 字段名** | **类型** | **铸渊写入值** | **示例** |
| --- | --- | --- | --- |
| 指令编号 | title | 指令ID | ZY-NEURAL-UPGRADE-2026-0325-R2-001 |
| 指令摘要 | text | 简要描述 | 双端神经系统升级·上篇 |
| 执行状态 | status | ✅ 已完成 / ❌ 执行失败 / ⏸️ 已挂起 | ✅ 已完成 |
| 铸渊回执 | text | 结构化回执内容 | ✅ 基线快照已创建 · 架构盘点19/19 |
| 回执时间 | date | ISO-8601 日期 | 2026-03-25 |
| 新增文件数 | number | 整数 | 28 |
| 修改文件数 | number | 整数 | 43 |
| 关联Agent | text | 相关Notion Agent编号 | TY-01 天眼诊断引擎 |
| 回执超时 | select | 🟢 正常 / 🟡 接近超时 / 🔴 已超时 | 🟢 正常 |
---
## 三、铸渊执行步骤
### Phase 1:配置 `track-work-orders.js` 写入目标
**文件**:`scripts/neural/track-work-orders.js`
需要做的修改:
1. **读取 Notion 数据库 ID** — 指令回执追踪表的数据库 ID 需要写入配置
2. **在脚本顶部配置区添加**:
```jsx
const RECEIPT_TRACKER_CONFIG = {
// 指令回执追踪表 · Notion Database ID
// 位于:光湖语言壳 > 统一网关 > 指令回执追踪表
databaseId: '<从 Notion URL 中提取的 database ID>',
// 字段映射
fieldMap: {
instructionId: '指令编号', // title
summary: '指令摘要', // text
status: '执行状态', // status
receipt: '铸渊回执', // text
receiptTime: '回执时间', // date
newFiles: '新增文件数', // number
modifiedFiles: '修改文件数', // number
relatedAgent: '关联Agent', // text
timeoutStatus: '回执超时', // select
},
// 超时阈值(小时)
timeoutThresholds: {
warning: 24, // 24h → 🟡 接近超时
critical: 72, // 72h → 🔴 已超时
}
};
```
1. **添加写入函数**:
```jsx
async function writeReceiptToNotion(receipt) {
const notion = new Client({ auth: process.env.NOTION_API_KEY });
// 先查询是否已有该指令编号的记录
const existing = await notion.databases.query({
database_id: RECEIPT_TRACKER_CONFIG.databaseId,
filter: {
property: '指令编号',
title: { equals: receipt.instructionId }
}
});
if (existing.results.length > 0) {
// 更新已有记录
await notion.pages.update({
page_id: existing.results[0].id,
properties: buildNotionProperties(receipt)
});
} else {
// 创建新记录
await notion.pages.create({
parent: { database_id: RECEIPT_TRACKER_CONFIG.databaseId },
properties: buildNotionProperties(receipt)
});
}
}
```
### Phase 2:在每个 Workflow 的自报告 step 后追加回执写入
在 R2-002 已添加的自报告 step **之后**,追加一个 step:
```yaml
- name: Sync receipt to Notion
if: always()
env:
NOTION_API_KEY: $ secrets.NOTION_API_KEY
run: |
node scripts/neural/track-work-orders.js \
--instruction-id "$ github.event.inputs.instruction_id || 'AUTO' " \
--status "$ job.status " \
--workflow "$ github.workflow "
```
### Phase 3:验证
1. 手动触发一个 Workflow(如 `brain-self-check.yml`)
2. 确认执行后指令回执追踪表中出现新记录
3. 确认字段映射正确
---
## 四、铁律
1. **每条指令必须有回执** — 写入失败 ≠ 静默,必须在 SYSLOG 中报错
2. **回执写入不阻塞主流程** — `if: always()` + 错误捕获,写入失败不影响 Workflow 本身
3. **幂等** — 同一指令编号重复写入 = 更新(不创建重复记录)
4. **超时自动标记** — 签发超过 24h 无回执 → 🟡 · 超过 72h → 🔴(由天眼巡检时检查)
---
## 五、回执格式
铸渊执行完本指令后,回执需包含:
---
> 📌 **本指令版本**:ZY-RECEIPT-SYNC-2026-0325-001 v1.0
>
> 🧊 **签发**:霜砚(AG-SY-01) | 📅 **日期**:2026-03-25
>
> 🔗 **前置指令**:ZY-NEURAL-UPGRADE-2026-0325-R2(三篇 · 已执行)
>
> 📌 **版权**:国作登字-2026-A-00037559
>