Getting started
The fastest evaluation path is:
If you only have ten minutes, treat this page as the core path: start the standalone runtime package, install `@ostinato/aionis`, write one piece of execution evidence, and call `taskStart` or `planningContext` against `http://127.0.0.1:3001`.
- start the runtime locally
- install the public SDK
- call
taskStartorplanningContext
This page is intentionally narrow. It is here to prove the continuity baseline, not the whole runtime. Lifecycle reuse, review packs, sessions, introspection, and policy-learning surfaces belong to the enhanced or advanced path later. If you try to evaluate all of that in ten minutes, the product will feel wider than it needs to.
1. Start the runtime
Recommended standalone path:
npx @ostinato/aionis-runtime startThe default local target is:
http://127.0.0.1:3001Before moving on, confirm the runtime is alive:
curl http://127.0.0.1:3001/healthYou should get a structured JSON health response from the local host.
If you are evaluating from a source checkout instead of the published runtime package:
npm install
npm run lite:start2. Install the public SDK
In your own project:
npm install @ostinato/aionis3. Create a client
import { createAionisClient } from "@ostinato/aionis";
const aionis = createAionisClient({
baseUrl: "http://127.0.0.1:3001",
});4. Write one piece of execution evidence
await aionis.memory.write({
tenant_id: "default",
scope: "docs-eval",
actor: "local-user",
input_text:
"Investigated a serializer bug in src/routes/export.ts, patched the output shape, and validated the response contract.",
});This gives Lite something real to work with. taskStart and planningContext are more useful when the local runtime already has execution evidence in the relevant scope.
5. Ask for a learned kickoff
const taskStart = await aionis.memory.taskStart({
tenant_id: "default",
scope: "default",
query_text: "repair the export route serialization bug",
context: {
goal: "repair the export route serialization bug",
},
candidates: ["read", "edit", "test"],
});
console.log(taskStart.first_action);Read these fields first:
first_actionkickoff_recommendationkickoff_recommendation.next_actionkickoff_recommendation.selected_tool
If those come back sparse, the runtime is usually healthy but your local scope does not have much relevant execution evidence yet.
6. Optional: ask for richer planner context
Use planningContext when you want more than one next step:
const planning = await aionis.memory.planningContext({
tenant_id: "default",
scope: "docs-eval",
query_text: "repair export route serialization",
context: {
goal: "repair export route serialization",
task_kind: "bugfix",
},
tool_candidates: ["read", "edit", "test"],
return_layered_context: true,
});
console.log(planning.kickoff_recommendation);
console.log(planning.workflow_signals);What a successful first evaluation looks like
You do not need the runtime to look "smart" on the first call. You need it to prove the public path is working.
A healthy first evaluation looks like:
- Lite boots locally and
/healthresponds memory.write(...)succeedsmemory.taskStart(...)returns a structured responsememory.planningContext(...)returns planner-facing fields- the SDK can talk to the runtime without custom glue code
If the response feels empty
The most common reasons are:
- you are querying a fresh scope with no relevant execution evidence
- the
query_textis too generic to match prior work - you wrote evidence into one scope and queried another
- Lite is running, but you expected hosted-only behavior that is intentionally outside the public local path
The runtime being sparse is not the same thing as the runtime being broken.
Next paths
- Want the full layered developer flow? Read SDK Quickstart.
- Want the runtime shape and startup model? Read Lite Runtime.
- Want operational details and env defaults? Read Lite Config and Operations.
- Want the route-level surface? Read Contracts and Routes.
SDK Quickstart
Move from hello-world startup into write, planning, handoff, replay, and host-bridge flows.
If startup goes wrongLite Config and Operations
Check defaults, env overrides, sandbox modes, SQLite paths, and health behavior.
Common frictionFAQ and Troubleshooting
Debug the most common reasons Lite feels empty, won’t boot, or returns `501` behavior.
Ten-minute evaluation checklist
If you are evaluating whether Aionis is worth integrating, the shortest serious test is:
- boot Lite
- confirm
/health - write one or two realistic execution notes
- call
taskStart - call
planningContext - decide whether the runtime shape matches how your host thinks about work
If that baseline works and feels promising, move next into the enhanced path:
memory.archive.rehydrate(...)memory.nodes.activate(...)memory.reviewPacks.*memory.sessions.*