Changelog¶
All notable changes to this package are documented here. Versions follow Semantic Versioning.
0.3.0¶
- Ship the approval rules inside the package as
src/resources/permissions.json, withsrc/resources/permissions-guide.mdas the review reference. The rules that keep push, hard reset, clean, and rebase behind an explicit answer can be read before the plugin changes a session. opencode-rig initmerges those rules into the configuration file you already keep:~/.config/opencode/opencode.jsonc, or an existingopencode.jsonbeside it, or — with--project— theopencode.jsoncoropencode.jsonin the current directory. Your own rules, comments, and ordering survive the merge, and a rule of yours in thegit rebasefamily is left to govern that whole family. Routine sessions stop re-asking without losing your configuration.opencode-rig print-configprints the same rules for a configuration you would rather edit by hand, andopencode-rig checkreports whether the rules are present without failing on the report.- Every role agent carries the shipped ruleset after its own
shell: *catch-all, so inspection commands such asgit status,grep, andcatstop asking inside a role agent. A command the list does not name still asks. - The read-only list no longer allows
rg, whose--preoption runs an arbitrary program, or adatewith arguments, whose GNU-soption sets the system clock. A command that accepts--outputnow asks instead of writing a file silently. - The guide states the two channels the allowlist does not close, so the widened surface stays reviewable: a redirection attached to an allowed command still matches, which gives the six read-only role agents a write path their own
edit: denydoes not cover, and an agent rule is appended after the global ones, so an agent allow outranks a global deny for the same command. - The permission hook now classifies the v2
executeaction as well asshell, so a destructive command that arrives through Code Mode is no longer skipped. A destructive or history-rewriting command that would discard working-tree changes now names the paths that belong to someone else's work, so a shared checkout cannot lose them silently. rig-plannow requires a scope verdict table (every surfacein-scope,deferredwith an unblock condition, orout-of-scopewith a reason), a revision counter, and a verdict-changes section; owned paths must reconcile with the table both ways and the delegation brief is derived from it. A surface silently moving out of scope was the defect this prevents.rig-implementrefuses to start without a frozen plan, reports one plan row per changed path, refuses to revert a path that is not in scope, requires explicit user approval recorded throughrig_git_grantbefore a commit, and states split-and-conquer delegation plus RTK guidance for read-heavy commands.opencode-rig setup(withinitas its alias) now also writes the shipped delivery principles into~/.config/opencode/AGENTS.mdas a digest-stamped managed block. Setup refuses to shadow an existing~/.claude/CLAUDE.md;--adopt-claude-instructionscopies it into the block, the file is created owner-only, symlinked targets and parent directories are never written through, andremovestrips the block while restoring the user's bytes.--agents-onlyinstalls only the role agents so the Makefile sync stages keep their own refusals.- The guardrail working-tree lookup no longer executes repository-configured Git config such as
core.fsmonitor, treats filenames as untrusted text in the approval prompt, and is bounded to one second so it cannot stall the permission hook.
0.2.0¶
- Enforce
correctnessas a mandatory review axis forrig-reviewruns;rig_findingsnow normalizesaxes/aspects(case/duplicates), validates allowed dimensions, and requires coverage when correctness is included. Updaterig-review,rig-reviewer, andrig-remediate/rig-challengeguidance accordingly. - Add
rig-researchwithdocs,sota,paper, andcode-fidelitymodes. Every claim is recorded assourced,inferred, orunknown, contradictions are reported rather than averaged, and a research run requires arig-scientistreview before completion. - Add
rig-distill, which mines this project's recorded runs or a supplied external inventory for recurring signatures, applies an explicit evidence threshold, rejects proposals that duplicate an existing asset, and proposes without installing or pruning anything. - Add
rig-optimize, a guarded benchmark campaign. The benchmark must already be a configured gate, a win must clear the recorded noise band and the declared minimum improvement, every correctness gate still has to pass, and a kept round must be independently recomputed byrig-optimizer. - Extend
rig-releasewith read-only release-note, migration-note, and contributor-reply drafts. Every draft line traces to a commit, finding, or changelog entry; nothing is posted. - Add
rig-scientistandrig-optimizerrole cards. Both are read-only, andrig-scientistis the only role withwebfetchallowed. - Add
rig_doctoractionassetsandopencode-rig doctor --assets: roster drift and dead relative links fail; duplicated prose and oversized cards warn. pack_checknow derives the required skill and role files fromrig.jsoninstead of a hard-coded list, so the tarball contract follows the roster.- Refuse to finalize new skill runs without their evidence: research and optimize require review, optimize additionally requires gates, and distill stays advisory.
0.1.1¶
- A first
initnow exits successfully after installing the five role agents. It previously counted every freshly written file as a problem, so a scripted install such asmake sync-opencodestopped on a clean machine. init --checkstill reports missing agents as problems, and repeatinginitremains a no-op.
0.1.0¶
- Initial release of the OpenCode evidence-first workflow plugin: eight skills (
rig-plan,rig-investigate,rig-implement,rig-review,rig-remediate,rig-challenge,rig-release,rig-doctor) with matching slash commands. - Seven tools (
rig_evidence,rig_gate,rig_findings,rig_loop,rig_git_grant,rig_dispatch,rig_doctor) record scope digests, gate receipts, validated findings, convergence rounds, and install health in a project artifact directory. - Runs cannot complete without their workflow evidence: source drift marks them
stale, failed gates block implementation and release, review requires a named independent reviewer, remediation requires every finding closed, and challenge requires convergence with no security or critical residue. - A permission hook escalates remote mutations, destructive operations, history rewrites, and unreviewed local commits to
askwithout ever downgrading a configured answer; an explicit local grant covers plain commits only. opencode-rig initinstalls or upgrades five read-onlyrig-*role agents with hash stamps, refuses to overwrite edited or unstamped files, andremovedeletes only stamped files.- Doctor reports plugin load, version agreement, agent installation, Git grant state, artifact ignore status, detected gates, and stale runs, with an explicit opt-in cleanup for stale runs.