opencode-plugin-flow 4.3.3 → 4.3.5

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
@@ -2,6 +2,43 @@
2
2
 
3
3
  One short entry per release, written for users deciding whether to upgrade.
4
4
 
5
+ ## [4.3.5] - 2026-07-08
6
+
7
+ Flow now stops long autonomous loops more deliberately without making reviews
8
+ shallower:
9
+
10
+ - Runtime budget telemetry records completed features since the last phase
11
+ boundary, feature/final review counts, failed review counts, per-feature
12
+ retry attempts, and host token telemetry availability.
13
+ - Failed feature and final reviews now pause by default, allow only one
14
+ autonomous repair plus one retry, then block the feature with a compact
15
+ resume packet instead of continuing to edit in the same root session.
16
+ - Feature completion now records `featureReviewDepth` and rejects evidence that
17
+ is shallower than the approved feature requires.
18
+ - Large sessions now checkpoint after three completed features and require an
19
+ explicit `phaseBoundaryAck` in a fresh phase before the next feature starts.
20
+ - Flow planning, running, review, README, maintainer docs, and wiki pages now
21
+ describe scoped review packets, risk-based review depth, retry limits, and
22
+ phase-boundary handoffs.
23
+
24
+ ## [4.3.4] - 2026-07-07
25
+
26
+ Planning and final-review lore sharpened without changing the runtime surface:
27
+
28
+ - `flow-plan` now has a pre-approval quality gate that checks outcome,
29
+ requirements, decisions, uncertainty, feature shape, bounded targets,
30
+ validation levels, dependencies, and review policy before a plan is saved or
31
+ approved.
32
+ - Planning examples now cover bugfix, UI/frontend, runtime/schema, docs-only,
33
+ audit-first, and stronger validation patterns, giving agents better few-shot
34
+ guidance for common Flow sessions.
35
+ - Final review now includes a convergence scan that traces the original goal,
36
+ approved requirements, every planned feature, changed artifacts, and
37
+ validation evidence before returning a passing `finalReview`.
38
+ - The new planning checklist is shipped through synced skills and bundled
39
+ `/flow-plan` and `/flow-auto` command instructions, so fresh and stale skill
40
+ discovery paths get the same guidance.
41
+
5
42
  ## [4.3.3] - 2026-07-07
6
43
 
7
44
  Verification only — no behavior change:
package/README.md CHANGED
@@ -17,8 +17,8 @@ Full project documentation is available in the
17
17
  ## Quick start
18
18
 
19
19
  ```bash
20
- opencode plugin opencode-plugin-flow@4.3.3 --global --force
21
- npx -y opencode-plugin-flow@4.3.3 sync
20
+ opencode plugin opencode-plugin-flow@4.3.5 --global --force
21
+ npx -y opencode-plugin-flow@4.3.5 sync
22
22
  ```
23
23
 
24
24
  Restart OpenCode, then give Flow a goal:
@@ -46,6 +46,7 @@ restart.
46
46
  ... implementation, tests ...
47
47
  flow_feature_complete
48
48
  validationRun: "bun test tests/middleware.test.ts" passed
49
+ featureReviewDepth: standard
49
50
  featureReview: passed
50
51
  flow_run_start feature: per-route-config
51
52
  ...
@@ -93,8 +94,8 @@ The runtime exposes seven tools:
93
94
  | `flow_session_close` | Archive the active session as completed, deferred, or abandoned. |
94
95
 
95
96
  Review evidence is part of `flow_feature_complete`: every completed feature
96
- needs a passing `featureReview`, and the final feature also needs a passing
97
- `finalReview`.
97
+ needs a passing `featureReview` at the feature's planned `reviewDepth`, and the
98
+ final feature also needs a passing `finalReview`.
98
99
 
99
100
  ## What the runtime enforces
100
101
 
@@ -107,6 +108,13 @@ The runtime owns only safety; judgment lives in the skills:
107
108
  - Completion requires passing validation evidence: `targeted` scope for
108
109
  ordinary features, `broad` scope plus a passing final review for the last
109
110
  one.
111
+ - Completion records `featureReviewDepth`; the runtime rejects review evidence
112
+ that is shallower than the approved feature requires.
113
+ - Failed reviews are bounded: a failed review pauses by default, and autonomous
114
+ repair is limited to one repair plus one retry before the feature blocks.
115
+ - Long sessions hit phase boundaries after a small number of completed
116
+ features. Flow returns a compact resume packet and requires explicit
117
+ `phaseBoundaryAck` before starting the next feature.
110
118
  - A session can close as `completed` only after final completion has passed.
111
119
  - Crash recovery is built in: stale session locks expire automatically and
112
120
  unreadable session files are quarantined with recovery guidance, never
@@ -135,7 +143,7 @@ To update a pinned Flow version, rerun the install command with the new
135
143
  version. To inspect skill health:
136
144
 
137
145
  ```bash
138
- npx -y opencode-plugin-flow@4.3.3 doctor
146
+ npx -y opencode-plugin-flow@4.3.5 doctor
139
147
  ```
140
148
 
141
149
  ## Experimental: compaction context
@@ -28,6 +28,11 @@ export declare function createTools(ctx: unknown): {
28
28
  completed: "completed";
29
29
  blocked: "blocked";
30
30
  }>>;
31
+ reviewDepth: import("zod").ZodOptional<import("zod").ZodEnum<{
32
+ quick: "quick";
33
+ standard: "standard";
34
+ detailed: "detailed";
35
+ }>>;
31
36
  targets: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
32
37
  validation: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
33
38
  dependsOn: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
@@ -46,6 +51,7 @@ export declare function createTools(ctx: unknown): {
46
51
  id: string;
47
52
  title: string;
48
53
  status?: "pending" | "in_progress" | "completed" | "blocked" | undefined;
54
+ reviewDepth?: "quick" | "standard" | "detailed" | undefined;
49
55
  targets?: string[] | undefined;
50
56
  validation?: string[] | undefined;
51
57
  dependsOn?: string[] | undefined;
@@ -63,9 +69,11 @@ export declare function createTools(ctx: unknown): {
63
69
  description: string;
64
70
  args: {
65
71
  featureId: import("zod").ZodOptional<import("zod").ZodString>;
72
+ phaseBoundaryAck: import("zod").ZodOptional<import("zod").ZodBoolean>;
66
73
  };
67
74
  execute(args: {
68
75
  featureId?: string | undefined;
76
+ phaseBoundaryAck?: boolean | undefined;
69
77
  }, context: ToolContext): Promise<import("@opencode-ai/plugin").ToolResult>;
70
78
  };
71
79
  flow_feature_complete: {
@@ -92,6 +100,11 @@ export declare function createTools(ctx: unknown): {
92
100
  targeted: "targeted";
93
101
  broad: "broad";
94
102
  }>>;
103
+ featureReviewDepth: import("zod").ZodOptional<import("zod").ZodEnum<{
104
+ quick: "quick";
105
+ standard: "standard";
106
+ detailed: "detailed";
107
+ }>>;
95
108
  featureReview: import("zod").ZodOptional<import("zod").ZodObject<{
96
109
  status: import("zod").ZodEnum<{
97
110
  passed: "passed";
@@ -156,6 +169,7 @@ export declare function createTools(ctx: unknown): {
156
169
  summary: string;
157
170
  }[] | undefined;
158
171
  validationScope?: "targeted" | "broad" | undefined;
172
+ featureReviewDepth?: "quick" | "standard" | "detailed" | undefined;
159
173
  featureReview?: {
160
174
  status: "passed" | "failed";
161
175
  summary: string;