wip: preserve local engine and agent workflow changes before ganjihong refactor integration
This commit is contained in:
@@ -1041,10 +1041,15 @@ class LoweringTests(unittest.TestCase):
|
||||
cap_extrude = features["f_F5"]
|
||||
self.assertEqual(cap_extrude["atomic_id"], "extrude_from_face")
|
||||
self.assertNotIn("sketch_id", cap_extrude)
|
||||
self.assertEqual(cap_extrude["selectors"], [{
|
||||
selector = cap_extrude["selectors"][0]
|
||||
self.assertEqual({key: selector[key] for key in (
|
||||
"kind", "owner_feature_id", "output_role", "source", "confidence",
|
||||
)}, {
|
||||
"kind": "face", "owner_feature_id": "f_F3", "output_role": "extrude.start",
|
||||
"source": "runtime_snapshot", "confidence": 1.0,
|
||||
}])
|
||||
})
|
||||
self.assertEqual(selector["selector_intent_version"], "1.0")
|
||||
self.assertEqual(selector["selector_intent"]["query_family"], "CAP_FACE")
|
||||
|
||||
from engine.cdsl_engine.runtime import rebuild_cdsl
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
@@ -1691,6 +1696,21 @@ class LoweringTests(unittest.TestCase):
|
||||
self.assertEqual(result.diagnostics[0]["code"], "unsupported_engine_capability")
|
||||
self.assertIn("extrude_profile_topology:cap_face", result.diagnostics[0]["capability"])
|
||||
|
||||
def test_cap_face_selector_retains_versioned_provenance_intent(self):
|
||||
source = SOURCE.replace(
|
||||
'\n});\n',
|
||||
'\n extrude(context, id + "F2", {"entities":makeQuery(id + "F1.opExtrude", "CAP_FACE", FACE, {"isStart":false}), "depth":10 * mm});\n});\n',
|
||||
)
|
||||
result = lower_model(parse_featurescript(source, "cap-intent"), {})
|
||||
self.assertEqual(result.status, "converted_complete")
|
||||
selector = next(item for item in result.cdsl["features"] if item["id"] == "f_F2")["selectors"][0]
|
||||
self.assertEqual(selector["selector_intent"]["query_family"], "CAP_FACE")
|
||||
self.assertEqual(selector["selector_intent_version"], "1.0")
|
||||
self.assertEqual(selector["selector_intent"]["source_query"]["featurescript_version"], "1511")
|
||||
self.assertEqual(selector["selector_intent"]["evidence"], "operation_role")
|
||||
from engine.cdsl_engine.semantic_validation import validate_semantic_cdsl
|
||||
self.assertTrue(validate_semantic_cdsl(result.cdsl)["future_rebuild_ready"])
|
||||
|
||||
def test_conversion_writes_status_and_sidecars(self):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
root = Path(tmp); source = root / "00000173.txt"; source.write_text(SOURCE)
|
||||
|
||||
Reference in New Issue
Block a user