REPOSITORY
kiro/pinching-end-effector Private
[참조 MVP] 적심 엔드이펙터 제어 — 생장점 접근·파지·절단 순서를 안전 상태와 함께 실행하는 참조 MVP입니다.
https://git.agrithing.ai/kiro/pinching-end-effector.git c1a0297 feat: 적심 엔드이펙터 제어 구체 MVP 구현
51664f3 ci: add static dynamic and evidence gates
0c25a6c feat: add executable institution reference MVP
04a978b docs: define product role and interface contract
1 items · feat/concrete-mvp-v2
·/ tests/test_component.py
python · 1.1 KB · f748398 Download
from __future__ import annotationsimport jsonimport unittestfrom pathlib import Pathfrom asw_component import executeROOT = Path(__file__).resolve().parents[1]class ComponentTest(unittest.TestCase): def test_reference_scenario(self): payload = json.loads((ROOT / "examples/input.json").read_text(encoding="utf-8")) result = execute(payload) self.assertTrue(result["accepted"]) self.assertEqual(result["component"], "kiro/pinching-end-effector") self.assertEqual(result["target"], "mcu") self.assertEqual(result["sequence"], ["APPROACH", "GRIP", "CUT", "RETRACT"]) self.assertEqual(result["interlocks"], []) def test_safety_or_failure_path(self): payload = json.loads((ROOT / "examples/failure-input.json").read_text(encoding="utf-8")) result = execute(payload) self.assertEqual(result["component"], "kiro/pinching-end-effector") self.assertFalse(result["accepted"]) self.assertEqual(result["status"], "BLOCKED") self.assertIn("SAFETY_NOT_READY", result["interlocks"])if __name__ == "__main__": unittest.main()