repo-manager/schemas/owner-task-interface.schema.yaml
tegwick 890f3b05b5 feat(handoffs): publish owner task interfaces
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:15:48 +02:00

72 lines
2.1 KiB
YAML

$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}