Measure / Snapshot
/v1/measure and /v1/operator/snapshot turn a guide loop into product
evidence and operator replay.
guide + feedback + task evidence -> measure -> snapshotPOST /v1/measure
Reports whether memory changed future context or behavior, without claiming more than the provided evidence supports.
SDK
const measure = await aionis.execution.measureRun({
run_id,
task_signature,
after_guide: guide,
feedback_result: feedback,
sufficient_evidence: true,
});HTTP
curl -s http://127.0.0.1:3001/v1/measure \
-H 'content-type: application/json' \
-d '{
"tenant_id": "default",
"scope": "checkout-migration",
"task": {
"run_id": "run-001",
"task_signature": "checkout-migration"
},
"product_trace": {
"after_guide": {
"guide_trace_id": "guide_trace:..."
},
"feedback_result": {
"outcome": "positive"
},
"sufficient_evidence": true
}
}'What Measure Can Say
| Signal | Meaning |
|---|---|
effect_report | Whether the evidence supports a product effect claim. |
memory_decision_trace | How memory was admitted, blocked, or rehydrated. |
memory_decision_audit | Compact operator audit of decisions. |
| insufficient evidence | Aionis refuses to overclaim when the loop is too thin. |
POST /v1/operator/snapshot
Builds a read-only operator view over guide, feedback, effect, execution state, and trace-to-procedure projections.
SDK
const snapshot = await aionis.execution.snapshotRun({
run_id,
task_signature,
guide,
measure_result: measure,
include_markdown: true,
});HTTP
curl -s http://127.0.0.1:3001/v1/operator/snapshot \
-H 'content-type: application/json' \
-d '{
"tenant_id": "default",
"scope": "checkout-migration",
"run_id": "run-001",
"task_signature": "checkout-migration",
"guide_packet": {},
"memory_decision_trace": {},
"effect_report": {},
"include_markdown": true
}'Boundary
Measure and snapshot are read-side product surfaces. They do not run tools, execute verifiers, mutate external memory, or prove benchmark-level success by themselves.
Use them to answer:
- Did Aionis expose useful memory?
- Did Aionis block unsafe memory?
- Was feedback attributed to the memory actually used?
- What would an operator need to debug the decision?