138 lines
3.4 KiB
YAML
138 lines
3.4 KiB
YAML
# Schema for Solution Documentation
|
|
# Version: 1.0
|
|
# Validator: Manual validation per codify-solution skill Step 5
|
|
# Format: Custom Ring schema (not JSON Schema)
|
|
# Used by: codify-solution skill for AI agent validation
|
|
#
|
|
# This schema defines the required and optional fields for solution documentation.
|
|
# AI agents use this schema to validate YAML frontmatter before creating docs.
|
|
|
|
required_fields:
|
|
date:
|
|
type: string
|
|
pattern: '^\d{4}-\d{2}-\d{2}$'
|
|
description: "Date problem was solved (YYYY-MM-DD)"
|
|
example: "2025-01-27"
|
|
|
|
problem_type:
|
|
type: enum
|
|
values:
|
|
- build_error
|
|
- test_failure
|
|
- runtime_error
|
|
- performance_issue
|
|
- database_issue
|
|
- security_issue
|
|
- ui_bug
|
|
- integration_issue
|
|
- logic_error
|
|
- dependency_issue
|
|
- configuration_error
|
|
- workflow_issue
|
|
description: "Primary category - determines storage directory"
|
|
|
|
component:
|
|
type: string
|
|
description: "Affected component/module (project-specific, not enum)"
|
|
example: "auth-service"
|
|
|
|
symptoms:
|
|
type: array
|
|
items: string
|
|
min_items: 1
|
|
max_items: 5
|
|
description: "Observable symptoms (error messages, visual issues)"
|
|
example:
|
|
- "Error: Cannot read property 'id' of undefined"
|
|
- "Login button unresponsive after 3 clicks"
|
|
|
|
root_cause:
|
|
type: enum
|
|
values:
|
|
- missing_dependency
|
|
- wrong_api_usage
|
|
- configuration_error
|
|
- logic_error
|
|
- race_condition
|
|
- memory_issue
|
|
- type_mismatch
|
|
- missing_validation
|
|
- permission_error
|
|
- environment_issue
|
|
- version_incompatibility
|
|
- data_corruption
|
|
- missing_error_handling
|
|
- incorrect_assumption
|
|
description: "Fundamental cause of the problem"
|
|
|
|
resolution_type:
|
|
type: enum
|
|
values:
|
|
- code_fix
|
|
- config_change
|
|
- dependency_update
|
|
- migration
|
|
- test_fix
|
|
- environment_setup
|
|
- documentation
|
|
- workaround
|
|
description: "Type of fix applied"
|
|
|
|
severity:
|
|
type: enum
|
|
values:
|
|
- critical
|
|
- high
|
|
- medium
|
|
- low
|
|
description: "Impact severity of the original problem"
|
|
|
|
optional_fields:
|
|
project:
|
|
type: string
|
|
description: "Project name (auto-detected from git remote)"
|
|
example: "midaz"
|
|
|
|
language:
|
|
type: string
|
|
description: "Primary language involved"
|
|
example: "go"
|
|
|
|
framework:
|
|
type: string
|
|
description: "Framework if applicable"
|
|
example: "gin"
|
|
|
|
tags:
|
|
type: array
|
|
items: string
|
|
max_items: 8
|
|
description: "Searchable keywords for discovery"
|
|
example:
|
|
- "authentication"
|
|
- "jwt"
|
|
- "middleware"
|
|
|
|
related_issues:
|
|
type: array
|
|
items: string
|
|
description: "Links to related solution docs or external issues"
|
|
example:
|
|
- "docs/solutions/security-issues/jwt-expiry-handling-20250115.md"
|
|
- "https://github.com/org/repo/issues/123"
|
|
|
|
# Category to directory mapping
|
|
category_directories:
|
|
build_error: "build-errors"
|
|
test_failure: "test-failures"
|
|
runtime_error: "runtime-errors"
|
|
performance_issue: "performance-issues"
|
|
database_issue: "database-issues"
|
|
security_issue: "security-issues"
|
|
ui_bug: "ui-bugs"
|
|
integration_issue: "integration-issues"
|
|
logic_error: "logic-errors"
|
|
dependency_issue: "dependency-issues"
|
|
configuration_error: "configuration-errors"
|
|
workflow_issue: "workflow-issues"
|