AgentConfig class

The agent configuration — a pure VALUE the tree carries (never behavior). Watched by branches (dependOn*), snapshot-read by effects (get*).

Constructors

AgentConfig({String harness = 'claude', Map<String, String> params = const {}, ModelTiers tiers = const ModelTiers(), ModelPriceTable modelPrices = kUsageModelPrices, String? graderModel})
Creates the config: which harness runs the work, with harness-opaque params tuning, the station's tiers arming, the declared modelPrices, and the PRE-TIER graderModel knob. WHERE inference runs is the named environment's own target (ADR-0002 D3), not a config axis.
const

Properties

armedTiers → ModelTiers
The tier map this station ACTUALLY arms: tiers, with the two PRE-TIER knobs projected onto the tiers they arm — params['model'] (space up --model, A20's BUILD rung) onto AgentTier.frontier, and graderModel onto AgentTier.mid.
no setter
graderModel → String?
The PRE-TIER grade knob (space up --grader-model — ADR-0000 A20's GRADE rung). Kept so an UNMIGRATED station keeps arming its critics: it projects onto the MID tier (armedTiers). No harness reads it; it is a ladder INPUT. A station migrates by arming tiers directly, and it retires here at that point.
final
harness → String
The registry id of the harness: claude | copilot | pi | opencode.
final
hashCode → int
The hash code for this object.
no setteroverride
modelPrices → ModelPriceTable
The station's declared per-model TOKEN PRICES (bead pow-zetn) — read ONLY where a harness reports tokens but no billed cost, so a subscription-billed lane still has a cost in the ledger. Config = VALUES in the tree: this rides the ambient AgentConfig the tree already mounts, so a station retunes prices by arming a value, never by injecting a pricing service. An unpriced model FLARES and stays cost-null — never a silent zero.
final
params → Map<String, String>
Harness-opaque tuning, and the TRANSPORT key for the model: every harness reads params['model'].
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
tiers → ModelTiers
The station's TIER ARMING (bead pow-2c9) — the model-selection surface: tier → model, sparse (an unarmed tier rides its asset default). Selection reads it through the tier the SPAWNER declares, so the field count follows the TIERS and nothing else.
final

Methods

merge({String? harness, Map<String, String>? params, ModelTiers? tiers, ModelPriceTable? modelPrices, String? graderModel}) → AgentConfig
A copy with the non-null overrides applied (the D-C ladder's merge — both params and tiers merge key-wise, they don't replace whole).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override