opencode-plugin-flow 6.3.1 → 6.5.0

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/CHANGELOG.md CHANGED
@@ -6,6 +6,74 @@ One short entry per release, written for users deciding whether to upgrade.
6
6
 
7
7
  No changes yet.
8
8
 
9
+ ## [6.5.0] - 2026-07-22
10
+
11
+ Convergence-safe recovery lore makes long Flow sessions easier to trust
12
+ without adding another state model:
13
+
14
+ - Before every manager-owned mutation, Flow aligns the request with the active
15
+ goal. Same-goal approved plan-only requests report immutable plan progress and
16
+ stop; materially new or expanded work waits for explicit closure. Exact
17
+ cleanup of an already-accepted close runs before alignment and grants no new
18
+ work authority.
19
+ - Prospectively, a known failed exact plan-listed command needs a byte-identical
20
+ current-source pass at new review admission. Accepted Session v5 pending and
21
+ completed reviews remain grandfathered; close adds no retroactive veto.
22
+ - A run can retain the maximum 64 exact planned gates plus separate broad
23
+ evidence. This widens a Session v5 writer bound, so active rollback to an
24
+ older Flow build is intentionally unsupported rather than hidden behind a
25
+ migration or capability layer.
26
+ - Only the first in-scope failed review receives one automatic fresh full retry.
27
+ A `[scope-blocker]` is the sole special finding marker and checkpoints
28
+ immediately, while a second failure projects `await-user-direction` before
29
+ another user-authorized attempt.
30
+ - Every durably accepted close returns the same concise delivery summary on
31
+ success, archive recovery, or replay. Delivery is derived rather than
32
+ persisted, reporting each feature's attempt count, latest outcome, terminal
33
+ findings, and explicitly Flow-reported artifact paths rather than an exact Git
34
+ delta.
35
+ - Exact close replay confirms the existing active document and filesystem
36
+ durability boundary without rewriting Session v5. Archive recovery re-syncs
37
+ publication and cleanup even when a previous attempt already removed active
38
+ state; closed status re-derives a conflicting archive so automatic retry stays
39
+ stopped for manual inspection after interruption.
40
+
41
+ Install or update:
42
+
43
+ ```bash
44
+ opencode plugin opencode-plugin-flow@6.5.0 --global --force
45
+ ```
46
+
47
+ ## [6.4.0] - 2026-07-21
48
+
49
+ Continuous-flow lore keeps an authorized goal inside Flow while preserving the
50
+ small, single-run architecture:
51
+
52
+ - `/flow-auto` is the normal end-to-end driver. An active session remains
53
+ authoritative until explicit completed, deferred, or abandoned closure, and
54
+ existing implementation authority carries across plan approval, feature
55
+ outcomes, qualifying worker waves, and in-scope failed-review repair.
56
+ - Direct `/flow-run` remains a one-feature advanced or recovery control. Work
57
+ stays inside the active feature, serial execution remains the default, and
58
+ bounded parallel waves still add no scheduler, durable wave state, telemetry,
59
+ or concurrent active features.
60
+ - Reviewers now receive every applicable passing validation while final review
61
+ still requires a broad gate. Reviewer guidance explicitly permits
62
+ workspace-local non-shell inspection, removing an ambiguity that could block
63
+ valid reviews.
64
+ - Deterministic coverage now exercises concurrent completion replay,
65
+ configuration collisions and warnings, the documented 1-through-1000 review
66
+ step range, temporary-workspace cleanup, and release-version derivation.
67
+ - Real-provider evidence completed an overlapping two-worker wave, a serial
68
+ integration feature, failed-review reset and repair, and ten ordinary
69
+ `/flow-auto` sessions through explicit closure.
70
+
71
+ Install or update:
72
+
73
+ ```bash
74
+ opencode plugin opencode-plugin-flow@6.4.0 --global --force
75
+ ```
76
+
9
77
  ## [6.3.1] - 2026-07-21
10
78
 
11
79
  Read-only retry lore closes the recovery and documentation gaps in 6.3.0:
package/README.md CHANGED
@@ -11,28 +11,39 @@ Flow keeps one durable active feature run at a time. When implementation divides
11
11
  cleanly, the manager may ask a small host-native worker cohort to contribute in
