다섯 가지 노드.
그중 하나는 여러분의 코드입니다.
캔버스는 코드의 투영입니다. 분기, 루프, 지연, 승인 노드를 Python 코드 주위에 연결하세요 — 모든 포트는 타입이 지정되며, 그래프는 라이브 스키마 검색으로 실제 실행 중인 코드에 대해 검증됩니다.
네 가지 시작 방법.
모두 통제됩니다.
실행이 어떻게 시작되든 인증되고 권한이 확인되며 감사됩니다 — 조직과 환경 범위로 제한됩니다.
내구성 있는 실행.
통제되는 트리거.
모든 워크플로는 평범한 코드베이스입니다. 노드는 타입이 지정된 pydantic 포트를 가진 Python 파일이고, 그래프는 diff 가능한 JSON 파일이며, 캔버스는 코드의 투영일 뿐 별도의 소스 오브 트루스가 아닙니다. 실행은 앱과 동일한 통제형 릴리스 레인을 통해 내구성 있게 처리됩니다.
코드 노드는 @node 데코레이터와 타입이 지정된 pydantic 입력/출력 모델을 가진 실제 Python입니다. 분기, 루프, 지연, 승인 노드가 그 주위에 연결되며 — 그래프 자체는 diff 가능하고 에이전트가 편집할 수 있는 저장소 파일입니다.
실행은 Cloudflare Workflows에서 내구성 있는 단계로 처리됩니다. 노드별 백오프 재시도, 타임아웃, 최대 30일의 승인 대기까지. 실행 상태는 재시작과 배포에도 유지됩니다.
수동, 웹훅, 크론 일정, 앱 트리거. 모든 실행은 인증되고 권한이 확인되며 감사됩니다 — 조직과 환경 범위로 제한됩니다.
모든 실행은 그래프 스냅샷과 노드별 상태를 기록합니다. 라이브 실행이 캔버스 위를 움직이는 것을 지켜보거나, 완료된 실행을 재생하세요 — 타이밍, 재시도, 승인까지 포함됩니다.
승인은 라이브입니다.
릴리스 파이프라인에서.
워크플로는 앱과 동일한 통제형 릴리스 체계를 통해 배포됩니다. 직무 분리가 적용된 승인 게이트, 정확한 아티팩트에 바인딩된 승인, 구축 가능한 승인 큐 앱까지.
TEST에는 1개의 승인이, PROD에는 직무 분리가 적용된 2개의 승인이 필요합니다. 요청자는 자체 승인할 수 없습니다. 관례가 아닌 플랫폼이 강제합니다.
모든 승인은 정확한 아티팩트 해시에 바인딩됩니다. 재계획은 기존 승인을 무효화합니다 — 누구도 움직이는 표적을 승인하지 않습니다.
승인 큐 앱은 오늘 바로 구축 가능한 패턴입니다. 통제된 SQL 위의 실제 TypeScript, 모든 결정에 대한 행 수준 감사, 통제된 Slack 알림.