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:
- The issue, bounded body text, and recent comments become model context.
- Decider evaluates closed descriptor choices and independent risk signals.
- Tixyo parses probabilities and applies confidence thresholds.
- The CLI prints the proposed label and assignment changes.
- GitHub is only modified when
--applyis 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)
| File | Size | Uploaded | |
|---|---|---|---|
| tixyo-0.1.0.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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