Contributions are welcome. Keep changes small, measurable and correctness-first.
These starter issues are intentionally bounded and exercise real project surfaces without requiring large datasets or benchmark campaigns:
- #98 — Add a minimal Python dynamic-update example alongside the C++ examples
- #99 — Add a tiny exactness smoke example for incremental BFS
- #100 — Add an examples index with C++ and Python run instructions
Comment on the issue if you want to coordinate before starting. For concrete technical questions that do not yet belong in an issue, use GitHub Discussions — useful topics include dataset reproduction, dynamic-update workloads, graph-algorithm correctness, Python/C++ interoperability and hardware-specific results. Security reports should still follow SECURITY.md.
- Build with CMake and run
ctest. - Add tests for behavioral changes.
- For performance changes, provide a reproducible benchmark and avoid unsupported speed claims.
- For proposed research novelty, update
docs/research/novelty-ledger.mdwith closest prior work and a falsifiable experiment. - Prefer portable scalar correctness before architecture-specific optimization.
Do not commit credentials, API keys, tokens, private keys, proprietary datasets, personally identifiable information, or other sensitive material. Use synthetic or public fixtures for tests and examples. Report suspected vulnerabilities privately as described in SECURITY.md rather than opening a public issue with exploit details.
Use modern C++20, RAII, explicit ownership and clear subsystem boundaries. Avoid per-edge heap allocation, unnecessary virtual dispatch and premature lock-free complexity in hot paths.