@ckanner/flywheel 0.31.0 → 0.31.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 (136) hide show
  1. package/CHANGELOG.md +48 -5
  2. package/CONTRIBUTING.md +19 -0
  3. package/LICENSE +21 -0
  4. package/README.en.md +4 -171
  5. package/README.md +152 -269
  6. package/README.zh-CN.md +116 -0
  7. package/bin/flywheel-claude-code-pro-worker.js +1 -1
  8. package/bin/flywheel-codex-pro-worker.js +1 -1
  9. package/bin/flywheel-dsh-worker.js +1 -1
  10. package/bin/flywheel.js +1 -1
  11. package/bin/runtime.js +1 -1
  12. package/docs/README.md +84 -0
  13. package/docs/README.zh-CN.md +64 -0
  14. package/docs/archive/README.md +13 -0
  15. package/docs/archive/codex-pro-adapter-handoff.md +197 -0
  16. package/docs/archive/design-v0.24.md +540 -0
  17. package/docs/design.md +681 -0
  18. package/docs/en/claude-code-pro.md +25 -16
  19. package/docs/en/configuration.md +306 -141
  20. package/docs/en/contributing.md +303 -0
  21. package/docs/en/flow-console.md +67 -13
  22. package/docs/en/getting-started.md +232 -126
  23. package/docs/en/investigation.md +219 -0
  24. package/docs/en/jev-shadow.md +67 -0
  25. package/docs/en/model-policy.md +147 -62
  26. package/docs/en/releasing.md +207 -0
  27. package/docs/en/session-evaluation.md +4 -2
  28. package/docs/en/session-recovery.md +49 -6
  29. package/docs/en/workflow.md +222 -114
  30. package/docs/evaluation/README.md +12 -0
  31. package/docs/evaluation/jev-historical-provisional.json +138 -0
  32. package/docs/evaluation/jev-historical-result-2026-11-10.json +174 -0
  33. package/docs/plans/2026-11-01-dsh-integration.md +67 -0
  34. package/docs/plans/2026-11-01-model-profiles-preflight.md +29 -0
  35. package/docs/plans/2026-11-01-npm-installation.md +19 -0
  36. package/docs/plans/2026-11-03-codex-pro-default.md +28 -0
  37. package/docs/plans/2026-11-06-adaptive-workflow.md +365 -0
  38. package/docs/plans/2026-11-07-session-lifecycle.en.md +424 -0
  39. package/docs/plans/2026-11-07-session-lifecycle.md +337 -0
  40. package/docs/plans/2026-11-08-flow-console.md +271 -0
  41. package/docs/plans/2026-11-10-jev-shadow.md +32 -0
  42. package/docs/plans/2026-11-10-task-discovery.md +17 -0
  43. package/docs/plans/2026-11-10-workbench-redesign.md +19 -0
  44. package/docs/plans/2026-11-12-feedback-driven-workflows.md +739 -0
  45. package/docs/plans/README.md +22 -0
  46. package/docs/reviews/2026-08-24-v0.18-review-fixplan.md +265 -0
  47. package/docs/reviews/2026-09-12-pr4-pr5-review.md +70 -0
  48. package/docs/reviews/README.md +12 -0
  49. package/docs/validation/2026-11-01-npm-installation.md +105 -0
  50. package/docs/validation/2026-11-01-profiles-preflight.md +67 -0
  51. package/docs/validation/2026-11-01-results.md +114 -0
  52. package/docs/validation/2026-11-03-codex-pro-default.md +90 -0
  53. package/docs/validation/2026-11-04-dsh-native-view.md +85 -0
  54. package/docs/validation/2026-11-04-release-0.28.1.md +33 -0
  55. package/docs/validation/2026-11-04-release-0.28.2.md +35 -0
  56. package/docs/validation/2026-11-05-dsh-0.2.2-compatibility.md +26 -0
  57. package/docs/validation/2026-11-05-registry-smoke-recovery.md +26 -0
  58. package/docs/validation/2026-11-05-release-0.28.3.md +32 -0
  59. package/docs/validation/2026-11-05-subscription-model-access.md +60 -0
  60. package/docs/validation/2026-11-05-view-order.md +14 -0
  61. package/docs/validation/2026-11-07-adaptive-workflow.md +79 -0
  62. package/docs/validation/2026-11-07-claude-code-pro.md +144 -0
  63. package/docs/validation/2026-11-07-session-lifecycle.md +136 -0
  64. package/docs/validation/2026-11-08-session-p3-p4.md +99 -0
  65. package/docs/validation/2026-11-09-flow-console.md +81 -0
  66. package/docs/validation/2026-11-10-jev-shadow.md +50 -0
  67. package/docs/validation/2026-11-10-task-discovery.md +45 -0
  68. package/docs/validation/2026-11-10-workbench-redesign.md +54 -0
  69. package/docs/validation/2026-11-11-release-0.30.2.md +65 -0
  70. package/docs/validation/2026-11-11-release-0.31.0.md +46 -0
  71. package/docs/validation/2026-11-12-dsh-0.2.2-rc.2.md +58 -0
  72. package/docs/validation/2026-11-12-feedback-driven-workflows.md +187 -0
  73. package/docs/validation/README.md +41 -0
  74. package/docs/validation/evidence/2026-11-08-session-p3-p4.json +5430 -0
  75. package/docs/validation/evidence/claude-node-bridges.txt +118 -0
  76. package/docs/validation/evidence/claude-npm-build.txt +15 -0
  77. package/docs/validation/evidence/claude-npm-candidate.json +54 -0
  78. package/docs/validation/evidence/claude-npm-install.txt +21 -0
  79. package/docs/validation/evidence/claude-npm-tests.txt +145 -0
  80. package/docs/validation/evidence/claude-plugin-tests.txt +205 -0
  81. package/docs/validation/evidence/claude-quality-gate.txt +29 -0
  82. package/docs/validation/evidence/claude-race.txt +7 -0
  83. package/docs/validation/evidence/codex-pro-070-probes.txt +4 -0
  84. package/docs/validation/evidence/dsh-bridge.txt +4 -0
  85. package/docs/validation/evidence/dsh-native-view-bridge-tests.txt +1 -0
  86. package/docs/validation/evidence/dsh-native-view-build.txt +15 -0
  87. package/docs/validation/evidence/dsh-native-view-candidate.json +54 -0
  88. package/docs/validation/evidence/dsh-native-view-inspect.txt +27 -0
  89. package/docs/validation/evidence/dsh-native-view-install-tests.txt +19 -0
  90. package/docs/validation/evidence/dsh-native-view-npm-tests.txt +143 -0
  91. package/docs/validation/evidence/dsh-native-view-plugin-tests.txt +99 -0
  92. package/docs/validation/evidence/dsh-native-view-quality-gate.txt +29 -0
  93. package/docs/validation/evidence/dsh-plugin-tests.txt +48 -0
  94. package/docs/validation/evidence/function-coverage.txt +378 -0
  95. package/docs/validation/evidence/npm-build.txt +13 -0
  96. package/docs/validation/evidence/npm-contract-tests.txt +65 -0
  97. package/docs/validation/evidence/npm-dsh-bridge.txt +18 -0
  98. package/docs/validation/evidence/npm-dsh-plugin-tests.txt +62 -0
  99. package/docs/validation/evidence/npm-function-coverage.txt +420 -0
  100. package/docs/validation/evidence/npm-install-tests.txt +20 -0
  101. package/docs/validation/evidence/npm-quality-gate.txt +29 -0
  102. package/docs/validation/evidence/npm-race.txt +7 -0
  103. package/docs/validation/evidence/pr-dsh-bridge.txt +4 -0
  104. package/docs/validation/evidence/pr-dsh-plugin-tests.txt +48 -0
  105. package/docs/validation/evidence/pr-function-coverage.txt +379 -0
  106. package/docs/validation/evidence/pr-quality-gate.txt +28 -0
  107. package/docs/validation/evidence/pr-race.txt +6 -0
  108. package/docs/validation/evidence/profiles-control-smoke.json +1 -0
  109. package/docs/validation/evidence/profiles-dsh-bridge.txt +18 -0
  110. package/docs/validation/evidence/profiles-dsh-plugin-tests.txt +59 -0
  111. package/docs/validation/evidence/profiles-function-coverage.txt +411 -0
  112. package/docs/validation/evidence/profiles-quality-gate.txt +29 -0
  113. package/docs/validation/evidence/profiles-race.txt +7 -0
  114. package/docs/validation/evidence/quality-gate.txt +28 -0
  115. package/docs/validation/evidence/race.txt +6 -0
  116. package/docs/validation/evidence/watchdog-startup-after.txt +2 -0
  117. package/docs/validation/evidence/watchdog-startup-before.txt +6 -0
  118. package/docs/validation/evidence/watchdog-startup-quality-gate.txt +29 -0
  119. package/docs/validation/evidence/watchdog-startup-race.txt +7 -0
  120. package/docs/{claude-code-pro.md → zh-CN/claude-code-pro.md} +23 -17
  121. package/docs/{configuration.md → zh-CN/configuration.md} +323 -139
  122. package/docs/zh-CN/contributing.md +240 -0
  123. package/docs/{flow-console.md → zh-CN/flow-console.md} +55 -12
  124. package/docs/zh-CN/getting-started.md +352 -0
  125. package/docs/zh-CN/investigation.md +182 -0
  126. package/docs/zh-CN/jev-shadow.md +79 -0
  127. package/docs/zh-CN/model-policy.md +123 -0
  128. package/docs/zh-CN/releasing.md +120 -0
  129. package/docs/{session-evaluation.md → zh-CN/session-evaluation.md} +4 -2
  130. package/docs/{session-recovery.md → zh-CN/session-recovery.md} +46 -12
  131. package/docs/zh-CN/workflow.md +270 -0
  132. package/npm/install.js +1 -1
  133. package/package.json +12 -25
  134. package/docs/getting-started.md +0 -418
  135. package/docs/model-policy.md +0 -65
  136. package/docs/workflow.md +0 -314
