# 0.6.3 Rust-First Test Migration Goal Runbook

## Objective

Converge all implementation work related to the 0.6.3 Rust-first test migration
from the current working tree, and allow `commit`/`push` only after local
validation, harness checks, docs checks, and CI-equivalent verification pass.

## Source of Truth

- Use the current working tree as the primary input.
- Include staged, unstaged, and untracked files.
- Do not assume `HEAD` fully represents this migration state.
- Resolve conflicts in this order: migration requirements package > review notes
  > implementation convenience.

## Required Workflow

1. Inventory all migration-related files in the current working tree.
2. Read and apply the 0.6.3 migration requirements/design/tasks package.
3. Read and analyze `docs/project/0.6.3-rust-first-test-migration-review.md`.
4. Build a requirement-to-review-to-implementation mapping and identify gaps.
5. Implement minimal-sufficient fixes across code, tests, docs, and tooling.
6. After each critical checkpoint, run validation and iterate on failures.
7. Before commit, run local CI-equivalent verification including harness and
   docs policy gates.
8. Commit only after spec/review/implementation/validation are fully closed.

## Execution Constraints

- Do not run destructive git commands.
- Do not drop local uncommitted work.
- Include relevant untracked files in analysis and closure.
- Prefer targeted fixes, but do not sacrifice spec completeness.
- Close issue families, not only isolated review comments.

## Validation Gates

At minimum, run and close the following gates before push:

- Harness rules check
- Documentation policy check
- Migration-related build/lint/fmt/test checks
- Migration-related E2E or equivalent validation
- CI workflow-equivalent local checks where feasible

If a check cannot be fully reproduced locally, document:

- reason,
- impact,
- fallback validation,
- residual risk.

## Commit and Push Policy

- `push` is not a default post-edit action.
- Do not push while any known critical failure is open.
- Before commit, provide a pre-commit summary with:
  - related files,
  - modified files,
  - mapping from each change to requirement/review item,
  - executed validations and outcomes,
  - CI-equivalent local checks and outcomes,
  - known residual risks.
- Commit must include only migration-related changes.
- Push is allowed only after all required gates pass or remaining gaps are
  explicitly accepted with documented risk.

## Stop Conditions

The run is complete only when all items below are satisfied:

1. The 0.6.3 migration requirements package has been fully applied.
2. All review findings are closed by code, tests, docs, or documented
   invalidation with evidence.
3. Working tree implementation is aligned with requirements.
4. Required validation gates are executed and passing, or unresolved checks are
   explicitly documented with impact and fallback evidence.
5. A final convergence summary is produced.
6. A migration-only commit is created.
7. Push preconditions are satisfied; push has been attempted (or blocked with
   explicit reason and preserved local commit state).

## Checkpoint Logging Format

During execution, keep short logs for each checkpoint:

- checkpoint name,
- completed work,
- validation result,
- remaining blockers.
