shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/⚡ 铸渊指令|Execution Status 同步写入协议 v1 0(2026-03-14·霜砚签 be91fd2f6b124109a84324596e3fd35c.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

242 lines
8.2 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 桥接协议]]"
---
# ⚡ 铸渊指令Execution Status 同步写入协议 v1.02026-03-14·霜砚签发
<aside>
⚒️
**签发方**霜砚Notion执行AI× 冰朔TCS-0002∞
**接收方**铸渊GitHub代码守护人格体
**生效时间**2026-03-14T14:30+08:00
**优先级**P1主脑同步关键路径
**关联协议**[📡 数字地球系统通信协议 v4.0](../%F0%9F%8C%8A%20%E6%9B%9C%E5%86%A5%E7%BA%AA%E5%85%83%20%C2%B7%20HoloLake%20Era%20%C2%B7%20AGE%20OS%20v1%200/%E2%9A%A1%20%E5%85%89%E6%B9%96%E4%B8%AD%E5%A4%AE%E6%9E%A2%E7%BA%BD%20%C2%B7%20HoloLake%20Central%20Hub/%F0%9F%8C%8D%20%E6%95%B0%E5%AD%97%E5%9C%B0%E7%90%83%C2%B7%E6%9B%9C%E5%86%A5%E4%B8%BB%E6%8E%A7%E5%8F%B0%20v2%200/%F0%9F%93%A1%20%E6%95%B0%E5%AD%97%E5%9C%B0%E7%90%83%E7%B3%BB%E7%BB%9F%E9%80%9A%E4%BF%A1%E5%8D%8F%E8%AE%AE%20v4%200%2029c16fa97f694bd3b5c65d21b4690e79.md)
**背景**霜砚已在Notion侧建立 **⚡ 执行层状态Execution Status** 数据库,追踪仓库执行层与 Notion 主脑的同步状态。现需铸渊在 Daily Maintenance 中通过 Notion API 直接写入同步记录。
</aside>
---
## 一、总体架构
```
GitHub 仓库(铸渊)
↓ Daily Maintenance (UTC 02:00 / 北京 10:00)
↓ 读取 brain/ 目录最新数据
↓ 通过 Notion API 写入
Notion Execution Status 数据库(主脑侧)
↓ 巡检引擎定时验证(复用现有 Pipeline
↓ 异常 → 自动创建工单
```
**铸渊职责**:在 `daily-maintenance.yml``execution-sync.yml` 中新增 job`brain/` 数据curl 写 Notion API。
**Notion侧已有机制**巡检引擎12:00 + 23:00自动检查这个数据库铸渊不需关心后续处理。
---
## 二、Notion API 写入规范
### 2.1 API 端点
```
POST https://api.notion.com/v1/pages
Notion-Version: 2022-06-28
Authorization: Bearer $NOTION_API_KEY
Content-Type: application/json
```
### 2.2 数据库 ID
```
41971982-4a17-47c0-afe3-21458c44f154
```
位于「数字地球主控台 v2.0」下。
### 2.3 完整 JSON Payload 模板
铸渊直接复制,替换动态值:
```json
{
"parent": {
"database_id": "41971982-4a17-47c0-afe3-21458c44f154"
},
"properties": {
"同步记录": {
"title": [
{ "text": { "content": "SYNC-20260315-001" } }
]
},
"同步时间": {
"date": { "start": "2026-03-15T02:00:00+00:00" }
},
"仓库版本": {
"rich_text": [
{ "text": { "content": "v5.0 \u00b7 brain/ established \u00b7 55+ directories" } }
]
},
"执行模块": {
"rich_text": [
{ "text": { "content": "42 workflow \u00b7 12 cron \u00b7 20+ API endpoints" } }
]
},
"自动化状态": {
"select": { "name": "🟢 Normal" }
},
"Notion连接状态": {
"select": { "name": "🟢 Connected" }
},
"任务队列状态": {
"select": { "name": "🟢 Active" }
},
"同步来源": {
"select": { "name": "铸渊自动同步" }
},
"备注": {
"rich_text": [
{ "text": { "content": "Daily Maintenance 自动同步" } }
]
}
}
}
```
### 2.4 字段可选值对照表
| 字段名 | 类型 | 可选值 | 数据来源 |
| --- | --- | --- | --- |
| **同步记录** | title | `SYNC-YYYYMMDD-NNN` | 自动生成 |
| **同步时间** | date | ISO-8601 datetime | 当前 UTC 时间 |
| **仓库版本** | rich_text | 自由文本 | `brain/system-health.json``.version` |
| **执行模块** | rich_text | 自由文本 | `brain/automation-map.json` → 统计 |
| **自动化状态** | select | `🟢 Normal` / `🟡 Partial` / `🔴 Down` / `⏳ Syncing` | `system-health.json``.status` |
| **Notion连接状态** | select | `🟢 Connected` / `🟡 Degraded` / `🔴 Disconnected` | API 调用结果 |
| **任务队列状态** | select | `🟢 Active` / `🟡 Backlog` / `🔴 Blocked` / `⏸️ Idle` | Actions queue |
| **同步来源** | select | `铸渊自动同步` / `霜砚手动同步` / `巡检引擎` / `Daily Maintenance` | 固定 `铸渊自动同步` |
| **备注** | rich_text | 自由文本 | 异常说明 |
---
## 三、集成到现有 Workflow
<aside>
🔗
**复用原则**:不新建 workflow。直接在现有 `daily-maintenance.yml` 或 v5.0 新增的 `execution-sync.yml` 中追加 job。
</aside>
```yaml
sync-execution-status-to-notion:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Read brain data and sync to Notion
env:
NOTION_API_KEY: $ secrets.NOTION_API_KEY
run: |
HEALTH=$(cat brain/system-health.json 2>/dev/null || echo '{"version":"unknown","status":"unknown"}')
AUTO=$(cat brain/automation-map.json 2>/dev/null || echo '{}')
REPO=$(cat brain/repo-map.json 2>/dev/null || echo '{}')
VERSION=$(echo $HEALTH | jq -r '.version // "unknown"')
STATUS=$(echo $HEALTH | jq -r '.status // "unknown"')
WF_COUNT=$(echo $AUTO | jq '.workflows | length // 0' 2>/dev/null || echo '0')
CRON_COUNT=$(echo $AUTO | jq '.cron_jobs | length // 0' 2>/dev/null || echo '0')
DIR_COUNT=$(echo $REPO | jq '.directories | length // 0' 2>/dev/null || echo '0')
case "$STATUS" in
normal) AUTO_S="🟢 Normal" ;;
partial) AUTO_S="🟡 Partial" ;;
*) AUTO_S="🔴 Down" ;;
esac
SYNC_DATE=$(date -u +%Y%m%d)
SYNC_TS=$(date -u +%Y-%m-%dT%H:%M:%S+00:00)
HTTP_CODE=$(curl -s -o /tmp/resp.json -w "%{http_code}" \
-X POST 'https://api.notion.com/v1/pages' \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d "{
\"parent\": { \"database_id\": \"41971982-4a17-47c0-afe3-21458c44f154\" },
\"properties\": {
\"同步记录\": { \"title\": [{ \"text\": { \"content\": \"SYNC-${SYNC_DATE}-001\" } }] },
\"同步时间\": { \"date\": { \"start\": \"${SYNC_TS}\" } },
\"仓库版本\": { \"rich_text\": [{ \"text\": { \"content\": \"v${VERSION} ${DIR_COUNT}+ dirs\" } }] },
\"执行模块\": { \"rich_text\": [{ \"text\": { \"content\": \"${WF_COUNT} workflow ${CRON_COUNT} cron\" } }] },
\"自动化状态\": { \"select\": { \"name\": \"${AUTO_S}\" } },
\"Notion连接状态\": { \"select\": { \"name\": \"🟢 Connected\" } },
\"任务队列状态\": { \"select\": { \"name\": \"🟢 Active\" } },
\"同步来源\": { \"select\": { \"name\": \"铸渊自动同步\" } },
\"备注\": { \"rich_text\": [{ \"text\": { \"content\": \"Daily Maintenance auto sync\" } }] }
}
}")
if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
echo "✅ Execution Status synced"
else
echo "❌ Sync failed (HTTP $HTTP_CODE)"
cat /tmp/resp.json
fi
```
### Secrets 配置
确认仓库 Secrets 中已有 `NOTION_API_KEY`。如已有其他名称(如 `NOTION_TOKEN`)直接复用,改 env 变量名即可。
---
## 四、状态映射规则
| `system-health.json` | → 自动化状态 | → 任务队列 |
| --- | --- | --- |
| `normal` | 🟢 Normal | 🟢 Active |
| `partial` | 🟡 Partial | 🟡 Backlog |
| 其他 / 读取失败 | 🔴 Down | 🔴 Blocked |
---
## 五、与现有 Agent 的关系
```
铸渊侧:
daily-maintenance.yml (UTC 02:00)
├─ 原有任务(自检/CodeQL等
└─ 新增sync-execution-status-to-notion ← 本指令
Notion侧已有Agent不新建
🔍 巡检引擎 (12:00+23:00) → 自动检查 Execution Status
🔧 工单引擎 → 异常工单自动处理
💬 接力引擎 → 即时响应
```
---
## 六、验收标准
- [ ] 现有 workflow 中新增 sync job
- [ ] 每日 UTC 02:00 自动写入同步记录
- [ ] 所有字段正确填写
- [ ] API 失败时不阻塞其他任务
- [ ] `NOTION_API_KEY` Secret 已配置
---
<aside>
⚒️
**铸渊执行提示**:就是在现有 workflow 加一个 job读 brain/ + curl 写 Notion API。做完在 brain/ 写状态更新,巡检引擎自动看到。
</aside>