Complete source 6 engineering workflows and preserve release validation evidence
This commit is contained in:
+442
-16
@@ -3,7 +3,7 @@
|
||||
"info": {
|
||||
"title": "Arcadia Studio model API",
|
||||
"version": "1.0.0",
|
||||
"description": "Current schema-5 snapshots and conditional atomic writes. Request body limit: 8 MiB; at most 200 nested commands; no retained revisions, request receipts, automatic retries or persistent transition plans. See docs/api.rst. Fixed store capacity: 128 models / 256 MiB serialized envelopes. Stateless transition preview/apply. Artifact URI/revision strings remain opaque core fields. Model admission before structural validation: 5,000 graph objects, 20,000 total records and 50,000 ordered references. Preparation uses snapshots outside the catalog lock; final commits recheck the exact ETag. Each accepted envelope couples model and authored source under one revision. Source-only edits advance the shared ETag. Source bundles resolve logical paths only, preserve authored files/comments, and have a stabilized JSON cap of 8 MiB, 256 files, 32 include edges along a path and 1,024 include edges overall."
|
||||
"description": "Current schema-6 snapshots and conditional atomic writes. Request body limit: 8 MiB; at most 200 nested commands; no retained revisions, request receipts, automatic retries or persistent transition plans. See docs/api.rst. Fixed store capacity: 128 models / 256 MiB serialized envelopes. Stateless transition preview/apply. Artifact URI/revision strings remain opaque core fields. Model admission before structural validation: 5,000 graph objects, 20,000 total records and 50,000 ordered references. Preparation uses snapshots outside the catalog lock; final commits recheck the exact ETag. Each accepted envelope couples model and authored source under one revision. Source-only edits advance the shared ETag. Source bundles resolve logical paths only, preserve authored files/comments, and have a stabilized JSON cap of 8 MiB, 256 files, 32 include edges along a path and 1,024 include edges overall."
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
@@ -389,7 +389,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Schema-5 native JSON is described below. Schema-1/2/3/4 JSON and source are accepted through explicit frozen readers and migration, also on replacement and candidate validation. Prior prose reviews remain intact; absent semantic review stays Unreviewed. Export emits schema 5 / arcadia 5. See docs/language.rst."
|
||||
"description": "Schema-6 native JSON is described below. Schema-1/2/3/4/5 JSON and source are accepted through explicit frozen readers and migration, also on replacement and candidate validation. Earlier versions reject source-6 constructors and saved view fields. Prior prose and typed reviews remain intact; absent semantic review stays Unreviewed. Export emits schema 6 / arcadia 6. See docs/language.rst."
|
||||
}
|
||||
},
|
||||
"/api/v1/projects/{id}": {
|
||||
@@ -2039,6 +2039,7 @@
|
||||
"Mission",
|
||||
"FunctionalChain",
|
||||
"ExchangeItem",
|
||||
"ExchangeCategory",
|
||||
"DataType",
|
||||
"DataField",
|
||||
"Interface",
|
||||
@@ -2068,7 +2069,10 @@
|
||||
"RelationKind": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"InterfaceItemAllocation",
|
||||
"DataAssociation",
|
||||
"Allocation",
|
||||
"PortAllocation",
|
||||
"Interaction",
|
||||
"CapabilityInvolvement",
|
||||
"ChainInvolvement",
|
||||
@@ -2076,21 +2080,19 @@
|
||||
"RoleAssignment",
|
||||
"FunctionalExchange",
|
||||
"BoundaryExchange",
|
||||
"CommunicationMean",
|
||||
"MissionCapability",
|
||||
"StateTransition",
|
||||
"Availability",
|
||||
"ExchangeAllocation",
|
||||
"InterfaceProvision",
|
||||
"InterfaceRequirement",
|
||||
"StateAction",
|
||||
"CapabilityInclude",
|
||||
"CapabilityExtend",
|
||||
"CapabilityGeneralization",
|
||||
"MissionInvolvement",
|
||||
"SequenceLink",
|
||||
"PortAllocation",
|
||||
"InterfaceItemAllocation",
|
||||
"DataAssociation"
|
||||
"StateTransition",
|
||||
"Availability",
|
||||
"ExchangeAllocation",
|
||||
"InterfaceProvision",
|
||||
"InterfaceRequirement",
|
||||
"StateAction"
|
||||
]
|
||||
},
|
||||
"Position": {
|
||||
@@ -3118,6 +3120,34 @@
|
||||
"Event"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ExchangeCategory": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"family": {
|
||||
"$ref": "#/components/schemas/ExchangeFamily"
|
||||
},
|
||||
"exchanges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"family",
|
||||
"exchanges"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ExchangeCategory"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4089,6 +4119,42 @@
|
||||
"DataAssociation"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"CommunicationMean": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"source": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"target": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"oriented": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"source",
|
||||
"target",
|
||||
"oriented",
|
||||
"items"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"CommunicationMean"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -4289,6 +4355,10 @@
|
||||
},
|
||||
"default": [],
|
||||
"description": "Unique by edge identity within this diagram. Stored order is retained. Each entry counts against the total model record admission limit. Missing routes in earlier schema-3 models default to empty."
|
||||
},
|
||||
"view_options": {
|
||||
"$ref": "#/components/schemas/ViewOptions",
|
||||
"default": {}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -4485,7 +4555,7 @@
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"type": "integer",
|
||||
"const": 5
|
||||
"const": 6
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
@@ -6139,6 +6209,15 @@
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"communication_endpoints": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/CommunicationEndpointDecision"
|
||||
},
|
||||
"maxItems": 200,
|
||||
"default": [],
|
||||
"description": "Explicit SA component-port pair per selected OA CommunicationMean. Reuse or Create only. Owners follow reviewed participant mappings; no participant-to-port substitution or automatic interface allocation."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -6652,12 +6731,13 @@
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
4,
|
||||
5
|
||||
]
|
||||
},
|
||||
"to_schema": {
|
||||
"type": "integer",
|
||||
"const": 5
|
||||
"const": 6
|
||||
},
|
||||
"preserved_ports": {
|
||||
"type": "array",
|
||||
@@ -6844,11 +6924,11 @@
|
||||
"required_resolutions"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"description": "Transient observations from explicit V1/V2/V3/V4 to V5 migration. New report lists default to empty when reading older responses. Reading an old envelope neither saves nor changes its revision. Allocation UUIDv5 uses project namespace and v2-interface-item:<interface>:<item>."
|
||||
"description": "Transient observations from explicit V1/V2/V3/V4/V5 to V6 migration. New report lists default to empty when reading older responses. Reading an old envelope neither saves nor changes its revision. Allocation UUIDv5 uses project namespace and v2-interface-item:<interface>:<item>."
|
||||
},
|
||||
"SourceBundle": {
|
||||
"type": "object",
|
||||
"description": "Complete source5 workspace (source3/4 migrate explicitly). The entry is a root filename. Files use canonical portable slash-separated relative .arcadia paths and all must be reachable. Includes resolve only against this map, never the service filesystem. Up to 256 files, 32 include edges along a path and 1,024 include edges overall. Serialized bundle JSON is at most 8 MiB, checked again after missing UUIDs are inserted. GET returns exact accepted stable text.",
|
||||
"description": "Complete source6 workspace (source3/4/5 migrate explicitly). The entry is a root filename. Files use canonical portable slash-separated relative .arcadia paths and all must be reachable. Includes resolve only against this map, never the service filesystem. Up to 256 files, 32 include edges along a path and 1,024 include edges overall. Serialized bundle JSON is at most 8 MiB, checked again after missing UUIDs are inserted. GET returns exact accepted stable text.",
|
||||
"properties": {
|
||||
"entry": {
|
||||
"type": "string"
|
||||
@@ -7126,6 +7206,7 @@
|
||||
"FunctionOutputItems",
|
||||
"SignalItems",
|
||||
"ExchangeItems",
|
||||
"CategoryExchanges",
|
||||
"TransitionTriggers",
|
||||
"TransitionEffects",
|
||||
"Constrained"
|
||||
@@ -10792,6 +10873,18 @@
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Category": {
|
||||
"$ref": "#/components/schemas/CategoryFacet"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Category"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -11087,6 +11180,18 @@
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Category": {
|
||||
"$ref": "#/components/schemas/CategoryReview"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Category"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -11987,6 +12092,327 @@
|
||||
"items"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ExchangeFamily": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Work",
|
||||
"Participant"
|
||||
]
|
||||
},
|
||||
"Coverage": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"All",
|
||||
"InBehavior",
|
||||
"OutsideBehavior"
|
||||
]
|
||||
},
|
||||
"ExchangeLabels": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Name",
|
||||
"Items",
|
||||
"NameAndItems"
|
||||
]
|
||||
},
|
||||
"CategoryFacet": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Family"
|
||||
]
|
||||
},
|
||||
"ReviewedExchangeFamily": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"oa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/ExchangeFamily"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/ExchangeFamily"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"oa",
|
||||
"sa"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"CategoryReview": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Family": {
|
||||
"$ref": "#/components/schemas/ReviewedExchangeFamily"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Family"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"EdgeKind": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Trace"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Relation": {
|
||||
"$ref": "#/components/schemas/RelationKind"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Relation"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"RelationKinds": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"All"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Only": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/EdgeKind"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Only"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"CategorySelection": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"All"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Any": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Any"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"ContextSelection": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"All"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Any": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Any"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"ViewOptions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"hidden_edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"default": []
|
||||
},
|
||||
"relation_kinds": {
|
||||
"$ref": "#/components/schemas/RelationKinds",
|
||||
"default": "All"
|
||||
},
|
||||
"work_categories": {
|
||||
"$ref": "#/components/schemas/CategorySelection",
|
||||
"default": "All"
|
||||
},
|
||||
"participant_categories": {
|
||||
"$ref": "#/components/schemas/CategorySelection",
|
||||
"default": "All"
|
||||
},
|
||||
"coverage": {
|
||||
"$ref": "#/components/schemas/Coverage",
|
||||
"default": "All"
|
||||
},
|
||||
"work_contexts": {
|
||||
"$ref": "#/components/schemas/ContextSelection",
|
||||
"default": "All"
|
||||
},
|
||||
"exchange_labels": {
|
||||
"$ref": "#/components/schemas/ExchangeLabels",
|
||||
"default": "Name"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"description": "Presentation only. Independent predicates intersect; category members union within a family. Only([]) hides all relations and traces. Any([]) remains an explicit empty selection. Traceability permits both-layer hidden/category/context references; ordinary projections require the diagram layer. Filtering preserves unfiltered automatic port positions."
|
||||
},
|
||||
"CommunicationPortChoice": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Reuse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"port": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"port"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Reuse"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Create": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"alias": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"$ref": "#/components/schemas/ComponentPortKind"
|
||||
},
|
||||
"orientation": {
|
||||
"$ref": "#/components/schemas/ComponentPortOrientation"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"alias",
|
||||
"name",
|
||||
"description",
|
||||
"kind",
|
||||
"orientation"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Create"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"CommunicationEndpointDecision": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"source": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"source_port": {
|
||||
"$ref": "#/components/schemas/CommunicationPortChoice"
|
||||
},
|
||||
"target_port": {
|
||||
"$ref": "#/components/schemas/CommunicationPortChoice"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"source",
|
||||
"source_port",
|
||||
"target_port"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user