Documentation
¶
Index ¶
- func Route(profiles []HostProfile, request RouteRequest, verifier SignatureVerifier) (HostProfile, []Finding, error)
- func ValidateSignedCLI(cli SignedCLI, verifier SignatureVerifier) error
- type BillingMode
- type CircuitBreaker
- type ComplexityInput
- type ComplexityResult
- type ComplexityTier
- type CostQualityDial
- type CostSource
- type CostTrace
- type DemotionDecision
- type Escalation
- type EscalationKind
- type EscalationPolicy
- type FailureClass
- type Finding
- type HostProfile
- type HumanFlag
- type InvocationResult
- type Lane
- type MissionLedger
- func (ledger *MissionLedger) Absorb(costUnits, savedUnits uint64)
- func (ledger *MissionLedger) CanAdmit(projected uint64) bool
- func (ledger MissionLedger) Ceiling() uint64
- func (ledger MissionLedger) Remaining() uint64
- func (ledger MissionLedger) Saved() uint64
- func (ledger MissionLedger) Spent() uint64
- type ModelMetric
- type Risk
- type RouteRequest
- type SignatureVerifier
- type SignedCLI
- type TaskKind
- type TierTarget
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Route ¶
func Route(profiles []HostProfile, request RouteRequest, verifier SignatureVerifier) (HostProfile, []Finding, error)
func ValidateSignedCLI ¶
func ValidateSignedCLI(cli SignedCLI, verifier SignatureVerifier) error
ValidateSignedCLI validates the shape locally and delegates trust in the signature to the host-owned verifier. It intentionally does not implement a signing protocol or inspect credentials.
Types ¶
type BillingMode ¶
type BillingMode string
const ( BillingSubscription BillingMode = "subscription" BillingLocal BillingMode = "local" )
type CircuitBreaker ¶
type CircuitBreaker struct {
// contains filtered or unexported fields
}
func NewCircuitBreaker ¶
func NewCircuitBreaker(failureThreshold int, cooldown time.Duration) *CircuitBreaker
type ComplexityInput ¶
type ComplexityResult ¶
type ComplexityResult struct {
Score int
Tier ComplexityTier
Lane Lane
}
func Classify ¶
func Classify(input ComplexityInput) ComplexityResult
type ComplexityTier ¶
type ComplexityTier string
const ( TierLow ComplexityTier = "low" TierMedium ComplexityTier = "medium" TierHigh ComplexityTier = "high" )
type CostQualityDial ¶
type CostQualityDial uint8
CostQualityDial has intentionally counter-intuitive polarity: zero favors the strongest profile and ten favors economy. It controls a concurrency ceiling, not a promise that the mission will spend that amount.
func NewCostQualityDial ¶
func NewCostQualityDial(raw uint8) CostQualityDial
func (CostQualityDial) LaneHint ¶
func (dial CostQualityDial) LaneHint() Lane
func (CostQualityDial) MaxParallelAgents ¶
func (dial CostQualityDial) MaxParallelAgents() int
type CostSource ¶
type CostSource string
const ( CostSourceNone CostSource = "none" CostSourceLocalUnit CostSource = "local_units" CostSourceAPIDollars CostSource = "api_dollars" )
type CostTrace ¶
type CostTrace struct {
ProfileID string `json:"profile_id"`
BaselineProfileID string `json:"baseline_profile_id,omitempty"`
BillingMode BillingMode `json:"billing_mode"`
CostSource CostSource `json:"cost_source"`
InputTokens uint32 `json:"input_tokens"`
OutputTokens uint32 `json:"output_tokens"`
DurationMs uint64 `json:"duration_ms"`
CostUnits uint64 `json:"cost_units"`
SavingsUnits uint64 `json:"savings_units"`
CacheHit bool `json:"cache_hit"`
}
CostTrace intentionally has no prompt, output, credential, float or USD field. Subscription billing is not a price measurement owned by jacu.
type DemotionDecision ¶
type DemotionDecision struct {
ProfileID string
TaskKind string
FailureRate float64
Samples uint32
Demoted bool
}
func EvaluateDemotion ¶
func EvaluateDemotion(metric ModelMetric) DemotionDecision
type Escalation ¶
type Escalation struct {
Kind EscalationKind
Next TierTarget
Flag HumanFlag
Reason string
}
type EscalationKind ¶
type EscalationKind string
const ( Retry EscalationKind = "retry" Exhausted EscalationKind = "exhausted" )
type EscalationPolicy ¶
type EscalationPolicy struct {
MaxAttempts uint8
Tiers []TierTarget
OnExhaust HumanFlag
}
func (EscalationPolicy) Next ¶
func (policy EscalationPolicy) Next(attempt uint8, failure FailureClass) Escalation
func (EscalationPolicy) Validate ¶
func (policy EscalationPolicy) Validate() error
type FailureClass ¶
type FailureClass string
const ( FailureVerification FailureClass = "verification_failed" FailureReview FailureClass = "review_rejected" FailureProvider FailureClass = "provider_error" FailureBudget FailureClass = "budget_exceeded" FailureTimeout FailureClass = "timeout" )
type HostProfile ¶
type HostProfile struct {
ID string
Lane Lane
Rank int
Capability int
Contracts []string
MaxContextTokens uint32
Available bool
CLI SignedCLI
}
func ApplyDemotionBias ¶
func ApplyDemotionBias(candidates []HostProfile, metrics []ModelMetric, taskKind string) ([]HostProfile, []string)
type InvocationResult ¶
type InvocationResult struct {
Success bool
}
func GuardedInvoke ¶
func GuardedInvoke(ctx context.Context, profile HostProfile, actualDigest string, verifier SignatureVerifier, breaker *CircuitBreaker, now time.Time, invoke func(context.Context, HostProfile) (InvocationResult, error)) (InvocationResult, error)
type MissionLedger ¶
type MissionLedger struct {
// contains filtered or unexported fields
}
func NewMissionLedger ¶
func NewMissionLedger(budgetCents uint64) MissionLedger
func (*MissionLedger) Absorb ¶
func (ledger *MissionLedger) Absorb(costUnits, savedUnits uint64)
func (*MissionLedger) CanAdmit ¶
func (ledger *MissionLedger) CanAdmit(projected uint64) bool
func (MissionLedger) Ceiling ¶
func (ledger MissionLedger) Ceiling() uint64
func (MissionLedger) Remaining ¶
func (ledger MissionLedger) Remaining() uint64
func (MissionLedger) Saved ¶
func (ledger MissionLedger) Saved() uint64
func (MissionLedger) Spent ¶
func (ledger MissionLedger) Spent() uint64
type ModelMetric ¶
type Risk ¶
type Risk string
Risk and task kind are closed inputs to the deterministic classifier. The model never supplies either value.
type RouteRequest ¶
type SignatureVerifier ¶
type TaskKind ¶
type TaskKind string
const ( KindPlan TaskKind = "plan" KindReview TaskKind = "review" KindCode TaskKind = "code" KindVerify TaskKind = "verify" KindInstall TaskKind = "install" KindPackage TaskKind = "package" KindAssetImage TaskKind = "asset_image" KindAssetSprite TaskKind = "asset_sprite_strip" KindVision TaskKind = "vision_reference" )