openfeel 1.3.5 → 1.5.1

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.
Files changed (45) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +4 -0
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/chore.d.ts +12 -0
  6. package/dist/commands/chore.d.ts.map +1 -0
  7. package/dist/commands/chore.js +126 -0
  8. package/dist/commands/chore.js.map +1 -0
  9. package/dist/commands/dev.d.ts +11 -0
  10. package/dist/commands/dev.d.ts.map +1 -0
  11. package/dist/commands/dev.js +47 -0
  12. package/dist/commands/dev.js.map +1 -0
  13. package/dist/commands/flow.d.ts.map +1 -1
  14. package/dist/commands/flow.js +12 -0
  15. package/dist/commands/flow.js.map +1 -1
  16. package/dist/core/config.js +2 -2
  17. package/dist/core/dev-status.d.ts +37 -0
  18. package/dist/core/dev-status.d.ts.map +1 -0
  19. package/dist/core/dev-status.js +176 -0
  20. package/dist/core/dev-status.js.map +1 -0
  21. package/dist/core/flow-manager.d.ts +3 -1
  22. package/dist/core/flow-manager.d.ts.map +1 -1
  23. package/dist/core/flow-manager.js +6 -1
  24. package/dist/core/flow-manager.js.map +1 -1
  25. package/dist/core/i18n-data/en.d.ts.map +1 -1
  26. package/dist/core/i18n-data/en.js +23 -0
  27. package/dist/core/i18n-data/en.js.map +1 -1
  28. package/dist/core/i18n-data/zh-CN.d.ts.map +1 -1
  29. package/dist/core/i18n-data/zh-CN.js +23 -0
  30. package/dist/core/i18n-data/zh-CN.js.map +1 -1
  31. package/dist/core/template-loader.d.ts.map +1 -1
  32. package/dist/core/template-loader.js +131 -183
  33. package/dist/core/template-loader.js.map +1 -1
  34. package/dist/core/update.d.ts.map +1 -1
  35. package/dist/core/update.js +68 -140
  36. package/dist/core/update.js.map +1 -1
  37. package/dsh/ADAPTER.md +5 -2
  38. package/dsh/README.md +9 -4
  39. package/dsh/lib/adapters/dashboard.js +6 -0
  40. package/dsh/lib/adapters/dev-status.js +40 -0
  41. package/dsh/lib/guard.js +112 -6
  42. package/dsh/lib/surface/prompt.js +10 -0
  43. package/dsh/lib/tools/index.js +3 -0
  44. package/dsh/package.json +2 -2
  45. package/package.json +1 -1
@@ -144,13 +144,15 @@ Pick the tier by **blast radius** (cross-file? cross-stage / cross-module?); the
144
144
  user input → understand intent → dispatch the right agent → check results → advance the pipeline
145
145
  \`\`\`
146
146
 
147
- ## Memory & Write-Back (details in the skills)
147
+ ## State & Records (v1.5.0, details in the skills)
148
148
 
149
- - **Memory loading**: global profile -> project \`dev_core.md\` -> \`dev_last.md\` (**index**) -> topic files on demand (\`dev_last/decisions.md\`, **English file names**); merge preferences as "read -> merge -> write back", never overwriting the whole file.
150
- - **Conflict detection & \`update_infos\`**: at startup check \`update_state.json\` conflict entries and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries** -- those with \`backup_failed\` lead the user to re-run the update deployment); after confirmation tick \`- [ ]\` to \`- [x]\` with the edit tool and remind the user to restart.
151
- - **Decision appending**: append \`- [x] {date}: {decision}\` to \`dev_last/decisions.md\` (long-term decisions also get an ADR).
152
- - **Archiving and session-end write-back**: \`dev_last.md\` index + topic files + the **Public Handoff** section, inside \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
153
- - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is judged unusable, restart it and treat its REVs / acceptance records as **pending re-review**.
149
+ - **Only Feel writes state**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are updated by Feel only; **subagents never read or write them** (handoff goes through the dispatch prompt / handoff docs).
150
+ - **Update nodes**: start / turning point / end, or when \`statusSync.due=true\` (default 30 min) — update the handoff summary once (<=5 lines), then run \`openfeel dev sync\` (the CLI auto-syncs on nodes/expiry).
151
+ - **No per-step diary**: logs are not mandatory; \`flow.json.log\` is maintained by the CLI (last 200 entries). Cross-session info goes to the **Public Handoff** section; \`dev_last/decisions.md\` only for long-term decisions.
152
+ - **Memory on demand**: not loaded by default; read the \`dev_last/\` index and topic files only on \`recover\` or when the user asks.
153
+ - **Write lock (only when actually writing)**: \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
154
+ - **Conflict detection & \`update_infos\` (non-blocking)**: at startup check \`update_state.json\` conflicts and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries**; those with \`backup_failed\` lead the user to re-run update / setup); after confirmation use the **edit tool** to tick \`- [ ]\` to \`- [x]\` and remind the user to restart.
155
+ - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is unusable, restart it and mark its REVs / acceptance records as **pending re-review**.
154
156
 
155
157
  > Full procedures live in \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`.
156
158
 
@@ -179,7 +181,7 @@ When the user says "start a new version", increment the four-level version (W+1)
179
181
 
180
182
  - Dispatch result: target agent + task summary + expected return + read/write boundary
181
183
  - Downstream concise summary (<= 10 lines): Agent / status / summary / outputs / leftovers
182
- - Write-back: logs per \`openfeel-logging\`, memory and \`dev_last.md\` per \`openfeel-memory\`, workspace per \`openfeel-workspace\`
184
+ - Records: no per-step logs; node handoff summaries per \`openfeel-memory\`; workspace per \`openfeel-workspace\`
183
185
  `,
184
186
  'openfeel-archiver': `---
185
187
  description: openfeel-archiver Agent, reasoning model, responsible for archiving operation records and knowledge extraction.
@@ -1095,12 +1097,14 @@ fast 调度纪律:
1095
1097
  用户输入 → 理解意图 → 调用对应 Agent → 检查结果 → 推进流水线
1096
1098
  \`\`\`
1097
1099
 
1098
- ## 记忆与落档(细节见对应 skill)
1100
+ ## 状态与记录(v1.5.0,细节见对应 skill)
1099
1101
 
1100
- - **记忆加载**:全局画像 → 项目 \`dev_core.md\` → \`dev_last.md\`(**索引**)→ 按需主题文件(\`dev_last/decisions.md\` 等,**文件名英文**);偏好合并按「Read → 合并 → 写回」,禁整文件覆盖。
1101
- - **冲突检测与 \`update_infos\`**:启动时检查 \`update_state.json\` 冲突条目与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**——含 \`backup_failed\` 者引导用户重跑更新部署);确认后用 edit 工具将条目的 \`- [ ]\` 改为 \`- [x]\` 勾选,并提醒用户**重启会话**。
1102
- - **决策追加**:按 \`- [x] {date}:{决策}\` 追加至 \`dev_last/decisions.md\`(长期决策另同步 ADR)。
1103
- - **信息落档与会话结束写入**:\`dev_last.md\` 索引 + 主题文件 + **公共交接区**;临界区 \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
1102
+ - **只有 Feel 写状态**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 仅由 Feel 更新;**子 agent 不读不写**(交接走派发 prompt / 交接文档)。
1103
+ - **节点更新**:开始 / 转折 / 结束,或 \`statusSync.due=true\`(默认 30 分钟)时更新一次交接摘要(≤5 行),随后 \`openfeel dev sync\`(CLI 在节点/到期时自动同步)。
1104
+ - **不写流水账**:日志不强制;\`flow.json.log\` 由 CLI 维护(最近 200 条)。跨会话信息写入「公共交接区」;\`dev_last/decisions.md\` 仅长期决策。
1105
+ - **记忆按需**:默认不加载;仅 \`recover\` 或用户要求时读 \`dev_last/\` 索引与主题文件。
1106
+ - **写入锁(仅确需写入时)**:\`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
1107
+ - **冲突检测与 \`update_infos\`(不阻塞)**:启动时检查 \`update_state.json\` 冲突与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**;含 \`backup_failed\` 者引导用户重跑 update / setup);确认后用 **edit 工具**把 \`- [ ]\` 改为 \`- [x]\`,并提醒用户重启会话。
1104
1108
  - **审查会话健康探测**:唤起审查官首轮先做最小工具自检;会话判定不可用时立即重开,其既有 REV / 验收记录降级为**待复核**。
1105
1109
 
1106
1110
  > 操作步骤与格式详见 \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`。
@@ -1130,7 +1134,7 @@ Feel 由**主力推理模型**驱动,确保深度理解与全局调度能力
1130
1134
 
1131
1135
  - 调度结果:目标 Agent + 任务描述摘要 + 期望返回 + 只读 / 可写边界
