Skip to main content
The state.json artifact captures cognitive state snapshots during execution and at terminal completion. It provides a complete view of what was planned and what happened.

Schema overview

Root fields

string
required
Backwards-compatible identifier. Currently "1.0".
string
required
Semantic version for the schema contract. Currently "1.0.0".
Relative artifact paths for this run (for example events.jsonl, learn.jsonl, summary.json, manifest.json). Keys vary by lifecycle state.

Episode

Episode metadata and timestamps.
string
required
Unique episode identifier.
number
Seed used for reproducibility.
object
User-provided metadata tags.
string
Adapter label used for execution (optional).
string
required
ISO 8601 start timestamp.
string
Intuition posture for the episode (advisory | interventive | hybrid). Runs created with older Noēsis versions may omit this field (default advisory).
links points to run-local artifacts in the episode directory.
Event timeline artifact path.
Learning timeline artifact path.
Final summary artifact path (terminal runs only).
Final manifest artifact path (terminal runs only).
Lifecycle constraint:
  • non-terminal runs (for example approval pauses) persist links.events and links.learn
  • terminal runs additionally persist links.summary and links.manifest

Goal

The task the agent is pursuing.
string
required
The original task or goal.

Beliefs

Normalized statements the system inferred during execution.
string
required
The belief statement.
number
required
Confidence in the belief (0-1).
string
required
Source of the belief.
string
When the belief was recorded.

Plan

Ordered steps describing the execution plan.
array
required
Ordered list of plan steps.
string
Origin of the plan (for example, "planner.minimal" or "planner.resume"). When projected from events, this comes from the latest plan payload source value (with agent_id as fallback).
string
ISO 8601 timestamp of the last plan update. For event-projected plans, this is the timestamp of the latest plan event.

Step fields

string
required
Unique step identifier.
string
required
Step kind (controlled vocabulary):
string
required
Human-readable step description.
string
required
Step status (controlled vocabulary):
string
Explanation for the step.
object
Inputs provided to the step.
object
Outputs produced by the step.

Plan reconstruction contract

The runtime can reconstruct state.plan from events.jsonl:
  1. Locate the latest plan event.
  2. Build steps from payload.step_records when present.
  3. Fall back to parsing legacy payload.steps labels (<kind>:<description>) when step_records is absent.
  4. Apply subsequent act events that include both payload.step_id and payload.step_status.
  5. Keep existing step status when no step_status evidence exists.
This contract is implemented by noesis.runtime.plan_projection.project_plan_state(...).

Memory

Persistent facts and scratchpad captured during the run.
array
Normalized facts with timestamps and provenance.
string
required
Fact identifier.
any
required
Fact value (any JSON type).
string
When the fact was recorded.
string
Source of the fact.
string
Free-form notes captured during execution.

Outcomes

Final status, action log, metrics, and artifacts.
string
required
Final outcome status (controlled vocabulary):
array
Structured action records (id, kind, tool, input_excerpt, result_status, step_id, provenance, result_artifacts, plus x- extensions). The shape mirrors act event payloads, and runtime emission aligns each action timestamp to the corresponding act event timestamp.
object
Outcome metrics (e.g., total duration).

Traceability guarantees

  • episode.started_at is aligned to the start event timestamp and remains stable across continuation.
  • Whenever state.json is persisted, runtime emits phase="runtime", event_type="run.state_projection" with projection evidence for outcomes and links.
  • For terminal runs, projection outcomes and links mirror the final persisted state.json values.

Complete example

Reading state

Python

File access

Policy usage

Policies receive the state snapshot in their advise method:
Policies should treat state as read-only. To modify execution, return hints, interventions, or vetoes through the policy API.

Next steps

Summary schema

Summary artifact reference.

Events schema

Event timeline reference.