| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| flow-next v2.12.4 source code.tar.gz | 2026-07-12 | 8.7 MB | |
| flow-next v2.12.4 source code.zip | 2026-07-12 | 10.1 MB | |
| README.md | 2026-07-12 | 3.8 kB | |
| Totals: 3 Items | 18.8 MB | 0 | |
Added
- Surface setup-version mismatch: once-per-version blocking ack (interactive) + loud verdict line (autonomous) (fn-95). Every lifecycle skill already ran a fail-open version pre-check comparing
.flow/meta.jsonsetup_versionagainst the plugin manifest, but the on-mismatch signal was a one-lineechothe host agent routinely buried (this repo ran 2.6.0-era local files against a 2.12.x plugin for weeks unnoticed). This spec changes only what happens on mismatch; detection, its cost, and its fail-open posture are byte-for-byte unchanged. - Interactive skills (interview, plan, work, capture, tracker-sync, sync, make-pr, resolve-pr, qa, prime, map, audit, memory-migrate, ralph-init, prospect, strategy) now escalate a mismatch to a blocking
AskUserQuestionwith a frozen three-option set (Refresh now/Remind me next version/Skip this run), asked at most once per plugin version. A new optional.flow/meta.jsonfieldversion_ack(a plugin semver, written skill-side via jq + same-dir tmp + atomicmv, no new flowctl subcommand) records "asked about version X, chose not to refresh" so users are never re-nagged for a version they dismissed; a later plugin version re-arms the question. The question is suppressed under the autonomy-marker family setup already honors (FLOW_RALPH=1,REVIEW_RECEIPT_PATHset,FLOW_AUTONOMOUS=1,ARGUMENTScontainsmode:autonomous), falling back to the one-line echo. All reads/writes fail open. (task .1) - Autonomous skills (
/flow-next:pilot,/flow-next:land) never block and never ask; on mismatch they stash and emit a grep-ableSETUP_STALE: local v<X>, plugin v<Y>, run /flow-next:setupline immediately before the terminalPILOT_VERDICT/LAND_VERDICTline (co-located so it survives into transcript-blind driver logs).version_ackdoes NOT suppress it (logs are cheap). Emitted at every terminal verdict site including the hard-guard exits; fail-opens to nothing. (task .2) - No detection change, no receipts-schema change, no non-interactive setup-refresh mode, no auto-running setup from another skill.
flowctl init/doctortolerateversion_ack(unknown keys already ignored). Codex mirror regenerated (the sync script rewritesAskUserQuestionto the numbered-prompt instruction; theSETUP_STALElines carry verbatim).
Fixed
- tracker-sync: merge base must snapshot the STORED tracker body, never the sent render (fetch-back rule). Trackers rewrite markdown on save - Linear (confirmed live 2026-07-11) auto-linkifies slash-joined filenames (
CLAUDE.md/AGENTS.md->[..](<http://...>)), inserts blank lines before list blocks, and turns>-leading list items into blockquotes; Jira Cloud round-trips ADF (lossy by design). A merge base seeded from therenderFlowToTrackeroutput that was SENT therefore false-diverges on the next reconcile (observed: 149 diff lines, zero human edits, echo-fence reported a conflict).body-merge.mdStep 5 gains the transport-blind Fetch-back rule (re-fetchIssueafter everywriteIssueon every base-snapshotting path - Step 5 write-back, flow-first bootstrap, Phase 2a link, create-if-unlinked; GitHub/GitLab store verbatim but the one extra bounded read keeps the rule uniform), plus renderer-hygiene notes;steps.mdcall sites updated; Linear normalization documented in both rung gotchas (linear-graphql.md,linear-mcp.md). Codex mirror regenerated. Docs/prompt-level only - no flowctl change.