Skip to content

Commit cb1ee0a

Browse files
authored
docs: add contributor guide and clear entry points
1 parent d9ff0c0 commit cb1ee0a

2 files changed

Lines changed: 66 additions & 0 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Contributing to faultline
2+
3+
Thanks for helping make this reproducible stochastic simulation project easier to inspect and reproduce.
4+
Small documentation fixes and reproducible bug reports are useful contributions.
5+
6+
## Before changing behavior
7+
8+
Read the README, input/model contract and measured-results report. Open an issue for a
9+
substantial behavior or format change so the scope can be discussed first. These are
10+
educational engineering projects; production readiness is not established.
11+
12+
## Report a bug
13+
14+
Include: All five parameters (N, shortcuts, beta, gamma, seed), Python/compiler versions, the first divergent CSV event and expected behavior.
15+
16+
Use the smallest synthetic input that reproduces the problem. State expected and actual
17+
behavior, and include the exact command and commit/version. Screenshots may supplement
18+
text output, but should not replace a reproducible command.
19+
20+
## Development checks
21+
22+
Follow the README build instructions for your OS, then run:
23+
24+
```sh
25+
python -m unittest discover -s tests -v
26+
```
27+
28+
Keep C11 builds warning-free using the flags in the README. Linux CI also runs address
29+
and undefined-behavior sanitizers. A documentation-only change needs a link/command
30+
review; a behavior change needs a regression check that exercises the changed behavior.
31+
32+
Example entry point (run from the repository root):
33+
34+
```sh
35+
python python/faultline.py 200 2 3 1 314159
36+
```
37+
38+
## Evidence required for behavior changes
39+
40+
Keep the documented PRNG stream and canonical event ordering. Validate full trajectories in both languages and independent replay, not only the final counts. Explain any topology/rate confounding; results are synthetic-model experiments, not forecasts.
41+
42+
For performance claims, retain the raw samples, workload, environment, measurement
43+
boundary and reproduction command. Do not generalize one workload into a universal
44+
speedup. Avoid committing large generated files unless they are an agreed reference.
45+
46+
## Starter ideas
47+
48+
### Clarify parameter examples
49+
50+
Add two complete commands showing beta=0 and a seeded small network, with the expected invariants and a reference to MODEL.md.
51+
52+
### Propose incremental SI tracking
53+
54+
Start with a design issue describing event ordering and parity checks; benchmark on fixed seeds only after correctness is established.
55+
56+
These are suggestions, not assigned tasks or promised roadmap commitments. Check open
57+
issues before starting. A pull request should explain the problem, change, validation
58+
and limitations. Keep unrelated edits separate and respond respectfully to review.
59+
60+
AI-assisted contributions are welcome when the author checks the code and can explain
61+
the implementation and evidence. Contributions are made under this repository's MIT license.

‎README.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,8 @@ Algorithm background: [Gillespie's 1977 direct-method paper](https://pubs.acs.or
9090
| `MODEL.md` | Exact RNG and event-order contract |
9191

9292
MIT licensed. Suggestions and reproducible bug reports are welcome.
93+
94+
## Help improve this project
95+
96+
Try the quick start, report a reproducible issue, or pick a small documentation improvement.
97+
See [CONTRIBUTING.md](CONTRIBUTING.md) for reporting details, development checks and evidence expected for changes.

0 commit comments

Comments
 (0)