12
12
  parallel before it validates and reviews the combined result.
13
13
 
14
+ Once a Flow session starts, it remains the workflow for that goal until Flow
15
+ records completed, deferred, or abandoned closure. It never silently falls back
16
+ to ordinary non-Flow coding, and it does not fold a materially different request
17
+ into the active goal.
18
+
14
19
  ## Install
15
20
 
16
21
  Install the exact npm release through OpenCode:
17
22
 
18
23
  ```bash
19
- opencode plugin opencode-plugin-flow@6.3.1 --global --force
24
+ opencode plugin opencode-plugin-flow@6.5.0 --global --force
20
25
  ```
21
26
 
22
27
  Omit `--global` for project scope. Exact version pins do not update
23
- automatically. To update, replace `6.3.1` with the new release and rerun the
28
+ automatically. To update, replace `6.5.0` with the new release and rerun the
24
29
  command.
25
30
 
26
31
  Before upgrading from Flow v5 or earlier, finish or explicitly close any active
27
32
  session with its original Flow version. Flow v6 opens only Session v5 active
28
33
  state; older archives remain inert history.
29
34
 
35
+ Do not roll an active session back to an older Flow build after a newer build
36
+ has written it. Newer v6 builds read earlier Session v5 state, but Session v5 is
37
+ not a promise that older readers understand later widened safety bounds. Finish
38
+ or close the active session before downgrading; Flow adds no capability or
39
+ migration layer for rollback.
40
+
30
41
  The equivalent manual project configuration is:
31
42
 
32
43
  ```json
33
44
  {
34
45
  "$schema": "https://opencode.ai/config.json",
35
- "plugin": ["opencode-plugin-flow@6.3.1"]
46
+ "plugin": ["opencode-plugin-flow@6.5.0"]
36
47
  }
37
48
  ```
38
49
 
@@ -55,7 +66,25 @@ unless your request already authorized implementation. It then runs one
55
66
  runnable feature at a time, validates the actual workspace, obtains an
56
67
  independent review, and repeats until it can close the session.
57
68
 
58
- For more control, plan first:
69
+ Before every manager-owned Flow mutation, including direct `/flow-plan` and
70
+ `/flow-run` use, the manager compares the current request with the active goal.
71
+ A projected `archiveRetry` is the one exception: it finishes an already-accepted
72
+ close before that comparison and grants no authority for new work.
73
+ A continuation or compatible narrowing may proceed. A materially new or
74
+ expanded request does not start or mutate the active session; Flow offers to
75
+ continue, defer, or abandon the active work. If that work is completed but not
76
+ closed, Flow closes it as completed before starting the new request.
77
+
78
+ Existing implementation authority carries across approval and feature outcomes.
79
+ Only the first in-scope failed review automatically resets for one fresh full
80
+ retry; a `[scope-blocker]` checkpoints immediately. A second failed review
81
+ projects `await-user-direction`, so Flow reports the blocker and waits for
82
+ explicit direction before one additional attempt. The active session remains
83
+ authoritative while it waits. Ordinary blocking findings are in-scope by
84
+ default; a reviewer uses `[scope-blocker]` only when the required repair would
85
+ materially exceed the approved plan.
86
+
87
+ For plan-only or advanced use, plan first:
59
88
 
