{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://canon.coulomb.social/schemas/work-records/spine.schema.json", "title": "Work Record Spine (shared definitions)", "description": "Shared spine per canon/standards/work-record-types_v0.1.md. Kind schemas $ref these definitions. additionalProperties stays open: kind-specific fields extend the spine, never replace it.", "$defs": { "lane": { "enum": ["green", "blue", "yellow", "orange", "red"] }, "uuid": { "type": "string", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" }, "date": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" }, "tags": { "type": "array", "items": { "type": "string", "pattern": "^[a-z0-9-]+$" } }, "owner": { "type": "string", "minLength": 2 }, "spineOpen": { "type": "object", "description": "Spine requirements for records in a non-terminal status.", "required": ["id", "lane"], "properties": { "lane": { "$ref": "#/$defs/lane" }, "owner": { "$ref": "#/$defs/owner" }, "tags": { "$ref": "#/$defs/tags" }, "uuid": { "$ref": "#/$defs/uuid" }, "created_at": { "$ref": "#/$defs/date" } } } } }