1132
1136
  - 下游精简摘要(≤ 10 行):Agent / 状态 / 摘要 / 产出 / 遗留
1133
- - 落档:日志按 \`openfeel-logging\`、记忆与 \`dev_last.md\` 按 \`openfeel-memory\`、工作区按 \`openfeel-workspace\`
1137
+ - 记录:不写逐操作日志;节点交接摘要按 \`openfeel-memory\`,工作区按 \`openfeel-workspace\`
1134
1138
  `,
1135
1139
  'openfeel-archiver': `---
1136
1140
  description: openfeel-archiver 归档官 Agent,推理模型驱动,负责归档操作记录和知识提取。
@@ -1971,6 +1975,8 @@ When encountering technical issues, **the first action MUST be to consult the kn
1971
1975
 
1972
1976
  5. **Command execution (Windows)**: when running shell commands on Windows, prefer **\`bash\` (Git Bash)**, then **\`pwsh\` (PowerShell 7)**; on macOS / Linux use \`bash\`. Do not default to \`cmd.exe\`; keep one shell per task and write paths/escaping for that shell.
1973
1977
 
1978
+ 6. **State has a single writer (v1.5.0)**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are written by Feel (main session) only; **subagents never read or write them** — context comes from the dispatch prompt / handoff docs. Logs are not mandatory; write a <=5-line handoff summary when needed (start / turning point / end, or every 30 min).
1979
+
1974
1980
  Deviating from the above constraints is considered a violation and will be flagged during review.
1975
1981
 
1976
1982
  ### 10-Agent System Overview
@@ -2021,7 +2027,7 @@ Version progression must be prudent, using the four-level X.Y.Z.W version number
2021
2027
  | Level 4 (W) | Feature detail | Independently committed feature or submodule |
2022
2028
 
2023
2029
  When Feel starts a new version, it defaults to incrementing the fourth level (W+1), unless the user explicitly specifies otherwise.
2024
- The OpenFeel framework has released the official v1.0.x (currently v1.3.5). After deploying the global constraints via openfeel setup, new projects set their own starting version number as needed.
2030
+ The OpenFeel framework has released the official v1.0.x (currently v1.5.1). After deploying the global constraints via openfeel setup, new projects set their own starting version number as needed.
2025
2031
 
2026
2032
  ### Module Manuals
2027
2033
 
@@ -2134,6 +2140,8 @@ AI Agent 行为约束与编码规范。本文件为永久性约束,适用于
2134
2140
 
2135
2141
  5. **命令执行工具(Windows)**:运行 shell 命令时,Windows 下**优先 \`bash\`(Git Bash)**,其次 **\`pwsh\`(PowerShell 7)**;macOS / Linux 使用 \`bash\`。默认不用 \`cmd.exe\`;同一任务内保持同一 shell,路径与转义按所选 shell 书写。
2136
2142
 
2143
+ 6. **状态唯一写者(v1.5.0)**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 只由 Feel(主会话)写;**子 agent 一律不读不写**,上下文由派发 prompt / 交接文档提供。日志不强制;需要跨会话时写 ≤5 行交接摘要(开始 / 转折 / 结束,或 30 分钟到期)。
2144
+
2137
2145
  偏离以上约束的行为视为违规,审查时将被标记。
2138
2146
 
2139
2147
  ### 10 Agent 体系总览
@@ -2184,7 +2192,7 @@ AI Agent 行为约束与编码规范。本文件为永久性约束,适用于
2184
2192
  | 四级(W) | 功能细节 | 独立提交的功能或子模块 |
2185
2193
 
2186
2194
  Feel 启动新版本时默认使用四级版本递增(W+1),除非用户明确指定。
2187
- OpenFeel 框架已发布正式版 v1.0.x(当前 v1.3.5)。新项目经 openfeel setup 部署全局约束后,按自身需求设定起始版本号。
2195
+ OpenFeel 框架已发布正式版 v1.0.x(当前 v1.5.1)。新项目经 openfeel setup 部署全局约束后,按自身需求设定起始版本号。
2188
2196
 
2189
2197
  ### 模块手册
2190
2198
 
@@ -2383,13 +2391,15 @@ Pick the tier by **blast radius** (cross-file? cross-stage / cross-module?); the
2383
2391
  user input → understand intent → dispatch the right agent → check results → advance the pipeline
2384
2392
  \`\`\`
2385
2393
 
2386
- ## Memory & Write-Back (details in the skills)
2394
+ ## State & Records (v1.5.0, details in the skills)
2387
2395
 
2388
- - **Memory loading**: global profile -> project \`dev_core.md\` -> \`dev_last.md\` (**index**) -> topic files on demand (\`dev_last/decisions.md\`, **English file names**); merge preferences as "read -> merge -> write back", never overwriting the whole file.
2389
- - **Conflict detection & \`update_infos\`**: at startup check \`update_state.json\` conflict entries and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries** -- those with \`backup_failed\` lead the user to re-run the update deployment); after confirmation tick \`- [ ]\` to \`- [x]\` with the edit tool and remind the user to restart.
2390
- - **Decision appending**: append \`- [x] {date}: {decision}\` to \`dev_last/decisions.md\` (long-term decisions also get an ADR).
2391
- - **Archiving and session-end write-back**: \`dev_last.md\` index + topic files + the **Public Handoff** section, inside \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
2392
- - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is judged unusable, restart it and treat its REVs / acceptance records as **pending re-review**.
2396
+ - **Only Feel writes state**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are updated by Feel only; **subagents never read or write them** (handoff goes through the dispatch prompt / handoff docs).
2397
+ - **Update nodes**: start / turning point / end, or when \`statusSync.due=true\` (default 30 min) — update the handoff summary once (<=5 lines), then run \`openfeel dev sync\` (the CLI auto-syncs on nodes/expiry).
2398
+ - **No per-step diary**: logs are not mandatory; \`flow.json.log\` is maintained by the CLI (last 200 entries). Cross-session info goes to the **Public Handoff** section; \`dev_last/decisions.md\` only for long-term decisions.
2399
+ - **Memory on demand**: not loaded by default; read the \`dev_last/\` index and topic files only on \`recover\` or when the user asks.
2400
+ - **Write lock (only when actually writing)**: \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
2401
+ - **Conflict detection & \`update_infos\` (non-blocking)**: at startup check \`update_state.json\` conflicts and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries**; those with \`backup_failed\` lead the user to re-run update / setup); after confirmation use the **edit tool** to tick \`- [ ]\` to \`- [x]\` and remind the user to restart.
2402
+ - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is unusable, restart it and mark its REVs / acceptance records as **pending re-review**.
2393
2403
 
2394
2404
  > Full procedures live in \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`.
2395
2405
 
@@ -2418,7 +2428,7 @@ When the user says "start a new version", increment the four-level version (W+1)
2418
2428
 
2419
2429
  - Dispatch result: target agent + task summary + expected return + read/write boundary
2420
2430
  - Downstream concise summary (<= 10 lines): Agent / status / summary / outputs / leftovers
2421
- - Write-back: logs per \`openfeel-logging\`, memory and \`dev_last.md\` per \`openfeel-memory\`, workspace per \`openfeel-workspace\`
2431
+ - Records: no per-step logs; node handoff summaries per \`openfeel-memory\`; workspace per \`openfeel-workspace\`
2422
2432
  `,
2423
2433
  'openfeel-archiver': `---
2424
2434
  description: openfeel-archiver Agent, reasoning model, responsible for archiving operation records and knowledge extraction.
@@ -3334,12 +3344,14 @@ fast 调度纪律:
3334
3344
  用户输入 → 理解意图 → 调用对应 Agent → 检查结果 → 推进流水线
3335
3345
  \`\`\`
3336
3346
 
3337
- ## 记忆与落档(细节见对应 skill)
3347
+ ## 状态与记录(v1.5.0,细节见对应 skill)
3338
3348
 
3339
- - **记忆加载**:全局画像 → 项目 \`dev_core.md\` → \`dev_last.md\`(**索引**)→ 按需主题文件(\`dev_last/decisions.md\` 等,**文件名英文**);偏好合并按「Read → 合并 → 写回」,禁整文件覆盖。
3340
- - **冲突检测与 \`update_infos\`**:启动时检查 \`update_state.json\` 冲突条目与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**——含 \`backup_failed\` 者引导用户重跑更新部署);确认后用 edit 工具将条目的 \`- [ ]\` 改为 \`- [x]\` 勾选,并提醒用户**重启会话**。
3341
- - **决策追加**:按 \`- [x] {date}:{决策}\` 追加至 \`dev_last/decisions.md\`(长期决策另同步 ADR)。
3342
- - **信息落档与会话结束写入**:\`dev_last.md\` 索引 + 主题文件 + **公共交接区**;临界区 \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
3349
+ - **只有 Feel 写状态**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 仅由 Feel 更新;**子 agent 不读不写**(交接走派发 prompt / 交接文档)。
3350
+ - **节点更新**:开始 / 转折 / 结束,或 \`statusSync.due=true\`(默认 30 分钟)时更新一次交接摘要(≤5 行),随后 \`openfeel dev sync\`(CLI 在节点/到期时自动同步)。
3351
+ - **不写流水账**:日志不强制;\`flow.json.log\` 由 CLI 维护(最近 200 条)。跨会话信息写入「公共交接区」;\`dev_last/decisions.md\` 仅长期决策。
3352
+ - **记忆按需**:默认不加载;仅 \`recover\` 或用户要求时读 \`dev_last/\` 索引与主题文件。
3353
+ - **写入锁(仅确需写入时)**:\`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
3354
+ - **冲突检测与 \`update_infos\`(不阻塞)**:启动时检查 \`update_state.json\` 冲突与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**;含 \`backup_failed\` 者引导用户重跑 update / setup);确认后用 **edit 工具**把 \`- [ ]\` 改为 \`- [x]\`,并提醒用户重启会话。
3343
3355
  - **审查会话健康探测**:唤起审查官首轮先做最小工具自检;会话判定不可用时立即重开,其既有 REV / 验收记录降级为**待复核**。
3344
3356
 
3345
3357
  > 操作步骤与格式详见 \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`。
