merge: integrate origin/main (v1.1.3.0) — /checkpoint → /context-save + /context-restore rename

Main shipped v1.1.3.0 fixing Claude Code's native /checkpoint alias
shadowing gstack's skill. The old /checkpoint directory is gone,
replaced by context-save/ and context-restore/. Storage path
(~/.gstack/projects/$SLUG/checkpoints/) is unchanged, so existing
saved contexts still load.

Conflicts:
- VERSION / package.json: kept 1.2.0.0 (above main's 1.1.3.0)
- CHANGELOG: preserved 1.2.0.0 at top, inserted 1.1.3.0 below
- scripts/resolvers/preamble.ts: same pattern as prior merges —
  main's side edited the monolithic file inline; I kept the
  submodule composition root intact (main's inline changes don't
  apply to this shape)

Ported my continuous-checkpoint and context-health submodule prose
to reference the new skill names:
- generate-continuous-checkpoint.ts: "/checkpoint resume" →
  "/context-restore"
- generate-context-health.ts: "/checkpoint" → "/context-save"

Also updated user-facing prose in:
- CHANGELOG.md (1.2.0.0 entry): "/checkpoint resume" →
  "/context-restore (formerly /checkpoint resume pre-v1.1.3)"
- README.md Continuous checkpoint section: same rename

Storage paths in generate-context-recovery.ts (`$_PROJ/checkpoints/`)
left untouched — per main's v1.1.3.0 notes, the storage directory
name stays `checkpoints/` to preserve backward-compat with saved files.

Touchfiles.ts auto-merged cleanly — main's context-save-writes-file
and context-restore-loads-latest replaced my old checkpoint-save-resume
entry.

Regenerated SKILL.md files. Ship golden fixtures refreshed. 423 tests
pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-04-19 08:41:41 +08:00
50 changed files with 3258 additions and 565 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ export { generateTestFailureTriage } from './preamble/generate-test-failure-tria
//
// Skills by tier:
// T1: browse, setup-cookies, benchmark
// T2: investigate, cso, retro, doc-release, setup-deploy, canary, checkpoint, health
// T2: investigate, cso, retro, doc-release, setup-deploy, canary, context-save, context-restore, health
// T3: autoplan, codex, design-consult, office-hours, ceo/design/eng-review
// T4: ship, review, qa, qa-only, design-review, land-deploy
export function generatePreamble(ctx: TemplateContext): string {
@@ -10,7 +10,7 @@ During long-running skill sessions, periodically write a brief \`[PROGRESS]\` su
If you notice you're going in circles — repeating the same diagnostic, re-reading the
same file, or trying variants of a failed fix — STOP and reassess. Consider escalating
or calling /checkpoint to save progress and start fresh.
or calling /context-save to save progress and start fresh.
This is a soft nudge, not a measurable feature. No thresholds, no enforcement. The
goal is self-awareness during long sessions. If the session stays short, skip it.
@@ -36,7 +36,7 @@ Skill: </skill-name-if-running>
- Background discipline — do NOT announce each commit to the user. They can see
\`git log\` whenever they want.
**When \`/checkpoint resume\` runs,** it parses \`[gstack-context]\` blocks from WIP
**When \`/context-restore\` runs,** it parses \`[gstack-context]\` blocks from WIP
commits on the current branch to reconstruct session state. When \`/ship\` runs, it
filter-squashes WIP commits only (preserving non-WIP commits) via
\`git rebase --autosquash\` so the PR contains clean bisectable commits.