Skillset Schema Development
Keep One Contract Owner
- Read
docs/project/tenets.md, relevant ADRs, anddocs/development/schema-contracts.md. - Confirm the field represents a real adaptive source meaning. Keep provider-only contracts under explicit provider blocks.
- Change
packages/schema/src/contracts.tsand shared value contracts before teaching compiler, Workbench, CLI, or documentation another shape. - Add structural diagnostics in
packages/schema/src/validate.ts; keep path resolution, destination policy, graph semantics, and rendering behavior in Core. - Route all consumers through
@skillset/schemainstead of maintaining parallel allowed-key lists.
Read references/contract-workflow.md for the artifact, validation, example, and release checklist.
Verify The Contract
- Extend schema descriptor, validation, and maximal-example coverage.
- Run
bun run schema:generate, inspect generated schemas and examples, then runbun run schema:check. - Run focused schema and affected-consumer tests with
bun run test:focused -- <test-files...>. - Add a package Changeset for package-facing schema changes and a Skillset change entry when the self-hosted source contract or generated-output promise changes.
- Rebuild and check self-hosted output when canonical
.skillset/source changes. - Run
bun run typecheckandbun run checkbefore handoff.
Do not document a field that the schema package does not own, hand-edit generated schema artifacts, or use provider spelling as a second portable key for the same meaning.