Control · Ote

Keep agent work
under control

A crashed worker should not leave credentials, sessions or remote jobs running unchecked. Ote gives each operation a recovery plan: what can restart, what must stop, and when to bring in a human.

Revoke
Report
What it does
  1. Keep using your existing agents. Declare the resources and failure rules around their work.
  2. Restart a replaceable worker without discarding a healthy credential lease or session.
  3. When a session fails, rebuild the downstream work that depends on it.
  4. When trust fails, revoke the credential lease first and stop the operation’s registered resources.
  5. Keep remote work visible after the local process exits. Completion requires resolution and an explicit accept or discard decision.

Work

Taso

What is the task, and what counts as accepted?

Control

Ote

What stays live, and what must stop?

Continuity

Solu

What survives when a worker changes?

Observation

Selko

What actually ran?

Team memory

Vartio

How will the team retain signed history?

Component roles: Taso declares and judges work; Ote supervises live resources; Solu preserves the work; Selko records activity; Vartio’s team memory is planned. This is a responsibility map, not a completed integration.
How it works

Recovery is a policy. Not a retry loop.

Ote is a standalone Erlang/OTP control plane. Its supervision trees encode failure rules: restart one worker, rebuild dependent resources, or tear down the whole operation. Each resource supplies a revocation action that remains usable after its process dies.

Ote manages live work; Selko records observed behaviour. Taso declares and judges the task. Those are separate responsibilities, not a single agent wrapper.

Current scope: the local lifecycle kernel is implemented and tested. Remote cancellation depends on the registered resource adapter. Ote is not a sandbox or an evidence recorder.

Built with
Erlang/OTP supervision trees and explicit resource callbacks.
Tracks
Operation identity, resource lifecycle and unresolved remote work.
On failure
Restart, revoke or escalate according to the declared tree.
Boundary
Only resources with a real revocation action belong in the tree.
% Inspect operations on this Ote node.
ote_operation:list().

% Read the retained lifecycle and resource report.
% Replace deploy with your operation identifier.
ote_operation:report(deploy).

% A local exit is not the finish line:
% running → settling → accepted or discarded → done
%
% Trust lost:
% revoke lease → revoke resources → report cleanup