@moon791017/neo-skills 1.1.30 → 1.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/neo-harness-project/SKILL.md +77 -29
- package/skills/neo-harness-project/assets/templates/AGENTS.md.template +12 -11
- package/skills/neo-harness-project/assets/templates/PLANS.md.template +5 -3
- package/skills/neo-harness-project/assets/templates/scripts.md.template +2 -0
- package/skills/neo-harness-project/evals/eval_queries.json +3 -1
- package/skills/neo-harness-project/evals/evals.json +31 -2
- package/skills/neo-harness-project/references/artifact-selection.md +39 -10
- package/skills/neo-harness-project/references/generation-validation.md +56 -24
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: neo-harness-project
|
|
3
3
|
description: >
|
|
4
4
|
當使用者要求盤點目前專案並建立、重建或補強完整 Harness 工程環境時使用此技能,
|
|
5
|
-
|
|
5
|
+
包含專案知識地圖、架構文件、持久化計畫、驗證入口、.neo_harness 集中式資產及依證據選用的工程治理資產;
|
|
6
6
|
不用於只建立單一 AGENTS.md 或一般功能開發。
|
|
7
7
|
license: MIT
|
|
8
8
|
metadata:
|
|
@@ -12,69 +12,117 @@ metadata:
|
|
|
12
12
|
|
|
13
13
|
# Project Harness Builder
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
依專案現況建立可閱讀、可驗證、可恢復的工程環境。不得套用固定技術棧或理想架構,也不得建立沒有真實檢查能力的空殼。
|
|
16
16
|
|
|
17
17
|
## 邊界
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
19
|
+
- 本技能盤點並建置整個專案的 Harness。
|
|
20
|
+
- 需求只涉及 `AGENTS.md` 時,改用 `neo-harness`。
|
|
21
|
+
- 目標專案的 Harness 資產必須集中在根目錄 `.neo_harness/`;唯一例外是必須留在根目錄的 `AGENTS.md`。
|
|
22
|
+
- 技能套件自身的 `references/`、`assets/` 與 `evals/` 是技能實作資源,不屬於目標專案的 Harness 產出位置。
|
|
23
|
+
- 不得新增使用者未要求的第三方依賴、服務、部署或外部連線。
|
|
22
24
|
- 技能內容與產出必須保持供應商中立,不得提及任何特定模型供應商、產品、套件族、官方網址或供應商專屬中繼資料。
|
|
23
|
-
-
|
|
25
|
+
- 若無法在遵守中立要求的前提下準確記錄必要專案事實,停止相關產出並回報衝突;不得刪減或改寫事實以規避衝突。
|
|
26
|
+
|
|
27
|
+
## Harness 資產位置規範
|
|
28
|
+
|
|
29
|
+
下列路徑均以目標專案根目錄為基準:
|
|
30
|
+
|
|
31
|
+
| 資產 | 正式路徑 |
|
|
32
|
+
| :--- | :--- |
|
|
33
|
+
| 專案入口與工作規則 | `AGENTS.md` |
|
|
34
|
+
| 架構文件 | `.neo_harness/ARCHITECTURE.md` |
|
|
35
|
+
| 計畫規範 | `.neo_harness/PLANS.md` |
|
|
36
|
+
| 專案命令清單 | `.neo_harness/docs/scripts.md` |
|
|
37
|
+
| 進行中的執行計畫 | `.neo_harness/docs/exec-plans/active/` |
|
|
38
|
+
| 已完成的執行計畫 | `.neo_harness/docs/exec-plans/completed/` |
|
|
39
|
+
|
|
40
|
+
- 不得建立 `.neo_harness/AGENTS.md`;根目錄 `AGENTS.md` 是唯一的 Agent 入口。
|
|
41
|
+
- 所有其他 Harness 核心或條件式資產都必須放在 `.neo_harness/` 內,並由根目錄 `AGENTS.md` 或相關文件連結。
|
|
42
|
+
- `.neo_harness/` 是正式且應納入版本控制的專案資產;若被 `.gitignore` 或其他忽略規則排除,先標記為 `blocked`,不得自行修改忽略規則。
|
|
43
|
+
- 不得把非 Harness 文件、既有專案文件或技能套件自身的資源移入 `.neo_harness/`。
|
|
44
|
+
|
|
45
|
+
### 既有舊路徑的搬遷
|
|
46
|
+
|
|
47
|
+
若盤點發現下列舊路徑存在,必須先提供搬遷預覽並取得使用者對精確清單的明確確認:
|
|
48
|
+
|
|
49
|
+
| 舊路徑 | 正式路徑 |
|
|
50
|
+
| :--- | :--- |
|
|
51
|
+
| `ARCHITECTURE.md` | `.neo_harness/ARCHITECTURE.md` |
|
|
52
|
+
| `PLANS.md` | `.neo_harness/PLANS.md` |
|
|
53
|
+
| `docs/scripts.md` | `.neo_harness/docs/scripts.md` |
|
|
54
|
+
| `docs/exec-plans/` | `.neo_harness/docs/exec-plans/` |
|
|
55
|
+
|
|
56
|
+
- 搬遷預覽必須列出來源、目的地、受影響的連結或索引、驗證命令與復原方式。
|
|
57
|
+
- 目的地已存在、來源與目的地內容衝突,或目的地受忽略規則排除時,動作標記為 `blocked`;不得覆寫、刪除、建立重複副本或建立符號連結。
|
|
58
|
+
- 未經確認不得搬遷、批次改名或刪除舊路徑;確認後才可更新受影響的 Harness 連結,並保留可從版本控制或已報告快照復原的依據。
|
|
59
|
+
- 不屬於上述清單的舊文件不自動搬遷,除非使用者另行確認。
|
|
24
60
|
|
|
25
61
|
## 必要流程
|
|
26
62
|
|
|
27
63
|
### 1. 盤點,不寫入
|
|
28
64
|
|
|
29
|
-
先讀取專案規範、版本控制狀態、根目錄、套件與建置設定、測試、CI、文件、主要入口及現有 Harness
|
|
65
|
+
先讀取專案規範、版本控制狀態、根目錄、套件與建置設定、測試、CI、文件、主要入口及現有 Harness 資產,包括 `.neo_harness/` 正式路徑與上述舊路徑的既有檔案。命令必須來自可驗證的設定或文件,不得依技術棧猜測。
|
|
30
66
|
|
|
31
|
-
盤點時必須閱讀 [專案評估模型](references/project-assessment.md)
|
|
67
|
+
盤點時必須閱讀 [專案評估模型](references/project-assessment.md),依來源證據判定成熟度與缺口。未知資訊標為「未知」,不得補成理想狀態。
|
|
32
68
|
|
|
33
69
|
### 2. 選擇產出
|
|
34
70
|
|
|
35
|
-
閱讀 [資產選擇矩陣](references/artifact-selection.md)
|
|
71
|
+
閱讀 [資產選擇矩陣](references/artifact-selection.md),將候選路徑分類為:
|
|
36
72
|
|
|
37
73
|
- `create`:路徑不存在,且已有足夠證據建立。
|
|
38
74
|
- `update`:保留有效內容並補齊缺口。
|
|
39
75
|
- `rebuild`:現有內容與已確認目標衝突,需重建。
|
|
76
|
+
- `migrate`:舊 Harness 路徑存在,需依確認結果搬到 `.neo_harness/` 並更新受影響連結。
|
|
40
77
|
- `skip`:沒有需求或證據,不建立。
|
|
41
78
|
- `blocked`:缺少關鍵事實或違反中立要求。
|
|
42
79
|
|
|
43
|
-
|
|
80
|
+
預設納入核心知識、命令清單與計畫資產;只有矩陣條件成立時才納入 CI、架構檢查、執行環境、可觀測性與持續清理。
|
|
44
81
|
|
|
45
82
|
### 3. 提供寫入預覽
|
|
46
83
|
|
|
47
|
-
|
|
84
|
+
寫入前先提供:
|
|
48
85
|
|
|
49
86
|
1. 專案證據與成熟度。
|
|
50
|
-
2. 精確目標路徑及 `create`、`update`、`rebuild`、`skip` 或 `blocked` 動作。
|
|
87
|
+
2. 精確目標路徑及 `create`、`update`、`rebuild`、`migrate`、`skip` 或 `blocked` 動作。
|
|
51
88
|
3. 每項動作的事實依據與內容摘要。
|
|
52
89
|
4. 既有檔案衝突、驗證命令與失敗復原方式。
|
|
53
90
|
|
|
54
|
-
|
|
91
|
+
取得使用者對全部或指定路徑的明確確認。使用者初始提出「建立 Harness」不代表已確認未知的重建或搬遷清單;提供預覽前不得寫入。
|
|
55
92
|
|
|
56
|
-
### 4.
|
|
93
|
+
### 4. 依確認結果產生
|
|
57
94
|
|
|
58
|
-
寫入前閱讀 [產生、驗證與復原](references/generation-validation.md)
|
|
95
|
+
寫入前閱讀 [產生、驗證與復原](references/generation-validation.md),以 [核心模板](assets/templates/) 為結構起點;依專案事實改寫並移除所有模板標記,不得直接複製未完成模板。
|
|
59
96
|
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- `rebuild`
|
|
63
|
-
-
|
|
64
|
-
-
|
|
97
|
+
- 採用目前專案的命名、工具與文件語言;無法判定時採用使用者語言。
|
|
98
|
+
- 只修改預覽列出的已確認路徑;搬遷時來源、目的地與連結更新都必須列在確認清單中。
|
|
99
|
+
- `rebuild` 必須保留仍正確的專案事實,並可從版本控制或已報告的暫存快照復原。
|
|
100
|
+
- `migrate` 只能在確認後執行;先完成內容與連結的核對,再移除來源路徑,且不得覆寫既有目的地。
|
|
101
|
+
- 空的執行計畫目錄以最小追蹤檔保存,不填入虛構計畫。
|
|
102
|
+
- 新建立的執行計畫檔名必須使用 `YYYYMMDDHHmmss_<原計畫檔名>.md`;時間戳取建立當下執行環境的本地時間,從 `active` 移至 `completed` 時保留原時間戳。既有計畫搬遷至 `.neo_harness/` 時保留原檔名與時間戳。
|
|
103
|
+
- 既有未加時間戳的計畫不批次改名;更新既有計畫時沿用原檔名。
|
|
104
|
+
- `.neo_harness/docs/scripts.md` 必須只含 `指令`、`用途` 兩欄的 Markdown table,收錄專案設定或文件可驗證的所有命令;沒有可驗證命令時只保留空表頭。
|
|
105
|
+
- 沒有可驗證的統一驗證命令時,從 `AGENTS.md` 移除統一驗證命令與相應完成條件,不保留模板標記。
|
|
106
|
+
- 規則可由機器可靠判斷時,優先使用既有工具建立可執行檢查;否則明確記錄為文件規則。
|
|
65
107
|
|
|
66
108
|
### 5. 閉環驗證
|
|
67
109
|
|
|
68
|
-
1.
|
|
69
|
-
2.
|
|
70
|
-
3.
|
|
71
|
-
4.
|
|
72
|
-
5.
|
|
110
|
+
1. 確認建立、更新、重建或搬遷的檔案均在確認清單中。
|
|
111
|
+
2. 若有搬遷,確認來源已依核准方案處理、目的地內容完整,且所有受影響連結均指向 `.neo_harness/`。
|
|
112
|
+
3. 檢查文件連結、命令、路徑、架構描述及模板標記。
|
|
113
|
+
4. 驗證新計畫檔名的時間戳格式,以及 `.neo_harness/docs/scripts.md` 的兩欄 Markdown table 格式。
|
|
114
|
+
5. 執行專案原有快速檢查及新增的統一驗證入口。
|
|
115
|
+
6. 失敗時讀取完整錯誤,修正根因後重跑。
|
|
116
|
+
7. 回報產出、未解缺口、命令與結果;沒有通過證據不得宣告完成。
|
|
73
117
|
|
|
74
118
|
## 完成條件
|
|
75
119
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
120
|
+
- 新工作階段只靠目前專案即可找到核心資產所需的知識、限制與驗證方法。
|
|
121
|
+
- `.neo_harness/docs/scripts.md` 列出完整且可追溯的專案命令。
|
|
122
|
+
- 新建立的計畫檔案可依時間戳前綴排序,且在生命週期中移動時保留前綴。
|
|
123
|
+
- 根目錄 `AGENTS.md` 是唯一入口,其餘 Harness 資產均位於 `.neo_harness/` 且連結一致。
|
|
124
|
+
- 所有命令均可追溯至專案設定並可執行。
|
|
78
125
|
- 沒有假成功命令、未完成模板、虛構架構或未經確認的重建。
|
|
79
|
-
-
|
|
80
|
-
-
|
|
126
|
+
- 沒有未經確認的搬遷、批次改名、覆寫或刪除;搬遷衝突會明確標記為 `blocked`。
|
|
127
|
+
- 條件式資產都有專案證據,未選用項目都有明確原因。
|
|
128
|
+
- 產出保持供應商中立,並交付驗證結果與剩餘缺口。
|
|
@@ -4,32 +4,33 @@
|
|
|
4
4
|
|
|
5
5
|
## 開始工作
|
|
6
6
|
|
|
7
|
-
1. 閱讀
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
7
|
+
1. 閱讀 `.neo_harness/ARCHITECTURE.md`。
|
|
8
|
+
2. 閱讀任務相關的模組文件與既有實作。
|
|
9
|
+
3. 複雜或跨工作階段的任務,依 `.neo_harness/PLANS.md` 建立或更新執行計畫。
|
|
10
10
|
4. 修改前確認目前基準與驗收條件。
|
|
11
11
|
|
|
12
12
|
## 專案知識
|
|
13
13
|
|
|
14
14
|
| 主題 | 來源 |
|
|
15
15
|
| :--- | :--- |
|
|
16
|
-
| 架構 |
|
|
17
|
-
| 執行計畫 |
|
|
16
|
+
| 架構 | `.neo_harness/ARCHITECTURE.md` |
|
|
17
|
+
| 執行計畫 | `.neo_harness/docs/exec-plans/` |
|
|
18
|
+
| 專案指令 | `.neo_harness/docs/scripts.md` |
|
|
18
19
|
| {{KNOWLEDGE_TOPIC}} | `{{KNOWLEDGE_PATH}}` |
|
|
19
20
|
|
|
20
21
|
## 命令
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
完整命令清單:`.neo_harness/docs/scripts.md`
|
|
24
|
+
|
|
25
|
+
統一驗證命令:`{{CANONICAL_VERIFY_COMMAND}}`
|
|
25
26
|
|
|
26
27
|
## 工作閉環
|
|
27
28
|
|
|
28
29
|
1. 以程式碼、設定或測試建立基準。
|
|
29
30
|
2. 以最小變更完成需求。
|
|
30
|
-
3.
|
|
31
|
+
3. 執行相關快速檢查,依完整錯誤修正根因。
|
|
31
32
|
4. 執行統一驗證與自我審查。
|
|
32
|
-
5.
|
|
33
|
+
5. 驗證通過後交付實際證據。
|
|
33
34
|
|
|
34
35
|
## 專案限制
|
|
35
36
|
|
|
@@ -40,4 +41,4 @@
|
|
|
40
41
|
- 已完成要求的可觀察行為。
|
|
41
42
|
- 相關測試或其他決定性證據存在。
|
|
42
43
|
- `{{CANONICAL_VERIFY_COMMAND}}` 成功。
|
|
43
|
-
-
|
|
44
|
+
- 架構、文件與執行計畫依需要同步。
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Execution Plans
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
下列工作必須建立持久執行計畫:
|
|
4
4
|
|
|
5
5
|
- {{PLAN_THRESHOLD}}
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
進行中的計畫放在 `.neo_harness/docs/exec-plans/active/`;完成並記錄結果的計畫移至 `.neo_harness/docs/exec-plans/completed/`。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
新建立的執行計畫檔名使用 `YYYYMMDDHHmmss_<原計畫檔名>.md`。時間戳取建立當下執行環境的本地時間,計畫移至 `completed` 時沿用原時間戳。既有未加時間戳的計畫不批次改名。
|
|
10
|
+
|
|
11
|
+
每份計畫必須自包含;讀者只需目前工作樹與計畫本身,不得依賴先前對話或未連結的外部資訊。
|
|
10
12
|
|
|
11
13
|
## 必要內容
|
|
12
14
|
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
"should_trigger": [
|
|
3
3
|
"請盤點目前 repository,建立完整且可自行驗證的 Harness 工程環境",
|
|
4
4
|
"幫這個專案補齊架構文件、長任務計畫、統一驗證入口與必要目錄",
|
|
5
|
+
"調整 Harness 的計畫檔名排序規則,並整理專案命令到 .neo_harness/docs/scripts.md",
|
|
5
6
|
"Assess this repository and build an evidence-based project harness with persistent plans and validation gates",
|
|
6
7
|
"重建目前專案的 Harness 文件,但先列出會覆寫的檔案給我確認",
|
|
7
|
-
"檢查現有工程環境的成熟度,並依實際工具補齊缺少的治理資產"
|
|
8
|
+
"檢查現有工程環境的成熟度,並依實際工具補齊缺少的治理資產",
|
|
9
|
+
"將 Harness 相關產出集中到 .neo_harness,但保留根目錄 AGENTS.md,並處理既有舊路徑搬遷"
|
|
8
10
|
],
|
|
9
11
|
"should_not_trigger": [
|
|
10
12
|
"只幫我產生一份 AGENTS.md",
|
|
@@ -4,13 +4,16 @@
|
|
|
4
4
|
{
|
|
5
5
|
"id": 1,
|
|
6
6
|
"prompt": "請針對目前的 Node.js 專案建立完整 Harness。package.json 只有 test 與 build scripts,專案目前沒有任何治理文件。",
|
|
7
|
-
"expected_output": "
|
|
7
|
+
"expected_output": "先提供唯讀盤點與精確寫入預覽,不立即建立檔案。核心資產應納入,包含根目錄 AGENTS.md、.neo_harness/ARCHITECTURE.md、.neo_harness/PLANS.md、.neo_harness/docs/scripts.md 與 .neo_harness/docs/exec-plans/;執行計畫使用時間戳命名規則與兩欄命令表;驗證入口只能組合實際存在的 test 與 build,沒有證據的 CI、可觀測性或架構檢查應略過。",
|
|
8
8
|
"assertions": [
|
|
9
9
|
"確認前沒有修改任何檔案",
|
|
10
10
|
"預覽列出每個精確路徑、動作、證據、驗證與復原方式",
|
|
11
11
|
"只採用 package.json 實際存在的 test 與 build 命令",
|
|
12
12
|
"不虛構 lint、typecheck、CI、可觀測性或架構工具",
|
|
13
|
-
"
|
|
13
|
+
"根目錄只有 AGENTS.md 作為入口,其餘核心資產位於 .neo_harness/",
|
|
14
|
+
".neo_harness/docs/scripts.md 僅使用 指令 與 用途 兩欄並只收錄可驗證命令",
|
|
15
|
+
"新建立的執行計畫使用 YYYYMMDDHHmmss_ 前綴,移至 completed 時保留前綴",
|
|
16
|
+
"沒有證據的條件式資產應略過"
|
|
14
17
|
]
|
|
15
18
|
},
|
|
16
19
|
{
|
|
@@ -21,6 +24,7 @@
|
|
|
21
24
|
"不把初始重建要求當成未知清單的覆寫確認",
|
|
22
25
|
"預覽區分仍正確的專案事實與需要替換的內容",
|
|
23
26
|
"確認重建前檢查目標是否由版本控制追蹤",
|
|
27
|
+
"正式 Harness 產出位於 .neo_harness/,AGENTS.md 留在根目錄",
|
|
24
28
|
"不修改預覽以外的路徑"
|
|
25
29
|
]
|
|
26
30
|
},
|
|
@@ -56,6 +60,31 @@
|
|
|
56
60
|
"受影響資產標記為 blocked",
|
|
57
61
|
"未受衝突影響的盤點仍可繼續"
|
|
58
62
|
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": 6,
|
|
66
|
+
"prompt": "專案已有未加時間戳的 active 計畫與數個散落在設定及文件中的實際命令。請補齊 Harness 導航與命令文件,但不要未經確認批次改名。",
|
|
67
|
+
"expected_output": "保留既有計畫檔名與連結;新計畫使用本地時間的 14 位數字前綴,建立只含指令與用途兩欄的 .neo_harness/docs/scripts.md,並將所有有來源證據的命令集中整理。",
|
|
68
|
+
"assertions": [
|
|
69
|
+
"既有未加前綴的計畫不直接改名",
|
|
70
|
+
"新計畫檔名符合 YYYYMMDDHHmmss_<原計畫檔名>.md",
|
|
71
|
+
"計畫移動至 completed 時保留原時間戳",
|
|
72
|
+
".neo_harness/docs/scripts.md 是只含 指令 與 用途 兩欄的 Markdown table",
|
|
73
|
+
"未經專案設定或文件驗證的命令不加入 .neo_harness/docs/scripts.md"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": 7,
|
|
78
|
+
"prompt": "盤點發現根目錄已有 ARCHITECTURE.md、PLANS.md、docs/scripts.md 與 docs/exec-plans/active/plan.md,但沒有 .neo_harness。請集中 Harness 資產,且不要在確認前直接搬移。",
|
|
79
|
+
"expected_output": "先提供來源到 .neo_harness/ 的 migrate 預覽,列出連結更新、驗證與復原方式;確認前不搬遷、不刪除、不批次改名。若目的地已存在、內容衝突或被忽略規則排除,相關動作標為 blocked;根目錄 AGENTS.md 保留原位。",
|
|
80
|
+
"assertions": [
|
|
81
|
+
"逐項列出 ARCHITECTURE.md、PLANS.md、docs/scripts.md 與 docs/exec-plans/ 的來源及正式目的地",
|
|
82
|
+
"搬遷前要求使用者確認精確清單",
|
|
83
|
+
"既有 active 計畫保留原檔名與時間戳規則",
|
|
84
|
+
"目的地衝突或被忽略時標記為 blocked",
|
|
85
|
+
"不建立 .neo_harness/AGENTS.md",
|
|
86
|
+
"不建立重複副本或符號連結"
|
|
87
|
+
]
|
|
59
88
|
}
|
|
60
89
|
]
|
|
61
90
|
}
|
|
@@ -1,28 +1,57 @@
|
|
|
1
1
|
# 資產選擇矩陣
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
依專案證據決定產出。核心資產提供導航與持久狀態;只有能改善真實回饋迴路時才建立條件式資產。
|
|
4
4
|
|
|
5
5
|
## 核心資產
|
|
6
6
|
|
|
7
7
|
| 路徑 | 目的 | 建立規則 |
|
|
8
8
|
| :--- | :--- | :--- |
|
|
9
9
|
| `AGENTS.md` | 短小的專案知識地圖、精確命令、工作規則與完成條件 | 一律評估;存在時依確認結果更新或重建 |
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
| `
|
|
13
|
-
|
|
|
10
|
+
| `.neo_harness/docs/scripts.md` | 保存專案所有已驗證命令及用途 | 一律評估;不存在時建立,存在時保留有效內容並補齊已驗證命令 |
|
|
11
|
+
| `.neo_harness/ARCHITECTURE.md` | 記錄目前元件、責任、依賴方向、邊界與可執行約束 | 一律評估;未知架構明確標示,不畫理想架構 |
|
|
12
|
+
| `.neo_harness/PLANS.md` | 定義何時使用持久計畫、必要章節及生命週期 | 一律評估;沿用專案既有計畫命名時同步調整連結 |
|
|
13
|
+
| `.neo_harness/docs/exec-plans/active/` | 保存進行中且可由新工作階段接續的計畫 | 沒有現行計畫時只建立最小追蹤檔 |
|
|
14
|
+
| `.neo_harness/docs/exec-plans/completed/` | 保存完成結果、決策與驗證證據 | 沒有完成計畫時只建立最小追蹤檔 |
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
根目錄 `AGENTS.md` 是唯一入口;不得建立 `.neo_harness/AGENTS.md`。專案已有等價且廣泛引用的舊路徑時,先列入搬遷預覽,不另建第二套真相來源。
|
|
17
|
+
|
|
18
|
+
## 舊路徑搬遷
|
|
19
|
+
|
|
20
|
+
下列舊路徑只可在預覽並取得使用者明確確認後搬遷:
|
|
21
|
+
|
|
22
|
+
| 舊路徑 | 正式路徑 |
|
|
23
|
+
| :--- | :--- |
|
|
24
|
+
| `ARCHITECTURE.md` | `.neo_harness/ARCHITECTURE.md` |
|
|
25
|
+
| `PLANS.md` | `.neo_harness/PLANS.md` |
|
|
26
|
+
| `docs/scripts.md` | `.neo_harness/docs/scripts.md` |
|
|
27
|
+
| `docs/exec-plans/` | `.neo_harness/docs/exec-plans/` |
|
|
28
|
+
|
|
29
|
+
- 來源存在且目的地不存在時,動作可標為 `migrate`;來源與目的地都存在、內容衝突,或 `.neo_harness/` 被忽略規則排除時,標為 `blocked`。
|
|
30
|
+
- `migrate` 預覽必須同時列出來源、目的地、連結更新、驗證與復原方式;未確認前不得搬遷、刪除或批次改名。
|
|
31
|
+
- 搬遷既有計畫時保留原檔名與時間戳;不因搬遷而將未加時間戳的既有計畫批次改名。
|
|
32
|
+
- 不屬於上述清單的舊文件不自動搬遷,除非使用者另行確認。
|
|
33
|
+
|
|
34
|
+
## 計畫檔名
|
|
35
|
+
|
|
36
|
+
- 新建立的執行計畫若放在 `.neo_harness/docs/exec-plans/active/` 或 `.neo_harness/docs/exec-plans/completed/`,檔名使用 `YYYYMMDDHHmmss_<原計畫檔名>.md`。
|
|
37
|
+
- `YYYYMMDDHHmmss` 是建立當下執行環境本地時間的 14 位數字;計畫移動時保留原時間戳。
|
|
38
|
+
- 不符合格式的既有計畫保留原檔名,不執行未經確認的批次改名。
|
|
39
|
+
|
|
40
|
+
## `.neo_harness/docs/scripts.md` 產出規則
|
|
41
|
+
|
|
42
|
+
- `.neo_harness/docs/scripts.md` 只能包含 Markdown table,欄位固定為 `指令` 與 `用途`;既有檔案格式不符時標為 `rebuild`,保留仍有證據的命令資料並移除無法驗證的列。
|
|
43
|
+
- 命令必須逐一追溯到套件設定、工作執行器、CI 或版本控制內文件;不得依技術棧推測。
|
|
44
|
+
- 沒有可驗證命令時仍建立只含表頭與分隔列的空表格。
|
|
16
45
|
|
|
17
46
|
## 統一驗證入口
|
|
18
47
|
|
|
19
|
-
|
|
48
|
+
至少有一個真實且可重複的檢查時,才建立或補強統一入口。選擇順序如下:
|
|
20
49
|
|
|
21
50
|
1. 已存在且文件化的統一驗證命令。
|
|
22
51
|
2. 既有工作執行器中的原生 `verify` 任務。
|
|
23
52
|
3. 使用專案既有執行環境建立無額外依賴的薄包裝,依序呼叫已驗證命令。
|
|
24
53
|
|
|
25
|
-
|
|
54
|
+
入口必須保留子命令的失敗狀態。沒有可信檢查時,將「建立第一個決定性檢查」記入 active plan;不得用輸出成功訊息或空命令代替。
|
|
26
55
|
|
|
27
56
|
## 條件式資產
|
|
28
57
|
|
|
@@ -44,7 +73,7 @@
|
|
|
44
73
|
```markdown
|
|
45
74
|
| Path | Action | Evidence | Planned content | Validation | Recovery |
|
|
46
75
|
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
47
|
-
| ... | create/update/rebuild/skip/blocked | ... | ... | ... | ... |
|
|
76
|
+
| ... | create/update/rebuild/migrate/skip/blocked | ... | ... | ... | ... |
|
|
48
77
|
```
|
|
49
78
|
|
|
50
|
-
`rebuild`
|
|
79
|
+
`rebuild` 必須列出保留與替換的內容類型;`migrate` 必須列出來源與目的地及搬遷後的連結變更。無法清楚界定時標為 `blocked`,並請使用者決定,不可自行覆寫、刪除或建立重複副本。
|
|
@@ -1,57 +1,89 @@
|
|
|
1
1
|
# 產生、驗證與復原
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
使用者確認預覽後才可使用本參考;只實作已確認的精確路徑與動作。
|
|
4
4
|
|
|
5
5
|
## 產生原則
|
|
6
6
|
|
|
7
7
|
### `AGENTS.md`
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
9
|
+
- 保持短小,作為知識地圖使用。
|
|
10
|
+
- 指向 `.neo_harness/` 內架構、計畫、設計、可靠性、安全與品質的實際來源。
|
|
11
|
+
- 以 `.neo_harness/docs/scripts.md` 作為完整命令清單來源;`AGENTS.md` 只保留該文件連結與已驗證的統一驗證命令捷徑。
|
|
12
|
+
- 沒有可驗證的統一驗證命令時,從 `AGENTS.md` 移除統一驗證命令列,以及完成條件中的 `{{CANONICAL_VERIFY_COMMAND}}`;不得保留模板標記或填入假命令。
|
|
12
13
|
- 寫明開始工作、失敗修正、審查及完成條件。
|
|
13
|
-
-
|
|
14
|
+
- 將大型細節移至連結文件,檔案不得超過 32 KiB。
|
|
14
15
|
|
|
15
|
-
###
|
|
16
|
+
### `.neo_harness/docs/scripts.md`
|
|
16
17
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
18
|
+
- 檔案只能包含 Markdown table;第一列固定為 `| 指令 | 用途 |`,第二列為兩欄分隔列。
|
|
19
|
+
- 每個資料列只能有兩欄;命令與用途都必須可由專案設定或版本控制內文件驗證。
|
|
20
|
+
- 收錄專案會使用的安裝、開發、測試、靜態檢查、建置、啟動、部署及統一驗證命令;沒有證據的命令不得加入。
|
|
21
|
+
- 沒有可驗證命令時,保留表頭與分隔列,不填入未知或虛構命令。
|
|
22
|
+
|
|
23
|
+
### `.neo_harness/ARCHITECTURE.md`
|
|
24
|
+
|
|
25
|
+
- 只描述目前系統;不列入尚未存在的目標系統。
|
|
26
|
+
- 記錄每個主要元件的責任、允許依賴、禁止依賴與執行邊界。
|
|
19
27
|
- 依賴方向必須能追溯到目錄、匯入、設定或測試證據。
|
|
20
|
-
-
|
|
21
|
-
-
|
|
28
|
+
- 無法確認的邊界標為未知或待決策,不以常見架構模式補空白。
|
|
29
|
+
- 有可執行約束時附上精確命令;否則區分文件規則與可執行規則。
|
|
22
30
|
|
|
23
|
-
###
|
|
31
|
+
### `.neo_harness/PLANS.md` 與執行計畫
|
|
24
32
|
|
|
25
33
|
- 定義需要持久計畫的門檻,例如多階段、跨模組、遷移、陌生領域或可能跨工作階段的任務。
|
|
26
|
-
-
|
|
34
|
+
- 每份計畫必須自包含;讀者只需目前工作樹與計畫本身,不得依賴先前對話或未連結的外部資訊。
|
|
35
|
+
- 計畫目錄固定為 `.neo_harness/docs/exec-plans/active/` 與 `.neo_harness/docs/exec-plans/completed/`。
|
|
36
|
+
- 新建立的計畫檔名使用 `YYYYMMDDHHmmss_<原計畫檔名>.md`;時間戳取本地時間,從 `active` 移至 `completed` 時沿用。
|
|
37
|
+
- 既有未加時間戳的計畫不批次改名;更新既有計畫時維持原檔名與既有連結。
|
|
38
|
+
- 從舊路徑搬遷既有計畫時保留原檔名與時間戳,不因搬遷而重新命名。
|
|
27
39
|
- 計畫至少涵蓋目的、背景、目前與期望行為、限制、工作順序、進度、發現、決策、具體步驟、驗證、復原及結果。
|
|
28
40
|
- 實作期間同步更新進度、發現與決策;完成後記錄結果並移至 completed。
|
|
29
41
|
|
|
30
42
|
### 可執行資產
|
|
31
43
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- CI
|
|
35
|
-
-
|
|
36
|
-
-
|
|
44
|
+
- 使用專案既有執行器與風格,不為統一命令名稱引入新工具。
|
|
45
|
+
- 統一驗證必須在任一子檢查失敗時回傳失敗,並輸出可定位根因的摘要。
|
|
46
|
+
- CI 呼叫同一本機驗證入口,避免維護兩套規則。
|
|
47
|
+
- 架構與清理檢查只強制已確認的不變量,不限制無關實作細節。
|
|
48
|
+
- 執行期與可觀測性文件必須提供真實的啟動、查詢、隔離及停止方式。
|
|
49
|
+
|
|
50
|
+
## 舊路徑搬遷
|
|
51
|
+
|
|
52
|
+
搬遷是獨立的 `migrate` 動作,必須在寫入預覽中列出並取得使用者明確確認:
|
|
53
|
+
|
|
54
|
+
| 舊路徑 | 正式路徑 |
|
|
55
|
+
| :--- | :--- |
|
|
56
|
+
| `ARCHITECTURE.md` | `.neo_harness/ARCHITECTURE.md` |
|
|
57
|
+
| `PLANS.md` | `.neo_harness/PLANS.md` |
|
|
58
|
+
| `docs/scripts.md` | `.neo_harness/docs/scripts.md` |
|
|
59
|
+
| `docs/exec-plans/` | `.neo_harness/docs/exec-plans/` |
|
|
60
|
+
|
|
61
|
+
- 先檢查來源、目的地、版本控制狀態與忽略規則,再建立搬遷快照或列出可復原依據。
|
|
62
|
+
- 目的地已存在、內容衝突或受忽略規則排除時,標記為 `blocked`;不得覆寫、刪除、建立重複副本或符號連結。
|
|
63
|
+
- 確認後更新所有受影響的 Harness 相對連結與索引,驗證目的地內容,再依核准方案處理來源。
|
|
64
|
+
- 不屬於 Harness 的文件不因路徑相近而搬遷;不確定歸屬時標記為 `blocked`。
|
|
37
65
|
|
|
38
66
|
## 重建與復原
|
|
39
67
|
|
|
40
68
|
重建前:
|
|
41
69
|
|
|
42
|
-
1.
|
|
43
|
-
2.
|
|
70
|
+
1. 再次確認目標仍與預覽一致,避免覆寫使用者剛完成的變更。
|
|
71
|
+
2. 判斷原檔是否由版本控制追蹤;若有追蹤,保留清楚 diff。
|
|
44
72
|
3. 非版本控制檔案先保存於已報告的暫存位置,再執行重建。
|
|
45
|
-
4.
|
|
73
|
+
4. 記錄仍正確的命令、路徑、限制與決策,並帶入新內容。
|
|
46
74
|
|
|
47
|
-
|
|
75
|
+
不得使用會清除其他工作樹變更的命令。重建後驗證失敗時,先修正新內容;無法安全修正時,只還原本次確認的目標,並回報復原結果。
|
|
48
76
|
|
|
49
77
|
## 驗證清單
|
|
50
78
|
|
|
51
79
|
- [ ] 寫入路徑完全符合確認清單。
|
|
80
|
+
- [ ] 根目錄只有 `AGENTS.md` 作為 Harness 入口,其餘 Harness 產出均位於 `.neo_harness/`。
|
|
81
|
+
- [ ] 若有搬遷,來源、目的地與受影響連結均依確認清單處理,且沒有覆寫、重複副本或符號連結。
|
|
52
82
|
- [ ] 所有模板標記都已替換或移除。
|
|
53
|
-
- [ ]
|
|
54
|
-
- [ ]
|
|
83
|
+
- [ ] 文件內相對路徑存在,或明確標為尚未建立的核准計畫。
|
|
84
|
+
- [ ] 新建立的計畫檔案符合 14 位數字時間戳、底線、原檔名與 `.md` 副檔名格式。
|
|
85
|
+
- [ ] `.neo_harness/docs/scripts.md` 只包含 `指令`、`用途` 兩欄,且每個命令都有來源證據。
|
|
86
|
+
- [ ] 命令可追溯至專案設定,且未使用虛構旗標。
|
|
55
87
|
- [ ] 架構敘述與程式碼、設定及測試一致。
|
|
56
88
|
- [ ] 統一驗證會傳遞失敗狀態,且沒有空殼成功步驟。
|
|
57
89
|
- [ ] 條件式資產符合選擇矩陣的證據門檻。
|
|
@@ -71,4 +103,4 @@ Recovery information:
|
|
|
71
103
|
Remaining gaps:
|
|
72
104
|
```
|
|
73
105
|
|
|
74
|
-
|
|
106
|
+
只報告實際執行結果。跳過、無法執行或失敗的檢查必須列出明確原因。
|