Summary
This issue tracks the comprehensive review findings and the prioritized roadmap to fix correctness, UX, and stack management problems.
Key Findings
get --downstack flag is defined but unused.
GitRepo.commit bypasses hooks for non-interactive commits.
- Stack metadata in
.git/shortcake.json is local-only and worktree-unaware.
- Worktree support is incomplete (hard-coded
.git paths).
create --insert updates parents but not parent_revision.
move and split compute parent_revision from local trunk instead of origin/main.
submit requires a clean tree even when no restack is needed.
ls hides branches by rendering only the first child chain.
- Docs mismatch: README config path/format vs XDG TOML config.
Plan
Phase 1: Correctness and Data Safety
- Implement or remove
get --downstack.
- Ensure hooks run for non-interactive commits.
- Use
Repo.git_dir or git rev-parse --git-dir for metadata and split state paths.
- Update
parent_revision when inserting branches.
- Normalize trunk refs to
origin/main for parent revision calculations.
- Render all stack roots and children in
ls.
- Align docs with actual config location/format.
Phase 2: UX Improvements
- Only require a clean tree in
submit when restack is needed (or add --no-restack).
- Add a safe
view/status command for stack inspection.
- Provide interactive
nav up when multiple children exist.
- Add consistent
--dry-run behavior across mutating commands.
Phase 3: Cross-Device Metadata
- Evaluate trailers vs notes for portable metadata.
- Add
shortcake metadata migrate and shortcake metadata sync.
- Add fallback stack reconstruction when metadata is missing.
Phase 4: Workflow Enhancements
- Optional integration with
git-absorb or git-autofixup.
- Add
undo/runlog recovery commands.
- Consider a
land/merge command for orderly stack landing.
Suggested Tests
- Worktree path handling for metadata and split state.
submit behavior with dirty tree when restack not needed.
create --insert parent revision updates.
get --downstack behavior.
Summary
This issue tracks the comprehensive review findings and the prioritized roadmap to fix correctness, UX, and stack management problems.
Key Findings
get --downstackflag is defined but unused.GitRepo.commitbypasses hooks for non-interactive commits..git/shortcake.jsonis local-only and worktree-unaware..gitpaths).create --insertupdates parents but notparent_revision.moveandsplitcomputeparent_revisionfrom local trunk instead oforigin/main.submitrequires a clean tree even when no restack is needed.lshides branches by rendering only the first child chain.Plan
Phase 1: Correctness and Data Safety
get --downstack.Repo.git_dirorgit rev-parse --git-dirfor metadata and split state paths.parent_revisionwhen inserting branches.origin/mainfor parent revision calculations.ls.Phase 2: UX Improvements
submitwhen restack is needed (or add--no-restack).view/statuscommand for stack inspection.nav upwhen multiple children exist.--dry-runbehavior across mutating commands.Phase 3: Cross-Device Metadata
shortcake metadata migrateandshortcake metadata sync.Phase 4: Workflow Enhancements
git-absorborgit-autofixup.undo/runlogrecovery commands.land/mergecommand for orderly stack landing.Suggested Tests
submitbehavior with dirty tree when restack not needed.create --insertparent revision updates.get --downstackbehavior.