shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/📋 铸渊指令|合作者公告栏改为追加式记录(2026-03-14·霜砚签发) c5ca02d3d5f54f88842c44e79745d939.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

152 lines
4.5 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 桥接协议]]"
---
# 📋 铸渊指令合作者公告栏改为追加式记录2026-03-14·霜砚签发
<aside>
⚒️
**签发方**霜砚Notion执行AI× 冰朔TCS-0002∞
**接收方**铸渊GitHub代码守护人格体
**生效时间**2026-03-14T15:30+08:00
**优先级**P1
**问题描述**:合作者公告栏当前是**覆盖式更新**——每个开发者上传模块后,公告栏只显示最后一个上传的人,之前的记录被覆盖。冰朔需要看到**当天所有开发者的上传记录**。
</aside>
---
## 一、当前问题
```
现在的行为(覆盖式):
DEV-001 上传 backend/ → 公告栏显示 DEV-001 ✅
DEV-005 上传 status-board/ → 公告栏只显示 DEV-005 ✅
→ DEV-001 的记录被覆盖,看不见了 ❌
期望的行为(追加式):
DEV-001 上传 backend/ → 公告栏显示 DEV-001 ✅
DEV-005 上传 status-board/ → 公告栏显示 DEV-001 + DEV-005 ✅✅
→ 当天所有人的上传记录都保留 ✅
```
---
## 二、修改要求
### 2.1 核心逻辑:追加而非覆盖
公告栏表格改为**当日累积追加**模式:
- 每次有开发者上传模块,**新增一行**到表格中,不删除已有行
- 同一个开发者同一天多次上传,每次都**新增一行**(不覆盖之前的记录)
- 表格按时间正序排列(最早在上面,最新在下面)
### 2.2 每日自动清空
- 每天 UTC 00:00北京 08:00自动清空前一天的记录重新开始
- 或者:在 `daily-maintenance.yml` 的最早 job 里做一次清空
- 保留表头行,只清空数据行
### 2.3 表格字段要求
每行记录应包含:
| 字段 | 说明 | 示例 |
| --- | --- | --- |
| **时间** | 上传时间(北京时间 HH:mm | `15:12` |
| **合作者** | 开发者名字或编号 | `DEV-001 页页` |
| **模块** | 上传的模块目录名 | `backend/` |
| **状态** | 上传结果 | `✅ 上传成功` |
### 2.4 示例效果
一天结束后,公告栏应该看起来像这样:
```
👥 合作者公告栏2026-03-14
时间 合作者 模块 状态
09:30 DEV-001 页页 backend/ ✅ 上传成功
10:15 DEV-005 小草莓 status-board/ ✅ 上传成功
11:42 DEV-004 之之 dingtalk-bot/ ✅ 上传成功
14:20 DEV-001 页页 src/ ✅ 上传成功
15:12 冰朔 -/ ✅ 上传成功
15:12 Copilot 副驾驶 -/ ✅ 上传成功
```
---
## 三、实现方式建议
### 方案 A改写更新公告区的 workflow / script
找到当前负责更新合作者公告栏的脚本或 workflow可能是 `更新系统公告区` #130),修改其逻辑:
```jsx
// 伪代码:从覆盖改为追加
// ❌ 旧逻辑(覆盖式)
const table = [headerRow];
table.push(newRow); // 每次只保留最新一条
writeToFile(table);
// ✅ 新逻辑(追加式)
const existingTable = readExistingTable(); // 读取现有内容
const today = getCurrentDateBeijing();
// 如果表格日期不是今天,清空重建
if (existingTable.date !== today) {
existingTable.rows = [];
existingTable.date = today;
}
// 追加新行
existingTable.rows.push(newRow);
writeToFile(existingTable);
```
### 方案 B如果公告栏是 GitHub Pages 上的 HTML
修改生成 HTML 的逻辑,从「替换整个表格」改为「追加 `<tr>` 行」。可以用一个 JSON 文件(如 `bulletin-board-today.json`)作为当日记录的缓存:
```json
{
"date": "2026-03-14",
"records": [
{"time": "09:30", "author": "DEV-001 页页", "module": "backend/", "status": "✅ 上传成功"},
{"time": "10:15", "author": "DEV-005 小草莓", "module": "status-board/", "status": "✅ 上传成功"}
]
}
```
每次有新上传 → 读取 JSON → 检查日期 → 追加记录 → 重新生成 HTML 表格。
---
## 四、铸渊自动提醒区域也要保留
截图中的「🤖 铸渊自动提醒·合作者」区域保持不变,继续显示当日汇总状态即可。
---
## 五、验收标准
- [ ] 同一天多个开发者上传后,公告栏能看到**所有人**的记录
- [ ] 同一个开发者多次上传,每次都有独立记录
- [ ] 每天自动清空前一天的数据
- [ ] 不影响其他 workflow 正常运行
---
<aside>
⚒️
**铸渊执行提示**:找到更新公告栏的脚本,把「覆盖写入」改成「读取现有 + 追加新行 + 每日清空」。核心改动很小,就是加个读取和追加的逻辑。
</aside>