asw_component/__init__.py +3−0 View file@@ -0,0 +1,3 @@
1 +
from .component import execute 2 +
3 +
__all__ = ["execute"][참조 MVP] 적과·적심 로봇 통합검증 — 인지·접근·작업·복귀 시나리오와 제품 기준선의 재현성을 확인하는 참조 검증 자산입니다.
https://git.agrithing.ai/metafarmers/fruit-robot-validation.git 7b9733d f93f075 3ea79da a4765d3 3ea79dafac23e1f9c13203f181f34a536861df65 asw_component/__init__.py +3−0 View filefrom .component import execute__all__ = ["execute"]asw_component/component.py +9−0 View filefrom __future__ import annotationsdef execute(payload: dict) -> dict: scenarios = payload.get("scenarios", []) results = [{"id": item["id"], "passed": bool(item.get("passed"))} for item in scenarios] passed = sum(item["passed"] for item in results) accepted = bool(results) and passed == len(results) return {"component": "metafarmers/fruit-robot-validation", "accepted": accepted, "status": "READY" if accepted else "BLOCKED", "verdict": "PASS" if accepted else "FAIL", "passed": passed, "total": len(results), "results": results}examples/input.json +16−0 View file{ "scenarios": [ { "id": "FRUIT-THIN-01", "passed": true }, { "id": "FRUIT-PINCH-01", "passed": true }, { "id": "FRUIT-SAFE-01", "passed": true } ]}pyproject.toml +5−0 View file[project]name = "fruit-robot-validation"version = "0.1.0"description = "인지·접근·작업·복귀 시나리오와 제품 기준선의 재현성을 확인하는 참조 검증 자산입니다."requires-python = ">=3.11"run.py +9−0 View filefrom __future__ import annotationsimport jsonimport sysfrom asw_component import executepath = sys.argv[1] if len(sys.argv) > 1 else Nonewith open(path, encoding="utf-8") if path else sys.stdin as source: payload = json.load(source)print(json.dumps(execute(payload), ensure_ascii=False, indent=2))