@@ -3369,7 +3381,7 @@ Feel 由**主力推理模型**驱动,确保深度理解与全局调度能力
3369
3381
 
3370
3382
  - 调度结果:目标 Agent + 任务描述摘要 + 期望返回 + 只读 / 可写边界
3371
3383
  - 下游精简摘要(≤ 10 行):Agent / 状态 / 摘要 / 产出 / 遗留
3372
- - 落档:日志按 \`openfeel-logging\`、记忆与 \`dev_last.md\` 按 \`openfeel-memory\`、工作区按 \`openfeel-workspace\`
3384
+ - 记录:不写逐操作日志;节点交接摘要按 \`openfeel-memory\`,工作区按 \`openfeel-workspace\`
3373
3385
  `,
3374
3386
  'openfeel-archiver': `---
3375
3387
  description: openfeel-archiver 归档官 Agent,推理模型驱动,负责归档操作记录和知识提取。
@@ -4425,7 +4437,7 @@ Skill 加载后,根据步骤 3 的匹配结果决定是否追加提示:
4425
4437
  `,
4426
4438
  'openfeel-cli-usage': `---
4427
4439
  name: openfeel-cli-usage
4428
- description: OpenFeel CLI 命令用法参考:命令清单与关键参数、15 个 phase 枚举与转移表、stageId 命名与目录映射约定、v1.1.2 新增能力(自描述/可纠错、--json 结构化输出、health --fix、scheme draft、knowledge dedup、纠正清理侧命令面)、v1.1.4 新增能力(checkpoint 选择性恢复 --stage/--dry-run、flow stage reset 精准复位、故障恢复路径)、v1.1.5 新增能力(setup --check [--json] 诊断 / 被动部署提示)、v1.1.6 新增能力(Claude Code 适配器 \`--tools claude\` / settings 注入)、v1.1.7 新增能力(双模式工作流 workflow_mode:flow mode 只读查询 / flow phases --mode 模式分节 / plan stage add --workflow-mode / stage set --workflow-mode / config set --sync-stages --stage)、v1.2.0 新增能力(需求流转命令组 \`openfeel req\`:需求 7 状态与 10 子命令 / 认领协议;flow.json 版本分片归档 \`flow archive\`:\`<version>\` / \`list\` / \`show\`)、v1.2.1 新增能力(需求拆分 \`req split\` / 三模式 \`full/fast/general\` / 审查档位 \`--review-tier\` / 通用工作者 \`openfeel-explorer\` / 可观测性字段 / 模型默认值统一与部署非破坏性)、v1.2.2 新增能力(flow next 调度决策 / 全局 --project / 13 读命令 --json 与 33 成功出口·34 注册选项 / 错误封装 code+kind+errorKind / --version --json / flow archive 判据明细 / archive <stage> --json / reviewTier 消歧)、v1.2.3 修复(并发 JSON 退出统一 / --review-tier help 文案订正 / req 过滤单点化 / 锁超时 E2E 测试钩子)、v1.2.4 收口(archive <stage> 覆盖保护 + --force / plan stage list·model list|get·flow retry·lint i18n|kb·roadmap show --json / config get --all / 40 成功出口·41 注册选项)、v1.3.0(DSH 适配器单包分发 / setup --tools dsh / README 版本能力概览迁出)、v1.3.1 修复(setup --tools dsh 的 pnpm frozen-lockfile 部署失败)、v1.3.2(DSH 写入门禁 \`ctx.tools.guard\` + 非项目 bootstrap)、v1.3.3 修复(fast 阶段级 REV / \`review_passed → exec_running\` 返工边 / 写入门禁风险分层 / \`plan stage add\` 原子聚焦 / 阶段 ID ↔ 目录映射文档化)、v1.3.4 修复(适配器 \`review_add --stage\` 透传 / \`setup --check\` 五态含 restart-required / 部署标记刷新)、v1.3.5 修复(统一 shell 工具推荐:Windows 优先 Git Bash 其次 PowerShell 7)。当需要查询 CLI 命令、参数、phase、stageId、阶段命名时加载。
4440
+ description: OpenFeel CLI 命令用法参考:命令清单与关键参数、15 个 phase 枚举与转移表、stageId 命名与目录映射约定、v1.1.2 新增能力(自描述/可纠错、--json 结构化输出、health --fix、scheme draft、knowledge dedup、纠正清理侧命令面)、v1.1.4 新增能力(checkpoint 选择性恢复 --stage/--dry-run、flow stage reset 精准复位、故障恢复路径)、v1.1.5 新增能力(setup --check [--json] 诊断 / 被动部署提示)、v1.1.6 新增能力(Claude Code 适配器 \`--tools claude\` / settings 注入)、v1.1.7 新增能力(双模式工作流 workflow_mode:flow mode 只读查询 / flow phases --mode 模式分节 / plan stage add --workflow-mode / stage set --workflow-mode / config set --sync-stages --stage)、v1.2.0 新增能力(需求流转命令组 \`openfeel req\`:需求 7 状态与 10 子命令 / 认领协议;flow.json 版本分片归档 \`flow archive\`:\`<version>\` / \`list\` / \`show\`)、v1.2.1 新增能力(需求拆分 \`req split\` / 三模式 \`full/fast/general\` / 审查档位 \`--review-tier\` / 通用工作者 \`openfeel-explorer\` / 可观测性字段 / 模型默认值统一与部署非破坏性)、v1.2.2 新增能力(flow next 调度决策 / 全局 --project / 13 读命令 --json 与 33 成功出口·34 注册选项 / 错误封装 code+kind+errorKind / --version --json / flow archive 判据明细 / archive <stage> --json / reviewTier 消歧)、v1.2.3 修复(并发 JSON 退出统一 / --review-tier help 文案订正 / req 过滤单点化 / 锁超时 E2E 测试钩子)、v1.2.4 收口(archive <stage> 覆盖保护 + --force / plan stage list·model list|get·flow retry·lint i18n|kb·roadmap show --json / config get --all / 40 成功出口·41 注册选项)、v1.3.0(DSH 适配器单包分发 / setup --tools dsh / README 版本能力概览迁出)、v1.3.1 修复(setup --tools dsh 的 pnpm frozen-lockfile 部署失败)、v1.3.2(DSH 写入门禁 \`ctx.tools.guard\` + 非项目 bootstrap)、v1.3.3 修复(fast 阶段级 REV / \`review_passed → exec_running\` 返工边 / 写入门禁风险分层 / \`plan stage add\` 原子聚焦 / 阶段 ID ↔ 目录映射文档化)、v1.3.4 修复(适配器 \`review_add --stage\` 透传 / \`setup --check\` 五态含 restart-required / 部署标记刷新)、v1.3.5 修复(统一 shell 工具推荐:Windows 优先 Git Bash 其次 PowerShell 7)、v1.4.0 新增(静态展示资源与 doc 同层 + \`openfeel chore\` 微变更通道)、v1.5.0 新增(\`openfeel dev sync\` / 状态记录瘦身:Only-Feel 写状态、日志降级、30 分钟同步)。当需要查询 CLI 命令、参数、phase、stageId、阶段命名时加载。
4429
4441
  ---
4430
4442
 
4431
4443
  # OpenFeel CLI 用法参考
@@ -4437,7 +4449,7 @@ description: OpenFeel CLI 命令用法参考:命令清单与关键参数、15
4437
4449
  - 与 \`openfeel-tool-usage\` 协同:工具选择规范见该 skill;本 skill 补充 CLI 命令细节。
4438
4450
  - 正文以**能力名**叙述;平台差异见 \`### opencode 适配器\` / \`### Claude Code 适配器\` 两小节。
4439
4451
 
4440
- > 本文档为 v1.3.5 快照;命令/参数细节以 \`openfeel <cmd> --help\`(本仓执行)实时输出为准(CLI 演进后本文档可能滞后)。
4452
+ > 本文档为 v1.5.0 快照;命令/参数细节以 \`openfeel <cmd> --help\`(本仓执行)实时输出为准(CLI 演进后本文档可能滞后)。
4441
4453
  >
4442
4454
  > ⚠️ **本仓自举**:本仓(openfeel 源码仓库)开发/执行时请用 \`node bin/openfeel.js <cmd>\`;安装后使用 \`openfeel <cmd>\`。
4443
4455
 
@@ -4496,6 +4508,26 @@ description: OpenFeel CLI 命令用法参考:命令清单与关键参数、15
4496
4508
  - **错误映射**:预检 / 用法 / profile → \`INVALID_ARGUMENT\`(refusal/1,\`detail.reason=dsh-*\`);备份 / pnpm install → \`INTERNAL_ERROR\`(internal/3,\`dsh-backup-failed\` / \`dsh-pnpm-install-failed\`)。不新增 CLI 错误码。
4497
4509
  - **单包**:不发布独立 \`openfeel-dsh\`;\`dsh/\` 随 \`openfeel\` npm 包分发,默认不部署。README 版本能力概览迁至 \`docs/VERSIONS.md\`。
4498
4510
 
4511
+ ## v1.5.0(stage-108)
4512
+
4513
+ > 次版本:工作流瘦身(Only-Feel 写状态 / 日志降级 / 30 分钟同步)。相位机 / REV / 归档语义不变;无新增 JSON 出口。
4514
+
4515
+ - **只有 Feel 写状态**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 只由 Feel 更新;子 agent 不读不写(上下文走派发 prompt / 交接文档)。
4516
+ - **日志不强制**:不写逐操作流水账;\`flow.json.log\` 由 CLI 维护(最近 **200** 条)。
4517
+ - **节点 + 30 分钟同步**:\`openfeel dev sync\` 写 \`dev_last.md\` 的 CLI 受管简要状态块(活跃阶段 / 需求 / 最近操作)与 \`.openfeel/dev/.sync.json\`;\`flow advance\` 在首次 / 超过 30 分钟 / 节点相位(\`exec_running\` / \`review_passed\` / \`archiving\` / \`done\`)自动同步;\`openfeel dev status\` 查看是否到期。
4518
+ - **适配器**:\`feel_next\` / \`feel_status\` 返回 \`statusSync\`;\`due=true\` 时只更新交接摘要(≤5 行)再 \`dev sync\`,不阻塞。
4519
+ - **升级**:\`npm i -g openfeel@latest\` → \`openfeel setup\` → **完全退出并重启宿主**。
4520
+
4521
+ ## v1.4.0(stage-107)
4522
+
4523
+ > 次版本:写入门禁分层 + \`chore\` 微变更通道(依据 UI 微调反馈)。相位机 / REV / 归档语义不变;无新增 JSON 出口。
4524
+
4525
+ - **静态展示资源豁免**:\`.css/.scss/.html/.svg/.png/.jpg/.jpeg/.webp\` 与路径含 \`assets/\`、\`public/\` 的目标,与 doc/note 同层——任意相位可写、不要求活跃阶段;**混合目标从严**(含源码则按源码规则)。
4526
+ - **源码底线不变**:\`.rs/.ts/.js/.py\` 等仍要求 \`exec_running\`;\`.openfeel/flow.json\`、\`**/status.md\` 仍禁止手改。
4527
+ - **审计**:豁免放行与 chore 放行写 \`.openfeel/log/guard-audit.jsonl\`(time/tool/reason/phase/paths)。
4528
+ - **\`openfeel chore "<说明>"\`**:无活跃阶段时开启 60 分钟写窗口(源码也可写);\`--end\` 收口、\`--status\` 查看;不写 \`flow.json.stages\`,只留 \`chore_start\` / \`chore_end\` 日志与 ephemeral \`.openfeel/chore.json\`。存在活跃阶段 → 拒绝开启(guard 也不生效)。
4529
+ - **升级**:\`npm i -g openfeel@latest\` → \`openfeel setup\` → **完全退出并重启宿主**。
4530
+
4499
4531
  ## v1.3.5(stage-106)
4500
4532
 
4501
4533
  > 补丁版本:统一 shell 工具推荐(仅提示/文档层;CLI 命令与相位机不变)。
@@ -4739,7 +4771,7 @@ description: 上下文卫生——按需加载(索引先行)、工具结果
4739
4771
 
4740
4772
  严格按「索引 → 主题 → 详情」三层顺序取用信息,**禁止**开局整量读取:
4741
4773
 
4742
- 1. **索引先行**:会话启动只读索引层——\`.openfeel/users/{username}/dev_last.md\`、流水线状态视图、\`.openfeel/kb/index.md\`。
4774
+ 1. **索引先行**:常规会话只读 \`flow next\` / \`flow status\` 状态视图;\`dev_last.md\` 仅在 \`recover\` 或用户要求时读(v1.5.0 默认不加载)。
4743
4775
  2. **主题按需**:仅在索引摘要不足以决策时,读对应主题文件 \`dev_last/{english-name}.md\`。
4744
4776
  3. **详情显式**:\`.openfeel/tmp/\` 文档、历史归档、\`docs/**\` 仅在**显式指定**时读取。
4745
4777
  4. **不主动读归档**:常规调度不得读取 \`.openfeel/flow-archive/**\`(防上下文污染);确需历史时用只读查询命令。
@@ -5159,172 +5191,80 @@ description: 加载流水线健康检查结果,供 Agent 判断 flow.json 与
5159
5191
  `,
