Files
railiance-fabric/schemas/accountability-identity-projection.schema.yaml

139 lines
2.9 KiB
YAML

$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://railiance.local/fabric/schemas/accountability-identity-projection.schema.yaml"
title: "AccountabilityIdentityProjection"
type: object
additionalProperties: false
required:
- apiVersion
- kind
- generated_at
- evidence_run
- identity_candidates
- candidate_graph
properties:
apiVersion:
type: string
const: "railiance.fabric/v1alpha2"
kind:
type: string
const: AccountabilityIdentityProjection
generated_at:
type: string
format: date-time
evidence_run:
type: object
additionalProperties: false
required:
- manifest_id
- manifest_fingerprint
- generated_at
properties:
manifest_id:
type: string
manifest_fingerprint:
type: string
generated_at:
type: string
identity_candidates:
type: array
items:
$ref: "#/$defs/identityCandidate"
candidate_graph:
type: object
additionalProperties: false
required:
- nodes
- edges
properties:
nodes:
type: array
items:
type: object
additionalProperties: true
edges:
type: array
items:
type: object
additionalProperties: true
$defs:
identityCandidate:
type: object
additionalProperties: false
required:
- stable_key
- identity_type
- label
- review_state
- confidence
- aliases
- evidence_ids
- attributes
properties:
stable_key:
type: string
minLength: 3
identity_type:
type: string
minLength: 1
label:
type: string
minLength: 1
graph_id:
type: string
fabric_id:
type: string
subfabric_id:
type: string
owner_actor_id:
type: string
deployment_overlay:
$ref: "#/$defs/deploymentOverlay"
review_state:
type: string
enum:
- candidate
- accepted
- needs_review
confidence:
type: number
minimum: 0
maximum: 1
aliases:
type: array
items:
type: string
evidence_ids:
type: array
items:
type: string
attributes:
type: object
additionalProperties: true
deploymentOverlay:
type: object
additionalProperties: false
properties:
deployment_environment:
type: string
deployment_scenario:
type: string
routing_authority:
type: string
access_zone:
type: string
policy_authority:
type: string
exposure_class:
type: string
route_evidence:
type: object
additionalProperties:
anyOf:
- type: string
- type: integer
- type: number
- type: boolean
- type: "null"