v2.0.0major
Three-Bucket Output + Production Readiness Score
Three-bucket output, 5-gate verification pipeline, and Production Readiness Score.
- feat`quell find` — new primary command; auto-detects all spec sources; `--fix` writes WRITTEN tests, `--auto` skips confirmation, `--format github` for CI annotations, `--use-llm` enables Groq fallback
- featThree-bucket output — WRITTEN (verified, written to disk), SCAFFOLDED (stubs in tests/scaffold/ with `# quell: complete assertion`), FLAGGED (one-line reason per item; nothing dropped silently)
- feat5-gate pipeline — Gate 1 AST validity, Gate 2 originality, Gate 3 security, Gate 4 passes on correct code, Gate 5 fails on violated code; only 5/5 survivors become WRITTEN
- featProduction Readiness Score (PRS) — 0-100 score across WRITTEN tests and confidence values; tiers GREEN≥80 / YELLOW≥60 / RED<60; posted as PR comment by GitHub Action
- featGroq LLM provider — new default provider (llama-3.3-70b-versatile); configure with `quell auth set --provider groq --key sk-...`; LLM is opt-in (`use_llm = false` by default)
- feat`quell init` v2.0.0 defaults — writes groq, prs_threshold=60, scaffold_dir; auto-adds scaffold dir to .gitignore
- feat`quell score` rewrite — reads PRS from quell-report.json; `--badge` SVG; `--json` machine-readable
Infrastructure-Aware Verified Testing
spec6 — Infrastructure-Aware Verified Testing is fully implemented. None — all new flags are opt-in.
QuellGraph — persistent SQLite code-intelligence graph
- featIncremental sha256-based AST builder (`quell graph build`)
- featBFS infra-tag propagation across call chains (3-hop verified)
- featRead-only query API: transitive tags, call chains, staleness detection
- feat`quell graph show`, `quell graph why`, `quell graph stale`, `quell graph stats`
Ephemeral Container Engine — zero-credential throwaway infra
- feat`EPHEMERAL_CREDS` only — never reads real credentials
- featEnvironment detection (GitHub Actions, GitLab DinD, K8s, local Docker)
- featKeep-alive lockfile with container reuse across runs
- feat`quell teardown` to stop all managed containers
- featpytest fixture injection into conftest.py
6-Factor Confidence Score System
- featPer-test certainty rating: annotation coverage, constraint clarity, dependency clarity, graph coverage, docstring quality, mutation strength
- featTier gates: HIGH ≥85, MEDIUM ≥70, LOW ≥50, SKIP <50
- featWrite gate (≥50) and CI gate (≥70) configurable via `--min-confidence` and `--ci-confidence`
New CLI flags
- feat`quell check --with-containers` — auto-start required infra containers
- feat`quell check --min-confidence N` — filter by confidence score
- feat`quell check --keep-containers` — don't teardown after run
- feat`quell check --graph-rebuild` — force graph rebuild before check
v0.9.9.4patch
- fixEngine accuracy: nested function scanning, syntax fixes, bare return violation, silent_fail stubs
- fixSkip functions where all required params are unknown types — no more guaranteed-failing stubs
- fixCI: ruff E501, mypy arg-type and no-untyped-def fixes
v0.9.8minor
GitHub Action
- featGitHub Action — composite action; scans PRs, posts inline annotations, idempotent PR comment; `fail-on-gaps: true` blocks merges
- featGitHub App rewrite — webhook server; no per-repo YAML; fetches changed files via Contents API
- feat`--format github` flag — outputs GitHub Actions annotation syntax
- improve`source_line` added to Requirement model
v0.9.6.1patch
- featCUSTOM guard rules — assert statements now generate concrete stubs
- improveConcrete class preference — picks non-abstract implementors over base classes
- improveAssert violation injection — comments out assert line for Phase 2
v0.9.5patch
- fix`PYTHONPATH=src/` auto-set in pytest subprocess — fixes src-layout projects
- featBuiltin exception guard — `ValueError`, `TypeError`, etc. handled directly
- improveSkip abstract stubs — never instantiates ABC classes
v0.9.4minor
- featDetects `try/except/raise` patterns — generates must_raise tests
- featDetects standalone `raise` statements in guard branches
v0.9.3patch
- fixAuto-detects pytest when not in sys.executable environment (conda, venv, pipx)
v0.9.2minor
.env auto-loading
- featAuto-loads .env family files into pytest subprocess — no more missing env vars in tests
- featLoads .env.example, .env.template, .env.local, .env.secrets
- improveSurfaces real failure reason for rejected tests in the report
v0.9.0minor
Dual-Engine Architecture
- featDual-engine architecture — rule engine handles known patterns deterministically; framework engine handles FastAPI / Flask route guards
- fixWord-boundary check eliminates false stub injections on framework endpoints
- fixRoot-cause Windows encoding bug fixed — sys.executable + UTF-8 subprocess
v0.8.0minor
Async + Full Violation Coverage
- featFull violation coverage — all ConstraintKind types get targeted injection
- featAsync function support — wraps test body in `asyncio.run()`
- fixDuplicate kwargs fix in not_null stubs
v0.7.0minor
- fixFix duplicate kwargs in not_null stubs
- fixFix silent_fail verification — correctly tests None-return paths
v0.6.9patch
- fixPydantic classmethod stubs — correctly handles @classmethod validators
- fixEnum kwarg name fix — uses correct field name in generated stubs
- fixOptional stub dedup — no more duplicate Optional[X] in generated code
v0.6.1patch
- fixFix asyncio.run() crash in running event loop (Jupyter / IPython) — thread fallback
- improve`quell scan --fix` is now rule-engine-only by default — no LLM hang
v0.6.0minor
CodeGuardReader
- featCodeGuardReader — scans if/raise, assert, try/except/raise patterns directly from source; no docstrings or annotations needed
- feat`quell scan` command — works on any Python file
- featFixSuggester — interactive fix recommendations
- improveAlways writes quell-report.json after every run
v0.5.1patch
- fixFix auth login hang — Connection: close header, faster token error
v0.5.0minor
Auth + PySpark
- featAuth system — `quell auth login` with PKCE OAuth; credentials stored in ~/.quell/credentials.json
- featPySpark reader — extracts requirements from StructType schemas (nullable=False, DoubleType, etc.)
- feat`quell pr` — posts scan results as GitHub PR comment
- feat`--no-llm` flag — disables all LLM calls; rule engine only
v0.4.4patch
- improveRule engine improvements — better boundary detection, improved stub generation
- feat`--version` / `-V` flag added to CLI
v0.4.0minor
Spec-First Architecture
- featSpec-first architecture — unified Requirement model; all readers return list[Requirement]
- improveSignature inspection — real parameter names and types used in generated stubs
- improveTargeted violation injection — each ConstraintKind gets a precise mutation
- featDiagnostic report — quell-report.json records per-requirement outcomes
v0.3.0minor
GitHub Integration + PyPI
- featGitHub integration — PR comment poster, webhook listener
- featVS Code extension scaffold
- featFirst PyPI release — `pip install quelltest`
v0.2.0minor
CI + MCP + SDK
- featCI score tracking — `quell score --badge` generates a coverage badge
- featRepair mode — auto-writes verified tests to disk
- featMCP server — exposes quelltest as a tool for Claude Desktop
- featSDK — `from quell import Quell; q = Quell(); q.check('src/')`
v0.1.0minor
Initial Release
- featInitial release — Python 3.11+, Typer CLI, Pydantic v2, libcst
- featDocstring reader — extracts Raises: / Returns: blocks
- featPydantic reader — extracts Field constraints and Literal types
- featTwo-phase verifier — Phase 1 pass on correct, Phase 2 fail on violated
- featAST-safe writer — libcst injection, backup before write, restore on failure