id: ctx-code-001
name: Code Task with Context Loading
description: |
  Tests the Execute stage context loading: Approve → Load code.md → Write → Validate
  Validates that agent loads .opencode/context/core/standards/code.md before writing code.
  
  Critical rule from openagent.md (Line 162-193):
  "Code tasks → .opencode/context/core/standards/code.md (MANDATORY)"

category: developer
agent: openagent
model: anthropic/claude-sonnet-4-5

# Multi-turn: OpenAgent requires text approval before writing
prompts:
  - text: |
      Create a simple TypeScript function called 'add' that takes two numbers and returns their sum.
      Save it to evals/test_tmp/math.ts
    expectContext: true
    contextFile: ".opencode/context/core/standards/code.md"
  
  - text: |
      Yes, proceed with the plan. Execute it now.
    delayMs: 2000

# Expected behavior
behavior:
  mustUseTools: [read, write]  # Must read context, then write code
  requiresApproval: true
  requiresContext: true         # MUST load code.md before writing
  minToolCalls: 2               # At least: read context + write file

# Expected violations
expectedViolations:
  - rule: approval-gate
    shouldViolate: false
    severity: error
    description: Must ask approval before writing files
  
  - rule: context-loading
    shouldViolate: false
    severity: error
    description: Must load code.md before writing code
  
  - rule: execution-balance
    shouldViolate: false
    severity: warning
    description: Should read context before writing code

# Approval strategy
approvalStrategy:
  type: auto-approve

timeout: 120000

tags:
  - workflow-validation
  - context-loading
  - code-task
  - critical-rule
  - v2-schema
