Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
b205354
Rename project from PyGIP to PyHazard
XueqiC Dec 3, 2025
6b09cae
update in README
XueqiC Dec 3, 2025
049c741
update to pyhazard
XueqiC Dec 3, 2025
81cbc6c
update
XueqiC Dec 3, 2025
0fb4521
update
XueqiC Dec 3, 2025
fad9f5b
update license
XueqiC Dec 3, 2025
24ac99b
update logo
XueqiC Dec 3, 2025
a445b2e
update logo
XueqiC Dec 3, 2025
6e1b74a
update
XueqiC Dec 3, 2025
d9d028c
update
XueqiC Dec 3, 2025
baffa49
update
XueqiC Dec 3, 2025
ce6c7a2
update
XueqiC Dec 3, 2025
fafa65c
update arch
XueqiC Dec 4, 2025
5b62a7f
update logo
XueqiC Dec 4, 2025
d823ed9
update logo
XueqiC Dec 4, 2025
ea381ef
update logo
XueqiC Dec 4, 2025
43b201e
update models
XueqiC Dec 4, 2025
f14ee2b
update layout design
XueqiC Dec 4, 2025
4fae562
adjust layout
XueqiC Dec 4, 2025
89fd373
update logo
XueqiC Dec 4, 2025
5c75013
update install
XueqiC Dec 4, 2025
496064b
update the name to pyhazards
XueqiC Dec 4, 2025
bc693e8
update
XueqiC Dec 4, 2025
12a95a0
update git
XueqiC Dec 4, 2025
39124e2
update workflow
XueqiC Dec 4, 2025
72c4ca6
fix ci.yml
XueqiC Dec 4, 2025
89b633c
fix
XueqiC Dec 4, 2025
cb18296
update
XueqiC Dec 4, 2025
93b0e50
update
XueqiC Dec 4, 2025
072def2
update
XueqiC Dec 4, 2025
d5da000
update readme
XueqiC Dec 4, 2025
9574c09
update website
XueqiC Dec 4, 2025
08a2e01
update
XueqiC Dec 8, 2025
dc15ecc
update website with wildfire_mamba
XueqiC Dec 8, 2025
47ea6c5
Update pyhazards_datasets.rst.txt
yx21e Dec 12, 2025
892626c
Update pyhazards_datasets.rst.txt
yx21e Dec 12, 2025
4205acb
Update pyhazards_datasets.rst.txt
yx21e Dec 12, 2025
63d9a5e
Update pyhazards_datasets.rst
yx21e Dec 12, 2025
466575d
Update pyhazards_datasets.rst
yx21e Dec 12, 2025
d8f6101
Update pyhazards_datasets.rst
yx21e Dec 13, 2025
8a1956d
Update pyhazards_datasets.rst
yx21e Dec 13, 2025
04dea31
Merge pull request #1 from yx21e/main
XueqiC Dec 17, 2025
00a14cb
update dataests
XueqiC Dec 17, 2025
73e0b31
update reademe
XueqiC Dec 17, 2025
863ca92
update
XueqiC Dec 17, 2025
b30c16d
Add wildfire CNN-ASPP model and NDWS training script
Sharan-Kumar-Reddy-Kodudula Dec 29, 2025
1d7e2bf
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
714b099
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
bcd73f5
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
83d3bab
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
f05c038
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
50d5a2b
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
4671acb
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
1f325aa
Update pyhazards_datasets.rst.txt
yx21e Jan 6, 2026
cf06a34
Merge branch 'main' into main
XueqiC Jan 9, 2026
4ceb855
Merge pull request #4 from yx21e/main
XueqiC Jan 9, 2026
66910db
Merge pull request #2 from Sharan-Kumar-Reddy-Kodudula/feature/wildfi…
XueqiC Jan 9, 2026
ef80405
update
XueqiC Jan 9, 2026
96a3109
update
XueqiC Jan 9, 2026
7a12085
Update pyhazards_datasets.rst.txt
yx21e Jan 9, 2026
d7b7df8
Update datasets docs and rebuild site
XueqiC Jan 9, 2026
e2df1a1
Merge branch 'pr-5'
XueqiC Jan 9, 2026
4cb1ffd
update
XueqiC Jan 9, 2026
75e4d58
update
XueqiC Jan 9, 2026
38dfcef
implemented from a top down approach first starting with the hydrogra…
AlexanderSchneier Jan 15, 2026
4f5c916
Update pyhazards_datasets.rst.txt
JeIlyfish Jan 17, 2026
ab300dc
Update pyhazards_datasets.rst.txt
JeIlyfish Jan 17, 2026
bd28c55
Update pyhazards_datasets.rst.txt
JeIlyfish Jan 17, 2026
1a383b4
Update pyhazards_datasets.rst.txt
JeIlyfish Jan 17, 2026
4617bb8
model registered and completed with basic loss function -- will add t…
AlexanderSchneier Jan 21, 2026
f273c2e
working mvp model need to replace edge place holders and need to add …
AlexanderSchneier Jan 21, 2026
6f24334
change something in dataset
JeIlyfish Jan 22, 2026
cc1a2ec
add 10 datasets and transfer page for them, in path /docs/sources/dat…
JeIlyfish Jan 22, 2026
0207905
Merge pull request #7 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
69c9163
add html files
JeIlyfish Jan 22, 2026
590d687
Merge pull request #8 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
8ea8948
Update dataset documentation
yx21e Jan 22, 2026
f752bf2
Rebuild docs to /docs for GitHub Pages
JeIlyfish Jan 22, 2026
9f76335
Merge pull request #9 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
eb38dcc
Rebuild docs to /docs for GitHub Pages
JeIlyfish Jan 22, 2026
11fd1e4
improve the site
JeIlyfish Jan 22, 2026
3b356a4
Merge pull request #10 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
5f71a30
improve the site
JeIlyfish Jan 22, 2026
6c1d660
Merge pull request #11 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
41fd8dd
improve the site
JeIlyfish Jan 22, 2026
6198e5d
Merge pull request #12 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
15216f9
improve the site
JeIlyfish Jan 22, 2026
9cb87e3
Merge pull request #13 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
8a14a86
improve the site
JeIlyfish Jan 22, 2026
a7b58a4
Merge pull request #14 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
baa9486
improve the site
JeIlyfish Jan 22, 2026
443e79c
Merge pull request #15 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
3b633cf
add inspection.py in pyhazards/datasets
JeIlyfish Jan 22, 2026
124c204
Merge pull request #16 from LabRAI/Runyang
JeIlyfish Jan 22, 2026
b603b17
add inspection.py in pyhazards/datasets
JeIlyfish Jan 23, 2026
1dbb2c2
Merge pull request #17 from LabRAI/Runyang
JeIlyfish Jan 23, 2026
ff3fe7e
no.18
JeIlyfish Jan 23, 2026
83bea74
Merge pull request #18 from LabRAI/Runyang
JeIlyfish Jan 23, 2026
a98688a
no.18
JeIlyfish Jan 23, 2026
c831cf3
Merge pull request #19 from LabRAI/Runyang
JeIlyfish Jan 23, 2026
6c2b44c
no.18
JeIlyfish Jan 23, 2026
08a9376
no.18
JeIlyfish Jan 23, 2026
a1b9b16
Merge pull request #20 from LabRAI/Runyang
JeIlyfish Jan 23, 2026
b3ae17a
data implementing works with era5 d5 data and training works end to e…
AlexanderSchneier Jan 24, 2026
8323241
last push before pr
AlexanderSchneier Jan 26, 2026
0916ed8
merra2.rst
JeIlyfish Jan 29, 2026
fd19b1b
Merge pull request #22 from LabRAI/Runyang
JeIlyfish Jan 29, 2026
3b7d75e
merra2.rst
JeIlyfish Jan 29, 2026
19f405c
Merge pull request #23 from LabRAI/Runyang
JeIlyfish Jan 29, 2026
b89e4d9
merra2.rst
JeIlyfish Jan 29, 2026
3d0456e
Merge pull request #24 from LabRAI/Runyang
JeIlyfish Jan 29, 2026
a779645
change dataset part
JeIlyfish Feb 5, 2026
5c059e0
change dataset part
JeIlyfish Feb 5, 2026
cb210f4
change dataset part
JeIlyfish Feb 5, 2026
77f1c4a
change dataset part
JeIlyfish Feb 5, 2026
a3947f7
Merge pull request #25 from LabRAI/Runyang
JeIlyfish Feb 5, 2026
2a36e2f
packaging: align pyhazards metadata and version lookup
XueqiC Feb 12, 2026
8038e1b
Merge branch 'pr-21'
XueqiC Feb 12, 2026
35f4c66
docs(team): update founder and core contributor roster
XueqiC Feb 12, 2026
dcea1e1
docs(models): add implemented-model hazard focus ranking table
XueqiC Feb 12, 2026
0a8e734
docs(home): fix broken logo and badge links
XueqiC Feb 12, 2026
037f2fa
docs: split hazard model tables and refresh quick start
XueqiC Feb 12, 2026
b093ad9
docs: align quick start pages and refine model descriptions
XueqiC Feb 12, 2026
e94402e
docs(readme): align quick start with real dataset and model examples
XueqiC Feb 12, 2026
b842682
docs: restructure homepage and simplify model table entries
XueqiC Feb 12, 2026
a656ef2
docs(readme): mirror homepage section order and examples
XueqiC Feb 12, 2026
67dabec
docs(models): remove mamba wildfire example section
XueqiC Feb 12, 2026
af813f5
docs: revise model summary section and add dataset table headers
XueqiC Feb 12, 2026
8fa1312
docs: normalize module headers, widths, and model citations
XueqiC Feb 12, 2026
9efc7c6
feat(datasets): add callable inspection entrypoints and table verific…
XueqiC Feb 12, 2026
69c2a1a
docs: add module detail pages and link dataset/model tables
XueqiC Feb 12, 2026
532f2e6
docs: refresh citation format and expand references sections
XueqiC Feb 12, 2026
6352e87
docs(citation): formalize author names and place Dong last
XueqiC Feb 12, 2026
9ef2b55
docs(references): thank publication authors and format titled links
XueqiC Feb 12, 2026
4ea5bf2
docs: simplify implementation guide and harden core training/model bu…
XueqiC Feb 12, 2026
5c4d9a8
update star curve
XueqiC Feb 12, 2026
2f38311
docs: reorganize quick start basic usage examples
XueqiC Feb 12, 2026
e7161da
release: bump version to 1.0.2
XueqiC Feb 12, 2026
e8f1589
release: 1.0.3 with netcdf backend support
XueqiC Feb 12, 2026
ce9e09f
improve hydrographnet and clarify validation smoke test
XueqiC Feb 12, 2026
694df64
docs: switch PyPI badge to dynamic JSON endpoint
XueqiC Feb 12, 2026
6813e03
docs: clarify main page guidance and simplify dataset table modules
XueqiC Feb 12, 2026
ecd9e49
docs: merge module detail pages with dataset/model summaries
XueqiC Feb 13, 2026
14d78b7
docs: unify dataset module links to single dataset pages
XueqiC Feb 13, 2026
0ec6daa
docs: retire legacy dataset module pages
XueqiC Feb 13, 2026
5d6c1aa
docs(home): refine core components introduction
XueqiC Feb 18, 2026
ac280b1
dataloader
JeIlyfish Feb 26, 2026
0e1c4e3
Merge pull request #27 from LabRAI/Runyang
JeIlyfish Feb 26, 2026
300ee7a
dataloader
JeIlyfish Feb 26, 2026
e7ca482
Merge pull request #28 from LabRAI/Runyang
JeIlyfish Feb 26, 2026
4c102bd
skeleton png
JeIlyfish Feb 26, 2026
83353d2
Merge pull request #29 from LabRAI/Runyang
JeIlyfish Feb 26, 2026
e4f73af
dataloader
JeIlyfish Feb 27, 2026
a3bd64a
Merge pull request #30 from LabRAI/Runyang
JeIlyfish Feb 27, 2026
c8f7e3c
feat(wildfire): add FPA-FOD models datasets and docs
XueqiC Mar 3, 2026
9fe2159
docs(site): rebuild website after rebase
XueqiC Mar 3, 2026
cee36c3
docs(wildfire): fix FPA-FOD paper title
XueqiC Mar 3, 2026
9869e03
feat(wildfire): unify FPA public model entry
XueqiC Mar 3, 2026
b366cec
docs(site): move modular names to detail pages
XueqiC Mar 3, 2026
f263e32
docs(api): add model category summary
XueqiC Mar 3, 2026
ba7f2c0
docs(api): use model names as categories
XueqiC Mar 3, 2026
e823ea6
docs(models): use model names as page titles
XueqiC Mar 3, 2026
2a89630
Step 3: Implementing model (implementing the ConvLEM Se12Seq architec…
cristian-victoria Mar 4, 2026
fb5ce5c
Step 3: Implementing WaveCastNet Model
cristian-victoria Mar 4, 2026
92104f7
Step 3: Implementing WaveCastNet builder function
cristian-victoria Mar 4, 2026
2c80c5b
Step 4: Registered the model
cristian-victoria Mar 4, 2026
9dc7c31
Step 4: Created test_wavecastnet_registration.py to test that the bui…
cristian-victoria Mar 4, 2026
e452918
Step 4: Registration functioned properly. Deleted test_wavecastnet.py
cristian-victoria Mar 4, 2026
35cdfdc
Step 5: Created test_wavecastnet_data in order to test the data forma…
cristian-victoria Mar 4, 2026
a743e5e
Step 5: Matching data format to forward signature functioned properly…
cristian-victoria Mar 4, 2026
0f4e8b8
Step 6: Implemented loss computation to wavecastnet model
cristian-victoria Mar 4, 2026
9876f6e
Step 6: Implemented Metrics computation to wavecastnet
cristian-victoria Mar 4, 2026
42779bc
Step 6: Created training script train_wavecastnet.py in order to test…
cristian-victoria Mar 4, 2026
d5ad88c
Step 6: Training completed and functioned properly. Deleted train_wav…
cristian-victoria Mar 4, 2026
1a47a15
Step 7: Created a reproducible smoke test script
cristian-victoria Mar 4, 2026
a05c05f
Step 7: Smoke test passed, deleted test_wavecastnet_smoke.py
cristian-victoria Mar 4, 2026
d64d06a
Step 8: In docs/source/modules/, created models_wavecastnet.rst and p…
cristian-victoria Mar 4, 2026
c7db13a
Step 8: Added a row in 'docs/source/pyhazards_models.rst' with the fo…
cristian-victoria Mar 4, 2026
9a17e07
Step 8: Cited model publication in 'docs/source/references.rst'
cristian-victoria Mar 4, 2026
3524163
feat(repo): automate model intake and add wavecastnet
XueqiC Mar 8, 2026
9906622
merge(pr): integrate PR #32 wavecastnet contribution
XueqiC Mar 8, 2026
b1f56ed
fix(ci): add missing h5py dependency
XueqiC Mar 8, 2026
c2497a5
fix(ci): keep dataset inspection help dependency-light
XueqiC Mar 8, 2026
a92ad0a
docs(models): publish catalog html
XueqiC Mar 8, 2026
bebb371
docs(models): hide wildfire mamba from public catalog
XueqiC Mar 8, 2026
3cbd202
docs(models): refresh published catalog
github-actions[bot] Mar 8, 2026
a995d89
feat(map): add interactive map launcher
XueqiC Mar 8, 2026
4fd8763
docs(site): reorganize website copy
XueqiC Mar 8, 2026
6d29360
docs(models): refresh published catalog
github-actions[bot] Mar 8, 2026
30af1b9
docs(site): update citation and team
XueqiC Mar 8, 2026
450c518
docs(team): add Hugh Long
XueqiC Mar 8, 2026
add65f1
docs(implementation): expand contributor guide
XueqiC Mar 8, 2026
8cc943d
docs(site): refine homepage and top-level copy
XueqiC Mar 8, 2026
e704974
docs(models): refresh published catalog
github-actions[bot] Mar 8, 2026
3a7bc54
docs(site): clarify wildfire map scope
XueqiC Mar 8, 2026
9922ee7
feat(roadmap): expand hazard benchmarks and baselines
XueqiC Mar 8, 2026
2b55209
docs(reference): reorganize catalogs and benchmarks
XueqiC Mar 8, 2026
7f50072
docs(models): refresh published catalog
github-actions[bot] Mar 8, 2026
4239ae7
fix(ci): install pytest in workflow
XueqiC Mar 9, 2026
1dd2454
docs(catalog): audit roadmap coverage
XueqiC Mar 10, 2026
1a94fb3
docs(models): refresh published catalog
github-actions[bot] Mar 10, 2026
6c418cd
feat(models): complete roadmap baselines
XueqiC Mar 10, 2026
ab3b833
docs(models): refresh published catalog
github-actions[bot] Mar 10, 2026
71c1f75
docs(catalog): add benchmark ecosystem pages
XueqiC Mar 10, 2026
ccbff54
docs(catalog): refresh published docs
github-actions[bot] Mar 10, 2026
fb0a661
docs(catalog): redesign model and benchmark pages
XueqiC Mar 10, 2026
273f322
docs(catalog): refresh published docs
github-actions[bot] Mar 10, 2026
360c852
docs(datasets): add generated dataset catalog
XueqiC Mar 10, 2026
97e5070
docs(site): refine homepage and api order
XueqiC Mar 10, 2026
0b280cd
docs(site): restore community badges
XueqiC Mar 10, 2026
b58a4e5
docs(readme): center repo header and links
XueqiC Mar 10, 2026
fdc3580
docs(site): redesign readme and homepage
XueqiC Mar 10, 2026
e677d48
Refine project description in README.md
XueqiC Mar 10, 2026
2ed4396
Remove project title from README
XueqiC Mar 10, 2026
dbdfa63
Remove 'Start Here' and 'Table of Contents' sections
XueqiC Mar 10, 2026
1a23333
Update README.md with GitHub and PyPI badges
XueqiC Mar 10, 2026
be15b95
Update project description in README.md
XueqiC Mar 10, 2026
13797ae
Update project description for clarity
XueqiC Mar 10, 2026
4c7e3c0
Update project title formatting in README.md
XueqiC Mar 10, 2026
78066f8
Update project title formatting in README.md
XueqiC Mar 10, 2026
2fa686d
Update logo size and remove strong tags in README
XueqiC Mar 10, 2026
6de0759
Change project title to header format
XueqiC Mar 10, 2026
92ffb7c
Fix formatting issues in README.md
XueqiC Mar 10, 2026
4960215
Correct HTML tags in README.md
XueqiC Mar 10, 2026
8affdf1
Enhance README with version badge and formatting
XueqiC Mar 10, 2026
0305aaf
Enhance README with PyPI and CI badges
XueqiC Mar 10, 2026
7067128
Add build status badge to README
XueqiC Mar 10, 2026
fc29d90
Fix formatting in README.md
XueqiC Mar 10, 2026
a086de5
Revise README layout and add documentation links
XueqiC Mar 10, 2026
440a36a
Revise project title in README
XueqiC Mar 10, 2026
6550188
Update project title in README.md
XueqiC Mar 10, 2026
f0d5ad5
Update project title in README.md
XueqiC Mar 10, 2026
9d154e4
docs(site): refine homepage hero
XueqiC Mar 10, 2026
ddf06b6
docs(site): soften homepage hero
XueqiC Mar 10, 2026
44f79bc
docs(site): adjust homepage title and buttons
XueqiC Mar 10, 2026
d2ffc2e
docs(site): shorten homepage hero title
XueqiC Mar 10, 2026
6f830b6
chore(release): bump version to 1.0.5
XueqiC Mar 10, 2026
4b0b440
docs(site): switch hero to pyhazards logo
XueqiC Mar 10, 2026
80ee696
docs(site): restore previous logo
XueqiC Mar 10, 2026
219cb4e
Enhance README title with framework description
XueqiC Mar 10, 2026
ffc68a1
Add wildfire models, docs, and benchmark real-data utilities
JeIlyfish Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
100 changes: 100 additions & 0 deletions .codex/skills/pyhazards-pr-maintainer/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
name: pyhazards-pr-maintainer
description: Review and process pull requests for the PyHazard/PyHazards repository, especially model contribution PRs. Use when asked to inspect a new PR, decide whether the implementation matches the described model or paper, run the catalog smoke checks, update generated model tables/docs, merge a good PR, or draft an actionable blocker comment for a weak PR without rediscovering the repo workflow.
---

# PyHazards PR Maintainer

## Overview

Use the model-catalog workflow that already exists in this repo instead of re-deriving the review process from scratch.
Start from the established scripts and generated-doc pipeline, then inspect only the PR-specific files that the scripts flag.

## Fast Start

Open these files first and treat them as the source of truth for model PR handling:

- `scripts/review_model_pr.py`
- `scripts/smoke_test_models.py`
- `scripts/render_model_docs.py`
- `scripts/verify_table_entries.py`
- `pyhazards/model_catalog.py`
- `pyhazards/model_cards/*.yaml`
- `.github/workflows/model-pr-validation.yml`
- `.github/workflows/model-pr-bot.yml`
- `.github/workflows/model-docs-sync.yml`
- `.github/IMPLEMENTATION.md`
- `docs/README.md`

Do not begin with broad repo discovery unless one of those files is missing or broken.

## Workflow

1. Identify whether the PR is a model PR.
Use the changed files, the PR description, and `pyhazards/model_cards/*.yaml`.
If it is not a model PR, say so and fall back to normal review.

2. Run the existing automated review path first.
If GitHub event data and a base SHA are available, run:
```bash
python scripts/review_model_pr.py \
--event "$GITHUB_EVENT_PATH" \
--base-sha "<base_sha>" \
--report-json /tmp/model-pr-review.json \
--report-md /tmp/model-pr-review.md
```
If you are reviewing locally without GitHub event payloads, inspect the current diff and run the targeted checks below instead.

3. For touched models, use the cataloged checks instead of inventing ad hoc smoke tests.
Run:
```bash
python scripts/smoke_test_models.py --models <model_name>
python scripts/render_model_docs.py --check
python -c "import pyhazards; print(pyhazards.__version__)"
```
When you changed model cards or model code, also run:
```bash
python scripts/render_model_docs.py
python scripts/verify_table_entries.py
python -m pytest tests/test_model_catalog.py
```
If the change should be visible on the published docs site, rebuild the committed HTML too:
```bash
cd docs
sphinx-build -b html source build/html
cp -r build/html/* .
```
Do not stop after updating `docs/source/`; this repo publishes the committed `docs/` HTML artifacts.

4. Decide whether to fix or block.
Patch the PR yourself when the issue is localized and the correct change is clear.
Write a blocker comment only when the implementation is materially off-spec and fixing it would take substantial time.
Reuse the report structure from `scripts/review_model_pr.py` so the contributor gets concrete action items.

5. If the PR passes, keep docs aligned and merge when the user asked for processing rather than pure review.
Generated model tables come from `pyhazards/model_cards/*.yaml`, so a new hazard scenario appears as a new section automatically after `python scripts/render_model_docs.py`.
Do not hand-edit `docs/source/pyhazards_models.rst` or the generated module pages.
If a model should remain implemented but not appear in the public catalog, set `include_in_public_catalog: false` in its model card instead of editing generated docs.

6. Report back concisely.
Include:
- whether the PR passed or was blocked
- which model names were touched
- which commands/tests were run
- whether merge happened
- any remaining permission or workflow limitations

## Review Standard

- Treat `pyhazards/model_catalog.py` plus the model cards as the source of truth for model-table/docs behavior.
- Require a valid builder contract: `task` support, `**kwargs`, registry wiring, and explicit shape validation.
- Require a smoke test that matches the card.
- Prefer targeted inspection of touched model files over reading unrelated modules.
- Keep blocker comments technical and specific; do not be vague.

## Operational Notes

- The GitHub Actions bot comments on blocked model PRs, merges passing ones, and syncs generated model docs on push.
- The published site is driven by committed files under `docs/`, so after catalog changes you must think in two stages: generate `docs/source`, then build/copy the HTML site artifacts.
- Email notification is intentionally not part of the workflow.
- If GitHub posting or merging is unavailable in the current environment, still run the local review path and return the exact comment or merge recommendation to the user.
4 changes: 4 additions & 0 deletions .codex/skills/pyhazards-pr-maintainer/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "PyHazards PR Maintainer"
short_description: "Review and process PyHazards PRs"
default_prompt: "Use $pyhazards-pr-maintainer to process this PyHazards model PR."
69 changes: 69 additions & 0 deletions .codex/skills/pyhazards-roadmap-team/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
name: pyhazards-roadmap-team
description: Use when asked to turn `pyhazard_plan.pdf` into a staged multi-agent execution plan for this repository, or to run the PyHazards hazard-expansion roadmap with fixed worker ownership, copy-paste agent prompts, phase gates, and an integrator workflow instead of re-deriving the team split.
---

# PyHazards Roadmap Team

## Overview

Use the checked-in execution package in `.github/ROADMAP_EXECUTION.md` as the
source of truth for the long-range PyHazards roadmap, and use
`docs/source/appendix_a_coverage.rst` as the audited coverage baseline for
what is still missing.

Do not re-split ownership or redesign the phase order unless the user
explicitly asks to change the roadmap.

## Fast Start

Open these files first:

- `.github/ROADMAP_EXECUTION.md`
- `pyhazard_plan.pdf`
- `docs/source/appendix_a_coverage.rst`
- `.github/IMPLEMENTATION.md`
- `pyhazards/models/__init__.py`
- `pyhazards/datasets/__init__.py`
- `pyhazards/model_catalog.py`
- `scripts/render_model_docs.py`
- `scripts/smoke_test_models.py`
- `scripts/verify_table_entries.py`

## Workflow

1. Identify the wave the user wants to execute.
If unspecified, start from the earliest incomplete wave in
`.github/ROADMAP_EXECUTION.md`, using the Appendix A coverage page to avoid
counting variants or experimental wrappers as finished baseline work.

2. Keep file ownership fixed.
Worker agents must not edit shared choke-point files. Only the integrator
owns registries, top-level docs, generated docs, and workflows.

3. Hand out the exact agent prompt from `.github/ROADMAP_EXECUTION.md`.
Do not paraphrase unless the user asks for a smaller or larger team.

4. Require manifests from worker agents.
Every worker should return:
- changed files
- registration changes
- model-card changes
- config names
- tests run
- open issues

5. Use the integrator workflow for merge and validation.
The integrator must run the full validation set listed in the execution
package before merge or push.

## Guardrails

- Keep the current `build_model(name, task, **kwargs)` contract intact.
- Keep public model discovery driven by model cards and generated docs.
- Keep `catalog_status` truthful so same-paper variants and experimental
wrappers do not inflate Appendix A coverage.
- Keep `docs/` published artifacts integrator-owned.
- Delay storm foundation adapters until the shared TC evaluator is stable.
- If a worker needs a shared-file change, escalate to the integrator instead of
patching around ownership.
125 changes: 0 additions & 125 deletions .github/CONTRIBUTING.md

This file was deleted.

Loading
Loading