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.
Maintain links and markers
Use repository-unique lowercase kebab-case docledger-section markers immediately before stable H2 headings. Run the documentation contract tests and Documentledger link audit after adding pages or changing command behavior.
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.