fix: consolidate compound-docs into ce-compound skill (#390)

This commit is contained in:
Trevin Chow
2026-03-26 11:41:19 -07:00
committed by GitHub
parent eb9084b5bd
commit daddb7d72f
17 changed files with 494 additions and 917 deletions

View File

@@ -0,0 +1,127 @@
# Documentation schema for learnings written by ce:compound
# Treat this as the canonical frontmatter contract for docs/solutions/.
required_fields:
module:
type: string
description: "Module or area affected by the problem"
date:
type: string
pattern: '^\d{4}-\d{2}-\d{2}$'
description: "Date the problem was solved (YYYY-MM-DD)"
problem_type:
type: enum
values:
- build_error
- test_failure
- runtime_error
- performance_issue
- database_issue
- security_issue
- ui_bug
- integration_issue
- logic_error
- developer_experience
- workflow_issue
- best_practice
- documentation_gap
description: "Primary category of the problem"
component:
type: enum
values:
- rails_model
- rails_controller
- rails_view
- service_object
- background_job
- database
- frontend_stimulus
- hotwire_turbo
- email_processing
- brief_system
- assistant
- authentication
- payments
- development_workflow
- testing_framework
- documentation
- tooling
description: "Component involved"
symptoms:
type: array[string]
min_items: 1
max_items: 5
description: "Observable symptoms such as errors or broken behavior"
root_cause:
type: enum
values:
- missing_association
- missing_include
- missing_index
- wrong_api
- scope_issue
- thread_violation
- async_timing
- memory_leak
- config_error
- logic_error
- test_isolation
- missing_validation
- missing_permission
- missing_workflow_step
- inadequate_documentation
- missing_tooling
- incomplete_setup
description: "Fundamental technical cause of the problem"
resolution_type:
type: enum
values:
- code_fix
- migration
- config_change
- test_fix
- dependency_update
- environment_setup
- workflow_improvement
- documentation_update
- tooling_addition
- seed_data_update
description: "Type of fix applied"
severity:
type: enum
values:
- critical
- high
- medium
- low
description: "Impact severity"
optional_fields:
rails_version:
type: string
pattern: '^\d+\.\d+\.\d+$'
description: "Rails version in X.Y.Z format"
related_components:
type: array[string]
description: "Other components involved"
tags:
type: array[string]
max_items: 8
description: "Search keywords, lowercase and hyphen-separated"
validation_rules:
- "All required fields must be present"
- "Enum fields must match allowed values exactly"
- "symptoms must be a YAML array with 1-5 items"
- "date must match YYYY-MM-DD format"
- "rails_version, if provided, must match X.Y.Z format"
- "tags should be lowercase and hyphen-separated"

View File

@@ -0,0 +1,50 @@
# YAML Frontmatter Schema
`schema.yaml` in this directory is the canonical contract for `docs/solutions/` frontmatter written by `ce:compound`.
Use this file as the quick reference for:
- required fields
- enum values
- validation expectations
- category mapping
## Required Fields
- **module**: Module or area affected by the problem
- **date**: ISO date in `YYYY-MM-DD`
- **problem_type**: One of `build_error`, `test_failure`, `runtime_error`, `performance_issue`, `database_issue`, `security_issue`, `ui_bug`, `integration_issue`, `logic_error`, `developer_experience`, `workflow_issue`, `best_practice`, `documentation_gap`
- **component**: One of `rails_model`, `rails_controller`, `rails_view`, `service_object`, `background_job`, `database`, `frontend_stimulus`, `hotwire_turbo`, `email_processing`, `brief_system`, `assistant`, `authentication`, `payments`, `development_workflow`, `testing_framework`, `documentation`, `tooling`
- **symptoms**: YAML array with 1-5 concrete symptoms
- **root_cause**: One of `missing_association`, `missing_include`, `missing_index`, `wrong_api`, `scope_issue`, `thread_violation`, `async_timing`, `memory_leak`, `config_error`, `logic_error`, `test_isolation`, `missing_validation`, `missing_permission`, `missing_workflow_step`, `inadequate_documentation`, `missing_tooling`, `incomplete_setup`
- **resolution_type**: One of `code_fix`, `migration`, `config_change`, `test_fix`, `dependency_update`, `environment_setup`, `workflow_improvement`, `documentation_update`, `tooling_addition`, `seed_data_update`
- **severity**: One of `critical`, `high`, `medium`, `low`
## Optional Fields
- **rails_version**: Rails version in `X.Y.Z` format
- **related_components**: Other components involved
- **tags**: Search keywords, lowercase and hyphen-separated
## Category Mapping
- `build_error` -> `docs/solutions/build-errors/`
- `test_failure` -> `docs/solutions/test-failures/`
- `runtime_error` -> `docs/solutions/runtime-errors/`
- `performance_issue` -> `docs/solutions/performance-issues/`
- `database_issue` -> `docs/solutions/database-issues/`
- `security_issue` -> `docs/solutions/security-issues/`
- `ui_bug` -> `docs/solutions/ui-bugs/`
- `integration_issue` -> `docs/solutions/integration-issues/`
- `logic_error` -> `docs/solutions/logic-errors/`
- `developer_experience` -> `docs/solutions/developer-experience/`
- `workflow_issue` -> `docs/solutions/workflow-issues/`
- `best_practice` -> `docs/solutions/best-practices/`
- `documentation_gap` -> `docs/solutions/documentation-gaps/`
## Validation Rules
1. All required fields must be present.
2. Enum fields must match the allowed values exactly.
3. `symptoms` must be a YAML array with 1-5 items.
4. `date` must match `YYYY-MM-DD`.
5. `rails_version`, if present, must match `X.Y.Z`.