Skip to content

Commit 56531ba

Browse files
committed
feat: harden stack alpha workflows
1 parent 37834b3 commit 56531ba

12 files changed

Lines changed: 1055 additions & 67 deletions

File tree

README.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,32 @@ drift clearly, and favors repairable workflows over hidden automation.
1212
- per-worktree operation journals for interrupted rebases
1313
- command-first UX with polished terminal output
1414
- read-only Bubble Tea dashboard for stack inspection
15+
- deterministic restack and recovery scaffolding
16+
- explicit submit, sync, move, and queue command flows
1517
- `git` and `gh` CLI only
1618
- no GraphQL, no backend, no synthetic refs
1719

18-
## First Commands
20+
## Implemented Commands
1921

2022
- `stack init`
2123
- `stack create <branch>`
2224
- `stack track <branch> --parent <parent>`
2325
- `stack status`
2426
- `stack tui`
27+
- `stack restack`
28+
- `stack continue`
29+
- `stack abort`
30+
- `stack submit`
31+
- `stack sync`
32+
- `stack move`
33+
- `stack queue`
2534

26-
Later phases add restack, submit, sync, move, queue, and recovery commands on
27-
top of the same state model.
35+
## Current Caveats
36+
37+
- restack and sync safety are implemented, but still need deeper fixture coverage
38+
- GitHub sandbox coverage for submit, sync, and queue still needs expansion
39+
- the TUI is intentionally read-only in the current alpha
40+
- ambiguous merged-parent repair cases stop for review instead of guessing
2841

2942
## Tooling
3043

@@ -41,10 +54,10 @@ top of the same state model.
4154
```bash
4255
mise install
4356
mise exec -- go test ./...
57+
mise exec -- go build ./...
4458
mise exec -- go run ./cmd/stack status
4559
```
4660

4761
## Design
4862

4963
The reduced V1 design lives at [docs/v1.md](docs/v1.md).
50-

docs/v1.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,13 @@
1414
- shared graph state: `$(git rev-parse --git-common-dir)/stack/state.json`
1515
- per-worktree op journal: `$(git rev-parse --git-dir)/stack/op.json`
1616

17-
## Alpha Commands
17+
## Implemented Alpha Commands
1818

1919
- `stack init`
2020
- `stack create`
2121
- `stack track`
2222
- `stack status`
2323
- `stack tui`
24-
25-
## Next Commands
26-
2724
- `stack restack`
2825
- `stack continue`
2926
- `stack abort`
@@ -32,3 +29,16 @@
3229
- `stack move`
3330
- `stack queue`
3431

32+
## Current Guardrails
33+
34+
- write operations refuse to run when repo-level metadata has hard errors
35+
- restack refuses invalid anchors and does not guess a merge base
36+
- interrupted restacks are recorded per worktree and validated before resume
37+
- submit fetches first, previews intended changes, and uses explicit lease-protected pushes
38+
- queue handoff refuses stale remote heads, draft PRs, and non-trunk PR bases
39+
40+
## Current Gaps
41+
42+
- merged-parent repair logic is conservative and only auto-applies clean cases
43+
- submit, sync, and queue still need broader GitHub sandbox coverage
44+
- the TUI is read-only and focused on inspection, not editing

0 commit comments

Comments
 (0)