Problem
There is no CI on this repository. tests/ already contains 137 unit tests covering CLI argument parity, exclusion-rule resolution, exporter output, workspace alias inference, and search filtering — but they are only run when a developer runs them locally. A regression that breaks any of those paths can be pushed to master or merged via PR with no automatic gate.
Suggested fix
Add a single GitHub Actions workflow that runs python -m unittest discover tests on every push to master and every pull request. Single Python version (latest stable, currently 3.12) keeps the workflow under the 1pt budget for this item; a multi-version matrix can come later if needed. Install only what the tests actually need (flask, fpdf2) — pywebview from requirements.txt is a desktop-launcher dep and can require GTK/Qt system libraries on Linux that aren't worth pulling into CI.
Severity
Medium / 1pt — Listed in Will's eval week-1 plan for cppa-cursor-browser.
Problem
There is no CI on this repository.
tests/already contains 137 unit tests covering CLI argument parity, exclusion-rule resolution, exporter output, workspace alias inference, and search filtering — but they are only run when a developer runs them locally. A regression that breaks any of those paths can be pushed tomasteror merged via PR with no automatic gate.Suggested fix
Add a single GitHub Actions workflow that runs
python -m unittest discover testson every push tomasterand every pull request. Single Python version (latest stable, currently 3.12) keeps the workflow under the 1pt budget for this item; a multi-version matrix can come later if needed. Install only what the tests actually need (flask,fpdf2) —pywebviewfromrequirements.txtis a desktop-launcher dep and can require GTK/Qt system libraries on Linux that aren't worth pulling into CI.Severity
Medium / 1pt — Listed in Will's eval week-1 plan for
cppa-cursor-browser.