opencode-plugin-flow 5.3.1 → 5.3.2

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,26 @@
2
2
 
3
3
  One short entry per release, written for users deciding whether to upgrade.
4
4
 
5
+ ## [5.3.2] - 2026-07-20
6
+
7
+ Crash-safe single-version installation lore makes upgrading converge on the
8
+ invoked latest package without leaving an older active or staged copy behind:
9
+
10
+ - The new `install` command immediately writes its embedded exact package
11
+ version, refuses downgrades, removes recognized older Flow activation entries,
12
+ and permanently deletes only ownership-proven wrappers and manifest-proven
13
+ inactive cache artifacts after verification.
14
+ - Activation journal v2 records a durable deletion commit point. A later install
15
+ safely rolls back an interrupted pre-commit run or finishes verified deletion
16
+ after a committed interruption; read-only checks block on unresolved recovery
17
+ instead of reporting a false success.
18
+ - Inventory and CLI output now state the honest coverage boundary: global sources
19
+ plus the selected project. Projects with their own OpenCode configuration must
20
+ be converged separately rather than relying on an unsafe filesystem-wide scan.
21
+ - Public installation guidance resolves `@latest` once because `install` performs
22
+ its own exact-version post-apply check. Package smoke and real `SIGKILL` tests
23
+ cover installation, reversible staging, retry, and committed cleanup.
24
+
5
25
  ## [5.3.1] - 2026-07-20
6
26
 
7
27
  Windows validation lore keeps the single-version harness release portable:
package/README.md CHANGED
@@ -18,25 +18,26 @@ current product or contributor contract.
18
18
  ## Quick start
19
19
 
20
20
  ```bash
21
- npx -y opencode-plugin-flow@5.3.1 activation-apply \
21
+ npx -y opencode-plugin-flow@latest install \
22
22
  --project "$PWD" --scope global
23
- npx -y opencode-plugin-flow@5.3.1 activation-apply \
24
- --project "$PWD" --scope global --apply
25
- npx -y opencode-plugin-flow@5.3.1 activation-check --project "$PWD"
26
23
  ```
27
24
 
28
- The first command is a read-only plan. Review it before running the second;
29
- the final check must report exactly one active `opencode-plugin-flow@5.3.1`
30
- source and no proven inactive Flow cache artifacts. Use `--scope project` when
31
- the one canonical pin should live with the project instead of in global config.
32
- Flow refuses ambiguous local wrappers, cache entries, unsafe links, and config
33
- it cannot change conservatively rather than guessing which copy is authoritative.
34
-
35
- To select npm's current release instead of this release-pinned example, replace
36
- `@5.3.1` with `@latest` on the `npx` invocations; do not pass
37
- `--target latest`. The fetched CLI resolves its own embedded exact version and
38
- converges every mutable Flow activation to that one pin, so latest replaces an
39
- older active version rather than loading beside it.
25
+ `install` resolves npm's current release before it starts, writes that package's
26
+ embedded exact version as the sole Flow activation, and permanently removes
27
+ positively identified older Flow wrappers and OpenCode cache artifacts. It
28
+ refuses a downgrade when a newer installed version is detected. The final check
29
+ performed by that same fetched CLI must report exactly one active Flow source at
30
+ the installed exact version and no proven inactive Flow cache artifacts. Do not
31
+ resolve `@latest` a second time for post-install verification. Inventory covers
32
+ global sources plus the selected `--project`; it does not scan unrelated project
33
+ trees. Run the installer from each project that has its own OpenCode config. Use
34
+ `--scope project` when the canonical pin should live with that selected project
35
+ instead of global config.
36
+
37
+ For a read-only preview, run `activation-apply` without `--apply` using an exact
38
+ package version. Flow refuses ambiguous local wrappers, cache entries, unsafe
39
+ links, and config it cannot change conservatively rather than guessing which
40
+ copy is authoritative.
40
41
 
41
42
  Start or restart OpenCode, then give Flow a goal:
42
43
 
@@ -292,13 +293,18 @@ See [docs/troubleshooting.md](docs/troubleshooting.md) for updates,
292
293
  activation refusal and duplicate-runtime recovery, stuck session recovery, and
293
294
  removal of global Flow skill folders left by v4.
294
295
 
295
- To update, run the same `activation-apply` dry-run/apply/check sequence with the
296
- new exact package version. The activator inventories OpenCode's global, project,
297
- `.opencode`, custom, inline, and readable managed configuration; singular and
298
- plural plugin directories; and the Flow package cache. It preserves unrelated
299
- plugins, removes recognized Flow config entries outside the selected canonical
300
- scope, and moves only marker-proven wrappers and proven inactive cache artifacts
301
- to recovery locations. Applied changes receive backups and a recovery journal.
296
+ To update, run the same `@latest install` command. The installer inventories
297
+ OpenCode's global sources plus the selected project's project, `.opencode`,
298
+ custom, inline, and readable managed configuration; singular and plural plugin
299
+ directories; and the Flow package cache. Other project trees are deliberately
300
+ not discovered; run the command from each project with project-local OpenCode
301
+ configuration. It preserves unrelated plugins, removes recognized Flow config
302
+ entries outside the selected canonical scope, and permanently removes only
303
+ marker-proven wrappers, the exact known legacy wrapper format, and
304
+ manifest-proven inactive cache artifacts. Applied changes receive config
305
+ backups and a recovery journal. Obsolete artifacts are staged reversibly while
306
+ activation changes are verified, restored if activation fails, and deleted
307
+ before installation reports success.
302
308
  Sources that cannot be proved safe—including unknown wrappers, ambiguous cache
303
309
  artifacts, JSONC that would require a lossy rewrite, inline config, and
304
310
  administrator-managed config—produce manual remediation instead of mutation.
@@ -306,12 +312,14 @@ If an applied multi-source change fails, Flow attempts exact safe rollback and
306
312
  records either `rolled-back` or `rollback-failed` in the recovery journal;
307
313
  concurrent or unsafe state is preserved for manual recovery. Remote and
308
314
  managed-preference sources that cannot be decoded offline remain covered by
309
- fail-closed runtime leadership.
315
+ fail-closed runtime leadership. A later install reconciles interrupted v2
316
+ journals before planning: pre-commit work is rolled back, while committed
317
+ removal work finishes verified deletion.
310
318
 
311
319
  To preview recoverable migration of pristine v4 global skill folders:
312
320
 
313
321
  ```bash
314
- npx -y opencode-plugin-flow@5.3.1 legacy-cleanup --dry-run
322
+ npx -y opencode-plugin-flow@5.3.2 legacy-cleanup --dry-run
315
323
  ```
316
324
 
317
325
  ## Development