5160
5192
  'openfeel-logging': `---
5161
5193
  name: openfeel-logging
5162
- description: 日志记录纪律——公域 / 私域日志布局与命名、必录事件清单、条目格式、骨架文件机制与禁止事项。用于「日志 / 记录 / 落档 / 调度事件留痕」相关判断。
5194
+ description: 日志纪律(v1.5.0 降级)——默认不写日志、不写流水账;仅跨会话/公共事件写 ≤3 行摘要;flow.json.log 由 CLI 维护(最近 200 条)。用于「日志 / 记录 / 归档核对」相关判断。
5163
5195
  ---
5164
5196
 
5165
- # 日志记录纪律
5197
+ # 日志纪律(v1.5.0 降级为简要记录)
5166
5198
 
5167
5199
  > ⚠️ **本仓自举**:本仓(openfeel 源码仓库)开发/执行时请用 \`node bin/openfeel.js <cmd>\`;安装后使用 \`openfeel <cmd>\`。
5168
5200
 
5169
- ## 输入
5170
-
5171
- - 待记录事件(类型 + 目标 Agent + 产出摘要 + 状态)
5172
-
5173
- ## 执行步骤
5174
-
5175
- ### 1. 布局与命名
5176
-
5177
- | 域 | 路径 | 记录范围 | 命名 |
5178
- |------|------|----------|------|
5179
- | 公共域 | \`.openfeel/log/\` | **仅团队级重要事件** | \`yyyy-mm-dd-{username}-NNN.md\` |
5180
- | 私域 | \`.openfeel/users/{username}/log/\` | 日常操作(常规代码修改、个人计划推进、调试、个人笔记) | \`yyyy-mm-dd-NNN.md\`(无需用户名) |
5181
-
5182
- - 公域日志按**年 / 月 / 日**分层归档,日目录仅在当天有重要事件时创建,日目录含 \`day_index.md\`。
5183
- - 公域根目录维护 \`index.md\`(日期索引)与 \`log.md\`(**最近 30 条**摘要,格式 \`[文件名] {username}: 描述\`,含跳转链接)。
5184
-
5185
- **团队级重要事件**(满足任一即记公域日志):公共域文件的创建或重要修改 / 跨成员协作关键操作(公共笔记归入、计划调整等)/ 计划里程碑达成或重大偏差 / 私域代码审查或 Bug 的 high 优先级问题(首次发现时上报详情)/ 影响多人的异常事件。
5186
-
5187
- ### 2. 必录事件清单(任一命中即记一条日志)
5188
-
5189
- - 推进流水线状态(阶段 phase 变化)
5190
- - 修改阶段状态(责任 Agent / 状态字段变更)
5191
- - 委托任意下游 Agent(含调研类委托——**不受任务类型豁免**):记录委托目标、op 编号、产出摘要
5192
- - 审查不通过时的处理决策(重试 / 重新方案 / 暂停 / 人工介入)
5193
- - 阶段 done 时的阶段性总结
5194
-
5195
- ### 3. 条目格式
5196
-
5197
- \`\`\`markdown
5198
- | 时间 | 操作 | 目标 Agent | 产出 | 状态 |
5199
- |------|------|-----------|------|:--:|
5200
- \`\`\`
5201
-
5202
- ### 4. 骨架文件机制
5201
+ ## 默认:不写日志
5203
5202
 
5204
- 关键操作(推进到 exec_running / review_pending / test_pending / archiving)时,流水线会自动在私域日志目录创建带日期前缀的骨架文件(fast 工作流快线下 \`test_pending\` 仍为合法相位、仅不可达(无入边),该相位骨架不再产生;其余骨架规则全量不变)。无需手动创建日志文件,看到骨架文件时填充内容即可。
5203
+ - **日志不是流程产物**:阶段推进、派发、审查等事件由 \`flow.json.log\` 自动记录(CLI 维护,仅最近 **200** 条),无需手工补日志。
5204
+ - **不写逐操作流水账**;不再强制「必录事件清单」「逐阶段实时写入」。
5205
+ - 需要跨会话的信息 → 写**一条** ≤3 行摘要到 \`dev_last.md\`「公共交接区」或对应交接文档。
5205
5206
 
5206
- ### 5. 实时写入与公共笔记归入
5207
+ ## 唯一例外:跨会话 / 公共事件
5207
5208
 
5208
- 每个阶段推进操作对应一条日志记录,**实时写入**而非事后补录;写入私域日志的同时更新公域 \`log.md\`(最近 30 条摘要)。
5209
+ - 公共域 \`.openfeel/log/\` 仅用于**真正需要长期留存**的团队事件(如发布说明、重大决策);与 \`dev/decisions.md\` 或 CHANGELOG 重复时不另写。
5210
+ - 子 agent **不写日志**;产出用返回摘要 + 文件交接,由 Feel 决定是否落一条。
5209
5211
 
5210
- - 经验教训的主要记录位置是私域 \`note/\`;简要描述、详情放子文件并建索引。
5211
- - 提醒用户是否需归入公共笔记 \`.openfeel/dev/note/dev_note.md\`;**归入后标注「已归入公共域」并附跳转链接**。
5212
+ ## 归档机械核对清单(命令化 / 幂等 / 无推理)
5212
5213
 
5213
- ### 6. 禁止事项
5214
+ 归档时只需跑下表命令并如实记录;**不做语义判定**、不写过程日志:
5214
5215
 
5215
- - 禁止「完成后仅对话告知,不做文件记录」
5216
- - 禁止「连续推进多阶段后才补录日志」
5217
- - 禁止「委托下游 Agent 后不记录调度事件」
5216
+ | # | 核对项 | 命令 | 判读 |
5217
+ |---|--------|------|------|
5218
+ | ① | 快速概览三项取值 | 源文件数 \`rg --files src -g '*.ts' \\| wc -l\` | Agent 数(部署目录列举)| 最近更新 \`date +%Y-%m-%d\` | 填入 \`.openfeel/kb/index.md\`「项目快速概览」 |
5219
+ | ② | \`manual/index.md\` 模块树存在性 | \`ls .openfeel/manual/index.md .openfeel/manual/*/*.md\` | 存在性核对(缺项 = 悬空引用) |
5220
+ | ③ | \`ops/**\` 清点与对照 | \`openfeel flow ops list --stage <stageId>\` | \`ls .openfeel/plan/{series}/{stage}/ops/*.md \\| wc -l\` | 清单与实际文件逐条对照 |
5221
+ | ④ | 工作区与计数核对 | \`git status --porcelain\` | 阶段目录计数 \`ls .openfeel/plan/{series}/{stage}/ \\| wc -l\` | 归档前状态留痕 |
5218
5222
 
5219
- > **边界声明**:目录存在性与骨架模板**形态**由 \`openfeel-workspace\` 承载(何时 mkdir 哪些目录、文件骨架长什么样);本 skill 只写「何时记 / 记什么 / 格式 / 禁止」。
5220
-
5221
- ### 7. 归档机械核对清单(命令化 / 幂等 / 无推理)
5222
-
5223
- **归档机械步骤**的可复跑核对清单:每条 = **一条命令**,可重复执行(幂等),**不作任何语义判定**。
5224
-
5225
- | # | 核对项 | 命令(部署后主口径) | 判读 |
5226
- |---|--------|---------------------|------|
5227
- | ① | **快速概览三项取值** | 源文件数 \`rg --files src -g '*.ts' \\| wc -l\` | Agent 数(部署目录列举)\`ls ~/.config/opencode/agent/*.md \\| wc -l\`(opencode)/ \`ls ~/.claude/agents/*.md \\| wc -l\`(Claude Code)| 最近更新 \`date +%Y-%m-%d\` | 三项取值填入 \`.openfeel/kb/index.md\`「项目快速概览」(**取值 ≠ 结论判定**) |
5228
- | ② | **\`manual/index.md\` 模块树存在性核对** | \`ls .openfeel/manual/index.md .openfeel/manual/*/*.md\`(缺项由 \`ls\` 直接报错 = 悬空引用) | 存在性核对(缺失 = 需建 / 需修);**模块职责变更判定不在此列** |
5229
- | ③ | **\`ops/**\` 清点与对照** | \`openfeel flow ops list --stage <stageId>\` | 实际文件 \`ls .openfeel/plan/{series}/{stage}/ops/*.md \\| wc -l\` | 清单与实际文件逐条对照 |
5230
- | ④ | **工作区与计数核对** | \`git status --porcelain\` | 阶段目录计数 \`ls .openfeel/plan/{series}/{stage}/ \\| wc -l\` | 归档前状态留痕(未提交项 / 文件计数) |
5231
-
5232
- > **Agent 数口径差异(登记)**:部署目录列举计数(用户实际安装面)与内置 \`listAgentIds\` 常量口径(框架定义面)**可能不同**;核对**以部署目录实况为准**,差异如实记录,不静默取一。
5233
-
5234
- **边界声明**:本清单**只覆盖核对机械步骤**;知识语义判定(新旧取舍 / 去重裁定 / 手册职责变更判定)、状态记录、公共日志摘要、概览**结论**判定**不在此列**——权威 = \`openfeel-check-kb\` 与归档官推理面。
5223
+ > 知识语义判定(新旧取舍 / 去重 / 手册职责变更)不在此清单;权威 = \`openfeel-check-kb\` 与归档官推理面。
5235
5224
 
5236
5225
  ## 输出
5237
5226
 
5238
- 日志写入记录:文件路径 + 条目数 + 是否同步更新公域 \`log.md\`
5227
+ - 默认:无(不需要报告)。
5228
+ - 写入时:仅报告「文件路径 + 一行摘要」。
5239
5229
  `,
