Foundational restructuring to support multiple schemas and composability.
Tasks
- Create
schemas/ directory
- Move
schema.json → schemas/general.json; update all code references to the default schema path
- Extract common
$defs into schemas/_shared.json (status, priority, wikilink, assessment, base entity properties) to eliminate repetition across schema files
- Rewrite
schemas/general.json to $ref the shared defs
- Promote
schema key in config.json to space level — each space can specify its own schema file; top-level default remains schemas/general.json
- Ensure
--schema CLI option continues to work correctly with the new layout
Why
This is the prerequisite for adding a strict_ost schema and future composable schemas. Separating shared definitions avoids duplication and drift between schemas.
Relates to #3 (research findings).
Foundational restructuring to support multiple schemas and composability.
Tasks
schemas/directoryschema.json→schemas/general.json; update all code references to the default schema path$defsintoschemas/_shared.json(status, priority, wikilink, assessment, base entity properties) to eliminate repetition across schema filesschemas/general.jsonto$refthe shared defsschemakey inconfig.jsonto space level — each space can specify its own schema file; top-level default remainsschemas/general.json--schemaCLI option continues to work correctly with the new layoutWhy
This is the prerequisite for adding a
strict_ostschema and future composable schemas. Separating shared definitions avoids duplication and drift between schemas.Relates to #3 (research findings).