opencode-plugin-flow 6.4.0 → 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,44 @@ 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
+
9
47
  ## [6.4.0] - 2026-07-21
10
48
 
11
49
  Continuous-flow lore keeps an authorized goal inside Flow while preserving the
package/README.md CHANGED
@@ -13,30 +13,37 @@ parallel before it validates and reviews the combined result.
13
13
 
14
14
  Once a Flow session starts, it remains the workflow for that goal until Flow
15
15
  records completed, deferred, or abandoned closure. It never silently falls back
16
- to ordinary non-Flow coding.
16
+ to ordinary non-Flow coding, and it does not fold a materially different request
17
+ into the active goal.
17
18
 
18
19
  ## Install
19
20
 
20
21
  Install the exact npm release through OpenCode:
21
22
 
22
23
  ```bash
23
- opencode plugin opencode-plugin-flow@6.4.0 --global --force
24
+ opencode plugin opencode-plugin-flow@6.5.0 --global --force
24
25
  ```
25
26
 
26
27
  Omit `--global` for project scope. Exact version pins do not update
27
- automatically. To update, replace `6.4.0` with the new release and rerun the
28
+ automatically. To update, replace `6.5.0` with the new release and rerun the
28
29
  command.
29
30
 
30
31
  Before upgrading from Flow v5 or earlier, finish or explicitly close any active
31
32
  session with its original Flow version. Flow v6 opens only Session v5 active
32
33
  state; older archives remain inert history.
33
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
+
34
41
  The equivalent manual project configuration is:
35
42
 
36
43
  ```json
37
44
  {
38
45
  "$schema": "https://opencode.ai/config.json",
39
- "plugin": ["opencode-plugin-flow@6.4.0"]
46
+ "plugin": ["opencode-plugin-flow@6.5.0"]
40
47
  }
41
48
  ```
42
49
 
@@ -57,9 +64,25 @@ Start a complete workflow:
57
64
  Flow inspects the worktree, proposes a feature plan, and asks for approval
58
65
  unless your request already authorized implementation. It then runs one
59
66
  runnable feature at a time, validates the actual workspace, obtains an
60
- independent review, and repeats until it can close the session. Existing
61
- implementation authority carries across approval, feature outcomes, and
62
- in-scope failed-review repairs; Flow does not ask for the same permission again.
67
+ independent review, and repeats until it can close the session.
68
+
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.
63
86
 
64
87
  For plan-only or advanced use, plan first:
65
88
 
@@ -70,6 +93,8 @@ For plan-only or advanced use, plan first:
70
93
  Review the proposed plan and approve it conversationally. `/flow-plan` does not
71
94
  silently grant permission to implement, commit, push, or publish. After
72
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.
73
98
 
74
99
  `/flow-run` and `/flow-status` are advanced/recovery controls. At any point,
75
100
  `/flow-status` reports the durable state and next action.
@@ -81,9 +106,15 @@ approval of a plan-only request, `/flow-run` can run or recover one feature.
81
106
  3. The manager implements it serially or integrates an optional bounded worker
82
107
  wave.
83
108
  4. Flow observes the exact armed validation command against the current
84
- 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.
85
113
  5. A passing feature advances the plan. A blocked feature is reset as a fresh
86
- 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.
87
118
 
88
119
  State lives in `.flow/session.json`, so `/flow-status` can recover the next
89
120
  action after a restart or context change.
@@ -116,12 +147,21 @@ plan-only, advanced, internal, or recovery controls.
116
147
 
117
148
  ## Recovery
118
149
 
119
- Start with `/flow-status`; its next action is authoritative workflow state, not
120
- permission to exceed the user's authority. Do not hand-edit `.flow/session.json`
121
- to bypass a gate. If validation, review, locking,
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
155
+ `.flow/session.json` to bypass a gate. If validation, review, locking,
122
156
  fingerprinting, or archive publication fails, follow the focused steps in
123
157
  [troubleshooting](docs/troubleshooting.md).
124
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
+
125
165
  ## Development
126
166
 
127
167
  Requirements: Git, Node.js 24 or newer, Bun 1.3.14, and the versions pinned in