generated from coulomb/repo-seed
feat: version state hub fabric export contract
This commit is contained in:
@@ -1,119 +1,578 @@
|
||||
$schema: "https://json-schema.org/draft/2020-12/schema"
|
||||
$id: "https://railiance.local/fabric/schemas/state-hub-export.schema.yaml"
|
||||
title: "FabricGraphExport"
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- apiVersion
|
||||
- kind
|
||||
- nodes
|
||||
- edges
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
const: railiance.fabric/v1alpha1
|
||||
kind:
|
||||
type: string
|
||||
const: FabricGraphExport
|
||||
generated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
source:
|
||||
oneOf:
|
||||
- $ref: "#/$defs/legacyGraphExport"
|
||||
- $ref: "#/$defs/financialGraphExport"
|
||||
|
||||
$defs:
|
||||
legacyGraphExport:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- apiVersion
|
||||
- kind
|
||||
- nodes
|
||||
- edges
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
const: railiance.fabric/v1alpha1
|
||||
kind:
|
||||
type: string
|
||||
const: FabricGraphExport
|
||||
generated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
source:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
repo:
|
||||
type: string
|
||||
commit:
|
||||
type: string
|
||||
path:
|
||||
type: string
|
||||
nodes:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/legacyNode"
|
||||
edges:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/legacyEdge"
|
||||
|
||||
financialGraphExport:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- apiVersion
|
||||
- kind
|
||||
- schema_version
|
||||
- netkingdom
|
||||
- actors
|
||||
- fabrics
|
||||
- nodes
|
||||
- edges
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
const: railiance.fabric/v1alpha2
|
||||
kind:
|
||||
type: string
|
||||
const: FabricGraphExport
|
||||
schema_version:
|
||||
type: string
|
||||
const: financial-fabric-v1
|
||||
generated_at:
|
||||
type: string
|
||||
format: date-time
|
||||
source:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
compatibility:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
netkingdom:
|
||||
$ref: "#/$defs/netkingdom"
|
||||
actors:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/actor"
|
||||
fabrics:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/fabricBoundary"
|
||||
nodes:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/financialNode"
|
||||
edges:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/financialEdge"
|
||||
unresolved:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/unresolvedGap"
|
||||
|
||||
legacyNode:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- id
|
||||
- kind
|
||||
- name
|
||||
- repo
|
||||
- domain
|
||||
- lifecycle
|
||||
properties:
|
||||
id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
kind:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
repo:
|
||||
type: string
|
||||
commit:
|
||||
domain:
|
||||
type: string
|
||||
path:
|
||||
lifecycle:
|
||||
type: string
|
||||
nodes:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- id
|
||||
- kind
|
||||
- name
|
||||
- repo
|
||||
- domain
|
||||
- lifecycle
|
||||
properties:
|
||||
id:
|
||||
canon_category:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
$ref: "#/$defs/mappingFit"
|
||||
evidence_state:
|
||||
$ref: "#/$defs/evidenceState"
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
legacyEdge:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- from
|
||||
- to
|
||||
- type
|
||||
properties:
|
||||
from:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
to:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
type:
|
||||
type: string
|
||||
canonical_type:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
$ref: "#/$defs/mappingFit"
|
||||
display_only:
|
||||
type: boolean
|
||||
evidence_state:
|
||||
$ref: "#/$defs/evidenceState"
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
netkingdom:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- id
|
||||
- name
|
||||
- king_actor_id
|
||||
properties:
|
||||
id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
name:
|
||||
type: string
|
||||
minLength: 1
|
||||
king_actor_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
|
||||
actor:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- id
|
||||
- kind
|
||||
- role
|
||||
- name
|
||||
properties:
|
||||
id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
kind:
|
||||
type: string
|
||||
const: FabricActor
|
||||
role:
|
||||
type: string
|
||||
enum:
|
||||
- king
|
||||
- lord
|
||||
- tenant
|
||||
- operator
|
||||
- steward
|
||||
name:
|
||||
type: string
|
||||
minLength: 1
|
||||
|
||||
fabricBoundary:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- id
|
||||
- kind
|
||||
- name
|
||||
- netkingdom_id
|
||||
- status
|
||||
properties:
|
||||
id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
kind:
|
||||
type: string
|
||||
enum:
|
||||
- Fabric
|
||||
- Subfabric
|
||||
name:
|
||||
type: string
|
||||
minLength: 1
|
||||
netkingdom_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
parent_fabric_id:
|
||||
anyOf:
|
||||
- $ref: "./common.schema.yaml#/$defs/graphId"
|
||||
- type: "null"
|
||||
lord_actor_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
tenant_actor_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
status:
|
||||
type: string
|
||||
minLength: 1
|
||||
boundary:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
evidence_refs:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/evidenceRef"
|
||||
|
||||
financialNode:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- id
|
||||
- kind
|
||||
- name
|
||||
- containment
|
||||
- ownership
|
||||
- evidence
|
||||
properties:
|
||||
id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
kind:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
minLength: 1
|
||||
repo:
|
||||
type: string
|
||||
domain:
|
||||
type: string
|
||||
lifecycle:
|
||||
type: string
|
||||
containment:
|
||||
$ref: "#/$defs/containment"
|
||||
ownership:
|
||||
$ref: "#/$defs/ownership"
|
||||
accounting:
|
||||
$ref: "#/$defs/accounting"
|
||||
evidence:
|
||||
$ref: "#/$defs/evidence"
|
||||
canon_category:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
$ref: "#/$defs/mappingFit"
|
||||
evidence_state:
|
||||
$ref: "#/$defs/evidenceState"
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
financialEdge:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- from
|
||||
- to
|
||||
- type
|
||||
- relationship_category
|
||||
- evidence
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
minLength: 1
|
||||
from:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
to:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
type:
|
||||
type: string
|
||||
minLength: 1
|
||||
relationship_category:
|
||||
type: string
|
||||
enum:
|
||||
- containment
|
||||
- ownership
|
||||
- technical
|
||||
- utility
|
||||
- accounting
|
||||
- evidence
|
||||
canonical_type:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
$ref: "#/$defs/mappingFit"
|
||||
display_only:
|
||||
type: boolean
|
||||
evidence_state:
|
||||
$ref: "#/$defs/evidenceState"
|
||||
provider:
|
||||
$ref: "#/$defs/utilitySide"
|
||||
consumer:
|
||||
$ref: "#/$defs/utilitySide"
|
||||
boundary:
|
||||
$ref: "#/$defs/boundaryCrossing"
|
||||
utility:
|
||||
$ref: "#/$defs/utility"
|
||||
accounting:
|
||||
$ref: "#/$defs/accounting"
|
||||
evidence:
|
||||
$ref: "#/$defs/evidence"
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
relationship_category:
|
||||
const: utility
|
||||
then:
|
||||
required:
|
||||
- provider
|
||||
- consumer
|
||||
- boundary
|
||||
- utility
|
||||
|
||||
containment:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- netkingdom_id
|
||||
- fabric_id
|
||||
properties:
|
||||
netkingdom_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
fabric_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
subfabric_id:
|
||||
anyOf:
|
||||
- $ref: "./common.schema.yaml#/$defs/graphId"
|
||||
- type: "null"
|
||||
environment:
|
||||
anyOf:
|
||||
- type: string
|
||||
minLength: 1
|
||||
- type: "null"
|
||||
deployment_scenario_id:
|
||||
anyOf:
|
||||
- type: string
|
||||
minLength: 1
|
||||
- type: "null"
|
||||
|
||||
ownership:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- owner_actor_id
|
||||
- owner_role
|
||||
- resolution
|
||||
properties:
|
||||
owner_actor_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
owner_role:
|
||||
type: string
|
||||
enum:
|
||||
- king
|
||||
- lord
|
||||
- tenant
|
||||
- operator
|
||||
- steward
|
||||
resolution:
|
||||
type: string
|
||||
enum:
|
||||
- explicit
|
||||
- inherited
|
||||
- unresolved
|
||||
- ambiguous
|
||||
inherited_from:
|
||||
anyOf:
|
||||
- $ref: "./common.schema.yaml#/$defs/graphId"
|
||||
- type: "null"
|
||||
supporting_actor_ids:
|
||||
type: array
|
||||
items:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
kind:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
repo:
|
||||
type: string
|
||||
domain:
|
||||
type: string
|
||||
lifecycle:
|
||||
type: string
|
||||
canon_category:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
type: string
|
||||
enum:
|
||||
- direct
|
||||
- partial
|
||||
- conflict
|
||||
- gap
|
||||
- unknown
|
||||
evidence_state:
|
||||
type: string
|
||||
enum:
|
||||
- observed
|
||||
- declared
|
||||
- inferred
|
||||
- proposed
|
||||
- gap
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
edges:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- from
|
||||
- to
|
||||
- type
|
||||
properties:
|
||||
from:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
to:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
type:
|
||||
type: string
|
||||
canonical_type:
|
||||
type: string
|
||||
canon_anchor:
|
||||
type: string
|
||||
mapping_fit:
|
||||
type: string
|
||||
enum:
|
||||
- direct
|
||||
- partial
|
||||
- conflict
|
||||
- gap
|
||||
- unknown
|
||||
display_only:
|
||||
type: boolean
|
||||
evidence_state:
|
||||
type: string
|
||||
enum:
|
||||
- observed
|
||||
- declared
|
||||
- inferred
|
||||
- proposed
|
||||
- gap
|
||||
attributes:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
||||
utilitySide:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- owner_actor_id
|
||||
- fabric_id
|
||||
properties:
|
||||
owner_actor_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
fabric_id:
|
||||
$ref: "./common.schema.yaml#/$defs/graphId"
|
||||
subfabric_id:
|
||||
anyOf:
|
||||
- $ref: "./common.schema.yaml#/$defs/graphId"
|
||||
- type: "null"
|
||||
|
||||
boundaryCrossing:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- crosses_fabric_boundary
|
||||
- crosses_subfabric_boundary
|
||||
properties:
|
||||
crosses_fabric_boundary:
|
||||
type: boolean
|
||||
crosses_subfabric_boundary:
|
||||
type: boolean
|
||||
|
||||
utility:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- utility_type
|
||||
properties:
|
||||
utility_type:
|
||||
type: string
|
||||
minLength: 1
|
||||
contract_id:
|
||||
type: string
|
||||
payment_schema_id:
|
||||
type: string
|
||||
metering_basis:
|
||||
type: string
|
||||
business_model:
|
||||
type: string
|
||||
|
||||
accounting:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
properties:
|
||||
cost_center_id:
|
||||
type: string
|
||||
profit_center_id:
|
||||
type: string
|
||||
provider_profit_center_id:
|
||||
type: string
|
||||
consumer_cost_center_id:
|
||||
type: string
|
||||
allocation_model:
|
||||
type: string
|
||||
payment_schema_id:
|
||||
type: string
|
||||
metering_basis:
|
||||
type: string
|
||||
valid_from:
|
||||
type: string
|
||||
valid_until:
|
||||
anyOf:
|
||||
- type: string
|
||||
- type: "null"
|
||||
|
||||
evidence:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- state
|
||||
- review_state
|
||||
properties:
|
||||
state:
|
||||
$ref: "#/$defs/evidenceState"
|
||||
review_state:
|
||||
type: string
|
||||
enum:
|
||||
- accepted
|
||||
- candidate
|
||||
- needs_review
|
||||
- rejected
|
||||
confidence:
|
||||
type: number
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
refs:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/evidenceRef"
|
||||
|
||||
evidenceRef:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
source_kind:
|
||||
type: string
|
||||
source_path:
|
||||
type: string
|
||||
source_url:
|
||||
type: string
|
||||
source_repo:
|
||||
type: string
|
||||
source_commit:
|
||||
type: string
|
||||
scanner:
|
||||
type: string
|
||||
scanner_version:
|
||||
type: string
|
||||
content_hash:
|
||||
type: string
|
||||
observed_at:
|
||||
type: string
|
||||
format: date-time
|
||||
|
||||
unresolvedGap:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- target_id
|
||||
- kind
|
||||
- message
|
||||
properties:
|
||||
target_id:
|
||||
type: string
|
||||
minLength: 1
|
||||
kind:
|
||||
type: string
|
||||
minLength: 1
|
||||
severity:
|
||||
type: string
|
||||
message:
|
||||
type: string
|
||||
minLength: 1
|
||||
evidence_refs:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/$defs/evidenceRef"
|
||||
|
||||
mappingFit:
|
||||
type: string
|
||||
enum:
|
||||
- direct
|
||||
- partial
|
||||
- conflict
|
||||
- gap
|
||||
- unknown
|
||||
|
||||
evidenceState:
|
||||
type: string
|
||||
enum:
|
||||
- observed
|
||||
- declared
|
||||
- inferred
|
||||
- proposed
|
||||
- gap
|
||||
|
||||
Reference in New Issue
Block a user