Skip to content

feat(commands): @gittensory explain <finding> command — parse + classify + echo a finding's rationale (dispatch scaffold) #2169

Description

@JSONbored

Wire @gittensory explain : a contributor/maintainer asks for more detail on a specific posted review finding. The parser bounty already captures the argument; this bounty adds the classifier + authorization + a handler that looks up the referenced finding from the review-thread findings store (src/review/review-thread-findings.ts) and posts its public-safe rationale. Contributor scope = argument validation + classifier + lookup-and-echo of an ALREADY-generated finding rationale (no new AI generation — that would be a separate maintainer-owned budget concern) + tests.

Deliverables

  • Add maybeProcessExplainCommand: require a non-empty finding argument (skip with a clear reason when absent), classify → evaluateCommandAuthorization("explain") → look up the finding → post its stored rationale via sanitizePublicComment
  • When the finding id is unknown, post a public-safe not-found note rather than silently no-op'ing
  • Do NOT call the model to generate new content in this bounty (echo the stored finding); record a github_app.finding_explained audit event
  • Reuse the shared preamble/classifier + gate-override recording shape
  • Unit tests: missing-argument skip, known-id echo, unknown-id not-found, authorized/unauthorized, bot/action skips (both branches of the argument-present + id-found conditionals)

References

  • src/review/review-thread-findings.ts
  • src/review/inline-comments.ts
  • src/github/commands.ts:164 (argument capture)
  • src/queue/processors.ts:5977 (handler pattern)
  • #1960

Part of #1960.


size: S · held for later release (gittensor:feature once activated)

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions