- Fork/clone the repository.
py -3.12 -m venv .venv && .\.venv\Scripts\Activate.ps1pip install -e ../secintel-core && pip install -e ".[dev]"pytest— all tests must pass before submitting changes.
- Type hints and docstrings on all public functions.
- No bare
except:— catch specific exceptions. - Every finding uses the secintel evidence taxonomy correctly.
- Never hard-code detection results, scores, or CVE references.
- Sample data must be labeled
is_sample_data: true.
- Document the heuristic in
docs/methodology.md(hypothesis, signals, failure modes). - Add positive, negative, and edge-case tests under
tests/. - Record false-positive/negative behavior in
docs/limitations.md. - Update
docs/benchmarks.mdwith measured numbers.
- Tests pass (
pytest) - Lint clean (
ruff check) - Types check (
mypy src) -
docs/methodology.mdupdated if analysis logic changed -
docs/limitations.mdupdated if behavior changed - No fabricated results in fixtures or demos