Skip to content

v3.27.0

Choose a tag to compare

@systematic-release systematic-release released this 28 Oct 19:35
· 15 commits to main since this release
0d6302f

What's new

Features

Systematic now supports OpenCode v2 (2.2.0+) alongside OpenCode v1 (1.18.29+) from the same npm package. A new v2 adapter brings agents, skills, commands, and the session bootstrap to the new host, while golden tests preserve the existing v1 output. On v2, full skill text is restored into later requests after tool-output truncation, keeping long workflows such as ce:review intact. (#1239)

On OpenCode v2, configuration is read once when the plugin loads. Plugin commands that declare agent, model, or subtask are refused with guidance to use OpenCode's own Markdown or JSON commands, which support that routing. systematic setup and OCX installs still write v1 configuration. The git-commit skills also now run their fallback command when pre-filled context is empty, on every host.

Using it on OpenCode v2

  • Install: OpenCode v2 reads the plugins key, not plugin. Add { "plugins": ["@fro.bot/systematic@latest"] } to your OpenCode v2 config. systematic setup and OCX installs still write the v1 plugin key.
  • Update required: earlier Systematic releases do not load on OpenCode v2. 2.1.x ignores them without a message, and 2.2.0 and later log a warning.
  • Config changes need a restart: on v2, systematic.json is read once when the plugin loads. An invalid systematic.json stops the plugin from loading on both hosts.
  • Bootstrap persists: on v2 the bootstrap is stored with each session as an instruction entry, and it stays there after you remove the plugin. Keep sensitive text out of a custom bootstrap.file.
  • No shell snippets: !`…` blocks in command templates never run on v2; the text reaches the model as written. git-commit and git-commit-push-pr were reworded so they don't depend on them, and that wording also reaches Pi and Claude Code users.
  • Task tracking: OpenCode 2.2.0 offers todowrite only when its experimental todo option is on. Without it, the assistant keeps the task list in its replies.

Tests

Five unit-test files now clean up the temporary directories they create, including when assertions fail before local cleanup. This prevents repeated test runs from accumulating leftover directories; verification found no new directories from the affected tests after a full unit-suite run. (#1236)

Continuous Integration

All seven committed generated surfaces now share one registry and one drift check. bun run surfaces:drift checks every surface and reports how to regenerate failures; surfaces:regen rebuilds them in dependency order, and surfaces:affected --run regenerates and checks only those touched by current changes and their downstream dependencies. CI now checks the previously omitted Pi persona fixtures and configuration field reference, while regeneration avoids timestamp-only changes and removes stale persona fixtures. (#1233)

Also in this release

  • Removed omo-providers from the Fro Bot workflow. (#1238)
  • Updated Biome to 2.6.3 and Fro Bot Agent through 0.126.0 to 0.127.0. (#1235, #1234, #1237)
  • Release bookkeeping: chore(release): v3.27.0 (0d6302f).

Compare

v3.26.4...v3.27.0