2026-10-25 16:35:47 +01:00
|
|
|
schema: spec-driven
|
|
|
|
|
|
|
|
|
|
context: |
|
2026-10-26 14:15:01 +01:00
|
|
|
OpenVidu Dashboard (CE): the admin web app bundled with every OpenVidu deployment, reading the MongoDB analytics
|
|
|
|
|
database written by openvidu-livekit (`openvidu/analytics/`). The writer side is specified here under the
|
|
|
|
|
capabilities prefixed `server-` and implemented in openvidu-livekit; writer and dashboard share one schema contract
|
|
|
|
|
(`dashboard-ce/typings/contract/`) and both check its version.
|
2026-10-25 16:35:47 +01:00
|
|
|
|
2026-10-26 14:15:01 +01:00
|
|
|
These specs describe CE, including how it shows PRO features locked; every requirement states its edition. An edition
|
|
|
|
|
that extends CE does it through the exports and seams of its packages, never by forking them.
|
2026-10-25 16:35:47 +01:00
|
|
|
|
2026-10-26 14:15:01 +01:00
|
|
|
Code layout, stack and conventions are in the `AGENTS.md` files. All artifacts in English. On ambiguity or
|
|
|
|
|
infeasibility stop and ask the owner; never decide alone.
|
2026-10-25 16:35:47 +01:00
|
|
|
|
|
|
|
|
rules:
|
|
|
|
|
proposal:
|
|
|
|
|
- State scope and explicit non-scope, the edition (CE, PRO or both) and the repositories touched (dashboard, openvidu-livekit, openvidu-deployment)
|
|
|
|
|
- List the observable behaviour that changes and the CHANGELOG lines it implies
|
|
|
|
|
specs:
|
|
|
|
|
- Use Given/When/Then scenarios; every requirement names its edition (CE or PRO)
|
|
|
|
|
- Requirements about lists state the filters, sort keys, cursor behaviour and page-size limits
|
|
|
|
|
design:
|
|
|
|
|
- Data model changes list collections, fields with types, indexes, retention, schema-version impact and the migration mapping from legacy events
|
|
|
|
|
- API changes include the OpenAPI shape (paths, params, responses) and the index backing each query
|
|
|
|
|
- State the performance budget and how it is verified (dataset size, explain() plan, p95)
|
|
|
|
|
- Record decisions and rejected alternatives in a "Decisions" section
|
|
|
|
|
tasks:
|
|
|
|
|
- Group tasks by writer (openvidu-livekit), typings, backend, frontend, tests, docs and CHANGELOG
|
|
|
|
|
- Every task names its verification (test, lint, explain() check or manual step)
|
|
|
|
|
- Include updating the AGENTS.md files when commands, layout or conventions change
|
|
|
|
|
|
|
|
|
|
operations:
|
|
|
|
|
apply:
|
|
|
|
|
guidance:
|
|
|
|
|
- Run ./dashboard.sh check before reporting a task as done
|
|
|
|
|
- Verify library versions on npm and APIs on Context7 before adding a dependency
|
|
|
|
|
- Stop and ask the owner on ambiguity or when a task turns out infeasible; never guess
|
|
|
|
|
archive:
|
|
|
|
|
guidance:
|
|
|
|
|
- Confirm the AGENTS.md files and CHANGELOG.md reflect the change before archiving
|