- Fork and clone the repository.
- Create a virtual environment:
python -m venv .venv source .venv/bin/activate # Windows: .venv\\Scripts\\activate pip install -r requirements.txt pip install -e .[dev]
- Run the reproducibility harness:
make lint test
- Format Python code with
blackand lint withruff(executed viamake lint). - Cover new functionality with
pytesttests. Targeted fixtures should record the logistic quartet ((R, \Theta, \beta, \zeta(R))) relevant to the feature. - Prefer pure functions that expose deterministic interfaces, seeded via the
shared
RANDOM_SEEDconstant when stochasticity is unavoidable.
- Maintain the tri-layer cadence: formal mathematics, empirical evidence, and interpretive narrative clearly distinguished.
- When editing
docs/orpaper/, cross-reference the analysis script and dataset that support each claim. - Keep metaphors in appendices or labelled sections so reviewers can focus on the quantitative argument.
- Submit new datasets under
data/<domain>/with a matching<name>.metadata.jsonthat satisfiesschemas/metadata.schema.json. - Document provenance, licensing, measurement methods, and null-model comparisons.
- Provide an accompanying analysis script or notebook that reproduces the logistic fit and exports JSON results.
- Tests pass locally (
make test). - Linting passes (
make lint). - Documentation updated for new or changed functionality.
- ΔAIC comparisons reported for any new analysis.
- Seeds and environment details noted when introducing stochastic components.
Open an issue before large changes so we can align on how the addition supports the UTF logistic framework. Cite relevant data files, notebooks, or simulator presets to keep the resonance braid traceable.