diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ce8940..25bb2dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 0.5.34 + +- Make plain `/loop ` the ergonomic unlimited idle-continuation form: when the assistant stops and the session is safely idle, Loop sends the prompt again. Add explicit `idle`, recurring `every `, and one-shot `after/in ` schedule grammar while preserving legacy duration-first commands. +- Treat short continuation prompts such as `continue`, `keep going`, and `devam et` as continuation of the current repository/conversation, with guidance to inspect relevant files, TODO/progress state, recent changes, and git status before choosing the next unfinished step. +- Fix the pre-first-run stale OpenCode `busy/retry` failure mode that could leave an enabled immediate Loop at `runCount=0`: recover only when the latest assistant tail is actually completed and no active tool or busy child session exists. +- Add throttled busy-deferral logging, schedule/state detail in `/loop-status`, and cross-session persisted-job diagnostics in `/loop-doctor` so due work explains why it is waiting instead of leaving only an `add` log record. +- Prevent prompt-producing Loop jobs from competing with an active dedicated `/goal` continuation owner in the same session by default; advanced users can opt in explicitly with `--allow-goal-overlap`. +- Centralize due/admission semantics in a shared schedule-policy runtime and split schedule syntax, continuation guidance, scheduler diagnostics, companion-Goal detection, and Loop diagnostics into focused modules. Keep the committed single-file stable bundle synchronized and add a permanent Bundle Gate check that fails when `src/index.js` is stale. +- Rewrite the scheduling documentation, add `docs/SCHEDULING.md`, and extend real OpenCode host coverage so Ubuntu and Windows prove a durationless `/loop --max-runs 3 devam et` performs exactly three autonomous turns and stops at the configured limit. + ## 0.5.33 - Complete the post-0.5.32 stable V1 source decomposition by extracting action dispatch, run admission, and post-turn finalization from the executor into focused runtime modules while preserving scheduler behavior and dependency-injection compatibility. diff --git a/README.md b/README.md index 298ddb0..9cde09c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ OpenCode Loop adds `/loop`, scheduled prompt/command/shell jobs, compact scheduling, verification/checkpoints, and the `opencode-loopd` background daemon. -> **Current stable release: `0.5.33`.** The scheduling changes documented on this branch are planned for the next release. Loop still includes an older experimental `/loop-goal` mode for compatibility; for strong persistent Goal contracts and host-verified completion, use the separate **OpenCode Goals** plugin. +> **Current stable release: `0.5.34`.** ## Install or update diff --git a/package-lock.json b/package-lock.json index 117829c..fc0ae4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bybrawe/opencode-loop", - "version": "0.5.33", + "version": "0.5.34", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@bybrawe/opencode-loop", - "version": "0.5.33", + "version": "0.5.34", "license": "MIT", "bin": { "opencode-loop": "scripts/install-with-goals.mjs", diff --git a/package.json b/package.json index 78549db..4a3df0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bybrawe/opencode-loop", - "version": "0.5.33", + "version": "0.5.34", "description": "Claude Code/Codex style /loop and experimental goal mode for OpenCode: heartbeat scheduler, idle-safe loops, scheduled commands, compact scheduling, verification, checkpoints, and persistent coding goals.", "type": "module", "main": "src/index.js",