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.1.tar.gz (43.1 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.1-py3-none-any.whl (55.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: issue_assistant-0.2.1.tar.gz
  • Upload date:
  • Size: 43.1 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.1.tar.gz
Algorithm Hash digest
SHA256 263931436b1fb814c6f4ddaf19a2b6f7203134a68356f127ba57bb09d3986410
MD5 608fb794c5f8bf201baf7cf28de15a91
BLAKE2b-256 078a1614204159cdd82ec95937946f1476c7504deb1e8f60643c3fb85ed4a9cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for issue_assistant-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17908f8885872fd8c9d8a5e5e9ca306ccb1905ef735bae0cde1c8f9cb037f9da
MD5 3f40bcbaf37d87abc1a7eaa1aae243b7
BLAKE2b-256 cb6594b734e35af13eb335472119f8e88bb6584cfc933fe34123a129ed242b21

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