Skip to main content

Deterministic-first GitHub issue triage engine

Project description

Issue Assistant

Issue Assistant is a deterministic GitHub issue triage engine designed for maintainers who want consistent, explainable signals without automation they can’t trust.

It analyzes GitHub issues and produces Markdown and JSON artifacts that help answer:

  • Is this issue actionable or missing critical information?
  • Does it appear to be a duplicate of existing work?
  • How much maintainer effort is likely required?
  • Why did the tool reach this conclusion?

All outputs are written to .issue-assistant/. Nothing is hidden, guessed, or implicit.


Why this exists

Maintainers spend a disproportionate amount of time triaging issues that are:

  • missing reproduction steps, logs, or environment details
  • duplicates that fragment discussion
  • unclear about expected vs actual behavior
  • noisy or low-signal

Issue Assistant provides a deterministic baseline for triage so humans can make faster, more consistent decisions without surrendering control.


Design principles

Issue Assistant is intentionally conservative:

  • Deterministic only — no LLMs, no probabilistic output
  • Explainable by construction — every outcome maps to rules and evidence
  • Governance-aware — safe defaults, no surprise side effects
  • Human-first — maintainers always make the final call

If a signal cannot be explained clearly, it does not exist.


Installation

Requires Python 3.10+.

pip install issue-assistant

Run locally

issue-assistant analyze \
  --github-token "$GITHUB_TOKEN" \
  --repo owner/name \
  --output-dir .issue-assistant \
  --governance-mode dry-run

This performs a full analysis and writes artifacts locally without modifying issues.


GitHub Action

Issue Assistant is available as a GitHub Action:

uses: siggmond/issue-assistant@v0.2.0

The Action is a thin wrapper around the CLI. You can use the CLI independently or rely entirely on the Action.

Typical triggers include:

  • issue opened / edited / reopened
  • scheduled runs (weekly digest)

Artifacts can be uploaded or committed depending on your workflow.


Governance modes

Mode Comments Label suggestions Intended use
dry-run never never analysis only; safest default
strict limited no request missing info, flag duplicates
aggressive yes yes (suggestions) higher throughput without auto-closing

Hard constraints:

  • issues are never auto-closed
  • fixes are never guessed
  • maintainer decisions are never overridden

Artifacts generated

A typical run produces:

  • ISSUE_SUMMARY.md / issues.json
  • MAINTAINER_LOAD.md / maintainer_load.json
  • EXPLAINABILITY.md / explainability.json
  • per-issue playbooks and explainability JSON

Example outputs are included under docs/screenshots/.


When not to use this tool

Issue Assistant is not a good fit if you want:

  • fully automated triage or auto-closing
  • subjective or sentiment-based analysis
  • invisible automation
  • zero repository artifacts

Philosophy

Explainability is a core invariant.

If the tool cannot explain why it produced an output, that output should not exist.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

issue_assistant-0.2.2.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

issue_assistant-0.2.2-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file issue_assistant-0.2.2.tar.gz.

File metadata

  • Download URL: issue_assistant-0.2.2.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for issue_assistant-0.2.2.tar.gz
Algorithm Hash digest
SHA256 b20326c50bd0788e4d608fc512558956cf13492e2bd4aa883f10fa424575c105
MD5 4d9a785e8e2cb5ff8c19e4209f2bf6ee
BLAKE2b-256 5592db265bab3f6eea90861f19311e9a589441c2f598290e6ec390d75e03bed2

See more details on using hashes here.

File details

Details for the file issue_assistant-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for issue_assistant-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d2054e2cc79c36df8da79d7a8d0d533301b8faa412d17857d6592e7590f0aa39
MD5 1080dfd75a6b86a9c3c2752a71ba610b
BLAKE2b-256 f1d5ae34fc7d67b4066b5228fad8edc021c715462a55b5dc97518234822d331c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page