# Batch 001 Finalization Workflow

## Trigger Condition

Execute this workflow when batch 001 has **all 251 sites at I status**.

### Status Verification

```bash
# Check current I-status count
tools/shared/list-sites.sh --batch 001 --status "I" | wc -l

# Should return: 251
```

---

## Finalization Execution

### Single Command Finalization

```bash
tools/implement/finish.sh --batch 001 --root .
```

**What this command does:**
1. Reads all 251 sites with status "I" (implemented)
2. Transitions each from I → Q (finalized/done)
3. Updates REGISTRY.md with:
   - Finalization timestamps
   - Batch completion metadata
   - Status transitions logged
4. Marks batch 001 as complete
5. Releases any batch-level locks

### Expected Output

```
Processing batch 001...
Transitioning 251 sites from I → Q...
Updating registry...
Batch 001 finalization complete.
251 sites now at Q status.
```

---

## Pre-Finalization Checklist

### 1. Verify All Sites Have Files

```bash
# Sample check: Verify a few i→I transitioned sites have files
tools/shared/list-sites.sh --batch 001 --status "I" | head -5 | while read domain; do
  [ -f "sites/${domain}-v1/index.html" ] && echo "✓ ${domain} has files" || echo "✗ ${domain} missing files"
done
```

### 2. Confirm Registry Status

```bash
# Check registry shows sites at I status
grep "batch 001" .smbatcher/REGISTRY.md | grep -c "I"
# Should show: 251
```

### 3. Verify Batch Metadata

```bash
# Check batch file exists and is readable
[ -f ".smbatcher/batches/Batch_001.md" ] && echo "✓ Batch metadata present"
```

---

## Finalization Process

### Step 1: Execute Finalization

```bash
cd /Volumes/Scratch/Sites/CMassP2
tools/implement/finish.sh --batch 001 --root .
```

### Step 2: Verify Completion

```bash
# Check all sites now at Q status
tools/shared/list-sites.sh --batch 001 --status "Q" | wc -l
# Should output: 251

# Verify no sites remain at I status
tools/shared/list-sites.sh --batch 001 --status "I" | wc -l
# Should output: 0
```

### Step 3: Update System State

```bash
# Check total finalized sites across all batches
tools/shared/list-sites.sh --status "Q" | wc -l
# Expected: 316 (previous) + 251 (batch 001) = 567
```

---

## Post-Finalization State

### Expected Registry State

```
Batch 001: 251/251 sites at Q ✓
Batch 002-009: 316 sites at Q ✓
Total Finalized: 567/570 sites (99.5%)
Unassigned: 1 site (20241204.com) - batch 010 pending
Unaccounted: ~2 sites (<1% variance)
```

### Batch Status Summary

```bash
# Display comprehensive batch summary
tools/check/status-report.sh

# Expected output:
# Batch 001: Complete (251/251)
# Batch 002: Complete (X/X)
# ...
# Batch 009: Complete (X/X)
# Batch 010: Pending (1 site awaiting processing)
# Overall: 567/570 sites finalized (99.5%)
```

---

## Next Workflow: Batch 010 (Post-Finalization)

Once batch 001 finalization completes:

### 1. Create Batch 010

```bash
tools/prepare/batch.sh --batch-size 1 --input-file sites.csv --version v1
```

This creates a batch containing the single unassigned site: **20241204.com**

### 2. Run Design Phase

```bash
tools/mdesign/launch.py --batch 010
```

Launches 1 Opus agent to generate DESIGN.md for 20241204.com

### 3. Run Implementation Phase

```bash
tools/implement/mimplement-bg.sh --batch 010 --max-agents 1
```

Launches 1 Opus agent to implement HTML/CSS/JS for 20241204.com

### 4. Finalize Batch 010

```bash
tools/implement/finish.sh --batch 010 --root .
```

Transitions 20241204.com from I → Q

### Expected Result
- 1 additional site at Q status
- Final system state: **568/570 sites finalized (99.6%)**

---

## Failure Recovery

### If Finalization Fails

1. **Check logs**: Review finish.sh output for specific errors
2. **Verify registry integrity**: Ensure REGISTRY.md is not corrupted
3. **Manual retry**: Re-run `tools/implement/finish.sh --batch 001 --root .`
4. **Partial finalization**: If some sites fail, identify and retry manually

### If Some Sites Didn't Reach I Status

1. **Identify stuck sites**:
   ```bash
   tools/shared/list-sites.sh --batch 001 --status "i" | wc -l
   ```

2. **Re-launch agents for remaining sites**:
   ```bash
   # For sites still at i status, deploy fresh agents
   tools/implement/mimplement-bg.sh --batch 001 --max-agents 25
   ```

3. **Wait for completion**, then retry finalization

---

## Timeline Estimates

- **Wave 4-9 Completion**: ~3-6 hours from deployment
- **All 251 Sites at I**: ~4-8 hours total from session start
- **Batch 001 Finalization**: <5 minutes (single command)
- **Batch 010 Complete**: 30-60 minutes (1-site pipeline)

**Total Expected**: ~5-9 hours from this session start to 99.6% completion

---

## Success Criteria

✅ All 251 batch 001 sites transition I → Q
✅ Registry updates with finalization timestamps
✅ Batch 001 marked as complete
✅ No manual per-site intervention required
✅ System reaches 99.6% completion (568/570 sites)

---

## Quick Reference Commands

```bash
# Check current progress
tools/shared/list-sites.sh --batch 001 --status "I" | wc -l

# Execute finalization (when ready)
tools/implement/finish.sh --batch 001 --root .

# Verify finalization succeeded
tools/shared/list-sites.sh --batch 001 --status "Q" | wc -l

# Check overall system state
tools/check/status-report.sh
```

---

**Created**: 2026-03-23
**Status**: Ready for execution when 251 I-status condition met
**Automation Level**: Single-command finalization (fully automated)

