Docs
GitHub App
Perseus requests repository contents (read), metadata (read), pull-request write (for inline citations), commit statuses, and checks. No write access to code.
Webhook events drive the indexer: `installation` provisions the tenant, `push` enqueues incremental re-index of the changed branch, `pull_request` (opened) attaches the retrieval context to the diff, `issue_comment` with an `@perseus` mention runs a query and replies with citations.
Webhook payloads are HMAC-signed with the App secret. Unsigned or bad-signature requests are rejected with 401 at the edge - no silent fallback.