Skip to content

docs: add command-first checkpoints v2 manual test guide#839

Open
pfleidi wants to merge 7 commits intomainfrom
feat/checkpoints-v2-validation
Open

docs: add command-first checkpoints v2 manual test guide#839
pfleidi wants to merge 7 commits intomainfrom
feat/checkpoints-v2-validation

Conversation

@pfleidi
Copy link
Copy Markdown
Contributor

@pfleidi pfleidi commented Apr 3, 2026

Summary

  • Add a command-first manual testing guide for checkpoints v2 under docs/guides/checkpoints-v2-manual-test-plan.md.
  • Include step-by-step setup/run/expected sections per impacted entire command, with practical custom-ref workflows for missing-local/remote-fetch scenarios.
  • Add explanatory comments for git inspection commands and a reusable checkpoint shard helper (function + executable helper recipe).

Rendered Guide (Branch Link)


Note

Low Risk
Documentation-only change that adds a manual QA plan; no runtime code paths or data handling are modified.

Overview
Adds a new command-first manual QA guide for the checkpoints v2 rollout in docs/guides/checkpoints-v2-manual-test-plan.md.

The guide provides copy/paste scenarios for validating v2 split refs (refs/entire/checkpoints/v2/main and refs/entire/checkpoints/v2/full/*), missing-local/remote-fetch and checkpoint_remote behavior, rotation/archival checks, and v1 fallback coverage across commands like entire resume, explain, doctor, clean, attach, plus regression checks for status and rewind.

Written by Cursor Bugbot for commit 69380cc. Configure here.

Copilot AI review requested due to automatic review settings April 3, 2026 00:06
@pfleidi pfleidi requested a review from a team as a code owner April 3, 2026 00:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a command-first manual QA guide for validating the “checkpoints v2” split-ref storage behavior and related workflows.

Changes:

  • Introduces a new manual test plan doc covering entire resume/explain/doctor/clean/migrate/status/rewind.
  • Adds shared Git inspection commands (refs, trees, archived generations) and a checkpoint shard-path helper recipe.
  • Documents missing-local/remote-present and checkpoint_remote scenarios.

@pfleidi pfleidi requested a review from Copilot April 3, 2026 00:53
@pfleidi
Copy link
Copy Markdown
Contributor Author

pfleidi commented Apr 3, 2026

Bugbot run

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.

Comment on lines +198 to +200
1. In `repo-a`, enable `checkpoints_v2=true` and `push_v2_refs=true`.
2. Create a feature branch and produce at least one checkpoint.
3. Switch away from the feature branch.
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This setup step instructs enabling push_v2_refs=true, but that setting does not exist in the repo today and the pre-push logic only pushes the v1 metadata branch (and can be disabled via strategy_options.push_sessions=false). Update this step to reflect how v2 refs are actually expected to reach the remote (e.g., manual git push refspecs), or label it as dependent on a separate change that adds v2 ref pushing.

Suggested change
1. In `repo-a`, enable `checkpoints_v2=true` and `push_v2_refs=true`.
2. Create a feature branch and produce at least one checkpoint.
3. Switch away from the feature branch.
1. In `repo-a`, enable `checkpoints_v2=true`.
2. Create a feature branch and produce at least one checkpoint.
3. If you need the v2 refs on a remote for a later scenario, push them manually with explicit refspecs (for example, `git push origin refs/entire/checkpoints/v2/main:refs/entire/checkpoints/v2/main` and `git push origin refs/entire/checkpoints/v2/full/current:refs/entire/checkpoints/v2/full/current`); this plan does not assume a `push_v2_refs` setting exists yet.
4. Switch away from the feature branch.

Copilot uses AI. Check for mistakes.
Comment on lines +82 to +86
cat > scripts/checkpoint-shard-path <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

checkpoint_id="${1:-}"
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checkpoint-shard-path helper recipe will fail if scripts/ doesn’t exist in the test repo/clone. Add a mkdir -p scripts (or write to a temp dir) before the cat > scripts/checkpoint-shard-path step so the copy/paste block works in a fresh repository.

Copilot uses AI. Check for mistakes.
```

Expected:
- Explain uses `transcript.jsonl` from `/main`.
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The guide expects entire explain to prefer transcript.jsonl from refs/entire/checkpoints/v2/main (and fall back to /full/*), but the current entire explain implementation uses the v1 store (checkpoint.NewGitStore(repo) → reads from entire/checkpoints/v1) and does not consult v2 refs. As written, this scenario won’t validate v2 read behavior; either adjust the expectations or mark v2 explain support as forward-looking.

Suggested change
- Explain uses `transcript.jsonl` from `/main`.
- Current behavior: `entire explain` still reads via the v1 checkpoint store, so this scenario does **not** validate v2 `/main` read-path selection yet.
- Use this scenario today to confirm the v2 compact transcript exists in git refs and to capture evidence for future explain support.
- Future behavior (once v2 explain support lands): explain should prefer `transcript.jsonl` from `refs/entire/checkpoints/v2/main` and fall back to `/full/*` when the compact transcript is unavailable.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants