Releases: chriswritescode-dev/opencode-forge
Releases · chriswritescode-dev/opencode-forge
Release list
v0.7.9
What's changed
- feat: support per-entry variants in auditor fallback models
Auditor fallback models can now be specified as { model, variant } objects so each fallback carries its own reasoning/thinking variant; string entries still work and run with no variant (the primary auditorVariant is never inherited by fallbacks).
v0.7.8
Breaking changes
- The sandbox runtime now uses the
sbxCLI instead of Docker. Sandbox execution and the container template have migrated from Docker tosbx create/sbx exec. Custom mounts now require absolute host paths, and legacy Docker sandbox configuration emits warnings.
What's changed
v0.7.7
- feat: validate stored plan structure and gate autonomous launches on readiness (#80)
v0.7.6
- feat(dashboard): unify dashboard bind host/port config resolution (#78)
- chore: bump version to 0.7.6
v0.7.5
- feat(dashboard): add multi-level repo shell with searchable loop navigation (#75)
- chore: bump version to 0.7.5
v0.7.1
feat: allow plan-adjust to edit the section under audit in place
- Plan adjustments: new optional
currentSectionargument lets the auditor revise the section currently being audited in place, preserving its progress (status/attempts). The existingsectionsargument becomes optional; omit it to leave future sections unchanged. - Service validation: rejects calls with neither
sectionsnorcurrentSection, refuses to edit an already-completed section, and snapshots from the earliest changed index for accurate before/after amendment records. - Tool, prompt, and docs: updated plan-adjust tool description, section audit prompt, auditor-loop addendum, and docs (loop-system, modules, tools) to reflect the new in-place edit capability.
- Tests: covers validation errors, in-place editing preserving progress, omitting
sections, combined current+suffix replace, and empty-suffix removal.
chore: bump version to 0.7.1
v0.7.0
feat: add loop FSM transitions, plan amendments, and audit rewind (#72)
- Loop FSM transitions: state-machine transition definitions with persistence via new loop_transitions repository.
- Plan amendments: new plan_amendments repository tracks auditor edits to remaining plan sections; adds plan-adjust tool.
- Section plans repository: dedicated persistence for per-section plan state.
- Audit rewind: loop-final-audit rewind support for re-running audits.
- Loop runtime/service: integrated transition logging and state management across runtime, service, and hooks.
- Dashboard: new machine-graph component for loop state visualization, plus data/render updates.
- Migrations 141-143: extend loop phase-check, create loop_transitions and plan_amendments tables.
- Comprehensive tests: runtime transition logging, section advancement, transitions/amendments repos, execution restart, loop service, storage migrations.
fix: resolve execute goals from session context
v0.6.2
feat: add provider limit abort handling for loop runtime
- Provider limit detection: new module detects rate-limit and abort signals during prompt execution, enabling graceful loop termination.
- Abort signal propagation: integrated provider limit checks into the runtime prompt flow with watchdog monitoring.
- Fallback permission patching: subagent sessions in loop worktrees now receive the loop ruleset via a fallback path when session.created events are filtered by instance directory.
feat: add fallback loop permission patching for filtered session.created events
- Refactored single-event hook into LoopPermissionPatcher with ensurePatched fallback called from chat.message and tool.execute.before hooks.
v0.6.0
fix: harden remote loop launches against stale branches, clock skew, and silent errors
- Pinned-branch validation: a SHA-pinned launch now fails loudly when a same-named branch already exists at a different tip, instead of silently running old code.
- Clock-skew normalization:
configurere-stampsworkspaceCreatedAtandforgeLoop.pendingAttachStartedAtwith the server's clock so the attach grace window is not expired by skew between the launching machine and the attach server. - Surface loop launch errors:
launchTuiLoopreturns{ error }with the underlying cause instead ofnull; the remote launcher cleans up the sync ref on failure. - Terminal-name conflict attach: a fresh TUI launch colliding with a terminal loop row no longer silently skips; it routes through
attachLoopToSessionso the conflict surfaces as a toast + workspace removal.
v0.5.7
simplify goal-loop executor binding; add sandbox container placeholder