Skip to main content

Related Issue Finder (yt-issue-reviewer)

Documentation Status

A run-on-demand CLI that helps a team lead find related issues across a YouTrack instance — probable duplicates, issues about the same feature/root cause, and issues with overlapping subject matter worded differently — so they can be merged, recognized, and consolidated.

📖 Documentation: https://yt-issue-reviewer.readthedocs.io/

Privacy & boundaries (non-negotiable)

  • Read-only against YouTrack. This tool never links, merges, tags, or closes issues.
  • Self-hosted Ollama only for embeddings and optional labels. Issue content never leaves infrastructure you control; there is no third-party hosted-AI fallback.
  • All YouTrack access goes through the youtrack_cli package (the yt CLI).

How it works

  1. Ingest issues via yt and cache them locally in SQLite (Datasette-friendly).
  2. Embed title+description via Ollama, caching vectors on (issue_id, content_hash, model) so unchanged issues are never re-embedded.
  3. Score relatedness = weighted blend of semantic cosine similarity + local structural signals (shared tags, reporter overlap, temporal proximity).
  4. Group high-scoring pairs into ranked groups (existing YouTrack links excluded).
  5. Report ranked groups with human-readable evidence; optionally add a flag-gated, generated one-line label per group.

Quickstart

uv sync
uv run yt-issue-reviewer doctor --ollama-host http://<host>:11434
uv run yt-issue-reviewer analyze --project PROJ --state open --min-score 0.6 --db ./yir.db
uv run yt-issue-reviewer show --db ./yir.db      # re-display a stored run, offline
datasette ./yir.db                                # browse results externally

Prerequisites: uv, an authenticated youtrack-cli, and a reachable self-hosted Ollama with nomic-embed-text pulled. Full walkthrough in the quickstart.

Documentation

Full docs are hosted at https://yt-issue-reviewer.readthedocs.io/.

Doc What it covers
Installation Prerequisites and install
Quickstart Zero → first analysis
CLI reference Every command, flag, and exit code
Configuration Env vars + config.toml with defaults
Architecture The hybrid scoring pipeline
Privacy & security What leaves your infra (nothing)
Releasing Tag-driven PyPI release process
Contributing The just check gate and PR workflow

The Markdown/RST sources live in docs/; the full spec, plan, and contracts live under specs/001-related-issue-finder/.

Development

just --list      # all developer recipes
just check       # the exact CI gate: ruff, ruff format, ty, pytest, zizmor

See CONTRIBUTING.md. Licensed under the MIT License.

Download files

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

Source Distribution

yt_issue_reviewer-0.3.7.tar.gz (245.8 kB view details)

Uploaded Source

Built Distribution

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

yt_issue_reviewer-0.3.7-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file yt_issue_reviewer-0.3.7.tar.gz.

File metadata

  • Download URL: yt_issue_reviewer-0.3.7.tar.gz
  • Upload date:
  • Size: 245.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for yt_issue_reviewer-0.3.7.tar.gz
Algorithm Hash digest
SHA256 910f7f9f9b5feeb268d0b443961f1326c34a6328a1a6d629100d094f106b8026
MD5 a9c7c91c9c4f25b675e0f35f015ff9e8
BLAKE2b-256 5c95abee6b178786a35f12734d687461461808034af5f73c899f64d8a64c7c60

See more details on using hashes here.

Provenance

The following attestation bundles were made for yt_issue_reviewer-0.3.7.tar.gz:

Publisher: release.yml on ryancheley/yt-issue-reviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yt_issue_reviewer-0.3.7-py3-none-any.whl.

File metadata

File hashes

Hashes for yt_issue_reviewer-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d632cc3baff163fb6a811c95adbeb03ccaf063e8a6e381d3778e4d4c48d51101
MD5 fb3ac1777f66ede481bcb1576f1e848c
BLAKE2b-256 e13ccb1d8d4843b7f57ea625475f11ab271d6fd67870cdbc3ec49d8097ac56b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for yt_issue_reviewer-0.3.7-py3-none-any.whl:

Publisher: release.yml on ryancheley/yt-issue-reviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

This release

0.3.7 This release

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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