feat(github-app): add maintainer trust checklist - #324
Merged
JSONbored merged 6 commits intoJun 4, 2026
Conversation
|
Related Knowledge 1 document with suggested updates is ready for review. gittensory For MaintainersView Suggested Changes@@ -127,6 +127,60 @@
- Dry-run decision (skip, comment, label, or check run)
- Preview label and check-run state
- Sanitized public comment preview
+- **installPreview**: A maintainer trust checklist covering permissions, public outputs, private context, command authorization, audit behavior, sanitizer boundaries, and manual controls
+
+#### Install Preview Checklist
+
+The `installPreview` field provides a comprehensive pre-enablement checklist for maintainers. It includes:
+
+**Overall status**: `ready`, `needs_attention`, or `blocked`
+
+**Summary**: Human-readable install readiness summary
+
+**Read scope**: What data is accessed from the cached repository
+
+**Computed context**: What context is computed for the preview
+
+**Preview behavior**: Notes about the read-only nature of the preview
+
+**Permissions**: Nested object containing:
+- `status`: Permission readiness status (`ready`, `needs_attention`, `blocked`)
+- `required`: List of required permissions for the previewed behavior
+- `missing`: List of missing permissions
+- `missingEvents`: List of missing webhook events
+- `summary`: Permission status summary
+
+**Public outputs**: Array describing what will be publicly visible (e.g., "One sanitized sticky PR comment", "Configured label \"gittensor\"", "Minimal GitHub check run")
+
+**Private-only context**: Array of data that remains authenticated-only (decision packs, blocker details, maintainer packet evidence, scoring evidence)
+
+**Command authorization**: Array describing authorization rules for commands (maintainer-only, confirmed PR author, private API access)
+
+**Audit behavior**: Array describing audit logging behavior (read-only preview, webhook skip logging, command handling logs)
+
+**Sanitizer boundaries**: Array describing what content gets sanitized (public comments, credential/key material, compensation estimates, trust metrics, score-prediction claims, private review evidence, gaming language)
+
+**Manual controls**: Array of settings that remain under maintainer control (public surface mode, comment mode, label name, check-run mode, maintainer-author inclusion, linked-issue requirements)
+
+**Checklist**: Array of checklist items, each containing:
+- `id`: Unique identifier
+- `category`: One of `permissions`, `public_outputs`, `private_context`, `command_authorization`, `audit`, `sanitizer`, `manual_control`
+- `status`: Item status (`ready`, `needs_attention`, `blocked`)
+- `label`: Display label
+- `summary`: Description of the item
+- `action`: What the maintainer should do
+
+The checklist covers seven key areas that maintainers should review before enabling repo commands:
+
+1. **Permissions and webhook events** — Verifies required GitHub App permissions and webhook event subscriptions are in place
+2. **Public outputs** — Shows what will be posted publicly (comments, labels, check runs) and warns if all-PR mode is enabled
+3. **Private-only context** — Confirms that decision packs, blocker details, maintainer packet evidence, and scoring evidence stay authenticated-only
+4. **Command authorization** — Describes who can invoke commands (maintainer-only commands, confirmed PR author commands, private API commands)
+5. **Audit behavior** — Clarifies that the preview is read-only and explains what gets logged in production
+6. **Sanitizer boundaries** — Ensures maintainers understand what content gets sanitized before public posting
+7. **Manual controls** — Lists the repo settings that remain under maintainer control
+
+This information helps maintainers understand what will happen when they enable Gittensory for their repository, particularly around security, privacy, and permission requirements.
### Repository Configuration Options
✅ Accepted |
bitloi
force-pushed
the
feat/issue-245-maintainer-trust-checklist
branch
2 times, most recently
from
June 2, 2026 22:53
a52a815 to
4d791f1
Compare
bitloi
force-pushed
the
feat/issue-245-maintainer-trust-checklist
branch
from
June 3, 2026 00:25
4d791f1 to
31649f9
Compare
JSONbored
self-requested a review
June 3, 2026 22:47
Contributor
Author
Thanks, agreed. I tightened this up in the latest push:
The branch is updated and CI is green now. Curious if this direction feels closer. |
JSONbored
requested changes
Jun 3, 2026
JSONbored
left a comment
Owner
There was a problem hiding this comment.
@bitloi this is still in request-changes state.
A few notes:
- The maintainer trust checklist concept is useful.
- OpenAPI and test coverage are in the right surfaces.
- The remaining blocker is presentation/evidence: the screenshots should be compact clickable thumbnails with clear state captions, and the UI should be simplified per the existing maintainer review.
Required changes:
- Convert the screenshots to a compact captioned thumbnail table/grid in the PR description. (you can drag and drop screenshots directly into the PR description, then properly format following our contribution guidelines - I should be able to click and expand them without having to download raw PNG files, as happened in another PR).
- Address the requested visual simplification/consolidation pass.
- Re-request review after updating the evidence and UI.
Validation expected:
- Keep CI green.
- Reconfirm
npm run ui:buildandnpm run ui:lintafter UI changes.
Contributor
Author
I updated the evidence and presentation:
|
…tainer-trust-checklist # Conflicts: # test/unit/repo-policy-readiness.test.ts
JSONbored
approved these changes
Jun 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #245
Screenshots
Screenshots captured against
npm run ui:previewwith mocked API fixtures. Click a thumbnail to open the full-size screenshot in GitHub.Scope
CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally; global coverage stays at or above 97% for lines, statements, functions, and branches (aim for 98%+ branch coverage locally so CI variance does not fail near the threshold)npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:version-auditnpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
npm run test:cipassed on the rebased branch.Safety
Notes
installPreviewresponse contract.