# WDMaker Quick Reference - Essential Commands

Fast lookup for common operations during batch 001 and batch 010 execution.

---

## Monitoring Status

### Check Current I-Status (Site Implementation Progress)
```bash
tools/shared/list-sites.sh --batch 001 --status "I" | wc -l
```
**Expected when ready for finalization**: `517`

### Check Current O-Status (Still Waiting)
```bash
tools/shared/list-sites.sh --batch 001 --status "O" | wc -l
```
**Expected before finalization**: Decreasing (0 when complete)

### List Sites at I-Status (Show Domain Names)
```bash
tools/shared/list-sites.sh --batch 001 --status "I"
```
**Use for**: Verifying specific site progress, sampling files

### Get Overall System Status
```bash
tools/check/status-report.sh
```
**Use for**: Comprehensive metrics on all batches and phases

### Count Total Finalized Sites (All Batches)
```bash
tools/shared/list-sites.sh --status "Q" | wc -l
```
**Expected at project end**: `566` (99.6% completion)

---

## Registry Inspection

### Search for Specific Site Status
```bash
grep "| 20241204.com |" .smbatcher/REGISTRY.md
```
**Returns**: Full registry line with status, batch, and timestamp

### View Last 10 Registry Updates
```bash
tail -10 .smbatcher/REGISTRY.md
```
**Use for**: Recent activity, timestamp verification

### Count Sites by Status
```bash
echo "O: $(grep -c '| O |' .smbatcher/REGISTRY.md)"
echo "i: $(grep -c '| i |' .smbatcher/REGISTRY.md)"
echo "I: $(grep -c '| I |' .smbatcher/REGISTRY.md)"
echo "Q: $(grep -c '| Q |' .smbatcher/REGISTRY.md)"
```
**Use for**: Quick status distribution check

### Show Site Status Across Batches
```bash
grep "| [A-Z0-9]" .smbatcher/REGISTRY.md | cut -d'|' -f2,4,5 | sort | head -20
```
**Use for**: Batch composition analysis

---

## File Verification

### Check If Site Has All Three Files
```bash
for file in sites/DOMAIN-v1/{index.html,styles.css,script.js}; do
  [ -f "$file" ] && echo "✓ $file" || echo "✗ Missing: $file"
done
```
**Replace**: `DOMAIN` with actual domain (e.g., `lotus.dev`)

### Count Sites with Complete File Sets
```bash
count=0
for site in sites/*-v1; do
  if [ -f "$site/index.html" ] && [ -f "$site/styles.css" ] && [ -f "$site/script.js" ]; then
    count=$((count+1))
  fi
done
echo "Complete implementations: $count"
```
**Use for**: Verification before finalization

### Verify DESIGN.md Exists for Site
```bash
[ -f "sites/DOMAIN-v1/DESIGN.md" ] && echo "✓ DESIGN.md exists" || echo "✗ DESIGN.md missing"
```
**Replace**: `DOMAIN` with actual domain

### Check File Sizes (Should Be Non-Empty)
```bash
ls -lh sites/DOMAIN-v1/*.{html,css,js} 2>/dev/null | awk '{print $5, $9}'
```
**Use for**: Verify files have content (not 0 bytes)

---

## Batch Operations

### List All Batch Files
```bash
ls -la .smbatcher/batches/
```
**Use for**: Verify batch structure

### Check Batch 001 Contents
```bash
wc -l .smbatcher/batches/Batch_001.md
```
**Expected**: ~570 lines (header + 568 sites)

### View First 20 Sites in Batch
```bash
head -25 .smbatcher/batches/Batch_001.md | tail -20
```
**Use for**: Quick content verification

---

## Finalization Operations

### Pre-Finalization Check (ALL MUST BE YES)
```bash
echo "I-status = 517?: $([ $(tools/shared/list-sites.sh --batch 001 --status 'I' | wc -l) -eq 517 ] && echo 'YES' || echo 'NO')"
echo "O-status = 0?: $([ $(tools/shared/list-sites.sh --batch 001 --status 'O' | wc -l) -eq 0 ] && echo 'YES' || echo 'NO')"
echo "i-status = 0?: $([ $(tools/shared/list-sites.sh --batch 001 --status 'i' | wc -l) -eq 0 ] && echo 'YES' || echo 'NO')"
echo "Batch file exists?: $([ -f '.smbatcher/batches/batch-001-implement.md' ] && echo 'YES' || echo 'NO')"
echo "Registry writable?: $(touch .smbatcher/test_w && rm .smbatcher/test_w && echo 'YES' || echo 'NO')"
```

### Execute Batch 001 Finalization
```bash
tools/implement/finish.sh --batch 001 --root .
```
**CRITICAL**: Only run when pre-check shows ALL YES

### Execute Batch 010 Finalization
```bash
tools/implement/finish.sh --batch 010 --root .
```
**CRITICAL**: Only run after batch 010 implementation complete

### Post-Finalization Verification
```bash
echo "Batch 001 Q-status: $(tools/shared/list-sites.sh --batch 001 --status 'Q' | wc -l) / 517"
echo "Total finalized: $(tools/shared/list-sites.sh --status 'Q' | wc -l) / 568"
```
**Expected**: 517 and 565 respectively (after batch 001 finalized)

---

## Batch 010 Operations

### Create Batch 010
```bash
tools/prepare/batch.sh --batch-size 1 --input-file sites.csv --version v1
```
**Use for**: Creating batch from unassigned site

### Deploy Design for Batch 010
```bash
tools/mdesign/launch.py --batch 010
```
**Duration**: 5-10 minutes

