Complete source 6 engineering workflows and preserve release validation evidence

This commit is contained in:
Codex
2026-09-06 21:49:04 -07:00
parent 2b2d2bc18b
commit 4b6b5fc197
290 changed files with 48271 additions and 1791 deletions
+442 -16
View File
@@ -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
}
}
}