Skip to content

Examples

There is one bundled example, and it is a real result rather than a toy.

  • Kepler's Third Law


    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.

    science-adk init my-kepler --example kepler
    cd my-kepler && science-adk run
    

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:

  1. Uses public data with no API key — the reader should be able to run it on a laptop with no account.
  2. Has a checkable ground truth, so the run either recovers it or does not.
  3. Exercises the framework end to end: typed DAG, real tools, provenance, an evaluation node, all six gates.
  4. Runs in under a minute.

See Contributing.