Development

Environment and checks

python -m pip install -e ".[test,docs,dev]"
python -m pytest -q
python -m compileall -q documentledger tests
python scripts/generate_cli_reference.py --check
python -m sphinx -W --keep-going -b html docs docs/_build/html

Run configured linters and type checks when available. Documentation changes must preserve stable section markers and pass the strict build.

Add a command

Register the command in its command module, add canonical metadata to COMMAND_INVENTORY, update the generated CLI reference, and add command behavior tests. Compatibility wrappers must remain separately labeled.

Change a persisted schema

Update the storage/model reader and writer together, verify exact schema constants and unknown-field policy, add migration or compatibility handling, update schemas.md, and add tests for valid, invalid, and timestamp-free payloads.

Releases and self-maintenance

The changelog is generated by Releaseledger. Update release records rather than editing docs/changelog.md manually. After source/docs changes, run the scan, affected-context, proposal review, link audit, coverage, strict build, and final documentledger --json check workflow before marking documentation fresh.