5240
5230
  'openfeel-memory': `---
5241
5231
  name: openfeel-memory
5242
- description: 记忆与落档纪律——记忆加载优先级、偏好合并、冲突检测与仲裁、update_infos 检查修复、决策追加、信息落档与会话结束写入、阶段结束检查。用于「记忆 / 偏好 / 决策记录 / 落档 / 会话结束写入」相关判断。
5232
+ description: 记忆与落档(v1.5.0 瘦身)——默认不加载、不写回;仅在 recover / 用户要求 / 节点交接时按需读写;唯一写者是 Feel。用于「记忆 / 交接 / 恢复」相关判断。
5243
5233
  ---
5244
5234
 
5245
- # 记忆与落档纪律
5235
+ # 记忆与落档(v1.5.0 瘦身)
5246
5236
 
5247
5237
  > ⚠️ **本仓自举**:本仓(openfeel 源码仓库)开发/执行时请用 \`node bin/openfeel.js <cmd>\`;安装后使用 \`openfeel <cmd>\`。
5248
5238
 
5249
- ## 输入
5250
-
5251
- - 会话启动信号(加载记忆)或会话结束信号(写入落档)
5252
- - \`.openfeel/update_state.json\` / \`~/.openfeel/update_infos.md\`(若存在)
5253
-
5254
- ## 执行步骤
5255
-
5256
- ### 1. 记忆加载优先级(启动时按序)
5257
-
5258
- 1. **全局偏好**:读取全局画像(\`readProfile()\`,src/core/config.ts);文件不存在时用默认值。
5259
- 2. **项目规则**:读取项目 \`.openfeel/dev/dev_core.md\`(\`[+]\` / \`[-]\` 标记规则;优先级高于全局约束)。
5260
- 3. **项目记忆索引**:读取 \`.openfeel/users/{username}/dev_last.md\`(**索引**)——先取「用户偏好」「主题索引」「公共交接区」。
5261
- 4. **按需主题文件**:仅在需要详情时读 \`dev_last/{english-name}.md\`(**文件名英文 kebab-case**,如 \`decisions.md\` / \`pending.md\`);**旧格式**(无 \`## 主题索引\` 节)→ 触发**惰性迁移**(按英文命名映射拆分生成 \`dev_last/\` + 索引,原文保留,仅提示一次,不阻塞会话)。
5262
- 5. **自动填充画像**:调用 \`ensureProfileDefaults(projectPath)\`——\`user.name\` 为空时从 \`.openfeel/.info.json\` 或 git config 取用户名,并更新 \`history.last_project\` / \`history.recent_projects\`(去重保留最近 5 个)。
5263
-
5264
- ### 2. 偏好合并(禁整文件覆盖)
5265
-
5266
- - 语言偏好:全局画像 \`user.lang\` 优先。
5267
- - \`auto_advance\`:以项目 \`config.yaml\` 为准,全局画像 \`preferences.auto_advance\` 仅兜底(\`status.md\` 可局部覆盖)。
5268
- - 沟通风格 / 确认阈值:取全局画像 \`preferences.communication\` / \`preferences.confirm_threshold\`。
5269
- - 合并后的偏好写入索引「用户偏好」节:**先 Read → 合并 → 写回**,禁止整文件覆盖。
5239
+ ## 原则
5270
5240
 
5271
- ### 3. 冲突检测
5241
+ - **唯一写者 = Feel**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 只由 Feel 写;**子 agent 不读不写**,上下文由派发 prompt / 交接文档提供。
5242
+ - **默认不动**:普通会话启动**不读** \`dev_last\`、**不写**任何状态/日志;上下文来自 \`flow next\` / 计划 / op / REV。
5243
+ - **节点更新**:开始 / 转折 / 结束,或 \`statusSync.due=true\`(默认 30 分钟)时,Feel 更新一次**交接摘要(≤5 行)**,随后运行 \`openfeel dev sync\`(CLI 在节点/到期时自动同步)。
5272
5244
 
5273
- 启动时检查 \`.openfeel/update_state.json\`(不存在则静默跳过):
5245
+ ## 按需读取(recover / 用户要求)
5274
5246
 
5275
- 1. 遍历 \`files\`,查找 \`status=conflict\` 条目。
5276
- 2. 存在冲突时:TTY 交互环境输出冲突列表与解决指引(冲突文件保存在 \`.openfeel/update_conflicts/\`);**非 TTY 环境(如 CI/CD)静默跳过**,不输出提示。
5277
- 3. **不阻塞主体流程**——提示后照常进入主流程。
5247
+ 1. 全局偏好:\`readProfile()\`(文件不存在用默认值)。
5248
+ 2. 项目规则:\`.openfeel/dev/dev_core.md\`(\`[+]\` / \`[-]\`)。
5249
+ 3. 交接:\`dev_last.md\` 的「公共交接区」+ \`dev_last/\` 主题文件(仅需要详情时读)。
5278
5250
 
5279
- **冲突仲裁优先级**:用户明确指令 > 安全性 / 数据完整性 > 全局约束(全局规则文件)> 动态规则(\`dev_core.md\`)> 会话临时提示。冲突时须报告并向用户说明仲裁策略。
5251
+ > \`dev_last.md\` 的「自动状态」块由 CLI 维护(\`openfeel dev sync\`),**不要手改**。
5280
5252
 
5281
- ### 4. update_infos 检查与修复
5253
+ ## 按需写入(仅 Feel)
5282
5254
 
5283
- 启动时检查 \`~/.openfeel/update_infos.md\`(不存在则静默跳过):
5255
+ - 交接摘要写 \`dev_last.md\`「公共交接区」或主题文件;单条 ≤5 行,只写「做了什么 / 卡在哪 / 下一步」。
5256
+ - 长期技术/架构决策 → \`.openfeel/dev/decisions.md\`(ADR);会话临时取舍不落档。
5257
+ - **确需写主题文件时**(临界区):\`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`,锁路径 \`.openfeel/tmp/locks/\`;合并后用 \`atomicWriteFileSync\` 落盘。
5258
+ - \`dev/current.md\` 仅为可选项,不再强制维护。
5284
5259
 
5285
- 1. 遍历「追加」「异常」「备份」三类条目,按条目记录还原目标文件路径(绝对路径,或「相对路径 (项目: 根)」二元组)。
5286
- 2. 逐条处理:
5287
- - **异常条目**(未写入,待修复):含 \`原因: backup_failed\` → 备份失败导致,**非标记问题、不会自愈** → 引导用户重跑 \`openfeel update\` / \`openfeel setup\` 重试部署,成功后勾选;其余(标记解析失败)→ 目标文件已含完整 begin/end 标记则**已自愈**,勾选清除该条目。
5288
- - **追加条目**(无标记追加):即使目标文件现已含标记,追加的受管区可能仍残留在标记区外造成**内容重复**——**不静默清除**,提示用户人工确认后勾选。
5289
- - **备份条目**(部署覆盖前已存在 → 已备份):检查备份文件是否存在——存在则提示「部署覆盖前已备份原文件至 \`{backupRel}\`,请检查」;缺失则提示「备份已丢失,请谨慎检查当前文件」。确认后勾选。**非 TTY 环境静默**。
5290
- 3. 提示方式与「冲突检测」对称:TTY 输出待处理列表与确认引导;非 TTY 静默跳过。
5291
- 4. 修复完成后提醒用户**重启会话**(全局 agent / 约束已变更,需重启加载)。
5292
- 5. 全部条目勾选后可删除该文件或保留骨架。本流程不调用内部函数接口,仅按标记与条目状态判定。
5260
+ ## 检查(不阻塞)
5293
5261
 
5294
- ### 5. 决策追加(\`dev_last/decisions.md\` 追加式)
5295
-
5296
- 做出技术 / 架构决策(选择方案、拒绝备选、调整设计方向、接受 trade-off)时,按 \`- [x] {date}:{决策描述}\` **追加**到 \`dev_last/decisions.md\`(不覆盖既有条目;索引仅在主题摘要变化时更新对应 ≤100 字摘要)。
5297
-
5298
- - **归属区分**:长期决策(技术选型、架构方向、跨会话有效的设计取舍)另以 ADR 格式同步写入 \`.openfeel/dev/decisions.md\`;会话临时决策仅记 \`dev_last/decisions.md\`。
5299
- - **判断标准**(任一即记):涉及新依赖引入或版本抉择 / 涉及架构模式选择 / 涉及用户偏好变更 / 涉及流程调整决策。
5300
- - **非决策不记录**:常规代码推进、Bug 修复选择、已确定方案中的细节填充。
5301
-
5302
- ### 6. 信息落档与会话结束写入
5303
-
5304
- **关键操作必须落文件,不可仅存于对话中**:阶段状态 → CLI 命令;进度 → \`dev_last.md\`(索引 + 主题文件);经验 → \`kb/\`;审查 / Bug → 私域目录。禁止「做完不记录」。
5305
-
5306
- 会话结束前更新 \`.openfeel/users/{username}/dev_last.md\`(索引)与 \`dev_last/*.md\`(主题文件):
5307
-
5308
- > **临界区(A9,一次进出)**:以下 ①~④ 的「读 → 合并 → 写回」须在 \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\` 内完成(**含读取**;锁路径 \`.openfeel/tmp/locks/dev-last-{username}.lock\`;临界区内合并后用 \`atomicWriteFileSync\` 原子落盘;超时 / 陈旧沿用默认 5000 / 3000ms);\`dist\` 不可用时退化为「读-合并-写」并标注「未加锁」。
5309
-
5310
- 1. 更新索引「用户偏好」(**不整文件覆盖**,Read → 合并 → 写回)。
5311
- 2. 更新 / 新建主题文件(**文件名英文**;单条 >300 字或 >10 条时转 \`tmp/\` 文档并记地址)。
5312
- 3. 刷新索引「主题索引」摘要(**≤5 活跃主题 × ≤5 条 × ≤100 字**);新增主题致 >5 时先合并同类,无可合并则把最旧已完结主题移入「已收敛主题」(**不归档、不移动文件**)。
5313
- 4. 更新「公共交接区」(**仅文档位置 + 核心摘要**)。
5314
- 5. 若属跨用户整体进度,按规则更新 \`.openfeel/dev/current.md\` 并轮换归档(该文件属公共域,**不在本锁范围内**)。
5315
-
5316
- ### 7. 阶段结束检查清单
5317
-
5318
- 标记阶段 done 前逐项确认,全部通过方可推进:
5319
-
5320
- - [ ] 审查已完成?(仅单文件、无跨文件影响的微小改动可跳过审查,须记录理由)
5321
- - [ ] 测试已通过?
5322
- - [ ] 状态已落档(\`flow.json\` / \`status.md\` / \`dev_last.md\`〔索引 + 主题文件〕)?
5262
+ - \`update_state.json\` 冲突条目、\`~/.openfeel/update_infos.md\` 例外条目:存在时简要提示用户;非 TTY 静默;**不阻塞**主流程。
5323
5263
 
5324
5264
  ## 输出
5325
5265
 
5326
- - 记忆加载摘要:生效偏好(语言 / 自动推进 / 沟通风格 / 确认阈值)+ 活跃主题数
5327
- - 落档记录:写入或更新的文件路径清单
5266
+ - 恢复摘要(仅 recover 时):生效偏好 + 交接摘要(≤5 行)。
5267
+ - 写入记录:仅在确实写入时报告路径。
5328
5268
  `,
