Problem
Maintainers need to know exactly what the GitHub App will do before enabling comments, labels, or optional checks. Today install health exists, but the maintainer-facing preview path can be clearer.
Desired behavior
Add a settings/diagnostics API that shows public surface mode, label settings, missing permissions, check mode, maintainer-author inclusion, linked-issue requirements, and a dry-run preview for a sample PR.
Implementation notes
- Reuse existing installation health and repo settings concepts.
- Add a preview endpoint that renders the sanitized comment/label decision without posting anything.
- Explain missing
Issues: write and optional Checks: write remediation exactly.
- Keep check runs off by default unless explicitly configured.
Public/private boundaries
The preview must use the same sanitizer as public GitHub output. Private scoreability, raw trust, wallet/hotkey, and reviewability internals must not appear.
Acceptance criteria
- Maintainer can see whether a sample PR would be skipped, commented, labeled, or minimally checked.
- Missing permissions are explained with exact GitHub App setting changes.
- Confirmed miner, non-miner, bot, maintainer author, disabled surface, and missing permission cases are handled.
- Preview does not mutate GitHub state.
Tests
- Healthy install.
- Missing
Issues: write.
- Optional checks disabled.
- Confirmed miner preview.
- Non-miner quiet skip preview.
- Maintainer-author default skip.
- Sanitizer regression.
Problem
Maintainers need to know exactly what the GitHub App will do before enabling comments, labels, or optional checks. Today install health exists, but the maintainer-facing preview path can be clearer.
Desired behavior
Add a settings/diagnostics API that shows public surface mode, label settings, missing permissions, check mode, maintainer-author inclusion, linked-issue requirements, and a dry-run preview for a sample PR.
Implementation notes
Issues: writeand optionalChecks: writeremediation exactly.Public/private boundaries
The preview must use the same sanitizer as public GitHub output. Private scoreability, raw trust, wallet/hotkey, and reviewability internals must not appear.
Acceptance criteria
Tests
Issues: write.