Examples¶
There is one bundled example, and it is a real result rather than a toy.
-
Recover
T ∝ a^(3/2)from ~3,500 confirmed exoplanets in the NASA Exoplanet Archive. Four typed nodes, two local tools, one live network data source, all six gates, no API key.
Why only one¶
An example is a claim about what the framework is for. A dozen shallow demos would say "this generates plausible-looking pipelines". One example that queries a public archive, fits a blind power law, recovers a known physical law to within 3%, explains the residual, and then deliberately fabricates its own result to prove the provenance gate catches it — that says what Science ADK is actually about.
It also runs in CI on every push, so it cannot rot.
Where it lives¶
python/src/science_adk/examples/kepler/
├── GOAL.md
├── README.md
├── science.toml
├── tools/
│ ├── nasa.py # query_exoplanets
│ └── fitting.py # power_law_fit
└── research/001-kepler-exoplanets/
├── HYPOTHESIS.md
├── workflow.json
└── agents/{config,fetch,analyze,evaluate}.py
science-adk init --example kepler copies it into a fresh project so you can
edit it freely; the copy in the package is the single source of truth.
Contributing an example¶
A good candidate:
- Uses public data with no API key — the reader should be able to run it on a laptop with no account.
- Has a checkable ground truth, so the run either recovers it or does not.
- Exercises the framework end to end: typed DAG, real tools, provenance, an evaluation node, all six gates.
- Runs in under a minute.
See Contributing.