Thank you for contributing to SCOPE.
git clone https://github.com/fraware/SCOPE.git
cd SCOPE
pip install -e "./scientific-authorization-contracts"
pip install -e ".[dev]"
pytestSCOPE 2.2 pins scientific-authorization-contracts==2.2.0. Install contracts before
SCOPE (CI does the same).
Behavioral and authorization semantics are governed by ADRs under docs/adr/. Read ADR-0000 before proposing schema or policy changes. Normative non-claims: ADR-0001.
CI runs on Python 3.10, 3.11, and 3.12 (see .github/workflows/ci.yml). Before you
push, run the same pipeline locally:
Linux / macOS / GitHub Actions:
bash scripts/ci.shWindows (PowerShell):
.\scripts\ci.ps1For AS-01..AS-08 adversarial suites plus full-stack reconstruction of
examples/institutional_pilot_as/:
python scripts/run_institutional_offline_gates.pyPrefer this path for laptop/PR validation. Optional institutional CI with live
Postgres remains bash scripts/ci.sh --institutional when
SCOPE_LEDGER_DATABASE_URL is set. See docs/runbooks/.
Equivalent manual steps:
python -m pip install --upgrade pip setuptools wheel
pip install -e "./scientific-authorization-contracts"
pip install -e ".[dev]"
ruff check scope tests evals adapters
mypy scope
pytest
python evals/run_review_cases.py --extended
python scripts/verify_pilot_fixtures.py
python scripts/run_institutional_offline_gates.pyEnsure pyproject.toml is saved as UTF-8 without a BOM (a BOM breaks
pip install -e).
When sibling repos are available locally, set repository variables or secrets:
AKTA_REPO_PATHPF_CORE_REPO_PATHPCS_CORE_REPO_PATH
The optional live-ecosystem CI job runs cross-repo contract validation. Default CI
remains green without these paths.
- Fork and create a feature branch
- Add tests for behavior changes
- Run the pre-push checklist above
- Update docs (and ADRs when semantics change) if schemas or policy change
- Do not claim scientific certification, live IdP, WORM, or remote ledger readiness unless those external gates are actually met
- Type hints on public APIs
- Minimal, focused diffs
- Match existing module structure
- Fail closed on missing authority, independence, freeze, or mode evidence
See docs/limitations.md for scope boundaries and GOVERNANCE.md for release policy. Security reports go through SECURITY.md (private disclosure).