# Sweep 015 Direct Mock Partial Closure Plan > Date: 2026-04-20 > Status: Draft > Upstream Design: `docs/superpowers/specs/2026-04-20-sweep-015-direct-mock-partial-closure-design.md` ## Plan Intent Close the only remaining `direct-mock-partial` before pseudo-production batch selection. This plan is mock-only and targets one fixed scene: - `sweep-015-scene / 任务报表` ## Fixed Inputs 1. `tests/fixtures/generated_scene/scene_skill_102_full_direct_mock_execution_2026-04-20.json` 2. `tests/generated_scene_full_direct_mock_runner.js` 3. `examples/scene_skill_102_final_materialization_2026-04-19/skills/sweep-015-scene/scripts/collect_sweep_015_scene.js` 4. `examples/scene_skill_102_final_materialization_2026-04-19/skills/sweep-015-scene/references/generation-report.json` ## Planned Outputs 1. refreshed `tests/fixtures/generated_scene/scene_skill_102_full_direct_mock_execution_2026-04-20.json` 2. refreshed `docs/superpowers/reports/2026-04-20-scene-skill-102-full-direct-mock-execution-report.md` 3. `docs/superpowers/reports/2026-04-20-sweep-015-direct-mock-partial-closure-report.md` ## Allowed Files 1. `tests/generated_scene_full_direct_mock_runner.js` 2. `tests/fixtures/generated_scene/scene_skill_102_full_direct_mock_execution_2026-04-20.json` 3. `docs/superpowers/reports/2026-04-20-scene-skill-102-full-direct-mock-execution-report.md` 4. `docs/superpowers/reports/2026-04-20-sweep-015-direct-mock-partial-closure-report.md` ## Forbidden Files 1. `src/generated_scene/analyzer.rs` 2. `src/generated_scene/generator.rs` 3. `src/generated_scene/ir.rs` 4. `examples/scene_skill_102_final_materialization_2026-04-19/skills/**` 5. `tests/fixtures/generated_scene/scene_execution_board_2026-04-18.json` ## Phase 0: Confirm Partial Cause ### Tasks 1. Confirm `sweep-015-scene` is the only partial. 2. Confirm the generated script uses `row.status == 5`. 3. Confirm the mock row does not currently satisfy that filter. ### Acceptance Criteria 1. The closure target remains exactly one scene. 2. The cause is classified as mock fixture contract mismatch. ## Phase 1: Patch Mock Fixture Contract ### Tasks 1. Add the minimal filter-satisfying field to direct mock fake row data. 2. Keep the change generic enough to support filter-aware mock execution but narrow enough not to mask runtime failures. ### Acceptance Criteria 1. No generated skill package is modified. 2. No generator/analyzer code is modified. ## Phase 2: Rerun Full Direct Mock ### Tasks 1. Run the full direct mock runner. 2. Confirm `sweep-015-scene` becomes `direct-mock-pass`. 3. Confirm total output record count is `102`. ### Acceptance Criteria 1. `direct-mock-pass = 102`. 2. `direct-mock-partial = 0`. 3. `direct-mock-fail = 0`. ## Phase 3: Publish Closure ### Tasks 1. Refresh the full direct mock report. 2. Publish a sweep-015 closure report. ### Acceptance Criteria 1. Closure report states this is mock-only. 2. Closure report does not claim pseudo-production or production pass. ## Completion Criteria This plan is complete when the full direct mock result has no partial/fail records and the closure report is published. ## Stop Statement Stop after publishing the closure report. Do not start pseudo-production batch selection under this plan.