A quick-fix pipeline: branch, tests and a PR, without an OpenSpec change #55
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Every built-in pipeline that writes code starts with
openspec.new-change→ propose → validate.minimalistandgit-flow-hotfixare the lightest, and they still write a proposal, specs, a design and tasks. A trivial fix (a UI tweak, a typo, a one-line bug) pays for the whole OpenSpec process, and when done by hand these skip OpenSpec anyway.The nodes after propose also assume a change exists:
openspec.applyworks through the change'stasks.md, the test-suite and summary prompts look up the change id, and landing archives the change. So removing the propose nodes from a pipeline is not enough.Proposal
A built-in
quick-fixpipeline that keeps the engineering discipline and drops the spec:No archive steps: there is no change.
fix.implementthat works from the issue text instead oftasks.md, and is told to add or update tests alongside the fix.quick-fixstarts on this pipeline when the run label is applied.openspec/specs. The PR summary says so, and notes when the diff touches behaviour an existing spec describes, as a prompt to reconsider.Out of scope
Done when
quick-fixgoes from brief to an open pull request with tests, with noopenspec/changesdirectory created.quick-fixstarts on that pipeline.Shipped in #56 (
d06e1d3) and archived asopenspec/changes/archive/2026-09-26-quick-fix-pipeline.quick-fixbuilt-in pipeline: brief →fix.implement(the fix and tests that fail without it, plus a note in.osf/fix.md) → unit tests → browser tests when UI files changed → commit → summary → pull request → merge gate → merge. No OpenSpec change is created and there is no archive step..osf/fix.mdexists and the newworktree-changedcheck sees a change outside.osf/.openspec/changes/. The PR summary ends with a No spec updated bullet naming any specified capability the diff may touch.osf:quick-fix.