141 lines
3.5 KiB
Markdown
141 lines
3.5 KiB
Markdown
# Timeout Rerun Hygiene Integration Plan
|
|
|
|
> Date: 2026-04-19
|
|
> Status: Draft
|
|
> Upstream Design: `docs/superpowers/specs/2026-04-19-timeout-rerun-hygiene-integration-design.md`
|
|
> Upstream Hygiene: `tests/fixtures/generated_scene/timeout_budget_rerun_hygiene_2026-04-19.json`
|
|
|
|
## Plan Intent
|
|
|
|
Integrate timeout rerun hygiene into sweep and reconciliation reporting.
|
|
|
|
This plan only changes the reporting layer. It does not change scene generation behavior.
|
|
|
|
## Scope Guardrails
|
|
|
|
1. do not modify `src/generated_scene/analyzer.rs`
|
|
2. do not modify `src/generated_scene/generator.rs`
|
|
3. do not update `scene_execution_board_2026-04-18.json`
|
|
4. do not promote scenes
|
|
5. do not rerun the `102` sweep
|
|
6. do not start timeout implementation fixes
|
|
|
|
## Fixed Inputs
|
|
|
|
1. `tests/fixtures/generated_scene/structured_fail_closed_improvement_followup_2026-04-19.json`
|
|
2. `tests/fixtures/generated_scene/timeout_budget_rerun_hygiene_2026-04-19.json`
|
|
|
|
## Phase 0: Freeze Inputs
|
|
|
|
### Objective
|
|
|
|
Freeze the sweep follow-up and timeout hygiene inputs.
|
|
|
|
### Tasks
|
|
|
|
1. verify follow-up sweep status counts
|
|
2. verify timeout hygiene summary:
|
|
- `rerun-resolved-pass = 2`
|
|
- `rerun-resolved-fail-closed = 1`
|
|
- `rerun-still-timeout = 0`
|
|
- `rerun-error = 0`
|
|
|
|
### Deliverables
|
|
|
|
1. frozen integration input set
|
|
|
|
### Acceptance Criteria
|
|
|
|
1. only the fixed follow-up and hygiene inputs are used
|
|
|
|
## Phase 1: Build Hygiene Overlay
|
|
|
|
### Objective
|
|
|
|
Attach timeout hygiene results onto raw timeout scenes.
|
|
|
|
### Tasks
|
|
|
|
1. match timeout hygiene records to the follow-up sweep by `sceneId`
|
|
2. preserve raw `source-unreadable`
|
|
3. add:
|
|
- `hygieneStatus`
|
|
- `hygieneInterpretation`
|
|
4. map:
|
|
- `rerun-resolved-pass -> timeout-as-pass-candidate`
|
|
- `rerun-resolved-fail-closed -> timeout-as-fail-closed-candidate`
|
|
- `rerun-still-timeout -> timeout-still-unreadable`
|
|
- `rerun-error -> timeout-rerun-error`
|
|
|
|
### Deliverables
|
|
|
|
1. timeout hygiene overlay records
|
|
|
|
### Acceptance Criteria
|
|
|
|
1. all three timeout scenes receive one overlay status
|
|
2. raw status is preserved
|
|
|
|
## Phase 2: Build Integrated Summary
|
|
|
|
### Objective
|
|
|
|
Publish a hygiene-aware timeout summary alongside the raw sweep summary.
|
|
|
|
### Tasks
|
|
|
|
1. preserve raw follow-up status counts
|
|
2. add hygiene-aware timeout interpretation counts
|
|
3. summarize:
|
|
- `timeout-as-pass-candidate`
|
|
- `timeout-as-fail-closed-candidate`
|
|
- `timeout-still-unreadable`
|
|
- `timeout-rerun-error`
|
|
|
|
### Deliverables
|
|
|
|
1. integrated summary block
|
|
|
|
### Acceptance Criteria
|
|
|
|
1. raw and hygiene-aware summaries both exist
|
|
2. timeout bucket is no longer lossy in the integrated output
|
|
|
|
## Phase 3: Publish Integrated Output
|
|
|
|
### Objective
|
|
|
|
Publish the bounded reconciliation-friendly hygiene integration output.
|
|
|
|
### Tasks
|
|
|
|
1. write `tests/fixtures/generated_scene/timeout_rerun_hygiene_integration_2026-04-19.json`
|
|
2. write `docs/superpowers/reports/2026-04-19-timeout-rerun-hygiene-integration-report.md`
|
|
3. state that this is an interpretation/reporting layer only
|
|
|
|
### Deliverables
|
|
|
|
1. timeout hygiene integration JSON
|
|
2. timeout hygiene integration report
|
|
|
|
### Acceptance Criteria
|
|
|
|
1. both files exist
|
|
2. no execution board update is made
|
|
3. no implementation change is made
|
|
|
|
## Completion Criteria
|
|
|
|
This plan is complete when:
|
|
|
|
1. inputs are frozen
|
|
2. timeout hygiene overlay is attached
|
|
3. integrated raw and hygiene-aware summaries are published
|
|
4. JSON and report are written
|
|
|
|
## Stop Statement
|
|
|
|
Stop after publishing the integration JSON and report.
|
|
|
|
Do not start implementation or board updates inside this plan.
|