Restructure (what changed)
This page summarizes the executed codebase restructure work that landed alongside the Release 1 foundations.
The goal is contributor clarity: where things live, what the canonical build/test workflows are, and which tooling prevents drift.
What changed
- Developer handbook exists and is canonical: the repo now has a dedicated
documentation/dev/section covering build, bindings, testing, and hygiene. - Python internals are modularized: implementation code lives under
python/pycauset/_internal/, while the public surface remainspycauset.*. - Bindings are modularized:
src/bindings.cppis a thin entrypoint and binding logic is split acrosssrc/bindings/*by subsystem. - Drift prevention tooling exists:
tools/check_native_exports.pyhelps catch mismatches between Python expectations and native exports.
How to navigate the codebase now
- Python public facade:
python/pycauset/__init__.py - Python implementation modules:
python/pycauset/_internal/ - Native bindings:
src/bindings/ - Native core and compute:
src/andinclude/pycauset/
See Codebase Structure for the canonical map.
Build and test are documented workflows
The documented source-of-truth build workflow is pip/scikit-build-core.
See:
Approval gate note
Some additional restructure work was intentionally deferred behind an explicit approval gate. The execution record and remaining proposals live in: