Checkpoint source 7 workflows and in-progress diagram authoring redesign
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
This commit is contained in:
+427
-9
@@ -3,7 +3,7 @@
|
||||
"info": {
|
||||
"title": "Arcadia Studio model API",
|
||||
"version": "1.0.0",
|
||||
"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."
|
||||
"description": "Current schema-7 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-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."
|
||||
"description": "Schema-7 native JSON is described below. Schema-1/2/3/4/5/6 JSON and source are accepted through explicit frozen readers and migration, also on replacement and candidate validation. Earlier versions reject later constructors, fields and semantic facets, including explicit null. Prior prose and typed reviews remain intact; absent semantic review stays Unreviewed. Export emits schema 7 / arcadia 7. See docs/language.rst."
|
||||
}
|
||||
},
|
||||
"/api/v1/projects/{id}": {
|
||||
@@ -2087,6 +2087,7 @@
|
||||
"CapabilityGeneralization",
|
||||
"MissionInvolvement",
|
||||
"SequenceLink",
|
||||
"ContextualLink",
|
||||
"StateTransition",
|
||||
"Availability",
|
||||
"ExchangeAllocation",
|
||||
@@ -2469,6 +2470,17 @@
|
||||
"$ref": "#/components/schemas/MessageValue"
|
||||
},
|
||||
"default": []
|
||||
},
|
||||
"operation": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/OperationUse"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"default": null
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -2477,7 +2489,7 @@
|
||||
"receiver"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"description": "Missing new message fields use schema-2 compatibility defaults; canonical output makes these fields explicit."
|
||||
"description": "Absent/null operation retains ordinary channel semantics and is omitted on output. Present operation is allowed only on SA BoundaryInterface Call/Asynchronous messages. Reply stores no operation and derives its exact Call's selection. Existing message defaults remain unchanged."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -4155,6 +4167,39 @@
|
||||
"CommunicationMean"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContextualLink": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"owner": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"source": {
|
||||
"$ref": "#/components/schemas/OccurrenceEndpoint"
|
||||
},
|
||||
"target": {
|
||||
"$ref": "#/components/schemas/OccurrenceEndpoint"
|
||||
},
|
||||
"purpose": {
|
||||
"$ref": "#/components/schemas/ContextualLinkPurpose"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"owner",
|
||||
"source",
|
||||
"target",
|
||||
"purpose"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ContextualLink"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -4555,7 +4600,7 @@
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"type": "integer",
|
||||
"const": 6
|
||||
"const": 7
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
@@ -6218,6 +6263,15 @@
|
||||
"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."
|
||||
},
|
||||
"operation_omissions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/OperationOmission"
|
||||
},
|
||||
"maxItems": 200,
|
||||
"default": [],
|
||||
"description": "Explicit SA-to-OA abstraction per selected invocation with operation intent. Nonempty rationale required by core; duplicates, irrelevant sources, and other directions are refused. Replies derive the Call abstraction. Source operation identities and values are preserved."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -6732,12 +6786,13 @@
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
5,
|
||||
6
|
||||
]
|
||||
},
|
||||
"to_schema": {
|
||||
"type": "integer",
|
||||
"const": 6
|
||||
"const": 7
|
||||
},
|
||||
"preserved_ports": {
|
||||
"type": "array",
|
||||
@@ -6924,11 +6979,11 @@
|
||||
"required_resolutions"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"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>."
|
||||
"description": "Transient observations from explicit V1/V2/V3/V4/V5/V6 to V7 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 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.",
|
||||
"description": "Complete source7 workspace (source3/4/5/6 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"
|
||||
@@ -8944,6 +8999,7 @@
|
||||
"MessageKind",
|
||||
"TimerExpression",
|
||||
"ReplyTo",
|
||||
"Operation",
|
||||
"Action",
|
||||
"ActionLifeline",
|
||||
"ControlKind",
|
||||
@@ -9281,6 +9337,18 @@
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Operation": {
|
||||
"$ref": "#/components/schemas/ReviewedOptionOperationUse"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Operation"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -9722,7 +9790,11 @@
|
||||
"Trigger",
|
||||
"Guard",
|
||||
"Effect",
|
||||
"StateActionPhase"
|
||||
"StateActionPhase",
|
||||
"ContextOwner",
|
||||
"ContextSource",
|
||||
"ContextTarget",
|
||||
"ContextPurpose"
|
||||
]
|
||||
},
|
||||
"ReviewedId": {
|
||||
@@ -10326,6 +10398,54 @@
|
||||
"StateActionPhase"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContextOwner": {
|
||||
"$ref": "#/components/schemas/ReviewedId"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ContextOwner"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContextSource": {
|
||||
"$ref": "#/components/schemas/ReviewedOccurrenceEndpoint"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ContextSource"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContextTarget": {
|
||||
"$ref": "#/components/schemas/ReviewedOccurrenceEndpoint"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ContextTarget"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ContextPurpose": {
|
||||
"$ref": "#/components/schemas/ReviewedContextualLinkPurpose"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ContextPurpose"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -12413,6 +12533,304 @@
|
||||
"target_port"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ReviewedOptionOperationUse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"oa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/OperationUse"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/OperationUse"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"oa",
|
||||
"sa"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ReviewedOccurrenceEndpoint": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"oa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/OccurrenceEndpoint"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/OccurrenceEndpoint"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"oa",
|
||||
"sa"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ReviewedContextualLinkPurpose": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"oa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/ContextualLinkPurpose"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sa": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NotApplicable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Value": {
|
||||
"$ref": "#/components/schemas/ContextualLinkPurpose"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Value"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"oa",
|
||||
"sa"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"OccurrenceEndpoint": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"references": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"maxItems": 64
|
||||
},
|
||||
"occurrence": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"references",
|
||||
"occurrence"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"description": "Ordered reference-occurrence IDs in an explicit caller owner, followed by the leaf contribution ID. Empty references means a direct contribution; sequence definition IDs are not path components."
|
||||
},
|
||||
"ContextualLinkPurpose": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Precedence": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"guard": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"guard"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Precedence"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Exchange": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"exchange": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"exchange"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Exchange"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"CommonWork": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"work": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"work"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"CommonWork"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"OperationUse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allocation": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"description": "Present with absent/null allocation retains unresolved operation intent. A selected UUID identifies exactly an InterfaceItemAllocation, never an item, port, or name. Reply derives operation from its exact correlated Call."
|
||||
},
|
||||
"OperationOmission": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"source": {
|
||||
"$ref": "#/components/schemas/Id"
|
||||
},
|
||||
"rationale": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"source",
|
||||
"rationale"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user