Harness and CLI¶
tether.harness¶
Control Plane: Tether Harness, bounded agent loop, live SQLite inbox, and headless spawner.
Harness
¶
General-purpose LLM-Native Micro-Harness.
register(fn_or_spec)
¶
Register a custom Python function or ToolSpec with this Harness.
build_multiplexer(session_id, enabled_tools, sandbox, model)
¶
Construct the session Multiplexer with done + strictly opted-in tools.
create_pipeline_session(pipeline, goal, *, parent_id=None)
¶
Create a persisted root pipeline session row in SQLite without executing it yet.
spawn_pipeline(pipeline, goal, *, parent_id=None)
¶
Create a pipeline session and launch it as a detached headless worker.
run_pipeline(pipeline, goal, *, parent_id=None)
async
¶
Execute a deterministic multi-stage pipeline with isolated stage sessions.
create_session(goal, *, parent_id=None)
¶
Create a persisted session row in SQLite without executing it yet.
spawn(goal, *, parent_id=None)
¶
Create a session and launch it as a detached headless worker, returning session_id.
run(goal, *, parent_id=None)
async
¶
Create and run a session inline until completion (done) or max_steps.
send(session_id, message, *, headless=False)
async
¶
Send a message to SQLite inbox; auto-resumes if WAITING_INPUT/COMPLETED/FAILED.
execute_session(session_id)
async
¶
Execute the bounded agent loop for a persisted session in SQLite.
spawn_detached_worker(db_path, session_id)
¶
Spawn a detached OS background worker (python -m tether.cli _worker <session_id>).
tether.cli¶
tether.pipeline¶
Declarative multi-stage deterministic pipelines and heterogeneous model routing.
PipelineStage
dataclass
¶
A single deterministic stage inside a multi-stage Tether pipeline.
Pipeline
dataclass
¶
Declarative multi-stage workflow with isolated sessions and bounded FTS5 handoffs.
parse_pipeline_yaml(raw_yaml, default_name='pipeline')
¶
Parse a YAML string into a validated Pipeline specification.
load_pipeline(path)
¶
Load a declarative YAML pipeline manifest from disk.
render_stage_goal(stage, root_goal, upstream_stages, store)
¶
Render stage goal with {{goal}} interpolation and compact ~50-token upstream digests.