openfeel 1.4.0 → 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 (40) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +2 -0
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/dev.d.ts +11 -0
  6. package/dist/commands/dev.d.ts.map +1 -0
  7. package/dist/commands/dev.js +47 -0
  8. package/dist/commands/dev.js.map +1 -0
  9. package/dist/commands/flow.d.ts.map +1 -1
  10. package/dist/commands/flow.js +12 -0
  11. package/dist/commands/flow.js.map +1 -1
  12. package/dist/core/config.js +2 -2
  13. package/dist/core/dev-status.d.ts +37 -0
  14. package/dist/core/dev-status.d.ts.map +1 -0
  15. package/dist/core/dev-status.js +176 -0
  16. package/dist/core/dev-status.js.map +1 -0
  17. package/dist/core/flow-manager.d.ts +3 -1
  18. package/dist/core/flow-manager.d.ts.map +1 -1
  19. package/dist/core/flow-manager.js +6 -1
  20. package/dist/core/flow-manager.js.map +1 -1
  21. package/dist/core/i18n-data/en.d.ts.map +1 -1
  22. package/dist/core/i18n-data/en.js +9 -0
  23. package/dist/core/i18n-data/en.js.map +1 -1
  24. package/dist/core/i18n-data/zh-CN.d.ts.map +1 -1
  25. package/dist/core/i18n-data/zh-CN.js +9 -0
  26. package/dist/core/i18n-data/zh-CN.js.map +1 -1
  27. package/dist/core/template-loader.d.ts.map +1 -1
  28. package/dist/core/template-loader.js +121 -183
  29. package/dist/core/template-loader.js.map +1 -1
  30. package/dist/core/update.d.ts.map +1 -1
  31. package/dist/core/update.js +58 -140
  32. package/dist/core/update.js.map +1 -1
  33. package/dsh/ADAPTER.md +3 -2
  34. package/dsh/README.md +2 -1
  35. package/dsh/lib/adapters/dashboard.js +6 -0
  36. package/dsh/lib/adapters/dev-status.js +40 -0
  37. package/dsh/lib/surface/prompt.js +10 -0
  38. package/dsh/lib/tools/index.js +3 -0
  39. package/dsh/package.json +2 -2
  40. package/package.json +1 -1
@@ -141,6 +141,11 @@ Feel(你)只做编排、决策与门禁判断。
141
141
  - **归档判据不可协商**:版本归档要求该版本**全部阶段 done** 且**无 blocking open REV**,没有 force 覆盖。归档由 CLI 执行,调度侧只提示不代劳。
142
142
  - **不主动读归档**:常规调度不要读 \`.openfeel/flow-archive/**\`(防上下文污染);需要历史时用 \`feel_archive action=show\`。
143
143
 
144
+ ## 状态与记录(v1.5.0)
145
+ - **只有 Feel 写状态**:\`dev_last*\`、\`dev/current.md\`、\`status.md\`、\`flow.json\` 只由 Feel 更新;**子 agent 一律不读不写**(上下文由派发 prompt / 交接文档提供)。
146
+ - **日志不强制**:不写流水账;\`flow.json.log\` 由 CLI 自动维护(仅保留最近 200 条)。跨会话信息用一条 ≤5 行交接摘要。
147
+ - **更新节点**:开始 / 转折 / 结束,或 \`statusSync.due=true\`(默认 30 分钟)时更新一次交接摘要,随后运行 \`openfeel dev sync\`(CLI 在节点/到期时也会自动同步)。
148
+
144
149
  ## 三种工作流模式
145
150
  - \`full\`:plan → plan_review → scheme → exec → review → test → archive,六道关全走。
146
151
  - \`fast\`:跳过 \`scheme_*\` 与 \`test_*\`;**计划审查与代码审查各保留一轮**(fast 不等于免审)。
@@ -196,6 +201,11 @@ planner / schemer / executor / reviewer / feel-tester / archiver. **The authorit
196
201
  - **Archive criteria are not negotiable**: a version archive requires every stage of that version to be \`done\` AND no blocking open REV; there is no force override. The CLI performs the archive; you only prompt.
197
202
  - **Do not read archives during normal scheduling**: avoid \`.openfeel/flow-archive/**\`; use \`feel_archive action=show\` on demand.
198
203
 
204
+ ## State & records (v1.5.0)
205
+ - **Only Feel writes state**: \`dev_last*\`, \`dev/current.md\`, \`status.md\`, \`flow.json\` are updated by Feel only; **subagents never read or write them** (context comes from the dispatch prompt / handoff docs).
206
+ - **No mandatory logs**: do not keep a per-step diary; \`flow.json.log\` is maintained by the CLI (last 200 entries only). For cross-session info, write a <=5-line handoff summary.
207
+ - **Update nodes**: start / turning point / end, or when \`statusSync.due=true\` (default 30 min) — update the handoff summary once, then run \`openfeel dev sync\` (the CLI also auto-syncs on nodes/expiry).
208
+
199
209
  ## The three workflow modes
200
210
  - \`full\`: plan → plan_review → scheme → exec → review → test → archive (all six gates).
201
211
  - \`fast\`: skips \`scheme_*\` and \`test_*\`; **plan review and code review each keep one round** (fast is not review-free).
@@ -13,6 +13,7 @@
13
13
 
14
14
  import { FeelError } from '../adapters/cli.js';
15
15
  import { legalNextPhases, planNextStep, readSnapshot } from '../adapters/dashboard.js';
16
+ import { readStatusSync } from '../adapters/dev-status.js';
16
17
  import { resolveWorkspace } from '../adapters/workspace.js';
17
18
  import {
18
19
  boolean,
@@ -152,6 +153,7 @@ export function createTools(context) {
152
153
  withRequirements: args.with_requirements === true,
153
154
  });
154
155
  snapshot.project.root = resolved.cwd;
156
+ snapshot.statusSync = readStatusSync(resolved.cwd);
155
157
  const focus = snapshot.focus;
156
158
  return {
157
159
  data: snapshot,
@@ -182,6 +184,7 @@ export function createTools(context) {
182
184
  return envelope('next', async () => {
183
185
  const snapshot = await readSnapshot(cli, { cwd: resolved.cwd, signal: exec.signal });
184
186
  snapshot.project.root = resolved.cwd;
187
+ snapshot.statusSync = readStatusSync(resolved.cwd);
185
188
  const plan = planNextStep(snapshot);
186
189
  return {
187
190
  data: plan,
package/dsh/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfeel-dsh",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "description": "OpenFeel × DSH — Feel 模式适配器:把 OpenFeel 的流水线、需求分发、版本归档与知识库接入 DeepSeek Harness",
5
5
  "type": "module",
6
6
  "private": true,
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "openfeel": {
34
34
  "adapter": "dsh",
35
- "requiresCli": ">=1.4.0"
35
+ "requiresCli": ">=1.5.1"
36
36
  },
37
37
  "keywords": [
38
38
  "openfeel",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfeel",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "description": "AI Agent 开发流程治理 CLI 工具",
5
5
  "type": "module",
6
6
  "private": false,