Skip to content

Agent Execution and DataHub Projection

Agent Execution과 DataHub 투영(Projection)

Section titled “Agent Execution과 DataHub 투영(Projection)”

FractalOps는 하나의 실행 경로를 유지합니다. Studio와 AgentSquad는 Agent Execution 경계의 제품 흐름이지 경쟁하는 스케줄러가 아닙니다.

이 문서는 그 한 커널이 무엇을 소유하고, 무엇을 DataHub로 투영(project) 하며, 무엇을 투영해서는 안 되는지를 명확히 합니다. 진실(truth)은 여전히 Semantics(identity) + ClickHouse warehouse(fact) + Chronicle(proof)에 있고, DataHub는 카탈로그/계보(lineage) 보강 플레인입니다.

flowchart TD
  subgraph kernel["Agent Execution (하나의 실행 커널)"]
    state["run/session 상태\n+ reconciliation 투영"]
  end
  temporal["Temporal\ndurable 재시도 / 타이머\n워크스페이스 리스 lifecycle"]

  subgraph truth["진실 플레인 (proof closure)"]
    sem["Semantics\nidentity"]
    ch["ClickHouse warehouse\nfact"]
    chron["Chronicle\nevidence"]
  end

  dh["DataHub\n카탈로그 / 계보 / 소유권\n영향 탐색 / 드리프트 발견"]

  kernel --> temporal
  kernel -->|compact 투영 op| dh
  kernel -->|proof closure| truth
  dh -. "identity/mutation/secret/proof\n소유 안 함" .-> truth

  classDef warn fill:#fde8e8,stroke:#c0392b,color:#7b241c;
  noclose["DataHub 단독으로\nproof 를 닫지 않는다"]:::warn
  dh -.-> noclose
  • Studio는 run/session/mailbox 상태와 reconciliation 투영을 소유합니다.
  • Temporal은 durable 재시도, 타이머, 워크스페이스 리스 lifecycle을 소유합니다.
  • Agent Execution은 provider policy와 process adapter 경계를 소유합니다.
  • DataHub는 카탈로그, 계보(lineage), 소유권, 영향(impact) 탐색, 드리프트 발견을 소유합니다.
  • DataHub는 identity, mutation 권한, secret 권한, proof closure를 소유하지 않습니다.
  • Proof closure는 Semantics identity, ClickHouse fact, Chronicle evidence를 요구합니다.

FractalOps는 다음 aspect들에 대해 compact한 DataHub 연산을 방출합니다:

  • fopsProjectAspect
  • fopsAgentSquadAspect
  • fopsAgentGenerationAspect
  • fopsAgentRoleAspect
  • fopsArmoryLoadoutAspect
  • fopsMcpRuntimeAttachmentAspect
  • fopsTaskOrchestrationAspect
  • fopsRunAttemptAspect
  • fopsWorkspaceLeaseAspect
  • fopsBrowserLeaseAspect
  • fopsSearchGroundingAspect
  • fopsMemoryArchiveAspect
  • fopsProofClosureAspect

투영은 ref와 요약(summary)만 저장합니다. 원시(raw) heartbeat은 ClickHouse에, 긴 evidence는 Chronicle에, 긴 메모리/wiki 콘텐츠는 Agent Memory Archive에 남습니다.

  • 프로젝트 identity는 tenant_id + project_slug + squad_key입니다.
  • 에이전트 identity는 agent_role_lineage_key = squad_key::agent_id입니다.
  • generation, continuity, attempt는 별개의 개념입니다.
  • Daytona 워크스페이스-per-agent는 금지입니다. 하나의 프로젝트 워크스페이스가 에이전트별 슬롯을 호스트할 수 있습니다.
  • PlaywrightGrid 세션은 에이전트별 브라우저 리스입니다. 에이전트 launch는 기본 agent-runner 도구 프로파일을 씁니다: reset/open/auth/snapshot/action CLI 헬퍼 + 좁은 브라우저 증거 표면.
  • SUIT actor 크리덴셜은 역할별 actor 리스입니다.
  • Armory loadout이 정식 MCP, skill, policy, 크리덴셜, 격리 계약입니다.
  • Studio, AgentSquad, AgentSquad에 스케줄러 상태를 추가하지 마세요.
  • DataHub가 단독으로 proof를 닫게 하지 마세요.
  • SearXNGgrid 검색 출력이 proposal과 evidence closure 없이 진실이 되게 하지 마세요.
  • 에이전트에게 보이는 secret을 노출하지 마세요 — secret ref와 크리덴셜 모드만 방출하세요.
  • closer에게 일반 코드 쓰기 권한을 주지 마세요. closer는 DataHub/RDF/문서 closure를 소유합니다.