Interactive Validation Patterns¶
Version: 1.0.0 Last Updated: 2025-01-13 Status: Active Standard Code: VAL
Overview¶
This standard provides comprehensive guidelines and best practices for the subject area. It aims to ensure consistency, quality, and maintainability across all related implementations.
Purpose¶
Real-time, interactive validation patterns for checking code and configuration compliance against standards.
Real-time Code Validation¶
Basic Validation Pattern¶
against:[CS:python + TS:docstring]
Output:
- ❌ Missing type hints (CS:3.1)
- ❌ Missing docstring (CS:3.2)
- ✅ Function under 50 lines (CS:3.1)
- ⚠️ Generic function name (CS:naming)
Suggested fix: @generate compliant-version following:[identified-violations]
### Suggested Compliant Version
```python
def calculate_double_value(x: Union[int, float]) -> Union[int, float]:
    """Calculate double the input value.
    Args:
        x: Numeric value to double
    Returns:
        The input value multiplied by 2
    Raises:
        TypeError: If x is not numeric
    """
    if not isinstance(x, (int, float)):
        raise TypeError(f"Expected numeric input, got {type(x)}")
    return x * 2
Validation Contexts¶
API Endpoint Validation¶
@validate endpoint:
```python
@app.route('/users/<id>', methods=['GET'])
def get_user(id):
    user = db.query(f"SELECT * FROM users WHERE id = {id}")
    return jsonify(user)
against:[CS:api + SEC:api + TS:integration]
Critical Issues:
- 🚨 SQL Injection vulnerability (SEC:4.1)
- ❌ No authentication check (SEC:auth)
- ❌ No input validation (CS:validation)
- ❌ No error handling (CS:error-handling)
- ⚠️ No rate limiting (SEC:api)
- ⚠️ Missing OpenAPI documentation (CS:api)
@validate component:
function UserCard({user}) {
    return <div onClick={() => delete(user.id)}>
        <h1>{user.name}</h1>
        <img src={user.avatar} />
    </div>
}
against:[FE:react + WD:accessibility + SEC:frontend]
Issues:
- ❌ Missing prop types/TypeScript (FE:types)
- ❌ No accessible alt text (WD:accessibility)
- ❌ Unsafe delete operation (SEC:frontend)
- ⚠️ Missing error boundaries (FE:error-handling)
- ⚠️ No loading states (WD:ux)
@validate-quick [code] check:[syntax + critical-security]
@validate [code] against:[relevant-standards] output:[issues + suggestions]
@validate-deep [code] analyze:[ - Standards compliance - Performance implications - Security vulnerabilities - Test coverage gaps - Accessibility issues - Technical debt ]
@validate project:[path] standards:[CS:+ TS: + SEC:] output:[report.md] ignore:[node_modules/,.test.js]
Summary Report:
- Files analyzed: 147
- Standards compliance: 78%
- Critical issues: 12
- Warnings: 45
- Suggestions: 89
@validate changes-since:[last-commit] standards:[enforced-only] fail-on:[critical]
Issue: Missing error handling @generate fix for:[specific-issue] in-context:[surrounding-code]
@generate fixes for-all:[missing-docstrings] style:[google] include:[parameter-descriptions]
@suggest refactoring for:[complex-function] goals:[reduce-complexity + improve-testability] maintain:[functionality + performance]
@validate on:[save] check:[style + critical-issues] auto-fix:[safe-formatting] warn:[other-issues]
@show hints while:[typing] for:[current-line] based-on:[relevant-standards] throttle:[300ms]
@validate staged:[files] enforce:[CS:style + SEC:secrets + TS:broken-tests] block-if:[violations] suggest:[quick-fixes]
@validate pr:[number] compare:[base...head] comment:[line-specific-issues] require:[85%-coverage + no-critical-issues] label:[compliance-status]
Code Standards Validation Report¶
✅ Style: Compliant ❌ Security: 2 critical issues ⚠️ Testing: Coverage at 72% (required: 85%) 💡 Performance: 3 optimization opportunities
Action Items:
- Fix SQL injection vulnerability (line 45)
- Add authentication check (line 23)
- Increase test coverage by 13%
### Machine-Readable
```json
{
  "validation": {
    "timestamp": "2025-01-10T10:30:00Z",
    "compliance_score": 0.78,
    "issues": [
      {
        "severity": "critical",
        "type": "security",
        "standard": "SEC:4.1",
        "file": "api/users.py",
        "line": 45,
        "message": "SQL injection vulnerability",
        "fix_available": true
      }
    ]
  }
}
Actionable Report¶
## Immediate Actions Required
### 🚨 Critical (Fix Now)
1. **SQL Injection** - `api/users.py:45`
   ```python
   # Current (Vulnerable)
   query = f"SELECT * FROM users WHERE id = {id}"
   # Fixed (Safe)
   query = "SELECT * FROM users WHERE id = %s"
   cursor.execute(query, (id,))
   ```
### ⚠️ Important (Fix This Sprint)
1. **Missing Tests** - `services/auth.py`
   - Current coverage: 45%
   - Required: 85%
   - Add tests for: login(), logout(), refresh_token()
Implementation¶
Getting Started¶
- Review the relevant sections of this standard for your use case
- Identify which guidelines apply to your project
- Implement the required practices and patterns
- Validate compliance using the provided checklists
Implementation Checklist¶
- Review and understand applicable standards
- Implement required practices
- Follow recommended patterns
- Validate implementation against guidelines
- Document any deviations with justification