Contents

Known issues

Defects the estate audit of 2026-10-05 found that are still open. The audit is docs/agent/2026_10_05_ESTATE_AUDIT/REPORT.md. Work that is planned and not a defect is in Remaining work.

C ABI

Issue Where
sushitrack_update and sushitrack_get_tracklets return 0 on a caught exception and on a rejected argument, which a caller cannot tell from a frame with no tracks; the ABI has no status return on these calls and no last-error call source/sushitrack_c.cpp, include/SushiTrack/sushitrack_c.h
A log callback that throws while a C entry point’s handler logs at ERROR level throws again from inside the handler and crosses the C boundary source/logger.cpp, source/sushitrack_c.cpp
sushitrack_create_ex can return SUSHITRACK_RUNTIME_ERROR with *out_tracker already set when its last log line throws, and sushitrack_create then drops that handle; a throwing Tracker constructor leaks the implementation object source/sushitrack_c.cpp

Installing and versions

Issue Where
The conda environment pins sushicore==0.4.0 and the CLI requires sushicore>=0.7.0, so an environment built from the file cannot run st environment.yml, cli/pyproject.toml
The image build installs the CLI with pip3 install and names no source for sushicore 0.7.0 Dockerfile
Four version numbers disagree: the library and the binding say 1.0.0, the CLI package 0.1.0 and its __version__ 2.0.0 CMakeLists.txt, bindings/python/pyproject.toml, cli/pyproject.toml, cli/sushitrack_cli/__init__.py
The changelog has a v1.0.0 section and no v1.0.0 tag exists docs/reference/CHANGELOG.md, git
The v1.0.0 section says an open-source version was released; the repository was private and nothing was published docs/reference/CHANGELOG.md
The GoogleTest fragment says the test targets are off by default, while st build builds them unless --no-test is given, and it carries no check command, so st doctor never looks for GoogleTest cli/sushistack.deps.toml

Repository hygiene

Issue Where
Test discovery writes cmake_test_discovery_*.json into the repository root tests/unit/CMakeLists.txt, tests/integration/CMakeLists.txt, tests/regression/CMakeLists.txt
234 MB of benchmark annotation data is tracked in git, with 22 files stored twice tests/regression/evaluator/data/
The ignore file names .divitsort_env.json, not the .sushitrack_env.json the CLI writes, and has no rule for build-asan/, .worktrees/, worktrees/ or .superpowers/ .gitignore
The ignore file hides every *.pth, *.tar and *.db, which would also hide a fixture added on purpose .gitignore
The Docker ignore file names Dockerfile.cli, which does not exist, and does not exclude *.egg-info .dockerignore
The submodule sections are still named 3rdparty/... while their paths are third_party/... .gitmodules
An environment variable and a docstring still say 3rdparty cli/sushitrack_cli/config.py, cli/sushitrack_cli/services/evaluate.py
No CI workflow exists .github/

Layout

Issue Where
The root holds entries the layout does not name (bindings/, Dockerfile, .dockerignore, environment.yml, sushitrack.json) and lacks .clang-format, .editorconfig and cmake/ repository root
The root build file holds compiler flags, the Eigen lookup and target definitions, where the layout allows project(), options and add_subdirectory CMakeLists.txt
The headers and sources are flat, without the <area> level, and four headers hold more than one primary symbol include/SushiTrack/, source/
Test files are PascalCase and their headers end in .h tests/unit/, tests/integration/, tests/regression/
Two tracker configs sit loose in the test root instead of a fixtures folder tests/bytetrack.json, tests/ocsort.json
Python applications live inside the test tree tests/regression/evaluator/, tests/regression/inference/
A second script folder sits inside the CLI package cli/misc/

Documentation

Issue Where
A fix message and a dependency description cite sections of the old one-file manual; the sections are now docs/reference/DATA_LAYOUT.md and docs/getting_started/INSTALL.md cli/sushitrack_cli/services/checks.py, cli/sushistack.deps.toml
The date, commit and machine of the recorded benchmark runs are not written down docs/reference/BENCHMARKS.md
The pipeline, IMM and lifecycle descriptions have not been checked against the sources; the cited paths have docs/architecture/OVERVIEW.md
The flag tables, parameter defaults and scenario counts were carried over from the old manual and not compared with the code one by one docs/reference/CLI.md, docs/reference/CONFIGURATION.md