Files
claw/docs/superpowers/specs/2026-04-20-sweep-015-direct-mock-partial-closure-design.md

65 lines
2.2 KiB
Markdown

# Sweep 015 Direct Mock Partial Closure Design
> Date: 2026-04-20
> Parent: `2026-04-20-scene-skill-102-full-direct-mock-execution-plan.md`
> Scope: bounded mock-only closure for `sweep-015-scene`
## Intent
Close the single remaining `direct-mock-partial` from the 102 full direct mock run before starting pseudo-production batch selection.
The only target scene is:
- `sweep-015-scene / 任务报表`
## Problem Statement
The full direct mock execution produced:
- `direct-mock-pass`: 101
- `direct-mock-partial`: 1
The partial scene is `sweep-015-scene`. Its generated script loads and completes the mock runtime path, but returns artifact status `partial` because all mock rows are filtered out by the script-level business filter:
- `FILTER_EXPR = "row.status == 5"`
The full direct mock runner's generic fake row currently does not provide `status = 5`, so the mock data does not satisfy the generated skill's declared business filter.
## Root Cause Classification
This is a mock fixture contract gap, not a generator or generated-skill defect.
Evidence:
- `sweep-015-scene` generation report has readiness `A`.
- `sweep-015-scene` has complete `paginated_enrichment` workflow evidence.
- The script returns `partial` rather than throwing or failing to load.
- The mock runner's fake row lacks the field required by the script filter.
## Allowed Changes
1. Update the full direct mock runner fake data so the mock row satisfies `sweep-015-scene`'s filter contract.
2. Rerun full direct mock execution.
3. Refresh the full direct mock JSON/report.
4. Publish a closure report.
## Forbidden Changes
1. Do not modify generated skill packages.
2. Do not modify `src/generated_scene/analyzer.rs`.
3. Do not modify `src/generated_scene/generator.rs`.
4. Do not modify `src/generated_scene/ir.rs`.
5. Do not access real browser, real network, production credentials, or business systems.
6. Do not start pseudo-production batch selection under this design.
## Expected Outcome
The full direct mock result should become:
- `direct-mock-pass`: 102
- `direct-mock-partial`: 0
- `direct-mock-fail`: 0
This only proves local mock runtime closure. It does not prove pseudo-production or production execution.