# Class LittleGhost::CodeMode::ProgramResult

Documentation version: Edge

Canonical HTML: https://littleghostai.org/docs/LittleGhost/CodeMode/ProgramResult.html

Describes one observation of a code-mode program. Its output contains text
produced since the previous observation.

`value` carries the completed program's language value when the engine
supports one. `status` is `:completed`,
`:still_working`, `:terminated`, or `:error`.
`error` contains a model-program error; lifecycle and cleanup failures raise
instead.

## Inheritance

`LittleGhost::CodeMode::ProgramResult < Data`

## Attributes

<a id="attribute-i-artifacts"></a>
### `artifacts` (R)

Artifact descriptors produced by brokered Tools since the previous
observation.

<a id="attribute-i-error"></a>
### `error` (R)

A model-program error for an `:error` result, or `nil`.

<a id="attribute-i-output"></a>
### `output` (R)

Text produced since the previous observation.

<a id="attribute-i-status"></a>
### `status` (R)

The program state after this observation.

<a id="attribute-i-value"></a>
### `value` (R)

The completed program's language value, when available.

## Class methods

<a id="method-c-new"></a>
### `.new`

```ruby
.new(output: "", value: nil, status: :completed, error: nil, artifacts: [], presentation_content: [])
```

Creates a program observation with empty output and a successful status by
default.

## Instance methods

<a id="method-i-completed-3F"></a>
### `#completed?`

```ruby
#completed?()
```

Whether the program completed successfully.

<a id="method-i-still_working-3F"></a>
### `#still_working?`

```ruby
#still_working?()
```

Whether the program remains active after this observation.
