Skip to main content

Tixyo

Confidence-gated, model-assisted issue triage for engineering teams.

Python 3.11+ PyPI Mapika Decider GitHub

Tixyo turns incoming issues into structured, reviewable triage decisions. It reads the issue and recent discussion, classifies it with Mapika Decider, and proposes consistent labels and ownership without silently changing your repository.

Dry-run is the default. Changes are only eligible for automatic application when their probability crosses the configured confidence threshold, and security-sensitive issues suppress normal automated routing.

Why Tixyo?

  • Safe by default — preview every decision before applying it.
  • Confidence gated — uncertain classifications stay queued for human review.
  • Shared taxonomy — keep types, components, priorities, statuses, and sizes consistent across repositories.
  • Multi-component aware — one issue can belong to several engineering areas.
  • Provider-oriented design — the triage engine depends on a common client interface, with GitHub as the first implementation.
  • Local model workflow — classification is powered by Mapika Decider rather than a hosted text-generation API.

What it classifies

Descriptor Behavior
Type Selects the primary nature of the issue.
Component Selects one or more affected project areas.
Priority Estimates impact and urgency.
Status Proposes the appropriate delivery state.
Size Estimates relative scope and decomposition level.
Signals Detects security, privacy, compliance, missing information, and reproduction needs.
Assignee Proposes an initial owner when confidence is sufficient.

Installation

Tixyo requires Python 3.11 or newer. Install the published package with:

pip install tixyo

Or install the latest source version:

git clone https://github.com/Bojan-Ivanovski/tixyo.git
cd tixyo
python -m venv .venv
source .venv/bin/activate
pip install -e .

Set the target repository and a GitHub token with issue and label permissions:

export GITHUB_TOKEN=github_pat_...
export GITHUB_REPOSITORY=owner/repository

The first triage run may download and initialize the configured Decider model.

Quick start

tixyo triage 123                     # preview decisions
tixyo triage 123 --apply             # apply high-confidence changes
tixyo triage 123 --json              # machine-readable output
tixyo triage 123 --model Mapika/decider-4b

Shared descriptors

The canonical taxonomy lives in tixyo/data/descriptors.py. Types and components can be synchronized with GitHub labels; priority, status, and size remain static shared definitions.

tixyo descriptors view
tixyo descriptors view --diff
tixyo descriptors apply
tixyo descriptors apply --force

descriptors apply adds missing labels and updates mismatched descriptions or colors. --force deletes and recreates mutable type and component labels, so review the diff before using it on an established repository.

Safety model

Tixyo separates a model recommendation from permission to mutate a repository:

  1. The issue, bounded body text, and recent comments become model context.
  2. Decider evaluates closed descriptor choices and independent risk signals.
  3. Tixyo parses probabilities and applies confidence thresholds.
  4. The CLI prints the proposed label and assignment changes.
  5. GitHub is only modified when --apply is explicitly provided.

High-confidence security-sensitive results suppress normal label and assignee updates so maintainers can route them through a private security process.

Architecture

tixyo/
├── cli/                 Typer commands and presentation
├── clients/             Provider-neutral interfaces
│   └── github/          GitHub transport, tickets, and descriptors
├── data/                Canonical descriptor registry
└── decider/             Context, model adapter, policy, and result models

The core TriageService accepts the shared Client abstraction. Additional issue trackers can implement the same ticket, descriptor, and transport interfaces without changing the classifier.

Development

pip install -e '.[dev]'
tox -e lint

The lint environment runs Pyright, isort, and Black checks.

Project status

Tixyo is early-stage software. Run it in dry-run mode first, verify your label taxonomy, and review model recommendations before enabling repository writes.

Contributions, issue reports, and provider integrations are welcome.

Metadata

Release files for tixyo 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tixyo 0.1.0
File Size Uploaded
tixyo-0.1.0.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tixyo 0.1.0
File Interpreter ABI Platform
tixyo-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.4 kB

Release files / tixyo-0.1.0.tar.gz

Download URL tixyo-0.1.0.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ecaf5a0a1b68b9a71a3a88ee1e88fa6f263423778017d1971ec07ada4744ea0c
BLAKE2b-256 checksum
How to use checksums
60fac9a30a103b57d391926fec77aa7fe5044f85133c35ba9ea82526fe86cc0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / tixyo-0.1.0-py3-none-any.whl

Download URL tixyo-0.1.0-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9cb9bec052bc313c1b6b369cc5828c58f64f863647140c86a7b20a2601c84e3a
BLAKE2b-256 checksum
How to use checksums
58e9bee4aed4a4ae458aff819d37ed40da92914c792068fc3aad8a3a3faa12ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page