@@ -1,6 +1,6 @@
1
1
  # Optional Claude Code Pro backend
2
2
 
3
- [中文](../claude-code-pro.md) · [Configuration](configuration.md)
3
+ [Documentation](../README.md) · English · [简体中文](../zh-CN/claude-code-pro.md)
4
4
 
5
5
  Select `harness: "claude-code-pro"` to call the public machine API of
6
6
  [`dsh-subagent-claude-code-pro`](https://github.com/ckanner/dsh-subagent-claude-code-pro).
@@ -8,13 +8,13 @@ The plugin runs the user's installed Claude Code CLI, with its native tool loop
8
8
  and login environment. Go retains scheduling, role sessions, verification,
9
9
  budgets, and delivery.
10
10
 
11
- **Source and release boundary:** the integration requires plugin **0.4.0,
12
- machine protocol 1**. Version 0.3.1 only exposes the DSH tool interface and lacks
13
- the required machine receipt. The companion source version does not establish
14
- an npm publication. Flywheel 0.30.0 is released; prepare Claude 0.4.0 through
15
- the optional-dependency procedure below. No default stage or route selects Claude.
11
+ The adapter requires **`dsh-subagent-claude-code-pro@0.4.0`**, machine protocol
12
+ 1 and the public lifecycle/recovery interfaces. The older desktop-tool interface
13
+ and older machine contracts are not substitutes. No default stage or route
14
+ selects Claude. Package availability must be checked separately from source
15
+ compatibility; see the [release guide](releasing.md).
16
16
 
17
- ## 1. Prepare the optional dependency
17
+ ## Prepare the optional dependency
18
18
 
19
19
  Use Node.js 22.18.0 or later on macOS or Linux, with the user's installed and
20
20
  authenticated `claude` CLI accessible to the process starting the engine.
@@ -26,7 +26,8 @@ an **optional peer**. Other backends work without it. To select Claude, install
26
26
  prefix as Flywheel. Installing it only in a DSH desktop profile does not establish
27
27
  that the independent worker can resolve it.
28
28
 
29
- After publication, install that exact release. Before publication, run
29
+ When that exact version is available in the registry, install it. For an
30
+ explicitly reviewed source candidate, run
30
31
  `npm pack --ignore-scripts` in the reviewed plugin checkout and install the actual
31
32
  resulting `.tgz` into the same prefix, alongside a newly built Flywheel candidate.
32
33
  Do not relabel 0.3.1 or substitute it for the missing machine interface. This
@@ -44,9 +45,9 @@ an ambient Anthropic API key. Supported explicit credentials are passed through
44
45
  the machine runtime. The bridge does not serialize environment credential values
45
46
  into requests or diagnostics; text returned by the CLI is preserved as received.
46
47
 
47
- ## 2. Define a profile, then choose its stages
48
+ ## Define a profile, then choose its stages
48
49
 
49
- The complete [profile template](../../templates/flywheel.profiles.example.json)
50
+ The complete [profile template](https://github.com/ckanner/flywheel/blob/main/templates/flywheel.profiles.example.json)
50
51
  includes an unreferenced `claude-sonnet` profile. This fragment belongs in your
51
52
  existing complete configuration; it is not a replacement file:
52
53
 
@@ -76,7 +77,7 @@ and max, with high as the default. A particular CLI or model can still reject a
76
77
  choice; Flywheel never silently substitutes another model or effort. Where the
77
78
  CLI cannot attest effective reasoning effort, only the requested value is recorded.
78
79
 
79
- When you decide the use case, reference the profile from the selected
80
+ Reference the profile from the selected
80
81
  `loops.plan/review/judge/intake/garden` or Execute `routes.*` binding, for example
81
82
  `{"profile":"claude-sonnet"}`. This is a configuration capability, not a new default
82
83
  allocation. Clear any explicit inherited `provider`: that field identifies a DSH
@@ -100,10 +101,12 @@ An unused profile does not require the optional adapter. A selected binding make
100
101
  doctor check the worker, exact public API, and local CLI. These commands do not
101
102
  make model requests or prove account availability, quota, or live inference.
102
103
 
103
- ## 3. Permissions and role history
104
+ ## Permissions and role history
104
105
 
105
- The initial adapter requires explicit `permissions.mode:full-access`, mapped to
106
- native `bypassPermissions` and noninteractive invocation. Native plan/acceptEdits
106
+ The adapter requires explicit full access for its selected binding, mapped to
107
+ native `bypassPermissions` and noninteractive invocation. Configure it globally
108
+ with `permissions.mode:"full-access"` or use a supported binding override; see
109
+ [Configuration](configuration.md). Native plan/acceptEdits
107
110
  approval policies are not OS read-only/workspace-write sandboxes; role-based
108
111
  requests therefore fail before dispatch. Reviewer and planner responsibilities,
109
112
  contract boundaries, and before/after candidate guards remain enforced by Go.
@@ -124,11 +127,17 @@ machine invocation are not-dispatched with known zero consumption, so fixing the
124
127
  environment can permit a later attempt. After invocation, a missing trustworthy
125
128
  outcome must stop replay even if cleanup is confirmed.
126
129
 
130
+ For project membership, execution-directory selection, and worktrees, see
131
+ [Workflow](workflow.md). These locations remain part of the recorded invocation
132
+ identity; changing them does not authorize replay of an unresolved call.
133
+
134
+ ### Durable recovery
135
+
127
136
  Before dispatching Claude, an independent supervisor owns a durable journal and native guardian. Go persists and acknowledges intent/possible checkpoints before prompt submission. Worker loss cancels unacknowledged steps and initiates native cleanup; complete terminal receipts are durable before notification. Public `recoverMachine` reads only that invocation and never starts the CLI or resubmits a prompt.
128
137
 
129
- Claude init arrives after the prompt. There is no fabricated pre-dispatch thread-ready or native turn-accepted event; actual model, cwd, and permission checks still apply at terminal admission. Supervisor loss, corruption, or missing original candidate proof can leave execution blocked. See [recovery and context quality](session-recovery.md). Real-account quality, cache, and performance require separate paired evidence.
138
+ Claude init arrives after the prompt. There is no fabricated pre-dispatch thread-ready or native turn-accepted event; actual model, cwd, and permission checks still apply at terminal admission. Supervisor loss, corruption, or missing original candidate proof can leave execution blocked. See [recovery and context quality](session-recovery.md). Real-account quality, cache, and performance require separate [paired evidence](session-evaluation.md).
130
139
 
131
- ## 4. Usage and subscription cost
140
+ ## Usage and subscription cost
132
141
 
133
142
  CLI input_tokens excludes cache. For complete reports, Flywheel adds cache read
134
143
  and cache creation to input, then adds output to calculate total tokens. Missing