Skip to content

Product Roadmap

Where QASight (qasight, CLI qasight) stands today and what comes next. Open engineering debt lives in Technical Debt Tracker; the per-phase release checklists from the original plan are in the Archive.

Where it is now

One engine behind every surface. qasight.yaml → CycleRunService → engine.run_plan() → framework adapters → reporting and persistence. The CLI, the FastAPI backend and the CI wrappers all start runs this way; the Docker-based second execution stack and its uqo run --config contract were removed after 1.0.0. See Architecture Overview.

Area State
Frameworks pytest, behave, behavex, plus command for any other runner with JUnit XML import (Command Adapter and JUnit Import)
CLI qasight run (Rich, --stream, --ci NDJSON), reports, diff/summary, config, doctor/clean/watch/init; exit codes 0–4 (Command Reference)
Storage SQLite by default, PostgreSQL/MySQL through the repository layer (Repository Pattern). Docker and MinIO are not required
UI React + Vite + Tailwind frontend on the FastAPI /api/v1 API; frontend types generated from the OpenAPI schema (Phase 5 UI Redesign). The Streamlit prototype was removed
Analytics Dashboard, run-to-run delta with per-stage and per-test changes (Delta Comparison Policy), test pyramid, flaky test detection (Open Source Features)
AI Bring-your-own-key failure summaries (Phase 4 BYOK and Failure Analysis)
CI GitHub Action and GitLab template wrapping qasight run --ci (CI-CD Pipeline Setup)
Demo A Pages pipeline runs qasight on itself and on the deliberately broken fake-api app, then publishes the React UI as a read-only snapshot (GitLab Pages Demo)
Distribution 1.2.0 is released: PyPI (qasight), GHCR images, and the v1 Action tag; a GitHub Release publishes all of them (Publishing to PyPI)

Next

The product-side priorities are the Now / Next / Later roadmap in the Product Review (2026-10-24): failing tests first on the run page, the UI shipped in the wheel (qasight ui), a main-branch baseline for diffs and the PR comment, and a per-test page. Since this note was last updated, ingest, the team server, parallel stages (max_parallel_stages), the API run queue and the security switches all shipped; see the Specs & ADRs.

The next ranked list is Feature Gaps and Quick Wins (2026-10-31): sixteen small fixes from a new user's first ten minutes, and fourteen gaps against Trunk, Datadog, ReportPortal, Allure TestOps, Currents and others, led by a better flaky signal, quarantine from the UI, issues for flaky tests and an MCP server. Paid Features to Offer Free adds what competitors charge for that QASight could give away, led by code coverage history, a weekly digest and redaction before storing. New User Journey Audit (2026-11-01) walks a new user's twelve steps and ranks what could be automated, led by pointing everything at qasight init, qasight init --pr and browsing CI history without a server.

Still open from the earlier list:

  • Concurrent run guard for the CLI. The API queues runs, but two CLI runs of one cycle on one machine still share artifacts/<cycle>/. A lock file per cycle in CycleRunService.run() is the smallest fix.
  • Smaller items (signal-aware exit codes, reporter failure policy): see Technical Debt Tracker.

How it got here

The project started as "UQO", a Docker-and-Streamlit platform, and was delivered in four phases: packaging and a database-agnostic repository layer; drop-in CI wrappers; the React UI, delta engine and unified dashboard; then BYOK AI failure analysis. Each phase had a release checklist; those checklists and the dated plans and audits behind them are kept in the Archive.