Repository navigation
Releases: OthmanAdi/planning-with-files
Release list
v3.25.2 - trackable plan creation and harness fixes
Plan creation now requires the bundled initializer and explicit native format validation. check-complete.sh --validate and PowerShell -Validate reject plans with no recognized phases or missing/ambiguous native phase statuses. plan-doctor.sh reports these problems. Validation reads the plan without rewriting it or changing attestation; ordinary advisory and gated stop behavior is preserved.
The two saved blind cases that previously produced zero recognized phases were rerun with the updated skill. Both invoked the initializer, passed functional checks, and finished with five recognized, completed phases. Only these two behavioral cases were rerun.
Copilot startup and post-tool context now uses the current harness's top-level additionalContext output. The guide explains the legacy VS Code Local migration boundary. Cursor bash hooks consistently select named plans and refuse ambiguous or invalid selection without falling back to an unrelated root plan. Cursor installation documentation preserves existing registrations and avoids nested adapter directories (PRs #340, #341, #342).
The optional skill-lens evaluation now uses 0.25.0 and includes a two-session resume case. A maintainer follow-up prevents phase assertions from skipping to a subsection's status. Reported model measurements remain attributed to the contributor's original runs (PR #338).
Thanks
- Emad Mokhtar (@EmadMokhtar), for the updated optional evaluation and resume case (PR #338).
- Thanut Jongteerathanachote (@winxtxrgit), for the Copilot context schema fix and regression tests (PR #340).
- Parman Mohammadalizadeh (@MannXo), for the Cursor installation and hook-merge guide (PR #341).
- WU Leizhi (@MbappeWU), for Cursor bash plan selection and regression tests (PR #342).
v3.25.1 - status validity and optional eval
OpenCode status now distinguishes an existing attestation marker from a valid digest for the current plan. attested keeps its presence-only meaning; attestationValid requires a digest check. Root and named legacy plans with oversized, unreadable or disappearing markers report false validity (PR #331, #330).
DSH /pwf-status now preserves the PLAN_ID selection notice when several plans exist. A project with no plan still gets the initialization message (PR #333, #332).
An optional skill-lens evaluation compares planning-file creation with and without the skill. Its guide records contributor-reported measurements, the checks' limits and paid-run requirements. Framework script execution requires a sandbox backend; the evaluation is outside normal CI (PR #334).
The OpenCode plugin source is version 1.2.1 and the DSH plugin source is version 1.0.2. npm distribution and the ClawHub website upload are separate publication steps.
Thanks
- WU Leizhi (@MbappeWU), for the OpenCode status fix and root/named-plan regression coverage (PR #331).
- @kuei51307-hub, for the DSH selector notice and command-level regression coverage (PR #333).
- Emad Mokhtar (@EmadMokhtar), for the skill-lens evaluation, configuration and measurement guide (PR #334).
v3.25.0 - Hermes plans per conversation
Hermes adapter 0.3.0 lets conversations sharing a backend select different named plans.
planning_with_files_selectselects or clears a conversation's plan, including a plan in another project. Successful named initialization also selects its new plan.- Reading a named
task_plan.mdselects it only for an unbound conversation. Successful writes and patches can switch to one unambiguous plan; failures, reference reads and patches spanning several plans preserve the existing selection. - Profile-local records survive backend restarts. Hooks, tools, commands, reminders and the completion gate apply request-local selectors without changing the process environment.
- Missing or invalid selected plans fail closed, and conflicting explicit directory arguments return an error. Existing ambiguity refusal, attachment admission, link checks and attestation remain active.
Usage and host-version limits: Select a plan per conversation.
Validation includes 109 passing Hermes tests, 22 independent edge checks and 25 checks through the installed Hermes plugin/tool dispatch, including two threads making 60 hook calls each. The host smoke runs offline; live gateway and Desktop transport acceptance was not performed.
Full CI passed on the release commit: Ubuntu 1,090 tests, macOS 1,187, Windows 1,219, plus Pi 95, OpenCode 51 and DSH 49.
Thanks
v3.24.3 - Pi snapshot attestation
Pi extension 1.2.8 now verifies the same raw plan snapshot used for injected text and phase counts. Replacing the live file between reading and checking can no longer make a different snapshot pass attestation. Missing or unreadable selected approvals remain blocking failures.
The attestation guide clarifies that checkbox, phase-status and Next Step edits require explicit re-attestation. Strict behavior remains unchanged. The optional checkbox-policy discussion in #326 stays open; this release adds no automatic re-attestation or progress subsystem.
Thanks
- @littleblacklb, for the progress-attestation workflow report and safety requirements that prompted the review (#326). The contribution is recorded in CONTRIBUTORS.md.
v3.24.2 - Suppress unchanged Pi plan reminders
Pi parity mode now suppresses unchanged pre-tool plan views after confirmed turn-start context insertion. A visible plan edit queues one refresh, while selection changes, recovery events and failed or aborted runs invalidate delivery state. Turn-start context, execution approval and whole-plan attestation remain in place. PWF_PRETOOL=always restores the previous per-leaf Pi reminders.
The bundled Pi extension is 1.2.7. This change adds no dependencies or persistent cache files. Message scheduling tests do not establish provider billing savings.
Contributor totals now include reporters and testers, and the README portraits cover all 104 credited community contributors.
Thanks
- @littleblacklb for reporting repeated Pi plan injection and implementing the session-scoped suppression, recovery handling and regression tests (#323, #324).
v3.24.1 - Hidden adapter validation and contributor guides
Frontmatter validation now covers all eighteen tracked skills, including the twelve hidden adapter copies. Isolated fixtures check hidden valid and malformed YAML, excluded directories and Windows path aliases. A tracked-file inventory guards future adapters while source archives retain filesystem validation.
The KiloCode guide's six resource links now open the canonical repository files. CONTRIBUTING.md documents Python 3.12, Node 22, PyYAML, Windows sh and all six CI suites, with guarded commands for each native plugin suite.
Thanks
v3.24.0: Qoder CLI and less repeated plan context
Native Qoder CLI support and less repeated planning context in Claude Code.
- The Qoder plugin installs the planning skill and seven lifecycle hooks. Its launcher uses isolated Python startup through Bash, and the adapter maps the optional completion gate to Qoder CLI's Stop exit-code contract. Claude-specific command prompts are excluded. Qoder CLI 1.1.67 validation, isolated installation and direct execution of installed hook descriptors passed; Qoder IDE behavior remains unverified (#313).
- Claude Code plugin and standalone skill hooks suppress unchanged PreToolUse views after successful prompt injection. A changed visible view refreshes once. Sessions, agents, selected plans and rendering modes have separate state; recovery resets it even when the plan is temporarily absent. Missing identity or an unsafe or unavailable cache preserves repeated injection.
PWF_PRETOOL=alwaysrequests context on every matched tool call. Selection, snapshot and attestation checks still run before suppression (#312). - File-only SessionStart recovery starts its catch-up child with isolated Python startup, preventing
PYTHONPATHstartup code from loading in that child.
The full test workflow passed before integration and on release commit 7056ed2: Python on Linux, Windows and macOS, plus the Pi, OpenCode and DSH suites. Contributor commits retain their original authors.
Thanks
- calm (@shouldnotappearcalm), for Qoder support and lifecycle tests (#313).
- @mfehlhaber, for the repeated-injection report and recovery cases (#312), and for the earlier npm package report (#213).
v3.23.0 - Public recovery fixture and DSH V4 compatibility
This release adds a public file-only recovery fixture and fixes DSH V4 message-source compatibility.
examples/file-only-recovery/provides a halfway checkpoint, completed reference task, receipt template and objective grader. File-only, baseline and replay arms remain separate, and explicitly inconclusive receipts stay out of the file-only tally. Historical recovery figures remain labeled as historical.dsh-planning-with-files1.0.1 uses the producer-ownedplugin:planning-with-filessource for every injection route, retains legacy message deduplication and has a consistent development dependency set for V4 admission tests.- Manual
/plan-goaland topic-handoff guides use the installed resolver, stop on invalid pins or ambiguous selection, and document its legacy-root convention. - The Codex guide describes the registered Python adapter's silent opt-out correctly.
The canonical skill bundle is published as latest on ClawHub. Both npm packages from this release are published: planning-with-files 3.23.0 and dsh-planning-with-files 1.0.1. Registry availability was rechecked on 10 October 2026.
Thanks
- @as992949791 for the manual resolver guidance (#304).
- @ShaunLinTW for the Codex opt-out correction (#308).
- Jin Zhengyu (@shuoxuekeji) for the DSH source fix and regression coverage (#309).
- @Jinzy for reporting and submitting the DSH fix (#306, #309).
- @mvanhorn for the public recovery fixture (#310).
v3.22.0 - OpenCode 2 support
OpenCode 2 can load opencode-planning-with-files 1.2.0 and use native plan injection, write reminders, compaction context, planning tools and the idle completion gate. The same package retains OpenCode 1 support.
Sessions moved to another project or subdirectory now use their current planning files. Installation instructions cover the v2 plugins key and the default export required by local wrappers.
Verified with OpenCode 2.0.21 using a local mock model and real planning-tool execution, and with OpenCode 1.18.21 using a noReply session. The plugin suite includes regression coverage for both entry points and v2 lifecycle behavior.
Thanks
- @luyanfeng, for reporting the OpenCode 2 loading failure in #298.
v3.21.0 - Explicit attestation targets and pointer race recovery
attest-plan.sh can now attest a root roadmap while a named ticket plan remains active. Use --target root or --target <plan-id>; the selection honors PWF_PLAN_ROOT, refuses invalid or linked targets, and prints the resolved paths before writing. Empty targets and unsupported trailing arguments fail without touching another plan.
PowerShell named-plan initialization now retries the transient active-pointer pre-check failure during concurrent replacement. Each attempt retains root and pointer validation, with a fixed retry bound.
Closes #294 and #296 through PRs #295 and #297.
Thanks
@tayfuryldz, for both contributions and their regression coverage. The contribution entries are in CONTRIBUTORS.md.