VIRGO

허브와 대시보드

팀의 결정론적 중심.

현재 hub runtime은 pinned FalkorDB/Redis store를 운영합니다. 메시지·fence·channel adapter·status·guided setup을 한곳에서 다루는 dashboard와 전체 hub surface는 승인된 설계이며 단계적으로 구현됩니다. Hub는 AI session이 아니라 AI session이 사용하는 infrastructure입니다.

현재 RUNTIME

Private, pinned, persistent.

첫 hub runtime은 Redis Streams, graph storage, AOF, RDB persistence를 가진 release-labeled FalkorDB/Redis container입니다. Loopback에 bind하고 생성된 ACL·password·data는 하나의 private state directory에 둡니다.

virgo hub start  --config /absolute/path/to/hub.json
virgo hub status --config /absolute/path/to/hub.json
virgo hub stop   --config /absolute/path/to/hub.json

Status는 unhealthy, stopped, absent, specification mismatch를 running으로 부르지 않습니다. Stop은 container와 data를 보존합니다.

TOPOLOGY

모든 machine에 hub 하나. Store는 root에만.

Installation의 모든 machine이 hub를 실행합니다. 그중 하나가 root hub이며 FalkorDB graph와 stream이 존재하는 유일한 자리입니다. 나머지 machine은 satellite hub를 실행해 relay와 cache만 하고 authority를 결정하지 않습니다.

모든 seat — CLI, persona, adapter, dashboard — 은 자기 machine의 hub와만 loopback으로 통신합니다. Machine 사이는 satellite와 root를 잇는 인증된 hub-link 하나로만 연결됩니다. Seat이 원격 machine에 직접 접속하는 경로는 없고, seat마다 tunnel을 두지도 않습니다.

Liveness는 local에서 판단합니다. Seat의 liveness는 같은 machine 위 process에 대한 자기 hub의 판단이고, machine의 liveness는 root에서 보는 hub-link heartbeat입니다. Hub는 원격 process를 판단하지 않습니다. Link가 끊기면 outbound는 local에 queue되었다가 envelope idempotency digest 아래 replay되므로, 재연결이 같은 message를 두 번 전달할 수 없습니다.

설계된 DASHBOARD

시스템을 보고, 설정을 점진적으로 끝냅니다.

Status

Machine, advertisement freshness, persona fence/host/model/health, stream, lifecycle event.

Preferences

Mechanized path를 통한 non-secret display·notification·pacing 설정.

Setup checklist

온보딩에서 미룬 channel credential·binding·integration·persona 설정.

Personas

Character, voice, path, repository, channel binding, record, retirement.

Knowledge Explorer

Typed record 검색, provenance 확인, graph edge 탐색.

Skills

Personal edit와 shared class/workspace behavior의 receipt-bound proposal.

경계

Dashboard는 우회로가 아닙니다.

  • Authenticated tailnet 또는 loopback 전용. Public 노출 금지.
  • Credential 값은 표시하거나 수정하지 않음.
  • Status는 read-only이며 mutation은 같은 gated CLI/API mechanism 사용.
  • UI asset은 같은 release SHA에 포함.
  • Dashboard 하나가 workspace filter를 사용하며 stamp와 transport가 격리 강제.

기록

Graph 하나, 검증된 view 여러 개.

Record는 provenance와 directed edge를 가진 typed content-addressed node입니다. Markdown은 검증된 materialization이며 재사용 viewer 하나가 Explorer·Persona record·Status detail을 담당하도록 설계됩니다.

Persona graph lineage 보기 →