Skip to content

Start, gate and open work the same way every time - #226

Merged
androidand merged 15 commits into
mainfrom
feat/191-flow-verbs
Nov 10, 2026
Merged

androidand merged 15 commits into
mainfrom
feat/191-flow-verbs

Conversation

@androidand

Copy link
Copy Markdown
Owner

Part of #191. Task 2.4 (making pull -worktree config-driven) is left open.

The mechanical steps of the flow become commands, configured per repo in openspec/specsync.yml:

  • specsync start <change|issue>: a worktree and branch for the change (no upstream until the first push), the repo's start hooks, and a status report; refuses a live session or one it cannot verify.
  • specsync new <title>: scaffolds a change and shows possible duplicates; -yes creates the tracker issue only from edited text and when the duplicate search worked.
  • specsync gates: runs the configured gates in order at the repo top; the stamp is written only for a complete passing run on a clean tree.
  • specsync save: commits tracked changes plus files named with -add (literal paths), refuses secret-looking names and content, forbidden trailers and files, and restores the index if the commit fails; -push pushes the branch to its own name, never forced, and refuses when a request is open or unknown unless -push-to-request.
  • specsync update: plans how to bring the branch up to date (merge when under review), changes nothing without -apply, and publishes a rebase only with -force-with-lease.
  • specsync park: records the stage and a note, and commits only what it wrote.
  • specsync pr prep and pr open: checks gates, tasks, freshness, size and the text standard against the real base; open never pushes, and refuses failing or unmeasured checks and any size-budget override unless named in -confirm.
  • Commands from the config run only after specsync trust has shown them, checked against the config actually read. docs/flow-verbs.md has the details.

Checked locally: go vet, go test ./..., validate, audit-tasks -fail-on-mismatch, changelog -resolve-refs; all tests use temp repos, a local bare remote and a stub gh. Three rounds of code review found 31 issues, all fixed. save -sync is tested for its guard only, and the -store forwarding to subprocesses is not tested.

…es, fail unmeasurable size, flags in any position for pr (#191)
…ate as under review, refusals print alone, save -sync previews and needs -yes for a new issue (#191)
…ease and branch guards for update, base-aware prep, untracked start branches (#191)
…ch the base, forward store, truncated request fallback, allow and lease flags (#191)
…earch, exact start issue forms, park guards first and restores its files (#191)
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Deploying specsync with  Cloudflare Pages  Cloudflare Pages

Latest commit: 50a8d69
Status: ✅  Deploy successful!
Preview URL: https://c7ad7726.specsync.pages.dev
Branch Preview URL: https://feat-191-flow-verbs.specsync.pages.dev

View logs

@androidand
androidand merged commit 2a5fdb2 into main Nov 10, 2026
2 checks passed
@androidand
androidand deleted the feat/191-flow-verbs branch November 10, 2026 14:14
androidand added a commit that referenced this pull request Nov 10, 2026
- `worktrees.launcher` in `openspec/specsync.yml` (`git` default, `orca`, `auto`) and `start -launcher` choose how a new worktree is created; `-agent` / `-prompt` start an agent in the Orca workspace
- With Orca, `start` runs `orca worktree create --name <slug> --branch <branch> --base-branch <base> --no-parent` plus `--issue <n>`; reuse, the live-session check, trust, the branch link and start hooks are unchanged
- `start` fails if Orca put the workspace on another branch (Orca renames a taken one) and removes any upstream Orca set, matching the git launcher's `--no-track`
- Orca resolves via `$ORCA_CLI_COMMAND`, then `orca-ide` on Linux, then `orca` — never the Linux screen reader
- README, `docs/flow-verbs.md`, `site/features.json`, agent-help updated

Replaces the separate `start` planned in #201 (closed; `start` shipped in #226). Not yet run against a real Orca install (task 1.9 open).

Closes #228
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant