# Code Generation Workflow - MANDATORY

## Applies To: ALL MODES
**This workflow applies to MSP Mode, Development Mode, and Normal Mode.**

All modes use agents extensively to preserve context space. Code generation follows the same quality standards regardless of mode.

---

## Critical Rule: NO CODE BYPASSES REVIEW

**All code generated by the Coding Agent MUST be reviewed by the Code Review Agent before being presented to the user or deployed to production.**

This is non-negotiable and applies to:
- New code implementations
- Code modifications
- Bug fixes
- Refactoring
- Script creation
- Configuration files with code logic
- Any executable code in any language

**Regardless of which mode you're in** - the quality standards are the same.

## Standard Workflow

```
User Request
    ↓
Main Claude (orchestrates)
    ↓
┌─────────────────────────────────┐
│ 1. Launch Coding Agent          │
│    - Understand requirements    │
│    - Research environment       │
│    - Design solution            │
│    - Implement completely       │
│    - Return code                │
└─────────────────────────────────┘
    ↓
┌─────────────────────────────────┐
│ 2. Launch Code Review Agent     │
│    - Verify spec compliance     │
│    - Check security             │
│    - Verify quality             │
│    - Fix minor issues           │
│    - Escalate major issues      │
└─────────────────────────────────┘
    ↓
    Decision Point
    ↓
┌──────────────┬──────────────────┐
│ APPROVED [OK]  │ REJECTED [ERROR]      │
│              │                  │
│ Present to   │ Send back to     │
│ user with    │ Coding Agent     │
│ review       │ with detailed    │
│ notes        │ feedback         │
└──────────────┴──────────────────┘
                      ↓
               (loop back to step 1)
```

## Execution Pattern

### Pattern 1: Sequential Agent Chain (Typical)

```javascript
// Main Claude orchestrates:

// Step 1: Code generation
const codingResult = await Task({
  subagent_type: "general-purpose",
  prompt: `You are the Coding Agent (see D:\ClaudeTools\.claude\agents\coding.md).

Requirements:
${userRequirements}

Environment:
${environmentContext}

Implement this completely with no shortcuts.`,
  description: "Generate production code"
});

// Step 2: Code review (MANDATORY - always happens)
const reviewResult = await Task({
  subagent_type: "general-purpose",
  prompt: `You are the Code Review Agent (see D:\ClaudeTools\.claude\agents\code-review.md).

Review this code for production readiness:

${codingResult}

Original specification:
${userRequirements}

Approve if production-ready, or escalate with detailed notes if issues found.`,
  description: "Review code for approval"
});

// Step 3: Handle review decision
if (reviewResult.status === "APPROVED") {
  // Present to user with review notes
  presentToUser(codingResult, reviewResult.notes);
} else if (reviewResult.status === "REQUIRES_REVISION") {
  // Loop back to Coding Agent with feedback
  // (repeat until approved)
}
```

### Pattern 2: Multiple Review Cycles (If Needed)

```
Attempt 1:
  Coding Agent → Code Review Agent → REJECTED (security issue)
    ↓
Attempt 2:
  Coding Agent (with feedback) → Code Review Agent → REJECTED (missing edge case)
    ↓
Attempt 3:
  Coding Agent (with feedback) → Code Review Agent → APPROVED [OK]
    ↓
  Present to User
```

**Maximum 3 cycles** - If not approved after 3 attempts, escalate to user for clarification.

## What Gets Presented to User

When code is approved:

```markdown
## Implementation Complete [OK]

[Brief description of what was implemented]

### Code Review Status
**Reviewed by:** Code Review Agent
**Status:** APPROVED for production
**Review Notes:**
- [Strengths identified]
- [Minor fixes applied]
- [Any recommendations]

### Files Modified/Created
- `path/to/file.py` - [description]
- `path/to/test.py` - [description]

### Dependencies Added
- package==version (reason)

### Environment Requirements
- Runtime: Python 3.9+
- OS: Windows/Linux/macOS
- Permissions: [any special permissions]

### Usage
[How to use the code]

### Testing
[How to test/verify]

---

[CODE BLOCKS HERE]
```

## What NEVER Happens

[ERROR] **NEVER** present code directly from Coding Agent to user
[ERROR] **NEVER** skip review "because it's simple"
[ERROR] **NEVER** skip review "because we're in a hurry"
[ERROR] **NEVER** skip review "because user trusts us"
[ERROR] **NEVER** present unapproved code as "draft" without review

## Exceptions: NONE

There are **no exceptions** to this workflow.

Even for:
- "Quick fixes"
- "One-liner changes"
- "Just configuration"
- "Emergency patches"
- "User explicitly asked to skip review"

**All code gets reviewed. Period.**

## Quality Gates

Code Review Agent checks:
- [OK] Specification compliance
- [OK] Security (no vulnerabilities)
- [OK] Error handling (comprehensive)
- [OK] Input validation (all inputs)
- [OK] Best practices (language-specific)
- [OK] Environment compatibility
- [OK] Performance (no obvious issues)
- [OK] Completeness (no TODOs/stubs)

**If any gate fails → REJECTED → Back to Coding Agent**

## Review Cycle Handling

### Cycle 1: Initial Review
- Coding Agent produces code
- Code Review Agent reviews
- If rejected: Detailed feedback provided

### Cycle 2: Revision
- Coding Agent fixes issues from feedback
- Code Review Agent reviews again
- If rejected: More specific feedback

### Cycle 3: Final Attempt
- Coding Agent addresses remaining issues
- Code Review Agent reviews
- If still rejected: Escalate to user

### Escalation to User
After 3 cycles without approval:

```markdown
## Code Implementation - Requires User Input

After 3 review cycles, the code has remaining issues that need your guidance:

**Remaining Issues:**
[List of issues that couldn't be resolved]

**Options:**
1. Relax requirement: [specific requirement to relax]
2. Accept with known limitations: [what limitations]
3. Provide more context: [what's unclear]
4. Change approach: [alternative approach]

**Current Code Status:** Not approved for production
```

## Integration with MSP Mode

When in MSP Mode:
- Code Review Agent checks `environmental_insights` for known constraints
- Review findings logged to database for learning
- Client-specific requirements verified
- Infrastructure compatibility checked

## Monitoring & Metrics

Track (future):
- Average review cycles per implementation
- Common rejection reasons
- Time saved by catching issues pre-production
- Security vulnerabilities prevented

## Training & Improvement

- All rejections logged with reasons
- Patterns analyzed to improve Coding Agent
- Environmental insights updated from review findings
- Review criteria refined based on production issues

---

## Summary

**The Rule:** Coding Agent → Code Review Agent → User

**No Exceptions:** Every single time, no matter what

**Result:** Only production-ready, reviewed, secure code reaches the user

**Benefit:** Quality, security, and reliability guaranteed

---

**This workflow is immutable. Code quality is not negotiable.**
