You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opened #16 — first M6 slice: sp doctor, a read-only store health check (orphaned files, missing content, on-disk footprint) plus the tombstone-flavored personality in its report. Strictly read-only; 15 new tests incl. a before/after snapshot proving it changes nothing. Still to come for M6: shell completion, --json output, GoReleaser config, and the v0.1.0 tag/release — each as its own slice.
Started chipping at the M6 checklist in #17: sp completion bash|zsh|fish and --json output for sp ls / sp ls --morgue (color- and personality-free, stable array shape for scripting). Two boxes ticked; the rest of M6 (tombstone personality, GoReleaser, the v0.1.0 tag + README install bump) is still open here.
PR #19 tackles the GoReleaser config for cross-platform binaries item: adds .goreleaser.yaml (linux/darwin/windows × amd64/arm64, checksums, version-injection via the existing internal/cli.Version ldflags path) and a tag-driven Release workflow. Validated end-to-end with a local goreleaser release --snapshot — all 6 archives + checksums.txt build and sp version reads the injected version.
Deliberately left v0.1.0untagged — cutting the release is a maintainer call; once you push the tag, the workflow does the rest.
Remaining M6 checkboxes after this: tag/publish v0.1.0 (needs the tag push). The other items — tombstone personality, sp doctor, shell completion, --json for ls — already appear implemented on main.
Chipped another item off the M6 checklist: --json output mode for other read commands — sp doctor now has a --json mode (stable object: healthy flag, counts, tracked/orphan/total sizes, and orphans/missing arrays; color- and personality-free like sp ls --json). PR: #21
Remaining M6 items: tag + publish v0.1.0 with artifacts, and update the README install section to point at the release (both maintainer-driven since the release workflow fires on a version tag).
Started the M6 polish pass: #23 gives the direct command confirmation lines (new/open/rm/resurrect/promote) the same tasteful tombstone voice the render layer already has — without disturbing the stable output anchors. Build/vet/gofmt/tests all green.
Remaining M6 work after this: cut the actual v0.1.0 tag/release (triggers GoReleaser + publishes artifacts) — leaving that as a maintainer action rather than automating it. Keeping this issue open until the release ships.
Activity
rwrife commentedon Jun 29, 2026
Opened #16 — first M6 slice:
sp doctor, a read-only store health check (orphaned files, missing content, on-disk footprint) plus the tombstone-flavored personality in its report. Strictly read-only; 15 new tests incl. a before/after snapshot proving it changes nothing. Still to come for M6: shell completion,--jsonoutput, GoReleaser config, and thev0.1.0tag/release — each as its own slice.Add sp doctor: read-only store health check (#6) (#16)
rwrife commentedon Jun 30, 2026
Started chipping at the M6 checklist in #17:
sp completion bash|zsh|fishand--jsonoutput forsp ls/sp ls --morgue(color- and personality-free, stable array shape for scripting). Two boxes ticked; the rest of M6 (tombstone personality, GoReleaser, the v0.1.0 tag + README install bump) is still open here.Add sp completion + ls --json output (#6) (#17)
rwrife commentedon Jul 1, 2026
PR #17 merged (squash, commit
26fb19e) — delivers two M6 checklist items:sp completion bash|zsh|fish(shell completion generation)sp ls --json/sp ls --morgue --json(machine-readable output)Remaining on this issue: tombstone personality, GoReleaser config, and the actual v0.1.0 tag.
rwrife commentedon Jul 2, 2026
PR #19 tackles the GoReleaser config for cross-platform binaries item: adds
.goreleaser.yaml(linux/darwin/windows × amd64/arm64, checksums, version-injection via the existinginternal/cli.Versionldflags path) and a tag-drivenReleaseworkflow. Validated end-to-end with a localgoreleaser release --snapshot— all 6 archives +checksums.txtbuild andsp versionreads the injected version.Deliberately left
v0.1.0untagged — cutting the release is a maintainer call; once you push the tag, the workflow does the rest.Remaining M6 checkboxes after this: tag/publish v0.1.0 (needs the tag push). The other items — tombstone personality,
sp doctor, shell completion,--jsonforls— already appear implemented on main.Add GoReleaser config + release workflow for cross-platform binaries (#6
rwrife commentedon Jul 4, 2026
Chipped another item off the M6 checklist:
--jsonoutput mode for other read commands —sp doctornow has a--jsonmode (stable object:healthyflag, counts, tracked/orphan/total sizes, andorphans/missingarrays; color- and personality-free likesp ls --json). PR: #21Remaining M6 items: tag + publish v0.1.0 with artifacts, and update the README install section to point at the release (both maintainer-driven since the release workflow fires on a version tag).
Add sp doctor --json output for scripting (#6) (#21)
rwrife commentedon Jul 6, 2026
Started the M6 polish pass: #23 gives the direct command confirmation lines (
new/open/rm/resurrect/promote) the same tasteful tombstone voice the render layer already has — without disturbing the stable output anchors. Build/vet/gofmt/tests all green.Remaining M6 work after this: cut the actual v0.1.0 tag/release (triggers GoReleaser + publishes artifacts) — leaving that as a maintainer action rather than automating it. Keeping this issue open until the release ships.
Give command confirmations tombstone-flavored personality (#6) (#23)
rwrife commentedon Jul 8, 2026
🪦 v0.1.0 is shipped.
Tagged
v0.1.0→ the Release workflow ran GoReleaser and published the release:https://github.com/rwrife/scratchpatch/releases/tag/v0.1.0 (marked Latest, not a prerelease)
Artifacts (all uploaded, with
checksums.txt):scratchpatch_0.1.0_linux_x86_64.tar.gz/_linux_arm64.tar.gzscratchpatch_0.1.0_macos_x86_64.tar.gz/_macos_arm64.tar.gzscratchpatch_0.1.0_windows_x86_64.zip/_windows_arm64.zipVerified end-to-end: downloaded the linux/x86_64 archive,
sha256sum -c checksums.txt→ OK, andsp versionreportsscratchpatch v0.1.0(ldflags injection working).Acceptance criteria
sp doctorstore health check ([M6] sp doctor — read-only store health check #16, Addsp doctor --jsonoutput for scripting #21)bash|zsh|fish([M6] sp completion + ls --json output #17)--jsonoutput mode ([M6] sp completion + ls --json output #17, Addsp doctor --jsonoutput for scripting #21)Leaving this issue open until #25 lands, which flips the last box.
docs: point install section at the v0.1.0 release (#6) (#25)
rwrife commentedon Jul 9, 2026
✅ M6 complete — v0.1.0 is shipped. All acceptance criteria delivered and verified:
--json/scripting output)sp doctorstore health check (orphans / missing / footprint) — PR [M6] sp doctor — read-only store health check #16sp completion bash|zsh|fish) — PR [M6] sp completion + ls --json output #17--jsonoutput for read commands (ls,ls --morgue,doctor) — PRs [M6] sp completion + ls --json output #17, Addsp doctor --jsonoutput for scripting #21checksums.txt; release workflow succeededSanity check on
main@ HEAD:go build ./...,go vet ./...,go test ./..., andgofmt -lall clean. 🪦→🚀Closing the M6 milestone. Roadmap M1–M6 done.