EngineVersion 1osClasses

os:Process

An executable unit of work with lifecycle status tracking.

Usage

You do not create Process instances directly. They are created automatically when operations execute. Use subclasses (ctx:Task, act:Invocation, os:ScriptExecution) to query for specific kinds of processes.

Explanatory Note

Process is the abstract superclass for all executable operations in the system: script executions, action invocations, service requests, and sub-agent tasks. Every operation that RARS performs is represented as a process in the context graph.

Scope

Processes form a tree via os:parent / os:child. The root of the tree is the task that originated from a user utterance or a sub-agent delegation. Every process records its authorization context, timestamps, status, and the observations it produced.

Properties

os:child (optional)

A child process spawned by this process.

Process may have multiple child processes.

Explanatory Note: Inverse of os:parent. A process may have multiple children. Walking os:child from a root task gives you the full execution tree.

os:commentary (optional, max 1)

A description of the process's execution and its relationship to the overall job-to-be-done.

Process may have a commentary as a string.

Usage: RARS writes commentary to explain what a process is doing and why, providing human-readable context for the process tree. Useful for auditing and understanding workflow execution.

"Fetching work order details from the facilities backend to assess risk before dispatch."

os:completedAt (optional, max 1)

The timestamp when this process finished executing.

Process may have a completion timestamp when execution finished.

Explanatory Note: Set regardless of whether the process completed successfully or failed. Represents the moment execution ended, not the moment the result was consumed.

os:createdAt (required, max 1)

The timestamp when this process entity was created in the graph.

Process must have exactly one creation timestamp.

Explanatory Note: Distinct from os:startedAt. A process entity may be created before execution begins (for example, when an invocation is queued). os:createdAt records when the entity appeared in the graph, os:startedAt records when execution actually began.

os:duration (optional, max 1)

The execution duration of this process in milliseconds.

Process may have a duration in milliseconds.

Usage: Computed as the difference between os:startedAt and os:completedAt. Useful for performance analysis and identifying slow operations in the process tree.

os:failedWith (optional, max 1)

The exception that caused this process to fail.

Process may link to an exception entity when failed.

Usage: Query this property on failed processes to understand what went wrong. Follow exc:causedBy on the exception to walk the full cause chain.

Explanatory Note: Present only when os:status is os:Failed. The linked exception entity contains the error message, the cause chain, and any diagnostic context. If action healing is enabled, a healer process may inspect this exception to attempt recovery.

os:parent (optional, max 1)

The parent process that spawned this process.

Process may have a parent process.

Usage: Root processes (tasks originating from user utterances) have no parent. Use the absence of os:parent to identify root processes.

Explanatory Note: Processes form a hierarchy. A script execution is the child of the task that ran it. An action invocation is the child of the script that invoked it. An HTTP request is the child of the action invocation that triggered it. Walking os:parent from any process takes you up to the root task.

os:pid (required, max 1)

A unique identifier for this process within the context.

Process must have exactly one ID.

Usage: The pid is assigned automatically at process creation. Use it to reference specific processes in queries and log correlation.

os:startedAt (optional, max 1)

The timestamp when this process began executing.

Process may have a start timestamp when execution began.

Usage: Use os:startedAt and os:completedAt together to determine the wall-clock execution window. For precise duration, use os:duration.

os:status (required, max 1)

The current execution status of this process.

Process must have exactly one status value.

Explanatory Note: Every process has exactly one status. The status transitions as the process executes: typically from InProgress to Completed or Failed. See os:Status for the full set of lifecycle states and their semantics.

Values:

  • os:Completed: The process finished successfully and produced its expected result.
  • os:Failed: The process encountered an error and could not produce its expected result.
  • os:InProgress: The process is currently executing.
  • os:Interrupted: The process was cancelled before it could complete.
  • os:Suspended: The process is paused and waiting to be resumed.

On this page