Skip to main content
GET
ReadWorkstreamLedgerAPI mirrors erdo_read_workstream_ledger: the allocator's

Authorizations

Authorization
string
header
required

An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

Path Parameters

workstreamSlug
string
required

Query Parameters

observations_per_experiment
integer<int32>
Required range: -2147483648 <= x <= 2147483647

Response

Success response

allocator_recommendation
AllocatorRecommendation is the allocator's whole read-only output for a · object

workstream: a per-bet action + posterior, plus the budget envelope it fit the recommendation inside. Deterministic — same ledger in, same recommendation out.

assignments
AssignmentSummary is one bounded responsibility as a coordinator reads it: · object[]

the latest worker did about each piece of it. It rides in the ledger read for the same reason the standing decisions do: a pass that had to remember to go and look would eventually not, and the states that need a coordinator specifically — a submission nobody has reviewed, work whose worker died — are invisible in every other part of this read. list_assignments remains the drill-in; this is the overview a pass gets without asking.

calibration
JudgeCalibrationStats is one judge's track record: how often its predictions · object[]

trust dial the loop uses to weight kills and screening. Empty until judges have made forecasts reality later measured. Each entry also carries its residual stream (misordered_examples) — the seed the loop hands to judge generation when a persistent disagreement pattern emerges.

child_portfolio
ChildPortfolioSummary is the bounded one-level projection a root workstream · object[]

It is deliberately one level deep: portfolio supervision does not require an unbounded graph traversal.

current_decisions
DecisionSummary is the compact projection of one decision that both a · object[]

unexpired standing commitments no later decision has superseded, plus the one_shot authorizations whose work is still in flight. They are loaded here, with the ledger, rather than left to a search the model may not run — an agent that has to remember to look up what the organization already decided is an agent that will eventually recommend the opposite of it.

LapsedDecisions contains expired, unsuperseded commitments awaiting review. RecentDecisions is the surrounding history, current and lapsed rows excluded: what was proposed, refused, replaced, failed, or authorized and since carried out. Context for the agent's reasoning, never a commitment it should continue.

defects
ExperimentDefect is one human "this variant is broken" verdict from the ledger · object[]

ledger — the seeded complement to the misordered_examples each judge carries. A defect costs no conversion, so the residual stream can never surface it; the loop reads these alongside misordered_examples so judge generation can propose a lens for a failure only a human eye caught. Bounded per read.

experiments
ExperimentWithObservations pairs an experiment with its variants and the head · object[]
judged_bets
integer<int64>
lapsed_decisions
DecisionSummary is the compact projection of one decision that both a · object[]
monitor_findings
AttentionItem is one thing the engine wants a human to see or answer, · object[]

this workstream declared in its external refs, filed by anything other than this workstream — in practice the organization's monitors. A monitor files against the organization because it cannot know a workstream exists, so without this the pass never reads a finding about a campaign it manages. Open items plus the recent window, newest first, no digests.

open_attention_items
AttentionItem is one thing the engine wants a human to see or answer, · object[]
organization_changes
DecisionSummary is the compact projection of one decision that both a · object[]

last four weeks that no workstream filed, such as a campaign setting changed from a chat. The workstream-scoped lists above never include them, and a pass reads them before it explains a movement in its numbers.

organization_changes_truncated
boolean

than the list carries, so the list holds the newest of them and older ones were cut. The full window is readable through list_decisions.

phases
WorkstreamPhase is an ordered step within a workstream. · object[]
random_arm_bets
integer<int64>

this project: how many measured bets skipped judge screening vs. were screened. The loop watches the split to keep the random arm alive (roughly one in ten) so it can price what the judges cost.

recent_decisions
DecisionSummary is the compact projection of one decision that both a · object[]
recent_events
WorkstreamEvent is one entry in a workstream's append-only, chronological log · object[]
recently_resolved_attention_items
AttentionItem is one thing the engine wants a human to see or answer, · object[]

that a human (or the expiry safe-default) resolved within the recent window. The loop reads these to act on ANSWERS to the escalations/choices it asked — a self-reconciling pass must be able to read back the human's reply, not just re-ask. Carries the answer + applied safe_default; newest first.

resources
WorkstreamResource is a typed link from a workstream to another domain object. · object[]
workstream
Workstream represents a piece of business work in motion. · object

Operational state machine for multi-step work (campaign launches, reports, monitors).