Skip to content

feat(control-panel): add maintainer control panel #130

Description

@JSONbored

Background

Maintainers need confidence that Gittensory will not create noisy or judgy public output. The control panel should make GitHub App behavior configurable and previewable.

Goal

Create a maintainer surface for install health, repo settings, public surface mode, labels, checks, linked issue policy, maintainer-author inclusion, and previews.

Current Behavior

Installation health and public-surface behavior exist in backend concepts, but maintainers do not have a clear web control surface.

Desired Behavior

A maintainer can understand and configure exactly what Gittensory will do before enabling public comments, labels, or command responses.

Implementation Requirements

  • Expose installation health and repo setting summaries through authenticated APIs.
  • Support public surface mode, label name, check mode, linked issue policy, and maintainer-author inclusion.
  • Show missing permission/event remediation.
  • Audit settings changes.
  • Keep private reviewability and scoreability out of public previews.

Public/Private Output Boundaries

Public GitHub output must never include wallets, hotkeys, payout/reward estimates, raw trust scores, public score estimates, private reviewability, private scoreability context, or farming language. Private API/MCP/control-panel surfaces may show authenticated scoreability, blockers, projections, and evidence, but must not claim guaranteed payout outcomes.

Acceptance Criteria

  • Maintainer can see exactly what Gittensory will comment or label.
  • Missing permissions/events are explained.
  • Public comment preview is sanitized.
  • Settings changes are audited.
  • Tests cover maintainer vs non-maintainer authorization.

Testing Requirements

  • npm run test:ci must pass.
  • Global coverage must remain at or above 97% for lines, statements, functions, and branches.
  • Aim for 98%+ branch coverage locally.
  • Add tests for every new branch, fallback path, sanitizer rule, and regression.
  • Add invariant/property-style tests when behavior depends on sorting, gating, scoring, source-upload safety, public/private boundaries, or telemetry privacy.
  • MCP/local tooling must prove source contents are not uploaded when local metadata is involved.
  • Public GitHub output must be tested against forbidden language: wallet, hotkey, raw trust score, payout, reward estimate, farming, private reviewability, and public score estimate.

Metadata

Metadata

Assignees

Labels

roadmapOn the Wave-2 agent-layer roadmap board (project 9)visualUI/web visual work — owner-led, NOT for Gittensor contributors (extensions excepted)

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions