|
| 1 | +# Open Problem Lab |
| 2 | + |
| 3 | +## What This Repo Is |
| 4 | + |
| 5 | +A GitHub-native verification protocol for AI contributions to neglected global problems. The repository is the product. There is no web app. The surface is Issues, Discussions, Pull Requests, Actions, Projects, and generated Wiki pages. |
| 6 | + |
| 7 | +**The operating rule:** Issues are work claims. Discussions are for unresolved framing. Pull requests are the only path to accepted knowledge. A useful answer is not accepted knowledge until it survives domain review. |
| 8 | + |
| 9 | +## Before You Do Anything |
| 10 | + |
| 11 | +Read these in order: |
| 12 | + |
| 13 | +1. `README.md` — mission, 21 problem packs, operating model, why this vs. alternatives |
| 14 | +2. `VISION.md` — why verification is the scarce resource, what winning looks like |
| 15 | +3. `SAFETY.md` — risk levels, prohibited shortcuts, burden of proof |
| 16 | +4. The relevant `problem-packs/[domain]/[pack]/problem.md` before touching any pack |
| 17 | + |
| 18 | +## Commands |
| 19 | + |
| 20 | +```bash |
| 21 | +pnpm install |
| 22 | +pnpm build # regenerates docs/wiki/ — run after any pack or agent guide change |
| 23 | +pnpm validate # schema checks, issue forms, Markdown, links, wiki freshness — must pass before PR |
| 24 | +pnpm reproducibility:check # reproducibility for task maps and expected artifacts |
| 25 | +pnpm verify:sources # live URL check for evidence records |
| 26 | +pnpm format # prettier write |
| 27 | +pnpm format:check # prettier verify |
| 28 | +``` |
| 29 | + |
| 30 | +**Never edit `docs/wiki/` directly.** It is generated by `generate-wiki.mjs`. Run `pnpm build` instead. |
| 31 | + |
| 32 | +## How to Contribute |
| 33 | + |
| 34 | +1. Pick a problem pack with a `"status": "scoped"` task in its `tasks.json`. |
| 35 | +2. Read the role guide in `agents/` that matches your task. |
| 36 | +3. Open a GitHub Issue using the Agent Submission template (`.github/ISSUE_TEMPLATE/agent-submission.yml`). |
| 37 | +4. If your submission changes canonical files, open a pull request. |
| 38 | +5. Wait for review. Do not claim completion until the PR is merged. |
| 39 | + |
| 40 | +The done condition in `tasks.json` is the authority on completion — not your assessment of the work. |
| 41 | + |
| 42 | +## Active Problem Packs (21) |
| 43 | + |
| 44 | +| ID | Domain | |
| 45 | +|----|--------| |
| 46 | +| `air-quality/indoor-air-pollution-sub-saharan-africa` | air-quality, public-health | |
| 47 | +| `air-quality/pm25-monitoring-south-asia` | air-quality, public-health | |
| 48 | +| `biodiversity/coral-bleaching-great-barrier-reef` | biodiversity, climate-health | |
| 49 | +| `biodiversity/deforestation-amazon` | biodiversity, climate-health | |
| 50 | +| `climate-adaptation/sea-level-rise-small-islands` | climate-adaptation, disaster-resilience | |
| 51 | +| `climate-health/dengue-heat-vietnam` | climate-health, public-health | |
| 52 | +| `climate-health/heat-stress-urban-south-asia` | climate-health, public-health | |
| 53 | +| `climate-health/malaria-early-warning-africa` | climate-health, public-health | |
| 54 | +| `disaster-resilience/cyclone-early-warning-bangladesh` | disaster-resilience, climate-health | |
| 55 | +| `disaster-resilience/earthquake-vulnerability-nepal` | disaster-resilience | |
| 56 | +| `education/girls-education-sub-saharan-africa` | education | |
| 57 | +| `education/learning-loss-post-pandemic` | education | |
| 58 | +| `energy-access/clean-cooking-sub-saharan-africa` | energy-access, public-health | |
| 59 | +| `energy-access/mini-grid-rural-sub-saharan-africa` | energy-access | |
| 60 | +| `food-security/drought-early-warning-horn-of-africa` | food-security, disaster-resilience | |
| 61 | +| `food-security/locust-outbreak-east-africa` | food-security, climate-health | |
| 62 | +| `public-health/lead-exposure-urban-global` | public-health | |
| 63 | +| `public-health/stunting-sub-saharan-africa` | public-health, food-security | |
| 64 | +| `sanitation/open-defecation-india` | sanitation, public-health | |
| 65 | +| `water-security/glacial-melt-hindu-kush` | water-security, climate-adaptation | |
| 66 | +| `water-security/groundwater-depletion-india` | water-security, food-security | |
| 67 | + |
| 68 | +## Agent Role Guides |
| 69 | + |
| 70 | +| Role | File | When to use | |
| 71 | +|------|------|-------------| |
| 72 | +| Literature Scout | `agents/literature-scout.md` | Source inventory, evidence classification | |
| 73 | +| Data Cleaner | `agents/data-cleaner.md` | Dataset provenance and cleaning | |
| 74 | +| Implementation Planner | `agents/implementation-planner.md` | Task decomposition, back-test specs | |
| 75 | +| Field-Reality Reviewer | `agents/field-reality-reviewer.md` | Operational relevance check | |
| 76 | +| Red-Team Reviewer | `agents/red-team-reviewer.md` | Failure mode analysis | |
| 77 | + |
| 78 | +Each guide has: mission, required output table, good/bad examples, failure modes, self-check questions, merge gate. |
| 79 | + |
| 80 | +## Schemas |
| 81 | + |
| 82 | +Machine-checkable schemas for every artifact type. Read before creating or editing JSON artifacts. |
| 83 | + |
| 84 | +| Schema | File | |
| 85 | +|--------|------| |
| 86 | +| Problem pack | `schemas/problem.schema.json` | |
| 87 | +| Task | `schemas/task.schema.json` | |
| 88 | +| Evidence record | `schemas/evidence.schema.json` | |
| 89 | +| Agent submission | `schemas/agent-submission.schema.json` | |
| 90 | +| Review | `schemas/review.schema.json` | |
| 91 | + |
| 92 | +All schemas have `description` fields on every property. |
| 93 | + |
| 94 | +## Submission Quality Standard |
| 95 | + |
| 96 | +**One task. One role. One claim.** Submissions that mix roles or make multiple independent claims are returned for splitting. |
| 97 | + |
| 98 | +Every evidence record requires: |
| 99 | +- Claim: one specific, falsifiable statement |
| 100 | +- Source: title and stable URL |
| 101 | +- Source date and access date |
| 102 | +- Evidence type: `primary-source` | `peer-reviewed-study` | `dataset` | `field-report` | `expert-review` | `replication` | `negative-result` |
| 103 | +- Method: how you assessed what the source proves |
| 104 | +- Limitations: what the source cannot prove (be specific — "results may vary" is not a limitation) |
| 105 | +- Confidence: high / medium / low / unknown |
| 106 | + |
| 107 | +## What NOT to Do |
| 108 | + |
| 109 | +- Do not edit `docs/wiki/` directly — run `pnpm build` |
| 110 | +- Do not create a custom web app for v0 |
| 111 | +- Do not open more than one structured submission per scoped task |
| 112 | +- Do not merge content that weakens a schema, validator, or safety gate |
| 113 | +- Do not claim completion until `pnpm validate` passes and the PR is merged |
| 114 | +- Do not treat a review article as proof of a local threshold |
| 115 | +- Do not hide uncertainty behind confident prose |
| 116 | + |
| 117 | +## Protocol Self-Improvement |
| 118 | + |
| 119 | +When you finish a task, report in the PR body under a `Protocol Notes` heading: |
| 120 | +- Any validator rule that would have caught a bug you hit |
| 121 | +- Any schema field that should be required, enumerated, or removed |
| 122 | +- Any agent-guide failure mode you actually fell into |
| 123 | +- Any workflow step that was redundant, missing, or misordered |
| 124 | + |
| 125 | +This is the mechanism by which the protocol learns. Omit the heading if nothing is worth noting. |
| 126 | + |
| 127 | +## Reference |
| 128 | + |
| 129 | +- `SHOWCASE.md` — end-to-end worked example of a complete contribution |
| 130 | +- `QUICKSTART.md` — 30-minute guide organized by domain expertise |
| 131 | +- `DATASETS.md` — 40+ cross-pack open dataset registry |
| 132 | +- `REVIEWERS.md` — domain expertise needed per problem pack |
| 133 | +- `docs/REVIEW-GUIDE.md` — step-by-step reviewer protocol |
| 134 | +- `GOVERNANCE.md` — decision rights, acceptance gates, status flow |
0 commit comments