### Deploy Implementation for Batch 010
```bash
tools/implement/mimplement-bg.sh --batch 010 --max-agents 1
```
**Duration**: 5-10 minutes

### Check 20241204.com Status
```bash
grep "| 20241204.com |" .smbatcher/REGISTRY.md
```
**Status flow**: - → D → O → i → I → Q

### Verify Batch 010 Complete
```bash
STATUS=$(grep "| 20241204.com |" .smbatcher/REGISTRY.md | cut -d'|' -f4 | tr -d ' ')
echo "20241204.com status: $STATUS"
[ "$STATUS" = "Q" ] && echo "✅ COMPLETE" || echo "⏳ IN PROGRESS"
```

---

## Troubleshooting

### Find Sites Stuck at O Status
```bash
tools/shared/list-sites.sh --batch 001 --status "O" | head -10
```
**Use for**: Identify which sites haven't started yet

### Find Sites Stuck at i Status
```bash
tools/shared/list-sites.sh --batch 001 --status "i"
```
**Use for**: Identify which sites are still processing

### Check for Missing HTML Files
```bash
for domain in $(tools/shared/list-sites.sh --batch 001 --status "I" | head -5); do
  [ ! -f "sites/${domain}-v1/index.html" ] && echo "Missing HTML: $domain"
done
```
**Use for**: Verify file generation

### View Recent Registry Activity
```bash
grep "2026-03-24" .smbatcher/REGISTRY.md | tail -20
```
**Replace**: Date as needed, shows recent updates

### Check Registry File Health
```bash
echo "Registry lines: $(wc -l < .smbatcher/REGISTRY.md)"
echo "Registry size: $(du -h .smbatcher/REGISTRY.md | cut -f1)"
echo "Last modified: $(stat -f '%Sm' .smbatcher/REGISTRY.md 2>/dev/null || stat -c %y .smbatcher/REGISTRY.md)"
```
**Use for**: Verify file integrity

---

## Performance Monitoring

### Sites Per Minute During Processing
```bash
# Run this twice (at start and after 5 minutes)
I_COUNT=$(tools/shared/list-sites.sh --batch 001 --status "I" | wc -l)
echo "Current I-status: $I_COUNT sites"
echo "Sites per minute: $(( (I_COUNT - PREVIOUS) / 5 ))"
```

### Wave Activity Check
```bash
echo "Active agents (rough estimate):"
echo "O-status sites: $(tools/shared/list-sites.sh --batch 001 --status 'O' | wc -l)"
echo "i-status sites: $(tools/shared/list-sites.sh --batch 001 --status 'i' | wc -l)"
echo "Completed: $(tools/shared/list-sites.sh --batch 001 --status 'I' | wc -l)"
```

### Estimate Time to Completion
```bash
# If 100 sites complete, estimate 517 total * 8-10 min per site / 25 concurrent agents
CURRENT_I=$(tools/shared/list-sites.sh --batch 001 --status "I" | wc -l)
REMAINING=$((517 - CURRENT_I))
ESTIMATED_MINUTES=$((REMAINING * 5 / 25))
echo "Remaining sites: $REMAINING"
echo "Estimated time to completion: ~$ESTIMATED_MINUTES minutes"
```

---

## Project Completion Checklist

```bash
# Run this comprehensive check
echo "=== FINAL PROJECT COMPLETION CHECK ==="
echo ""
echo "✓ Batch 001:"
echo "  I-status: $(tools/shared/list-sites.sh --batch 001 --status 'I' | wc -l) / 517"
echo "  Q-status: $(tools/shared/list-sites.sh --batch 001 --status 'Q' | wc -l) / 517"
echo ""
echo "✓ Prior Batches (002-009):"
Q_PRIOR=$(grep "| Q |" .smbatcher/REGISTRY.md | grep -E "00[2-9]|" | wc -l)
echo "  Q-status: $Q_PRIOR / 48"
echo ""
echo "✓ Batch 010:"
STATUS_010=$(grep "| 20241204.com |" .smbatcher/REGISTRY.md | cut -d'|' -f4 | tr -d ' ')
echo "  Status: $STATUS_010"
echo ""
TOTAL_Q=$(tools/shared/list-sites.sh --status "Q" | wc -l)
echo "✓ Project Total:"
echo "  Finalized: $TOTAL_Q / 566 (Expected for 99.6%)"
echo "  Completion: $(( TOTAL_Q * 100 / 566 ))%"
```

---

## Emergency Commands

### Stop All Batch 001 Processing (If Needed)
```bash
# This doesn't actually stop agents, but prevents new ones:
# (Agents are autonomous and continue even if orchestrator stops)
# Use this only in emergency situations
echo "WARNING: Agents will continue autonomously"
```

### Restart Finalization If Interrupted
```bash
# Safe to re-run (idempotent)
tools/implement/finish.sh --batch 001 --root .
```

### Backup Registry Before Major Operation
```bash
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
cp .smbatcher/REGISTRY.md .smbatcher/REGISTRY.md.backup-$TIMESTAMP
echo "Registry backed up: REGISTRY.md.backup-$TIMESTAMP"
```

---

## Reference

- **Full Planning**: BATCH_001_MASTER_PLAN.md
- **Current Status**: CURRENT_STATUS_SNAPSHOT.md
- **Finalization Steps**: FINALIZATION_EXECUTION_GUIDE.md
- **Batch 010 Workflow**: BATCH_010_DETAILED_WORKFLOW.md
- **Complete Documentation**: README_SESSION_20260323.md

---

*Quick Reference Created: 2026-03-24*
*Purpose: Fast access to essential operations*
*Scope: Batch 001, Batch 010, and finalization workflows*

