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 +68 -0
- package/README.md +65 -17
- package/dist/index.js +723 -259
- package/dist/index.js.map +18 -13
- package/package.json +1 -1
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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>` |
|
|
101
|
-
| `/flow-plan <goal>` |
|
|
102
|
-
| `/flow-run` |
|
|
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` |
|
|
143
|
+
| `/flow-status` | Advanced/recovery inspection of the active session and next action. |
|
|
105
144
|
|
|
106
|
-
|
|
107
|
-
|
|
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
|
|
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
|