$schema: https://json-schema.org/draft/2020-12/schema $id: https://helixforge.local/repo-manager/owner-task-interface.schema.yaml title: HelixForge owner-task interface type: object additionalProperties: false required: [apiVersion, kind, metadata, source, target, approval, task] properties: apiVersion: const: helixforge.repo-manager/v1 kind: const: OwnerTaskInterface metadata: type: object additionalProperties: false required: [id, title] properties: id: {type: string, minLength: 1} title: {type: string, minLength: 1} source: type: object additionalProperties: false required: [repo, workplan_task] properties: repo: {type: string, minLength: 1} workplan_task: {type: string, minLength: 1} target: type: object additionalProperties: false required: [repo, owner_agent] properties: repo: {type: string, minLength: 1} owner_agent: {type: string, minLength: 1} suggested_work_record: {type: string, minLength: 1} approval: type: object additionalProperties: false required: [dispositions, record_in] properties: dispositions: const: [approved, amended, rejected] record_in: {type: string, minLength: 1} task: type: object additionalProperties: false required: [title, priority, objective, deliverables, acceptance] properties: title: {type: string, minLength: 1} priority: {enum: [high, medium, low]} objective: {type: string, minLength: 1} inputs: type: array items: type: object additionalProperties: false required: [ref, authority] properties: ref: {type: string, minLength: 1} authority: {type: string, minLength: 1} deliverables: type: array minItems: 1 items: {type: string, minLength: 1} constraints: type: array items: {type: string, minLength: 1} acceptance: type: array minItems: 1 items: {type: string, minLength: 1} verification: type: array items: {type: string, minLength: 1}