Expand description
The execution substrate: agentplane, embedded.
This module is the only place speccoder touches agentplane. A Plane
is a redb journal in speccoder’s state directory, the speccoder agent
declared in Rust, and the model driver. Every run is journaled; every
recorded run can be replayed strictly, without the model.
Modules§
- acceptance
speccoder.task.acceptance: derive acceptance tests from the spec before an attempt.- attempt
speccoder.task.attempt: one bounded, governed attempt at a task .- converge
speccoder.feature.converge: assess a feature’s code against its spec, plan and tasks, read-only.- host
speccoder.skill.run: an installed Agent Skill, hosted.- model_
config [model]inspeccoder.toml.- monitor
speccoder.task.monitor: a reasoning-blind gaming monitor.- near_
miss speccoder.task.near_miss: wrong and permitted variants of a task’s change, to test its acceptance tests.- propose
speccoder.task.propose: one governed model call that proposes how to do a task. The answer is recorded, never executed.- provenance
- Where content came from.
- run_
config [budget]and[commands]inspeccoder.toml(policy).
Structs§
- Account
Turn - One model turn of an attempt, as the person is shown it afterwards: the model’s summary of its reasoning and its words beside its calls — its account, a claim. Control characters escaped.
- Always
- A call answered Always Allow inline.
- Hooks
- What a live run hands its skills besides the model: someone to ask and somewhere to report progress. Neither is journaled; replay gets neither.
- Inline
- What
Plane::decide_inlineleaves. - Plane
- An open plane.
- Plane
Error - A failure to open or use the plane.
- Recorded
Call - One recorded call.
- Recorded
Calls - Calls the journal records, and what of it could not be read.
Constants§
- AGENTPLANE_
VERSION - The agentplane release speccoder is built against (the exact pin in the
workspace
Cargo.toml), named in every verification summary. - JOURNAL
- The journal file inside a project’s state directory.
- PRE_
054_ DECISION - What a run that failed on a decision speccoder 0.2.0 recorded is told.
Functions§
- account
- The model’s account of
run, turn by turn: every turn that reasoned or said something, in order. - admitted
- The input
runwas admitted with, with its root and field labels — from the journal’sRunAdmittedrecord, never from anything a tool returned. - manifest
- The speccoder agent, declared in code (Manifest::builder runs the same validation as a parsed manifest).
- manifest_
with manifestwith grants for the run’s MCP tools: mutating (speccoder cannot know otherwise), every argument field the model’s.- open_
reader - Opens the journal to read beside its writer, in this process or
another:
Nonewhen there is none (a read never creates one). Never registered, moved aside or written — any write through it is refused. - provider_
refusal - What a model provider refused, from a run’s failure: the text after agentplane’s “refused the request:” — a refusal, which no retry changes.
- refused_
account - The first run in the journal at
dirthat ended on a provider refusing the account — an exhausted quota or credit, billing, a missing or invalid key, a permission the key lacks — rather than one request: every later call would be refused too. Read from the records (the effect the run failed on and the provider’s code), read-only; a refusal without a code is not taken for one.Nonewith no journal. - replay_
strict - Strictly re-derives a recorded run and says whether this build
reproduces it: history is consumed, nothing is
dispatched. The model driver is agentplane’s replay-only provider, which
reads the request profile back from the history and refuses every call,
so no credential is needed. A faithful replay of a run that failed is
Finding::Verifiedtoo — the recorded ending is what is verified.Ok(None)when the run is not in the journal. - said
- What the model said in a turn beside its answer — a claim, never
evidence: its commentary, where the provider marks it apart (OpenAI
Responses), then its text when the turn called tools (a turn without
calls answers with its text).
Nonewhen it said nothing.