wip: preserve local engine and agent workflow changes before ganjihong refactor integration

This commit is contained in:
2026-09-09 17:08:24 +08:00
parent a5c3ec1f36
commit 387b99e255
112 changed files with 3543 additions and 12177 deletions
+57 -2
View File
@@ -5,14 +5,16 @@
"description": "Complete self-contained CDSL. Runtime-supported operations can be rebuilt by the local CDSL-only engine; deferred operations are retained for future engine implementations.",
"type": "object",
"properties": {
"schema": {"const": "cad.cdsl.llm.v1"},
"schema": {"enum": ["cad.cdsl.llm.v1", "cad.runtime.v1"]},
"schema_version": {"type": "string"},
"kind": {"type": "string", "minLength": 1},
"part_id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{3,80}$"},
"meta": {"type": "object"},
"bodies": {"type": "array", "items": {"$ref": "#/$defs/runtimeBody"}},
"geometry": {
"type": "object",
"properties": {
"selector_intent_version": {"const": "1.0"},
"sketches": {"type": "array", "items": {"$ref": "#/$defs/sketch"}}
},
"required": ["sketches"],
@@ -26,6 +28,15 @@
"number": {"type": "number"},
"positive": {"type": "number", "exclusiveMinimum": 0},
"positiveInteger": {"type": "integer", "minimum": 1},
"runtimeBody": {
"type": "object",
"properties": {
"id": {"type": "string", "pattern": "^body_[0-9]{3}$"},
"name": {"type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$"}
},
"required": ["id", "name"],
"additionalProperties": false
},
"point2": {"type": "array", "items": {"$ref": "#/$defs/number"}, "minItems": 2, "maxItems": 2},
"point3": {"type": "array", "items": {"$ref": "#/$defs/number"}, "minItems": 3, "maxItems": 3},
"circleItem": {
@@ -541,7 +552,7 @@
},
"featureOutputRole": {
"enum": [
"extrude.start", "extrude.end", "sweep.start", "sweep.end", "loft.start", "loft.end",
"extrude.start", "extrude.end", "sweep.start", "sweep.end", "loft.start", "loft.end", "cylinder.start", "cylinder.end",
"shell.offset_face", "shell.closing_descendant", "shell.body_face"
]
},
@@ -554,6 +565,48 @@
"required": ["owner_feature_id", "output_role"],
"additionalProperties": false
},
"selectorIntentSourceQuery": {
"type": "object",
"properties": {
"ast": {},
"featurescript_version": {"type": "string", "pattern": "^[0-9]+(?:\\.[0-9]+)*$"},
"standard_library": {"type": "string", "minLength": 1}
},
"required": ["ast", "featurescript_version"],
"additionalProperties": false
},
"selectorIntent": {
"type": "object",
"properties": {
"version": {"const": "1.0"},
"kind": {"enum": ["face", "edge", "axis", "plane", "feature", "vertex", "body"]},
"query_family": {"enum": ["CAP_FACE", "CAP_EDGE", "SWEPT_FACE", "SWEPT_EDGE", "OFFSET_FACE", "INTERSECT", "COPY", "GEOMETRIC"]},
"source_query": {"$ref": "#/$defs/selectorIntentSourceQuery"},
"source_entity": {
"type": "object",
"properties": {
"sketch_id": {"type": "string", "minLength": 1},
"entity_id": {"type": "string", "minLength": 1}
},
"required": ["sketch_id", "entity_id"],
"additionalProperties": false
},
"output_role": {"$ref": "#/$defs/featureOutputRole"},
"derivation_policy": {
"type": "object",
"properties": {
"allowed": {"type": "array", "minItems": 1, "items": {"enum": ["continuation", "fragment", "merge", "intersection", "boundary", "replacement"]}},
"multiplicity": {"enum": ["one", "all_fragments", "source_qualified", "none"]}
},
"required": ["allowed", "multiplicity"],
"additionalProperties": false
},
"evidence": {"enum": ["kernel_history", "operation_role", "feature_script_query", "explicit_datum", "geometry_hint"]},
"disambiguation": {"type": "object"}
},
"required": ["version", "query_family", "source_query", "derivation_policy", "evidence"],
"additionalProperties": false
},
"selectorRef": {
"type": "object",
"properties": {
@@ -570,6 +623,8 @@
"match_mode": {"enum": ["unique", "all"]},
"matched_selectors": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/selectorRef"}},
"intersection_of": {"type": "array", "minItems": 2, "items": {"$ref": "#/$defs/selectorRef"}},
"selector_intent_version": {"const": "1.0"},
"selector_intent": {"$ref": "#/$defs/selectorIntent"},
"confidence": {"type": "number", "minimum": 0, "maximum": 1}
},
"required": ["kind", "source", "confidence"],