5329
5269
  'openfeel-model-check': `---
5330
5270
  name: openfeel-model-check
@@ -6219,13 +6159,13 @@ description: 会话启动时检查并补齐 .openfeel/ 工作区目录结构与
6219
6159
  \`.openfeel/dev/note/\`、\`.openfeel/dev/current_archive/\`、\`.openfeel/log/\`、\`.openfeel/code_review/\`、\`.openfeel/bugs/\`、\`.openfeel/plan/\`、\`.openfeel/kb/\`、\`.openfeel/tmp/\`
6220
6160
 
6221
6161
  ### 3. 检查公共域文件(缺失则创建空文件)
6222
- \`.openfeel/dev/dev_core.md\`、\`.openfeel/dev/current.md\`、\`.openfeel/dev/decisions.md\`、\`.openfeel/kb/index.md\`
6162
+ \`.openfeel/dev/dev_core.md\`、\`.openfeel/dev/decisions.md\`、\`.openfeel/kb/index.md\`(\`dev/current.md\` 自 v1.5.0 起为**可选**,不再强制维护)
6223
6163
 
6224
6164
  ### 4. 检查私域目录(基于 {username})
6225
6165
  \`.openfeel/users/{username}/log/\`、\`note/\`、\`code_review/\`、\`bugs/\`、\`tmp/\`、\`dev_last/\`(主题记录目录;**主题文件名英文**,如 \`pending.md\`/\`decisions.md\`)
6226
6166
 
6227
6167
  ### 5. 检查私域文件
6228
- \`.openfeel/users/{username}/dev_last.md\`(**索引**;同名目录 \`dev_last/\` 存主题文件,**文件名英文**)
6168
+ \`.openfeel/users/{username}/dev_last.md\`(**索引**;同名目录 \`dev_last/\` 存主题文件,**文件名英文**)。v1.5.0 起其「自动状态」块由 CLI 维护;**只有 Feel 写**,子 agent 不读不写。
6229
6169
 
6230
6170
  ### 6. 增量更新复核
6231
6171
  检查 \`~/.openfeel/update_infos.md\`,若存在未修复条目(追加/异常),提醒用户重启会话,并按 \`openfeel-memory\` 的 update_infos 检查修复流程处理;本 Agent 不自行修改该文件。
@@ -6262,7 +6202,7 @@ description: 会话启动时检查并补齐 .openfeel/ 工作区目录结构与
6262
6202
  | \`.openfeel/.info.json\` | 用户身份(\`{ "user": "username" }\`;缺失则由 \`git config user.name\` 补齐) | 加入 \`.gitignore\` |
6263
6203
  | \`.openfeel/dev/\` | 项目共享的核心规则与进度状态 | — |
6264
6204
  | \`dev/dev_core.md\` | 长期有效规则;每条形如 \`[+]\` / \`[-]\` 前缀,**只标禁用不删除** | — |
6265
- | \`dev/current.md\` | **团队文件(用户级视图)**:跨用户操作与整体信息;**仅个人提交时更新**(一次提交 = 一条记录);只写整体信息、**禁止** agent 细节;仅保留近期 5 条 | — |
6205
+ | \`dev/current.md\` | **可选**(v1.5.0 起不再强制维护);如维护则只写整体信息、禁止 agent 细节、仅保留近期 5 条 | — |
6266
6206
  | \`dev/current_archive/\` | 轮换出的旧记录(**只增不删**,公共域纳版本管理) | \`current-{yyyy-mm-dd}-{NNN}.md\`(同日 NNN 递增) |
6267
6207
  | \`dev/note/dev_note.md\` | 团队共享开发笔记(来源 = 成员个人笔记的归入) | — |
6268
6208
  | \`log/\` | 公共日志:**仅团队级重要事件**;按年 / 月 / 日分层,日目录仅当天有事件时创建 | \`yyyy-mm-dd-{username}-NNN.md\`;日目录 \`day_index.md\`;根 \`index.md\` + \`log.md\`(最近 30 条) |
@@ -6276,8 +6216,8 @@ description: 会话启动时检查并补齐 .openfeel/ 工作区目录结构与
6276
6216
 
6277
6217
  | 路径 | 职责 | 命名约定 |
6278
6218
  |------|------|----------|
6279
- | \`dev_last.md\`(索引)+ \`dev_last/\`(主题文件) | 本地状态恢复与操作记录;**超期文件不做归档** | 主题文件**文件名一律英文 kebab-case**(如 \`pending.md\` / \`decisions.md\`) |
6280
- | \`log/\` | 个人日志(日常操作的主要记录位置) | \`yyyy-mm-dd-NNN.md\`(无需用户名) |
6219
+ | \`dev_last.md\`(索引)+ \`dev_last/\`(主题文件) | 本地状态恢复与操作记录;**v1.5.0:自动状态块由 CLI 维护,手写仅交接摘要;只有 Feel 写**;**超期文件不做归档** | 主题文件**文件名一律英文 kebab-case**(如 \`pending.md\` / \`decisions.md\`) |
6220
+ | \`log/\` | 个人日志**默认不写**(仅跨会话/公共事件,≤3 行) | \`yyyy-mm-dd-NNN.md\`(无需用户名) |
6281
6221
  | \`note/\` | 个人笔记(经验教训的**主要记录位置**) | 简要描述 + 子文件索引 |
6282
6222
  | \`code_review/\` | 开发阶段代码评审问题(架构 / 规范 / 逻辑),按计划阶段组织 | \`REV-{plan_stage}.md\`;根 \`index.md\` + \`log.md\`(最近 30 条) |
6283
6223
  | \`bugs/\` | 测试阶段缺陷追踪,按模块组织 | \`{module}/BUG-{NNN}_{简略标题}.md\`(NNN 模块内递增);根 \`index.md\` + \`log.md\`(最近 30 条) |
@@ -6557,13 +6497,15 @@ Pick the tier by **blast radius** (cross-file? cross-stage / cross-module?); the
6557
6497
  user input → understand intent → dispatch the right agent → check results → advance the pipeline
6558
6498
  \`\`\`
6559
6499
 
6560
- ## Memory & Write-Back (details in the skills)
6500
+ ## State & Records (v1.5.0, details in the skills)
6561
6501
 
6562
- - **Memory loading**: global profile -> project \`dev_core.md\` -> \`dev_last.md\` (**index**) -> topic files on demand (\`dev_last/decisions.md\`, **English file names**); merge preferences as "read -> merge -> write back", never overwriting the whole file.
6563
- - **Conflict detection & \`update_infos\`**: at startup check \`update_state.json\` conflict entries and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries** -- those with \`backup_failed\` lead the user to re-run the update deployment); after confirmation tick \`- [ ]\` to \`- [x]\` with the edit tool and remind the user to restart.
6564
- - **Decision appending**: append \`- [x] {date}: {decision}\` to \`dev_last/decisions.md\` (long-term decisions also get an ADR).
6565
- - **Archiving and session-end write-back**: \`dev_last.md\` index + topic files + the **Public Handoff** section, inside \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
6566
- - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is judged unusable, restart it and treat its REVs / acceptance records as **pending re-review**.
6502
+ - **Only Feel writes state**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are updated by Feel only; **subagents never read or write them** (handoff goes through the dispatch prompt / handoff docs).
6503
+ - **Update nodes**: start / turning point / end, or when \`statusSync.due=true\` (default 30 min) — update the handoff summary once (<=5 lines), then run \`openfeel dev sync\` (the CLI auto-syncs on nodes/expiry).
6504
+ - **No per-step diary**: logs are not mandatory; \`flow.json.log\` is maintained by the CLI (last 200 entries). Cross-session info goes to the **Public Handoff** section; \`dev_last/decisions.md\` only for long-term decisions.
6505
+ - **Memory on demand**: not loaded by default; read the \`dev_last/\` index and topic files only on \`recover\` or when the user asks.
6506
+ - **Write lock (only when actually writing)**: \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), ...)\` (lock path \`.openfeel/tmp/locks/\`).
6507
+ - **Conflict detection & \`update_infos\` (non-blocking)**: at startup check \`update_state.json\` conflicts and the **three kinds** of entries in \`~/.openfeel/update_infos.md\` (append / anomaly / **Backup entries**; those with \`backup_failed\` lead the user to re-run update / setup); after confirmation use the **edit tool** to tick \`- [ ]\` to \`- [x]\` and remind the user to restart.
6508
+ - **Reviewer-Session Health Probe**: require a minimal tool check on the reviewer's first round; if the session is unusable, restart it and mark its REVs / acceptance records as **pending re-review**.
6567
6509
 
6568
6510
  > Full procedures live in \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`.
