Files
railiance-fabric/schemas/accountability-root-evidence.schema.yaml

188 lines
3.6 KiB
YAML

$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://railiance.local/fabric/schemas/accountability-root-evidence.schema.yaml"
title: "AccountabilityRootEvidenceRun"
type: object
additionalProperties: false
required:
- apiVersion
- kind
- generated_at
- manifest
- roots
- review_artifacts
properties:
apiVersion:
type: string
const: "railiance.fabric/v1alpha2"
kind:
type: string
const: AccountabilityRootEvidenceRun
generated_at:
type: string
format: date-time
manifest:
type: object
additionalProperties: false
required:
- id
- path
- fingerprint
properties:
id:
type: string
minLength: 1
path:
type: string
minLength: 1
fingerprint:
type: string
minLength: 8
roots:
type: array
items:
$ref: "#/$defs/rootEvidence"
review_artifacts:
type: array
items:
$ref: "#/$defs/reviewArtifact"
$defs:
rootEvidence:
type: object
additionalProperties: false
required:
- root_id
- root_type
- status
- fabric_id
- owner_actor_id
- safe_discovery
- evidence
properties:
root_id:
type: string
minLength: 1
root_type:
type: string
minLength: 1
status:
type: string
enum:
- active
- planned
- disabled
fabric_id:
type: string
minLength: 1
subfabric_id:
type: string
minLength: 1
owner_actor_id:
type: string
minLength: 1
safe_discovery:
type: string
minLength: 1
evidence:
type: array
items:
$ref: "#/$defs/evidenceItem"
evidenceItem:
type: object
additionalProperties: false
required:
- id
- root_id
- evidence_type
- state
- durable
- live_telemetry
- source
- provenance
- fingerprint
- summary
properties:
id:
type: string
minLength: 1
root_id:
type: string
minLength: 1
evidence_type:
type: string
minLength: 1
state:
type: string
enum:
- observed
- declared
- planned
- skipped
- unavailable
durable:
type: boolean
live_telemetry:
type: boolean
source:
type: object
additionalProperties: true
provenance:
type: object
additionalProperties: false
required:
- extractor_id
- extractor_version
- method
- origin
properties:
extractor_id:
type: string
minLength: 1
extractor_version:
type: string
minLength: 1
method:
type: string
minLength: 1
origin:
type: string
minLength: 1
fingerprint:
type: string
minLength: 8
summary:
type: string
minLength: 1
attributes:
type: object
additionalProperties: true
reviewArtifact:
type: object
additionalProperties: false
required:
- root_id
- artifact_type
- severity
- message
properties:
root_id:
type: string
minLength: 1
artifact_type:
type: string
minLength: 1
severity:
type: string
enum:
- info
- warning
- error
message:
type: string
minLength: 1
source:
type: object
additionalProperties: true