--- plan_version: 1.7 profile: balanced --- # Demo plan for annotation round-trip This fixture is used by `tests/integration/annotation-roundtrip.test.mjs` to verify SC2 (byte-identical empty-anchor round-trip) and SC7 (per-target isolation against `validatePlan`). ## Context A minimal plan with two steps. Each step has a Manifest block so `plan-validator --strict` accepts the file. ## Implementation Plan ### Step 1: Touch a sentinel file - **Files:** `tmp/sentinel-1.txt` (new) - **Changes:** Create the sentinel file with the literal content "step-1". - **Reuses:** none. - **Test first:** none — sentinel-only step. - **Verify:** `test -f tmp/sentinel-1.txt` - **On failure:** revert. - **Checkpoint:** `git commit -m "chore: sentinel step 1"` - **Manifest:** ```yaml manifest: expected_paths: - tmp/sentinel-1.txt min_file_count: 1 commit_message_pattern: "^chore: sentinel step 1" bash_syntax_check: [] forbidden_paths: [] must_contain: [] ``` ### Step 2: Touch a second sentinel file - **Files:** `tmp/sentinel-2.txt` (new) - **Changes:** Create the sentinel file with the literal content "step-2". - **Reuses:** none. - **Test first:** none. - **Verify:** `test -f tmp/sentinel-2.txt` - **On failure:** revert. - **Checkpoint:** `git commit -m "chore: sentinel step 2"` - **Manifest:** ```yaml manifest: expected_paths: - tmp/sentinel-2.txt min_file_count: 1 commit_message_pattern: "^chore: sentinel step 2" bash_syntax_check: [] forbidden_paths: [] must_contain: [] ``` ## Verification - `npm test` passes. - Both sentinel files exist.