VIRGO

문제 해결과 진단

대화를 읽지 않고 실패를 관찰합니다.

현재 사용 가능한 read-only inspection에서 시작합니다. 여기 설명한 channel doctor는 설계된 guided workflow입니다. Routing·admission metadata만 관찰하고 owner에게 bounded message 하나를 요청한 뒤 receipt를 냅니다.

먼저 측정

건드리기 전에 실패한 layer를 특정합니다.

virgo onboard --profile ./machine.json --inspectPrompt 없이 onboarding stage 재측정.
virgo onboard --profile ./machine.json --dry-run파일 변경 없이 기록된 진행 상태 preview.
virgo hub statusContainer 존재·health·release/config match 확인.

Whole-system virgo status와 persona status는 설계 surface이며 pinned release에서 아직 실행되지 않습니다. 없는 명령을 가장하지 말고 현재 가능한 좁은 inspection을 사용합니다.

CHANNEL DOCTOR · 설계됨

강한 privacy 경계를 가진 동의형 probe.

1 · Owner가 doctor 시작virgo channel doctor [<binding>]이 single-flight lease를 얻고 bounded observation window를 엽니다.
2 · 안내 prompt“지금 persona에게 메시지 하나를 보내세요.”
3 · ReceiptLane + authentication 존재 + terminal HTTP 또는 adapter-admission status.
오직 이것만 TRACElane · authentication-value presence (HTTP에서는 Authorization-header presence) · terminal HTTP 또는 adapter-admission status절대 TRACE하지 않음bearer value · body · sender · conversation ID · query · message content

세 OUTCOME + PRIVACY GUARD

Candidate가 정확히 하나일 때만 attributed verdict를 냅니다.

00

Concurrent traffic

Candidate가 여러 개면 inconclusive_concurrent_traffic입니다. Candidate count와 redacted terminal-status histogram만 보고하고 아무 것도 attribution하지 않은 채 나중에 다시 시도합니다.

01

Route trace 없음

Bounded window에 request가 없습니다. Registration 또는 messaging endpoint와 installed-app binding을 확인합니다.

02

Request 도착, auth 부재 또는 거부

auth=absent는 unauthenticated traffic입니다. auth=present + 401/403은 token을 기록하지 않고 identity·credential·JWT audience를 진단합니다.

03

Auth present, 2xx

Adapter admission 성공입니다. Durable queue·consumer·side effect·ack chain을 downstream으로 추적합니다.

NO-TRACE에서만 쓰는 CHECKPOINT

Platform에 선언된 route를 검증합니다.

  • Teams보장된 machine-readable checkpoint는 없습니다. Developer Portal에서 recorded bot App ID와 exact expected messaging callback을 비교합니다.
  • Azure BotARM bot resource의 App ID와 endpoint를 읽습니다. Human fallback도 Azure Bot Configuration의 같은 필드를 확인합니다.
  • TelegramBot API getWebhookInfo로 webhook URL과 last delivery error를 확인합니다. Guided fallback은 token을 보여주지 않습니다.

Doctor는 no-trace verdict 뒤에만 이것을 보여줍니다. Checkpoint이지 payload content나 credential 값을 수집할 권한이 아닙니다.

RECEIPT

추측이 아니라 측정한 것을 보고합니다.

유용한 diagnostic result는 bounded window, adapter/lane, authorization presence, terminal status, 선택 branch, 다음 checkpoint를 밝힙니다. Message나 identity payload는 포함하지 않습니다.