Rituals API specification, schema design, and breaking change detection
- Python 97%
- Shell 3%
Per the schema-first principle: migrations own DDL; service code asserts the schema exists. Replaces _init_dynseal_tables (3× CREATE TABLE IF NOT EXISTS) with _assert_dynseal_schema, which probes each of pattern_attestations, information_provenance, supply_chain_log via SELECT 1 LIMIT 0 and raises a RuntimeError with an actionable message if the migration hasn't been applied. Canonical schema lives in toilville-db migrations/353_dynseal_provenance.sql (in the parent repo). Note: dynseal currently writes to a local SQLite (foundation.db); the assertion path is correct either way (SQLite or future Postgres backing). |
||
|---|---|---|
| .spel | ||
| config/vocabularies/SPELWork | ||
| docs | ||
| dynseal | ||
| examples | ||
| manifests | ||
| schemas | ||
| styles | ||
| .gitignore | ||
| .vale.ini | ||
| bootstrap.sh | ||
| breaking_change_detector.py | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| DYNSEAL_README.md | ||
| extract_db_docs.py | ||
| forge_config.py | ||
| models.py | ||
| openapi.yaml | ||
| README.md | ||
| requirements.txt | ||
| schema.json | ||
| SCHEMA_API_DESIGN.md | ||
| schema_openapi.yaml | ||
| spelwork.schema.json | ||
| start-dynseal-server.sh | ||
| test-dynseal-api.sh | ||
| VALE_LORE_GUIDE.md | ||
API Specification
REST API (OpenAPI 3.1) and Kafka event schemas (AsyncAPI) for the rituals orchestration service.
Specs
| File | Description |
|---|---|
| openapi.yaml | REST API — all endpoints, request/response schemas |
| docs/src/01-overview.md | API overview and integration guide |
Canonical Catalogs
These files are generated from the live DB. View canonical source, not the stubs:
| Stub | Canonical Source |
|---|---|
| docs/event-catalog.md | docs/src/04-event-catalog.md |
| docs/intent-catalog.md | docs/src/06-intent-catalog.md |
Regenerate
# Regenerate event + intent catalogs from DB
reconcile --lore generate --type forge_event_catalog
reconcile --lore generate --type forge_intent_catalog