Start with the decision
Write the question so that a reviewer can tell what would change after seeing the result. Broad topics invite scope drift; decision-shaped questions make evidence gaps and useful null results visible.
- Weak: Explore battery materials
- Stronger: Which electrolyte families remain stable above 4.5 V under the named temperature and cycle constraints?
- Strongest: Name the candidate set, test conditions, comparison baseline, and go/no-go threshold
Freeze a protocol
The protocol records the planned source classes, inclusion and exclusion rules, computational methods, claim ceiling, model choice, budget, and review gates. Every approval is bound to the current protocol version and becomes stale when material inputs change.
- 01Define hypotheses and alternatives
- 02Declare permitted public and private sources
- 03Select methods and validation checks
- 04Set model and compute limits
- 05Name the artifacts required for review
- 06Approve the exact protocol version
Control data rights
Every admitted dataset or repository is described by an access class, license, retention rule, and redistribution posture. Private inputs can inform a private result without becoming eligible for a public artifact.
ApolloBot does not treat technical access as permission to redistribute. The manifest must explicitly admit each source for the intended use.
Create through the SDK
Creation is idempotent. Retrying the same request with the same key returns the original investigation; reusing that key with different input is rejected.
const investigation = await apollo.investigations.create({
projectId: "prj_...",
title: "Electrolyte stability above 4.5 V",
question: "Which candidates meet the named stability threshold?",
privacy: "private",
hardCapMicros: 500_000_000,
idempotencyKey: crypto.randomUUID(),
});See the lifecycle in motion.
Pose a question and watch the governed investigation demo advance stage by stage.