60
89
  ```text
61
90
  /flow-plan add rate limiting to the public API
@@ -63,9 +92,12 @@ For more control, plan first:
63
92
 
64
93
  Review the proposed plan and approve it conversationally. `/flow-plan` does not
65
94
  silently grant permission to implement, commit, push, or publish. After
66
- approval, use `/flow-run` to run or resume one feature.
95
+ approval of a plan-only request, `/flow-run` can run or recover one feature.
96
+ Repeating a same-goal plan-only request after approval reports the immutable plan
97
+ and current progress, then stops without rewriting the plan or starting work.
67
98
 
68
- At any point, `/flow-status` reports the durable state and next action.
99
+ `/flow-run` and `/flow-status` are advanced/recovery controls. At any point,
100
+ `/flow-status` reports the durable state and next action.
69
101
 
70
102
  ## How Flow works
71
103
 
@@ -74,9 +106,15 @@ At any point, `/flow-status` reports the durable state and next action.
74
106
  3. The manager implements it serially or integrates an optional bounded worker
75
107
  wave.
76
108
  4. Flow observes the exact armed validation command against the current
77
- workspace, then creates one independent review assignment.
109
+ workspace, then creates one independent review assignment. At new review
110
+ admission, a known-failed exact planned gate needs a current-source pass;
111
+ already accepted Session v5 pending or completed reviews are not reopened or
112
+ vetoed later at close.
78
113
  5. A passing feature advances the plan. A blocked feature is reset as a fresh
79
- full attempt. The final passing feature allows explicit closure.
114
+ full attempt within the retry boundary above. The final passing feature
115
+ allows explicit closure. Every accepted close returns a concise delivery
116
+ summary with each feature's attempt count, latest outcome, and terminal
117
+ findings, derived from Flow's recorded state.
80
118
 
81
119
  State lives in `.flow/session.json`, so `/flow-status` can recover the next
82
120
  action after a restart or context change.
@@ -86,7 +124,8 @@ action after a restart or context change.
86
124
  Parallel contribution is optional and local to one active feature. The manager
87
125
  may launch two or three `flow-worker` instances only for exact,
88
126
  non-overlapping slices, then inspect and integrate their work. At most one
89
- targeted follow-up wave may address a concrete gap.
127
+ targeted follow-up wave may address a concrete gap. Once implementation is
128
+ authorized, a qualifying wave needs no separate approval.
90
129
 
91
130
  Workers cannot delegate, call Flow lifecycle tools, or approve their own work.
92
131
  Flow persists no wave state: the manager remains responsible for the combined
@@ -97,23 +136,32 @@ integration-heavy tasks stay serial.
97
136
 
98
137
  | Command | Purpose |
99
138
  | --- | --- |
100
- | `/flow-auto <goal>` | Drive the authorized lifecycle; stop after planning if implementation was not authorized. |
101
- | `/flow-plan <goal>` | Create, revise, or approve a plan through conversation. |
102
- | `/flow-run` | Run or resume one approved feature. |
139
+ | `/flow-auto <goal>` | Normal end-to-end driver for the authorized lifecycle; stop after planning if implementation was not authorized. |
140
+ | `/flow-plan <goal>` | Plan-only/advanced creation, revision, and approval. |
141
+ | `/flow-run` | Advanced/recovery execution of one approved feature. |
103
142
  | `/flow-review` | Internal/recovery dispatch for a runtime-created reviewer assignment. |
104
- | `/flow-status` | Inspect the active session and next action. |
143
+ | `/flow-status` | Advanced/recovery inspection of the active session and next action. |
105
144
 
106
- Ordinary workflows start with `/flow-auto`, `/flow-plan`, `/flow-run`, or
107
- `/flow-status`. `/flow-review` remains public for runtime dispatch and recovery,
108
- but it is not an ordinary starting point.
145
+ Use `/flow-auto` for the ordinary end-to-end workflow. The other commands expose
146
+ plan-only, advanced, internal, or recovery controls.
109
147
 
110
148
  ## Recovery
111
149
 
112
- Start with `/flow-status`; its next action is authoritative. Do not hand-edit
150
+ Start with `/flow-status`; its next action is durable default workflow
151
+ direction, not permission to exceed the user's authority. For a first failed
152
+ review, read detail once before reset because scope-blocker findings refine the
153
+ compact default. Environment-sensitive transition guards remain authoritative
154
+ when a mutation is attempted. Do not hand-edit
113
155
  `.flow/session.json` to bypass a gate. If validation, review, locking,
114
156
  fingerprinting, or archive publication fails, follow the focused steps in
115
157
  [troubleshooting](docs/troubleshooting.md).
116
158
 
159
+ For an interrupted accepted close, replay the projected `archiveRetry.request`
160
+ exactly once. Flow confirms the existing bytes without rewriting Session v5 and
161
+ re-confirms archive cleanup. A real archive collision removes the automatic
162
+ retry instruction and requires manual inspection; preserve both documents and
163
+ do not overwrite, delete, or loop the request.
164
+
117
165
  ## Development
118
166
 
119
167
  Requirements: Git, Node.js 24 or newer, Bun 1.3.14, and the versions pinned in