Skip to content

Commit c3a9d2e

Browse files
committed
docs: api stability + contributing sections; issue/PR templates
1 parent 97d6532 commit c3a9d2e

4 files changed

Lines changed: 91 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Bug report
3+
about: Crash, hang, wrong result, or behaviour that diverges from the README
4+
title: ""
5+
labels: bug
6+
---
7+
8+
## What happened
9+
10+
A short description of the observed behaviour.
11+
12+
## What you expected
13+
14+
What the docs / type signature / contract led you to expect.
15+
16+
## Reproduction
17+
18+
A minimal source snippet, or a link to a fork with a failing test. The smaller the repro, the faster the fix.
19+
20+
```cpp
21+
// minimal reproduction
22+
```
23+
24+
## Environment
25+
26+
- citor version (`git rev-parse HEAD` or `v` tag):
27+
- Compiler + version (`g++ --version`, `clang++ --version`, `cl`):
28+
- OS + kernel (`uname -a` on Linux, `winver` on Windows):
29+
- CPU model (`lscpu | grep "Model name"` on Linux):
30+
- CMake configure line you used:
31+
32+
## Notes
33+
34+
Anything else worth flagging: TSan output, ASan stack, sysfs oddity, NUMA layout, etc.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Feature request
3+
about: A new primitive, hint field, platform, or contract surface
4+
title: ""
5+
labels: enhancement
6+
---
7+
8+
## What you want
9+
10+
The shape of the missing capability. If it's a primitive, sketch the signature.
11+
12+
## Why
13+
14+
A concrete workload that benefits. "Generally useful" by itself is not enough.
15+
16+
## Alternatives considered
17+
18+
Existing primitives or combinations you tried; why they fall short.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!-- A short PR description goes here. What and why. -->
2+
3+
## Summary
4+
5+
<!-- One or two sentences. What changes, what gets unblocked, what gets faster. -->
6+
7+
## Type of change
8+
9+
<!-- Tick whichever applies. -->
10+
11+
- [ ] `fix`: bug fix
12+
- [ ] `feat`: new primitive, hint, or public surface
13+
- [ ] `perf`: measured performance change
14+
- [ ] `refactor`: internal restructure, no behaviour change
15+
- [ ] `docs`: README, CITATION, or in-tree comments
16+
- [ ] `test`: new test, no production code touched
17+
- [ ] `build` / `ci`: build system, packaging, workflows
18+
- [ ] `chore`: tooling, deps, releases
19+
20+
## Test plan
21+
22+
<!-- How you verified this. For perf: cell name + before/after JSON snippet. -->
23+
24+
- [ ] `ctest --test-dir build --output-on-failure` (or the relevant subset)
25+
- [ ] `pre-commit run --all-files`
26+
- [ ] Bench evidence attached (for `perf` PRs)
27+
- [ ] Tested on Windows (for Windows-port PRs)
28+
29+
## Notes for reviewers
30+
31+
<!-- Anything reviewers should know: known limitations, follow-up work, alternative approaches considered. -->

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1195,6 +1195,14 @@ scripts/ pre-commit helpers (ctest, clang-tidy, doc-string
11951195

11961196
Anything under `include/citor/{cpos,detail}/` is reachable but not part of the public API surface. Top-level headers in `include/citor/` (`thread_pool.h`, `hints.h`, `cancellation.h`, `chain.h`, `pool_group.h`, `function_ref.h`, `version.h`) are the user-facing entry points.
11971197

1198+
## API stability
1199+
1200+
citor is pre-1.0. The version scheme is semver, so `0.x` minor bumps may break source compatibility in principle. In practice the public surface (`include/citor/*.h` minus the `detail/` and `cpos/` subdirectories) has been stable across the last several releases and a breaking change is unlikely without a clear reason. Anything under `include/citor/detail/` is internal and changes freely.
1201+
1202+
## Contributing
1203+
1204+
Contributions, bug reports, and benchmark fairness fixes are welcome. Open an issue or a PR. For perf claims, include the host details and the `parallel_bench --export` JSON so the numbers reproduce. For bench-shape complaints (a peer pool wired in a way that disadvantages it, a missing competitor, an unfair workload), open an issue with the cell name and a proposed fix.
1205+
11981206
## License
11991207

12001208
MIT. See [`LICENSE`](LICENSE).

0 commit comments

Comments
 (0)