Please see docs-organized/project/CONTRIBUTING.md for the full contributor guide.
Quick links:
- Docs consistency gate:
docs/contributing/docs-consistency.md
When submitting PRs that affect dependencies, licensing, or release engineering:
- Run
python tools/license_report.py --lock requirements.lock --json licenses_report.jsonand ensure UNKNOWN count stays 0. - If adding a new override in
license_overrides.yml, include justification in the PR description. - Do not add strong copyleft runtime dependencies without an ADR reference.
- Ensure
pytest -q -o addopts= tests/toolspasses (governance tooling tests). - For build/release changes, run
python tools/packaging_smoke.pylocally.
- Place license governance tests under
tests/tools. - Use failure injection patterns in
tests/failure_injectionfor resilience scenarios.
A forthcoming automation script will fail CI if README version badge mismatches project version; until then manually keep them in sync.
All .aether workflows and scripts must include an up-to-date # @signature: header.
To avoid manual steps, a git pre-commit hook is provided that automatically (re)signs any staged .aether files:
- Ensure the hook file exists at
.git/hooks/pre-commit(created automatically in this repo) and is executable. - Stage your changes (
git add...). - On
git commit, the hook runstools/precommit_sign_aether.pywhich callstools/sign_aether.pyfor each changed.aetherfile and re-adds them to the index if modified.
Manual signing (if ever needed):
python tools/sign_aether.py workflows/parallel_workflow_demo.aetherVerify all signatures & static risk locally (strict mode):
python tools/verify_aether_scripts.py --root . --strict --profile test --fail-on-any-riskDry-run the pre-commit signer (show which files would be re-signed without modifying them):
python tools/precommit_sign_aether.py --dry-run workflows/parallel_workflow_demo.aetherCI also runs a strict verification workflow (aether-verify-signatures.yml) to prevent unsigned or tampered .aether content from merging.
Active deprecations are tracked to ensure safe removal after a stability window.
Recently Completed:
- Legacy Hub script (
aetherra_hub_server.py) — fully migrated toaetherra_hub.compatmodule (removed).
If proposing a new deprecation, open an issue with label deprecation-proposal containing:
- Rationale and replacement path
- Planned enforcement layers (tests, hooks, gates)
- Migration impact assessment
- Target earliest removal version
Approved proposals should add a tracker doc under docs/DEPRECATION_TRACKER_*.md and an entry in CHANGELOG.md under Deprecations.