Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
## D9 Task — PR Checklist

**Related issue / scoreboard task:** closes #<!-- issue number -->

**Scoreboard entry:** <!-- link to the DM3 scoreboard row, if applicable -->

---

### What this PR does

<!-- One-sentence summary of the contribution (proof, script, note, mapping …) -->

---

### Checklist

#### Reproducibility
- [ ] All random seeds are fixed and recorded (pass `--seed <n>` or equivalent).
- [ ] The exact command used to generate output is pasted below (or in the script header).
- [ ] Output files (`.csv`, `.json`, `.png`) committed to the correct folder (`scripts/out/`, `outputs/`), **or** too large and linked externally with a checksum.

#### Tests / verification
- [ ] Script runs end-to-end without error on a clean install (`pip install numpy networkx matplotlib`).
- [ ] Numerical results match the expected values stated in the issue (or deviations are explained).
- [ ] Lean proof compiles without `sorry` (if applicable).

#### Data
- [ ] No raw binary blobs > 10 MB committed; large files use a link + SHA-256 hash.
- [ ] Data sources are cited (FlyWire API URL, paper DOI, etc.).

#### Formatting (analytic notes)
- [ ] Equations use the agreed LaTeX/Markdown conventions from [CONTRIBUTING.md](https://github.com/TOTOGT/DM3-lab/blob/main/CONTRIBUTING.md).
- [ ] File is named `docs/<topic>_<initials>_<YYYY-MM>.md` (or `.pdf` with matching `.tex` source).

#### Scoreboard
- [ ] PR title starts with the task ID, e.g. `[D9-42] …`.
- [ ] Scoreboard link or issue reference included above.

---

### Reproduction command

```bash
# paste the exact command here, e.g.:
# python scripts/collatz_c9_2_sampling.py --N 1000 --M 50 \
# --window-type dyadic --start 1 --end 1024 \
# --sample-rate 0.1 --seed 42 --output scripts/out/my_run
```

### Notes for reviewers

<!-- Any context that helps the reviewer validate the result -->
78 changes: 76 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to AXLE

Thank you for your interest in contributing to the AXLE community! This guide explains how to add files to the repository — including from your **phone or tablet** using the GitHub mobile app.
Thank you for your interest in contributing to the AXLE community! This guide covers both the GitHub file-upload workflow (including from mobile) and the specific conventions for **D9 micro-tasks** — numerical scripts, analytic notes, and reproducible pull requests.

---

Expand Down Expand Up @@ -61,8 +61,82 @@ You can upload files directly to this repository from your phone without needing

---

## D9 Micro-Task Contributions

D9 tasks are small, self-contained work items (numerical experiments, analytic notes, Lean proofs) tied to the DM3 scoreboard. Anyone can self-assign a task by commenting on the relevant issue.

### Running Numerical Scripts

All scripts live in `/scripts/` and `/simulations/`. Use Python 3.10+.

**1. Install dependencies**

```bash
pip install numpy networkx matplotlib
```

**2. Run a script**

```bash
# Example — C9.2 conditional sampling
python scripts/collatz_c9_2_sampling.py \
--N 1000 --M 50 \
--window-type dyadic --start 1 --end 1024 \
--sample-rate 0.1 --seed 42 \
--output scripts/out/my_run
```

Output files (`.csv` and `_summary.json`) are written to `scripts/out/`. Create that directory first if it does not exist:

```bash
mkdir -p scripts/out
```

**3. Reproduce a prior result**

Always pass `--seed <integer>` to lock the random state. The seed used in any published result must be recorded in the PR description and the corresponding JSON summary file.

**4. Connectome simulations**

```bash
python simulations/connectome_loader.py # synthetic fallback, no extra data needed
python simulations/simple_to_operator.py
```

Plots are saved to `outputs/` (created automatically).

---

### LaTeX / Formatting Guidelines for Analytic Notes

Place analytic write-ups in `/docs/` as `.md` files (preferred for version control) or `.pdf` (compiled separately).

**Markdown with inline math (`.md`)**

- Use standard GitHub-flavored Markdown.
- Inline math: `` $f(n) = \lfloor n/2 \rfloor$ ``
- Display math: fenced with `$$` on its own line.
- Label every key equation with a bold tag, e.g. `**(Eq. C9.2)**`.

**LaTeX source (`.tex`)**

- Keep one `.tex` file per note; compile with `pdflatex` or `lualatex`.
- Use `\label{eq:name}` and `\ref{eq:name}` — never bare equation numbers.
- Preferred packages: `amsmath`, `amssymb`, `hyperref`.
- Avoid custom macros that are not defined in the same file.
- Include a `\bibliographystyle{plain}` entry and a `.bib` file when citing external work.

**Naming convention**

```
docs/<topic>_<author-initials>_<YYYY-MM>.md
# e.g. docs/collatz_c9_sampling_PG_2026-04.md
```

---

## Questions?

Open an [Issue](https://github.com/TOTOGT/AXLE/issues) or reach out:
Open an [Issue](https://github.com/TOTOGT/DM3-lab/issues) or reach out:

**Contact:** Pablo Grossi | PabloGrossi@hotmail.com | G6 LLC · Newark, NJ · 2026