# Toolchain contract for the jobbsok plugin (plan Step 2). # # This is deliberately NOT an installable distribution. Nothing here needs a # build backend: the tests import from `scripts/` via pytest's `pythonpath`, # and the dependencies are declared as a PEP 735 dependency group that # `scripts/bootstrap.sh` installs with `pip install --group dev`. Adding a # build backend would buy a packaging step this repo never uses. [dependency-groups] dev = [ "pytest>=8", "pytest-socket", # Pinned to an exact tag, and not vendored under any circumstances. The # guard is the trust boundary for M3 ingestion; a floating version is not # a boundary. A tag that cannot be resolved blocks M3 -- it is not a cue # to substitute a different one. "llm-ingestion-guard @ git+https://git.fromaitochitta.com/open/llm-ingestion-pipeline-security.git@v1.3.0", ] # Optional extra, installed by `scripts/bootstrap.sh --med-xlsx`. Declared here # so the spreadsheet export path is reachable on a clean bootstrap instead of # being asserted against a library nothing installs. xlsx = [ "openpyxl", ] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["scripts"] # --disable-socket makes the offline guarantee enforced rather than intended: # any test that opens a socket fails instead of quietly reaching the network. # --strict-markers means an undeclared marker is an error, which is why # `network` is declared below -- without it, `-m 'not network'` would itself # be the error. addopts = "-q --strict-markers --disable-socket -m 'not network'" markers = [ "network: test needs real network access; deselected by default and never run in CI", ]