Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 1.39 KB

File metadata and controls

47 lines (36 loc) · 1.39 KB

Contributing to PhantomMark

Thanks for wanting to help. PhantomMark is a research-grade watermarking engine — contributions to robustness, detectors, or the attack harness are welcome.

Ground rules

  1. Detection ≠ security through obscurity. Every robustness claim must be backed by a reproducible benchmark under scripts/benchmark.py.
  2. Secrets never enter the repo. Keys are always placeholders (YOUR_KEY), never real material.
  3. English only in code, docstrings, and comments.
  4. Tests required. Any change to phantommark/ needs a matching test in tests/.

Setup

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

Project layout

phantommark/   # the package (current engine = v7)
legacy/        # historical engines (v5/v6) kept for benchmarking
scripts/       # benchmarks and asset generators
tests/         # pytest suite
docs/          # design docs

Pull request checklist

  • pytest passes
  • New code is type-hinted and documented
  • No print in library code (use logging)
  • Benchmark numbers updated in docs/BENCHMARK.md if behavior changed
  • CHANGELOG.md entry added

Code style

  • Follow PEP 8.
  • One module = one responsibility (see docs/ARCHITECTURE.md).
  • Prefer pure functions over state; engines are thin wrappers over primitives.