Contracts
Design source of truth for published HTTP copies is the ecosystem-root YAML (orchestrator-openapi.yaml,cap-openapi.yaml, lms-openapi.yaml, proto/). CAP’s implemented contract is elimi-ecosystem/apps/cap/openapi/openapi.yaml(211 operations). Orchestrator’s iselimi-ecosystem/apps/orchestrator/openapi/openapi.yaml(35 operations). Copy each to the matching ecosystem-root YAML after edits, thenpnpm sync:all. This site publishes underopenapi/ and contracts/. Shared runtime kit is @yourorg/common; generated gRPC stubs are@yourorg/proto.
| Pane | Status | Where to review | Published copy |
|---|---|---|---|
| REST — Orchestrator | Implemented (lockstep with apps/orchestrator) | Scalar reference | openapi/orchestrator.yaml |
| REST — CAP | Implemented (lockstep with apps/cap) | Scalar reference | openapi/cap.yaml |
| REST — LMS | Specced (design) | Scalar reference | openapi/lms.yaml |
| Events | Specced | Event schemas · Catalog | contracts/events/ |
| gRPC | Validated (design) | Proto browser | contracts/proto/ ← synced from proto/ |
Workflow
- CAP: edit
elimi-ecosystem/apps/cap/openapi/openapi.yaml, copy to rootcap-openapi.yaml. Orchestrator: editapps/orchestrator/openapi/openapi.yaml, copy to rootorchestrator-openapi.yaml. Other services: edit ecosystem-root OpenAPI YAMLs /proto/. - Run
pnpm sync:allinelimi-documentationand review in Scalar / Events / gRPC pages. - Narrative pages (API overviews, event catalog, RBAC) must stay consistent with those contracts.
- Service implementation consumes
@yourorg/commonand@yourorg/proto. CAP Express is checked against the app YAML (test:contract).