Files
railiance-fabric/schemas/accountability-ownership-review.schema.yaml

150 lines
3.1 KiB
YAML

$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://railiance.local/fabric/schemas/accountability-ownership-review.schema.yaml"
title: "AccountabilityOwnershipReview"
type: object
additionalProperties: false
required:
- apiVersion
- kind
- generated_at
- evidence_run
- items
- summary
properties:
apiVersion:
type: string
const: "railiance.fabric/v1alpha2"
kind:
type: string
const: AccountabilityOwnershipReview
generated_at:
type: string
format: date-time
evidence_run:
type: object
additionalProperties: true
items:
type: array
items:
$ref: "#/$defs/reviewItem"
summary:
type: object
additionalProperties: false
required:
- total
- accepted
- needs_review
- unresolved_ownership
- ambiguous_containment
properties:
total:
type: integer
minimum: 0
accepted:
type: integer
minimum: 0
needs_review:
type: integer
minimum: 0
unresolved_ownership:
type: integer
minimum: 0
ambiguous_containment:
type: integer
minimum: 0
$defs:
reviewItem:
type: object
additionalProperties: false
required:
- stable_key
- identity_type
- label
- review_state
- ownership
- containment
- blockers
- evidence_ids
properties:
stable_key:
type: string
minLength: 3
identity_type:
type: string
minLength: 1
label:
type: string
minLength: 1
review_state:
type: string
enum:
- candidate
- accepted
- needs_review
- rejected
ownership:
type: object
additionalProperties: false
required:
- owner_actor_id
- owner_role
- resolution
properties:
owner_actor_id:
type: string
owner_role:
type: string
resolution:
type: string
enum:
- explicit
- inherited
- review_decision
- unresolved
inherited_from:
type: string
containment:
type: object
additionalProperties: false
required:
- fabric_id
- subfabric_id
- status
properties:
fabric_id:
type: string
subfabric_id:
type: string
status:
type: string
enum:
- resolved
- ambiguous
- unresolved
blockers:
type: array
items:
type: string
evidence_ids:
type: array
items:
type: string
decision:
type: object
additionalProperties: false
required:
- decision
- reviewer
- note
- created_at
properties:
decision:
type: string
reviewer:
type: string
note:
type: string
created_at:
type: string