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. |
Trace-Derived Skill Candidates
When measure sees enough positive continuity or workflow-reuse evidence,
effect_report.training_candidates may include:
{
candidate_type: "trace_derived_skill",
export_ready: true,
trace_derived_skill: {
contract_version: "aionis_trace_derived_skill_candidate_v1",
skill_name: "Continue verified execution state across sessions",
applies_when: ["task_signature:checkout-migration"],
does_not_apply_when: ["A newer memory contests the source trace."],
procedure_steps: ["Recover the current Aionis guide before continuing."],
acceptance_checks: ["effect_kernel_passed"],
authority_state: "candidate",
export_policy: {
agent_prompt_included: false,
runtime_mutation: false,
required_gate: "admission_and_promotion_gate"
}
}
}This field is for controlled learning, review, and promotion workflows. It is
not added to agent_context, and it does not mutate memory rows by itself.
SDK helpers:
| Helper | Use |
|---|---|
traceDerivedSkillCandidatesFromMeasure(measure) | Return the raw Runtime candidate contracts. |
traceDerivedSkillReviewItemsFromMeasure(measure) | Return compact review items for dashboards, approval queues, or host-side promotion workflows. |
The review helper is still read-only. It preserves the same safety contract:
authority_state: "candidate", agent_prompt_included: false, and
runtime_mutation: false.
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?