modelcontrol

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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

func (*CircuitBreaker) Allow

func (breaker *CircuitBreaker) Allow(now time.Time) bool

func (*CircuitBreaker) Record

func (breaker *CircuitBreaker) Record(now time.Time, success bool)

type ComplexityInput

type ComplexityInput struct {
	Risk        Risk
	InputTokens uint32
	Criteria    uint32
	Kind        TaskKind
}

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.

func (CostTrace) String

func (trace CostTrace) String() string

func (CostTrace) Validate

func (trace CostTrace) Validate() error

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 Finding

type Finding struct {
	ProfileID string
	Rule      string
}

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 HumanFlag

type HumanFlag string
const (
	RequireHuman HumanFlag = "require_human"
	FailClosed   HumanFlag = "fail_closed"
)

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 Lane

type Lane string
const (
	LaneCheap   Lane = "cheap"
	LaneMedium  Lane = "medium"
	LanePlanner Lane = "planner"
	LanePremium Lane = "premium"
)

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 ModelMetric struct {
	ProfileID    string
	TaskKind     string
	TotalRuns    uint32
	AcceptedRuns uint32
}

type Risk

type Risk string

Risk and task kind are closed inputs to the deterministic classifier. The model never supplies either value.

const (
	RiskLow    Risk = "low"
	RiskMedium Risk = "medium"
	RiskHigh   Risk = "high"
)

type RouteRequest

type RouteRequest struct {
	Lane               Lane
	Contract           string
	InputTokens        uint32
	OutputTokens       uint32
	RequiredCapability int
}

type SignatureVerifier

type SignatureVerifier func(SignedCLI) bool

type SignedCLI

type SignedCLI struct {
	Path      string
	SHA256    string
	Signer    string
	Signature string
}

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"
)

type TierTarget

type TierTarget struct {
	Lane      Lane
	ProfileID string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL