diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index 3ddf4c9c2..90fc2f06d 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -6,7 +6,7 @@ "plugins": [ { "name": "flow-next", - "version": "9.3.1", + "version": "9.3.2", "source": { "source": "local", "path": "./plugins/flow-next" diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d8ad4974f..976f04e14 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,13 +6,13 @@ }, "metadata": { "description": "Plan-first workflows for Claude Code and Factory Droid. Ships flow-next: zero-dep, spec-driven, unattended flow --auto runs.", - "version": "9.3.1" + "version": "9.3.2" }, "plugins": [ { "name": "flow-next", "description": "Zero-dependency, spec-driven agentic SDLC: durable specs, context-fit plans, re-anchored workers, adversarial cross-model review, and receipts. Includes 21 subagents, 26 commands, 29 skills.", - "version": "9.3.1", + "version": "9.3.2", "author": { "name": "Gordon Mickel", "email": "gordon@mickel.tech", diff --git a/CHANGELOG.md b/CHANGELOG.md index 20b52cf3c..9f72c43a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ Flow-Next changed shape with 5.0.0. One command, `/flow-next:flow`, reads whatev ## Unreleased +## [flow-next 9.3.2] - 2026-10-27 + +### Fixed + +- **A question that waits on someone else now says who decides, so each role can find its own.** When a conversation hands a decision to someone who isn't there ("product decides"), capture parks it under `## Open Questions` with its owner, `*(owner: product)*`, where it used to land among the unknowns with no owner. Refine accepts any role, not only product or engineering, and once the owner answers it moves the answer into the section it belongs to. Backlog mode's parked questions carry the same tag. A product owner, QA lead or engineer can ask the agent for the open questions for their role across every branch, or have a scheduled task post them to chat: [For teams](https://flow-next.dev/guides/for-teams/#questions-that-wait-on-someone-else) walks through it. Nothing to configure, including in a repository with its own `SPEC.md`. + ## [flow-next 9.3.1] - 2026-10-25 ### Fixed diff --git a/SPEC.md b/SPEC.md index a774d2ecb..c9f3d6b3a 100644 --- a/SPEC.md +++ b/SPEC.md @@ -32,6 +32,7 @@ auxiliary_sections: - Resolved via Experiment # written by /flow-next:refine when a question was settled by running something - Resolved via Research # written by /flow-next:refine --scope=research, or by plan when its research scouts ran - Parked unknowns # optional fog slot; one bullet per genuinely-unknown item, emptied as they resolve + - Open Questions # a decision for someone outside the conversation; each names its owner role - Requirement coverage # written by /flow-next:capture only when it judges the route plan; /flow-next:plan fills it; closes the body unless you place it as a heading template_kind: static-scaffold # no {{var}} substitution; read for structure, write via flowctl spec set-plan --- @@ -51,10 +52,12 @@ free. Renaming or removing `## Acceptance Criteria`, `## Boundaries`, the features that parse them (R-ID coverage, PR "Not in this PR", the PR briefing's context and decision excerpts). -/flow-next:capture writes the sections this file names and adds none it leaves out. +/flow-next:capture writes the sections this file names and adds none it leaves out, +except `## Open Questions`: a question handed to someone else is always kept. Auxiliary sections are named in the frontmatter `auxiliary_sections` list. Drop an entry (e.g. `Conversation Evidence`, which no tool reads) and captured specs stop -carrying it. A SPEC.md with no such list gets no auxiliary sections. +carrying it. A SPEC.md with no such list gets no auxiliary sections except +Open Questions. Full guide: flow-next docs, "Customizing the scaffold for your project" @@ -179,13 +182,29 @@ byte-for-byte by every other writer; only `refine --scope=research --force` replaces it. --> + + + + + +