6569
6511
 
@@ -6592,7 +6534,7 @@ When the user says "start a new version", increment the four-level version (W+1)
6592
6534
 
6593
6535
  - Dispatch result: target agent + task summary + expected return + read/write boundary
6594
6536
  - Downstream concise summary (<= 10 lines): Agent / status / summary / outputs / leftovers
6595
- - Write-back: logs per \`openfeel-logging\`, memory and \`dev_last.md\` per \`openfeel-memory\`, workspace per \`openfeel-workspace\`
6537
+ - Records: no per-step logs; node handoff summaries per \`openfeel-memory\`; workspace per \`openfeel-workspace\`
6596
6538
  `,
6597
6539
  'openfeel-archiver': `---
6598
6540
  name: openfeel-archiver
@@ -7464,12 +7406,14 @@ fast 调度纪律:
7464
7406
  用户输入 → 理解意图 → 调用对应 Agent → 检查结果 → 推进流水线
7465
7407
  \`\`\`
7466
7408
 
7467
- ## 记忆与落档(细节见对应 skill)
7409
+ ## 状态与记录(v1.5.0,细节见对应 skill)
7468
7410
 
7469
- - **记忆加载**:全局画像 → 项目 \`dev_core.md\` → \`dev_last.md\`(**索引**)→ 按需主题文件(\`dev_last/decisions.md\` 等,**文件名英文**);偏好合并按「Read → 合并 → 写回」,禁整文件覆盖。
7470
- - **冲突检测与 \`update_infos\`**:启动时检查 \`update_state.json\` 冲突条目与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**——含 \`backup_failed\` 者引导用户重跑更新部署);确认后用 edit 工具将条目的 \`- [ ]\` 改为 \`- [x]\` 勾选,并提醒用户**重启会话**。
7471
- - **决策追加**:按 \`- [x] {date}:{决策}\` 追加至 \`dev_last/decisions.md\`(长期决策另同步 ADR)。
7472
- - **信息落档与会话结束写入**:\`dev_last.md\` 索引 + 主题文件 + **公共交接区**;临界区 \`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
7411
+ - **只有 Feel 写状态**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 仅由 Feel 更新;**子 agent 不读不写**(交接走派发 prompt / 交接文档)。
7412
+ - **节点更新**:开始 / 转折 / 结束,或 \`statusSync.due=true\`(默认 30 分钟)时更新一次交接摘要(≤5 行),随后 \`openfeel dev sync\`(CLI 在节点/到期时自动同步)。
7413
+ - **不写流水账**:日志不强制;\`flow.json.log\` 由 CLI 维护(最近 200 条)。跨会话信息写入「公共交接区」;\`dev_last/decisions.md\` 仅长期决策。
7414
+ - **记忆按需**:默认不加载;仅 \`recover\` 或用户要求时读 \`dev_last/\` 索引与主题文件。
7415
+ - **写入锁(仅确需写入时)**:\`withFileLock(projectLockPath(cwd, 'dev-last-' + username), () => { … })\`(锁路径 \`.openfeel/tmp/locks/\`)。
7416
+ - **冲突检测与 \`update_infos\`(不阻塞)**:启动时检查 \`update_state.json\` 冲突与 \`~/.openfeel/update_infos.md\` 的**三类**条目(追加 / 异常 / **备份条目**;含 \`backup_failed\` 者引导用户重跑 update / setup);确认后用 **edit 工具**把 \`- [ ]\` 改为 \`- [x]\`,并提醒用户重启会话。
7473
7417
  - **审查会话健康探测**:唤起审查官首轮先做最小工具自检;会话判定不可用时立即重开,其既有 REV / 验收记录降级为**待复核**。
7474
7418
 
7475
7419
  > 操作步骤与格式详见 \`openfeel-memory\` / \`openfeel-delegation\` / \`openfeel-workspace\`。
@@ -7499,7 +7443,7 @@ Feel 由**主力推理模型**驱动,确保深度理解与全局调度能力
7499
7443
 
7500
7444
  - 调度结果:目标 Agent + 任务描述摘要 + 期望返回 + 只读 / 可写边界
7501
7445
  - 下游精简摘要(≤ 10 行):Agent / 状态 / 摘要 / 产出 / 遗留
7502
- - 落档:日志按 \`openfeel-logging\`、记忆与 \`dev_last.md\` 按 \`openfeel-memory\`、工作区按 \`openfeel-workspace\`
7446
+ - 记录:不写逐操作日志;节点交接摘要按 \`openfeel-memory\`,工作区按 \`openfeel-workspace\`
7503
7447
  `,
