---
phase: 04-review-download-security
plan: 04
type: execute
wave: 4
depends_on: [04-03]
files_modified:
- src/App.tsx
- src/components/wizard/StepIndicator.tsx
autonomous: true
requirements: [CONF-02, CONF-03, DOWN-01, DOWN-02, DOWN-03, DOWN-04, DOWN-05, DOWN-06, SECU-01, SECU-02, SECU-03]
must_haves:
truths:
- "App.tsx renders ReviewStep when currentStep is 3"
- "StepIndicator shows 4 labels: Backend, Remote Config, Deployment, Review"
- "Navigating to step 3 via StepIndicator dispatch renders the ReviewStep component"
- "Full npm test suite remains GREEN after wiring"
artifacts:
- path: "src/App.tsx"
provides: "Wired ReviewStep as step index 3 in the steps array"
contains: "ReviewStep"
- path: "src/components/wizard/StepIndicator.tsx"
provides: "STEP_LABELS updated with fourth entry 'Review'"
contains: "Review"
key_links:
- from: "src/App.tsx"
to: "src/components/wizard/ReviewStep.tsx"
via: "import { ReviewStep }"
pattern: "ReviewStep"
- from: "src/components/wizard/StepIndicator.tsx"
to: "STEP_LABELS array"
via: "array entry at index 3"
pattern: "'Review'"
---
Wire ReviewStep into the running application: add it as step index 3 in App.tsx and add 'Review' as the fourth entry in StepIndicator's STEP_LABELS array.
Purpose: ReviewStep is fully implemented and tested in isolation (Plan 03). This plan completes the integration so the full 4-step wizard flow is navigable end-to-end.
Output: Updated App.tsx and StepIndicator.tsx. No new files.
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
@.planning/phases/04-review-download-security/04-RESEARCH.md
@src/App.tsx
@src/components/wizard/StepIndicator.tsx
@src/App.test.tsx
From src/App.tsx (current — step 3 add point annotated in comments):
```typescript
// Guard: clamp to valid range (phase 4 will add step 3 for review/download)
const stepIndex = Math.min(state.currentStep, steps.length - 1);
// steps array currently has indices 0, 1, 2
```
From src/components/wizard/StepIndicator.tsx (current):
```typescript
const STEP_LABELS = ['Backend', 'Remote Config', 'Deployment'];
// Add 'Review' as index 3
```
The App.tsx clamp logic (`Math.min(state.currentStep, steps.length - 1)`) already handles step 3 correctly once ReviewStep is in the array — no logic changes needed, only array population.
Task 1: Wire ReviewStep into App.tsx and add 'Review' label to StepIndicator
src/App.tsx, src/components/wizard/StepIndicator.tsx
Edit src/App.tsx:
1. Add import: `import { ReviewStep } from './components/wizard/ReviewStep';`
2. Add ReviewStep as the fourth element in the steps array:
```typescript
const steps = [
,
,
,
, // step index 3 — Phase 4
];
```
3. Remove or update the comment "phase 4 will add step 3 for review/download" — it is now implemented.
4. The `Math.min(state.currentStep, steps.length - 1)` clamp requires NO change — it automatically works with 4 steps.
Edit src/components/wizard/StepIndicator.tsx:
1. Update STEP_LABELS to include 'Review' as the fourth entry:
```typescript
const STEP_LABELS = ['Backend', 'Remote Config', 'Deployment', 'Review'];
```
2. Update the header comment to reflect the new step: `// 1.Backend > 2.Remote Config > 3.Deployment > 4.Review`
3. No other logic changes needed — the map over STEP_LABELS automatically renders the fourth step.
After edits, run `npm test` to verify:
- App.test.tsx (existing step routing tests) must remain GREEN
- StepIndicator.test.tsx must remain GREEN
- All other tests must remain GREEN
npm test 2>&1 | tail -20
App.tsx imports and renders ReviewStep at step index 3. StepIndicator shows 4 step labels including 'Review'. Full npm test suite GREEN. TypeScript compilation clean.
`npm run build` succeeds. `npm test` full suite GREEN. The app wires ReviewStep without breaking any existing step routing, StepIndicator navigation, or prior test assertions.
- src/App.tsx imports ReviewStep and includes it as steps[3]
- src/components/wizard/StepIndicator.tsx STEP_LABELS has 4 entries ending with 'Review'
- All existing tests (App.test.tsx, StepIndicator.test.tsx, all Phase 1–3 tests) remain GREEN
- `npm run build` produces no errors