Compare commits
9 Commits
43c1770e13
...
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46a44eb68d | ||
|
|
a3fe85b5c5 | ||
|
|
cb44714252 | ||
|
|
fade6ca2ea | ||
|
|
d68b497884 | ||
|
|
929dd88745 | ||
|
|
aceb1ba8b3 | ||
|
|
187218e8bc | ||
|
|
33f2f2023c |
@@ -29,8 +29,6 @@ agents:
|
||||
type: claude_local
|
||||
config:
|
||||
model: claude-opus-4-6
|
||||
permissions:
|
||||
canCreateAgents: true
|
||||
status: active
|
||||
|
||||
finance-researcher:
|
||||
@@ -82,8 +80,16 @@ agents:
|
||||
model: claude-sonnet-4-6
|
||||
status: paused
|
||||
|
||||
routines:
|
||||
projects:
|
||||
daily-quant-pipeline:
|
||||
leadAgentSlug: quant-strategist
|
||||
status: active
|
||||
board-ops:
|
||||
leadAgentSlug: ceo
|
||||
status: active
|
||||
|
||||
routines:
|
||||
daily-quant-run:
|
||||
triggers:
|
||||
- kind: schedule
|
||||
cronExpression: "30 7 * * 1-5"
|
||||
|
||||
@@ -3,7 +3,7 @@ name: 執行長
|
||||
title: CEO/COO
|
||||
reportsTo: null
|
||||
skills: []
|
||||
role: manager
|
||||
role: ceo
|
||||
icon: "🎯"
|
||||
---
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ skills/*/SKILL.md ← 2 個 skills
|
||||
| [pipelines.md](pipelines.md) | 所有 Pipeline 流程、排程定義、審批機制、模型分級、成本控制 |
|
||||
| [schemas.md](schemas.md) | 所有 Agent 輸出的 JSON Schema 定義(含信心指數、恐慌指數、進出場建議) |
|
||||
| [paperclip_org_plans.md](paperclip_org_plans.md) | 組織規劃方案(A/B/C)、推薦方案、修改範圍與 review 驗收標準 |
|
||||
| [paperclip_dev_review_2026-04-11.md](paperclip_dev_review_2026-04-11.md) | 第一版 Paperclip package 審查備忘錄,列出必修問題、建議修法與驗收標準 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
342
docs/paperclip_dev_review_2026-04-11.md
Normal file
342
docs/paperclip_dev_review_2026-04-11.md
Normal file
@@ -0,0 +1,342 @@
|
||||
# KingClawArmy - Paperclip Package Review(dev)
|
||||
|
||||
> 日期:2026-04-11
|
||||
> 審查對象:`origin/dev`
|
||||
> 初次審查 commit:`43c1770`
|
||||
> 追蹤審查 commit:`aceb1ba`
|
||||
> 最終追蹤 commit:`cb44714`
|
||||
> 用途:記錄 `dev` branch 的 Paperclip package 審查結果、修正追蹤與最終 smoke test 驗證
|
||||
|
||||
---
|
||||
|
||||
## 1. 結論摘要
|
||||
|
||||
`dev` branch 已經完成第一版 Paperclip package 骨架,且可通過:
|
||||
|
||||
```bash
|
||||
paperclipai company import <repo> --dry-run --json
|
||||
```
|
||||
|
||||
這代表以下基礎能力已具備:
|
||||
|
||||
1. repo root 已有 `COMPANY.md`
|
||||
2. 已有 `.paperclip.yaml`
|
||||
3. 已有 `agents/`、`teams/`、`projects/`、`tasks/`、`skills/` 基本結構
|
||||
4. importer 可以成功解析 package
|
||||
|
||||
第二輪追蹤後,原本的 P1-P4 都已修正完成,包含:
|
||||
|
||||
1. recurring routine 與 task slug 已對齊
|
||||
2. `daily-secretary-digest` 已移到正確 project 目錄
|
||||
3. `quant-strategist` 的過大權限已移除
|
||||
4. project 的 Paperclip 專屬 metadata 已改由 `.paperclip.yaml` 承載,dry-run 匯入後可正確保留
|
||||
|
||||
第三輪追蹤後,P5 也已修正完成,且額外完成了真正的 import smoke test。
|
||||
|
||||
目前結論是:
|
||||
|
||||
1. 這份 `dev` package 已通過本輪 Paperclip 規格審查
|
||||
2. `paperclipai company import --dry-run --json` 可通過,`warnings` / `errors` 為空
|
||||
3. 實際 import 到本地 Paperclip instance 也成功
|
||||
4. recurring task 會被建立為 routines,而不是 one-off issues,行為符合 Paperclip 設計
|
||||
|
||||
---
|
||||
|
||||
## 2. 最終驗證結果
|
||||
|
||||
### 2.1 Dry-run 驗證
|
||||
|
||||
使用:
|
||||
|
||||
```bash
|
||||
paperclipai company import <repo> --dry-run --json
|
||||
```
|
||||
|
||||
確認結果:
|
||||
|
||||
1. `ceo` 匯入後的 role 為 `ceo`
|
||||
2. `projects` 的 `leadAgentSlug` / `status` 有正確保留
|
||||
3. 四個 recurring task 都有對應的 `routine`
|
||||
4. `warnings: []`
|
||||
5. `errors: []`
|
||||
|
||||
### 2.2 實際 import smoke test
|
||||
|
||||
使用:
|
||||
|
||||
```bash
|
||||
paperclipai company import /Users/chirs/workspace/KingClawArmy_dev_review \
|
||||
--target new \
|
||||
--new-company-name "KingClawArmy Smoke Test 2026-04-11" \
|
||||
--yes \
|
||||
--json
|
||||
```
|
||||
|
||||
實測結果:
|
||||
|
||||
1. 成功建立 company:`KingClawArmy Smoke Test 2026-04-11`
|
||||
2. 成功建立 11 個 agents
|
||||
3. 成功建立 2 個 projects
|
||||
4. recurring task 沒有被當成一般 issues 匯入,而是建立為 4 個 active routines
|
||||
5. `GET /api/companies/{companyId}/routines` 可查到:
|
||||
- `每日量化 Pipeline 啟動`
|
||||
- `每日盤後情報整理`
|
||||
- `每日資料摘要`
|
||||
- `每日記憶壓縮與狀態摘要`
|
||||
|
||||
補充:
|
||||
|
||||
1. 實際 import 回傳的 `issues` 數量是 0,這是正常的
|
||||
2. 原因是這 4 個 recurring tasks 在 Paperclip 內會被提升為 routines,而不是預先建立 one-off issues
|
||||
3. 真正的執行 issue 會在 routine 觸發時才產生
|
||||
|
||||
### 2.3 最終判定
|
||||
|
||||
就本輪審查範圍而言,`dev` branch 已可視為:
|
||||
|
||||
1. Paperclip importable package
|
||||
2. 規格與實際匯入行為一致
|
||||
3. 可進入下一階段整合或實跑驗證
|
||||
|
||||
---
|
||||
|
||||
## 3. 已修正問題(追蹤確認)
|
||||
|
||||
### 已修正 P5. `ceo` agent 的 `role` 不是 Paperclip 預期的 `ceo`
|
||||
|
||||
**前次問題**
|
||||
|
||||
`agents/ceo/AGENTS.md` 原本是:
|
||||
|
||||
```yaml
|
||||
role: manager
|
||||
```
|
||||
|
||||
這會讓匯入後的執行長無法被 Paperclip 視為真正的 CEO,進而失去部分 CEO-safe 行為與公司層級權限。
|
||||
|
||||
**追蹤結果:**
|
||||
|
||||
已修正。`origin/dev` 的 `cb44714` 已將其改為:
|
||||
|
||||
```yaml
|
||||
role: ceo
|
||||
```
|
||||
|
||||
而且 dry-run 匯入結果也已確認 `ceo.role == "ceo"`。
|
||||
|
||||
### 已修正 P1. 07:30 主排程沒有綁到真正的 recurring task
|
||||
|
||||
**現況**
|
||||
|
||||
- `.paperclip.yaml` 的 routine key:`daily-quant-pipeline`
|
||||
- recurring task slug:`daily-quant-run`
|
||||
|
||||
參考:
|
||||
|
||||
- `origin/dev:.paperclip.yaml` 第 85-91 行
|
||||
- `origin/dev:projects/daily-quant-pipeline/tasks/daily-quant-run/TASK.md`
|
||||
|
||||
**影響**
|
||||
|
||||
`paperclipai company import --dry-run --json` 的結果顯示:
|
||||
|
||||
- `daily-quant-run` 的 `routine` 是 `null`
|
||||
|
||||
也就是說,這個每日量化啟動任務匯入後不會自動被排程觸發。
|
||||
|
||||
**建議修法**
|
||||
|
||||
二選一,選一種即可:
|
||||
|
||||
1. 把 routine key 改成 `daily-quant-run`
|
||||
2. 把 task slug 改成 `daily-quant-pipeline`
|
||||
|
||||
**建議採用:**
|
||||
|
||||
**追蹤結果:**
|
||||
|
||||
已修正。`origin/dev` 目前的 routine key 已改為 `daily-quant-run`,且 dry-run 匯入結果中 `daily-quant-run.routine` 已正確存在。
|
||||
|
||||
---
|
||||
|
||||
### 已修正 P2. `quant-strategist` 權限過大
|
||||
|
||||
**現況**
|
||||
|
||||
在 `.paperclip.yaml` 中:
|
||||
|
||||
```yaml
|
||||
agents:
|
||||
quant-strategist:
|
||||
permissions:
|
||||
canCreateAgents: true
|
||||
```
|
||||
|
||||
**影響**
|
||||
|
||||
在 Paperclip 中,`canCreateAgents` 比「可分派工作」更高,是接近 agent creator / manager 級別的權限。
|
||||
|
||||
目前設計目標只是讓策略師主導量化 pipeline,不是讓他具備建立 agent 的高權限。
|
||||
|
||||
**建議修法**
|
||||
|
||||
1. 若只是要策略師能主導任務分配,先移除 `canCreateAgents: true`
|
||||
2. 若未來真的需要額外委派能力,再由 Paperclip 的顯式 permission / grant 機制處理
|
||||
|
||||
**建議採用:**
|
||||
|
||||
**追蹤結果:**
|
||||
|
||||
已修正。`quant-strategist` 的 `canCreateAgents` 已移除。
|
||||
|
||||
---
|
||||
|
||||
### 已修正 P3. `PROJECT.md` 的 owner / status 意圖沒有被保留下來
|
||||
|
||||
**現況**
|
||||
|
||||
兩個 project 使用了:
|
||||
|
||||
```yaml
|
||||
leadAgentSlug: ...
|
||||
status: active
|
||||
```
|
||||
|
||||
參考:
|
||||
|
||||
- `origin/dev:projects/daily-quant-pipeline/PROJECT.md`
|
||||
- `origin/dev:projects/board-ops/PROJECT.md`
|
||||
|
||||
**影響**
|
||||
|
||||
實際 dry-run 匯入結果顯示:
|
||||
|
||||
- `leadAgentSlug: null`
|
||||
- `status: null`
|
||||
|
||||
也就是說,這兩個欄位現在雖然寫在檔案裡,但 importer 沒有保留成有效 project metadata。
|
||||
|
||||
**建議修法**
|
||||
|
||||
1. 先把 `PROJECT.md` 保持為 vendor-neutral、最小可攜欄位
|
||||
2. 若需要 Paperclip 專屬 fidelity,改放到 `.paperclip.yaml` 或 `metadata.paperclip`
|
||||
3. project owner 可優先改成 base spec 較接近的欄位,例如 `owner`
|
||||
|
||||
**建議採用:**
|
||||
|
||||
**追蹤結果:**
|
||||
|
||||
已修正。`PROJECT.md` 已收斂成較乾淨的 base package 內容,project 的 `leadAgentSlug` / `status` 目前改由 `.paperclip.yaml` 承載,且 dry-run 匯入結果可正確保留。
|
||||
|
||||
---
|
||||
|
||||
### 已修正 P4. `daily-secretary-digest` 放在錯的 project 資料夾底下
|
||||
|
||||
**現況**
|
||||
|
||||
檔案位置:
|
||||
|
||||
```text
|
||||
projects/daily-quant-pipeline/tasks/daily-secretary-digest/TASK.md
|
||||
```
|
||||
|
||||
但 frontmatter 內容是:
|
||||
|
||||
```yaml
|
||||
project: board-ops
|
||||
```
|
||||
|
||||
**影響**
|
||||
|
||||
雖然 importer 目前會依 frontmatter 匯入成功,但這違反 package 本身的資料夾慣例,之後非常容易造成:
|
||||
|
||||
1. 維護時誤判任務歸屬
|
||||
2. reviewer 看目錄就被誤導
|
||||
3. 後續 agent 做批次修改時把任務放錯地方
|
||||
|
||||
**建議修法**
|
||||
|
||||
將該檔案移到:
|
||||
|
||||
```text
|
||||
projects/board-ops/tasks/daily-secretary-digest/TASK.md
|
||||
```
|
||||
|
||||
同時保持:
|
||||
|
||||
**追蹤結果:**
|
||||
|
||||
已修正。該檔案已移到:
|
||||
|
||||
```text
|
||||
projects/board-ops/tasks/daily-secretary-digest/TASK.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 建議但非阻塞問題
|
||||
|
||||
### S1. 第一版 package 已經不是方案 A,而是接近量化完整版
|
||||
|
||||
目前 `dev` branch 實際包含:
|
||||
|
||||
1. 管理團隊 3 位
|
||||
2. 量化團隊 7 位
|
||||
3. `xiao-an` 1 位 paused
|
||||
|
||||
也就是:
|
||||
|
||||
- 10 active
|
||||
- 1 paused
|
||||
|
||||
這已經比原規劃文件的方案 A 更接近「完整量化版」。
|
||||
|
||||
**建議**
|
||||
|
||||
1. 更新 `docs/INDEX.md` 與相關說明,明確寫成「第一版 package = 管理 + 完整量化團隊」
|
||||
2. 不要再沿用「精實版 8 active」的敘述,避免文檔口徑不一致
|
||||
|
||||
---
|
||||
|
||||
### S2. 可以補一份簡短的 import 驗收說明
|
||||
|
||||
建議在 `docs/` 追加一段簡單說明,讓之後的人知道該怎麼驗:
|
||||
|
||||
```bash
|
||||
paperclipai company import . --dry-run --json
|
||||
```
|
||||
|
||||
最低驗收應包含:
|
||||
|
||||
1. 沒有 `missing COMPANY.md`
|
||||
2. 所有 recurring task 都有對應 routine
|
||||
3. projects 與 tasks 的目錄與 frontmatter 一致
|
||||
4. `.paperclip.yaml` 沒有秘密值與機器相依路徑
|
||||
|
||||
---
|
||||
|
||||
## 5. 後續建議
|
||||
|
||||
接下來如果要繼續往前推,建議順序是:
|
||||
|
||||
1. 在本地或測試環境做一次 routine 實跑驗證,確認觸發後會建立 execution issue
|
||||
2. 若要正式採用,補一份簡短的 import / smoke test 操作說明到 `docs/`
|
||||
3. 若後續要擴充行銷或內容團隊,再以相同模式擴展 package 結構
|
||||
|
||||
---
|
||||
|
||||
## 6. 本輪驗收標準
|
||||
|
||||
本輪已確認:
|
||||
|
||||
1. `agents/ceo/AGENTS.md` 的 frontmatter 為 `role: ceo`
|
||||
2. `paperclipai company import --dry-run --json` 成功通過
|
||||
3. 匯入後 CEO 在系統中被辨識為真正的 CEO,而不是一般 manager
|
||||
4. recurring task 在真實 import 後會建立為 routines
|
||||
5. 文件敘述與 package 實際內容一致
|
||||
|
||||
---
|
||||
|
||||
## 7. 一句話結論
|
||||
|
||||
`origin/dev` 的 KingClawArmy Paperclip package 已完成本輪修正並通過 dry-run 與實際 import smoke test,可進入下一階段驗證或整合。
|
||||
@@ -2,8 +2,6 @@
|
||||
name: 日常營運
|
||||
description: 日常營運管理任務,包含每日摘要、記憶壓縮、狀態追蹤
|
||||
slug: board-ops
|
||||
leadAgentSlug: ceo
|
||||
status: active
|
||||
---
|
||||
|
||||
# 日常營運
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
name: 每日量化 Pipeline
|
||||
description: 每日盤前啟動的量化研究 pipeline,從情報蒐集到策略產出的完整流程
|
||||
slug: daily-quant-pipeline
|
||||
leadAgentSlug: quant-strategist
|
||||
status: active
|
||||
---
|
||||
|
||||
# 每日量化 Pipeline
|
||||
|
||||
Reference in New Issue
Block a user