7504
7448
  'openfeel-archiver': `---
7505
7449
  name: openfeel-archiver
@@ -8303,6 +8247,8 @@ When encountering technical issues, **the first action MUST be to consult the kn
8303
8247
 
8304
8248
  5. **Command execution (Windows)**: when running shell commands on Windows, prefer **\`Bash\` (Git Bash)**, then **PowerShell 7 (\`pwsh\`)**; on macOS / Linux use \`Bash\`. Do not default to \`cmd.exe\`; keep one shell per task and write paths/escaping for that shell (same for the main session and subagents).
8305
8249
 
8250
+ 6. **State has a single writer (v1.5.0)**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are written by the **main session** only; **subagents never read or write them** — context comes from the dispatch prompt / handoff docs. Logs are not mandatory; write a <=5-line handoff summary when needed (start / turning point / end, or every 30 min).
8251
+
8306
8252
  Deviating from the above constraints is considered a violation and will be flagged during review.
8307
8253
 
8308
8254
  ### 10-Agent System Overview
@@ -8356,7 +8302,7 @@ Version progression must be prudent, using the four-level X.Y.Z.W version number
8356
8302
  | Level 4 (W) | Feature detail | Independently committed feature or submodule |
8357
8303
 
8358
8304
  When Feel starts a new version, it defaults to incrementing the fourth level (W+1), unless the user explicitly specifies otherwise.
8359
- The OpenFeel framework has released the official v1.0.x (currently v1.3.5). After deploying the global constraints via openfeel setup, new projects set their own starting version number as needed.
8305
+ The OpenFeel framework has released the official v1.0.x (currently v1.5.1). After deploying the global constraints via openfeel setup, new projects set their own starting version number as needed.
8360
8306
 
8361
8307
  ### Module Manuals
8362
8308
 
@@ -8469,6 +8415,8 @@ AI Agent 行为约束与编码规范。本文件为永久性约束,适用于
8469
8415
 
8470
8416
  5. **命令执行工具(Windows)**:运行 shell 命令时,Windows 下**优先 \`Bash\`(Git Bash)**,其次 **PowerShell 7(\`pwsh\`)**;macOS / Linux 使用 \`Bash\`。默认不用 \`cmd.exe\`;同一任务内保持同一 shell,路径与转义按所选 shell 书写(主会话与 subagent 一致)。
8471
8417
 
8418
+ 6. **状态唯一写者(v1.5.0)**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 只由**主会话**写;**subagent 一律不读不写**,上下文由派发 prompt / 交接文档提供。日志不强制;需要跨会话时写 ≤5 行交接摘要(开始 / 转折 / 结束,或 30 分钟到期)。
8419
+
8472
8420
  偏离以上约束的行为视为违规,审查时将被标记。
8473
8421
 
8474
8422
  ### 10 Agent 体系总览
@@ -8522,7 +8470,7 @@ Claude Code 的权限与工具可用性由 subagent 的 \`tools\` 白名单与 \
8522
8470
  | 四级(W) | 功能细节 | 独立提交的功能或子模块 |
8523
8471
 
8524
8472
  Feel 启动新版本时默认使用四级版本递增(W+1),除非用户明确指定。
8525
- OpenFeel 框架已发布正式版 v1.0.x(当前 v1.3.5)。新项目经 openfeel setup 部署全局约束后,按自身需求设定起始版本号。
8473
+ OpenFeel 框架已发布正式版 v1.0.x(当前 v1.5.1)。新项目经 openfeel setup 部署全局约束后,按自身需求设定起始版本号。
8526
8474
 
8527
8475
  ### 模块手册
8528
8476