Skip to content

Evidence

The KRONOS source repository is private, so the CI badge that would normally sit at the top of the README can't be resolved by anyone reading this. Rather than show a badge that renders broken — or ask you to take the quality claims on faith — this page records the actual output of the quality gates, run against the private repository, with the exact commands and versions used.

Everything below is verbatim terminal output. Nothing is edited except the removal of absolute paths from the machine it ran on.

Run date: 2026-08-31 Toolchain: Python 3.14.0 · mypy 2.1.0 · ruff 0.15.15 · pytest 9.0.3 Working directory: backend/ (matching the CI job's working-directory)


Strict type checking

The project runs mypy in strict mode over the whole backend package, configured in backend/pyproject.toml (strict = true, plus the pydantic plugin and ignore_missing_imports overrides for optional dependencies that ship without stubs — torch, transformers, langgraph, aiokafka and friends).

$ mypy aop
Success: no issues found in 134 source files

134 source files, zero errors.


Lint and format

ruff runs as both linter and formatter, with pyflakes, isort, pyupgrade, bugbear, comprehensions, simplify, async-lint, and pydocstyle rule sets enabled.

$ ruff check .
All checks passed!

Offline test suite

The not live marker selects the tests that need no external services. The complementary -m live suite is excluded here because it requires a running Ollama daemon — it exercises real model calls rather than mocks, which is a deliberate project rule (see ADR-0003).

$ pytest -m "not live"
........................................................................ [ 75%]
........................                                                 [100%]

96 tests, all passing, exit code 0.


What this does and doesn't prove

It shows the gates pass on the author's machine on the date above. It is not a substitute for a public CI run, and it isn't independently reproducible by a reader without access to the source — that's an unavoidable consequence of keeping the repository private, and it's better to say so than to imply otherwise.

If you need stronger assurance than this, ask for source access — see the "Source access" section of the project overview — and run the gates yourself.