Skip to content

API reference

Run a policy in a task with Agent, then search and prepare training data with Collector. The root package exports what a training run needs; focus.branching, focus.context, focus.priority, and focus.estimation hold independent extension interfaces and their implementations. focus.extend also collects extension interfaces, and focus.backends provides model backends. Each section explains the components and shows how to configure the main choices.

Read Getting to know the library for the complete flow, or Quick start: MATH for a runnable example.

Task implementations to reuse or adapt, with shared tools for building your own environments.

  • BrowseComp-Plus — Research questions over a fixed document corpus.
  • DeonticBench — Legal reasoning with searchable statutes and task-specific scoring.
  • LocBench — Locate relevant code in a repository at a fixed revision.
  • Shared tools — Reusable corpus, reading, search, and calculation tools for sample tasks.

Search by Python name or import path. The index includes module exports, configuration records, callable contracts, and public implementation classes.

APIImport
_Storedfocus.harness.persistence._Stored
ActionKindfocus.extend.ActionKind, focus.generation.parsing.base.ActionKind
ActionParserfocus.generation.parsing.ActionParser, focus.generation.parsing.base.ActionParser
ActorSamplefocus.ActorSample, focus.export.ActorSample, focus.preparation.ActorSample, focus.preparation.records.ActorSample
AdmissionPoolfocus.execution.AdmissionPool, focus.execution.pool.AdmissionPool
Advantagefocus.estimation.Advantage, focus.estimation.base.Advantage, focus.extend.Advantage
advantagesfocus.integrations.slime.advantages
Agentfocus.Agent, focus.harness.Agent, focus.harness.agent.Agent
aggregatefocus.environments.locbench.aggregate, focus.environments.locbench.metrics.aggregate
AllocationLedgerfocus.scheduler.AllocationLedger, focus.scheduler.core.AllocationLedger, focus.scheduler.core.allocation.AllocationLedger
AllocationSessionfocus.scheduler.AllocationSession, focus.scheduler.core.AllocationSession, focus.scheduler.core.allocation.AllocationSession
AnyOffocus.context.AnyOf, focus.context.triggers.AnyOf, focus.extend.AnyOf
AnyRolloutfocus.harness.AnyRollout, focus.harness.rollout.AnyRollout
AppendOnlyfocus.AppendOnly, focus.context.AppendOnly, focus.context.base.AppendOnly
Appliedfocus.context.base.Applied
BaseToolfocus.extend.BaseTool, focus.harness.BaseTool, focus.harness.tools.BaseTool, focus.harness.tools.base.BaseTool
Batchfocus.Batch, focus.export.Batch, focus.preparation.Batch, focus.preparation.records.Batch
BetaBernoullifocus.allocation.BetaBernoulli, focus.allocation.calibration.BetaBernoulli
BranchPointsfocus.branching.BranchPoints, focus.extend.BranchPoints
BrowserFindfocus.environments.browsercomp_plus.BrowserFind, focus.environments.browsercomp_plus.browser.BrowserFind
BrowserOpenfocus.environments.browsercomp_plus.BrowserOpen, focus.environments.browsercomp_plus.browser.BrowserOpen
BrowserSearchfocus.environments.browsercomp_plus.BrowserSearch, focus.environments.browsercomp_plus.browser.BrowserSearch
Budgetfocus.scheduler.Budget, focus.scheduler.core.Budget, focus.scheduler.core.policies.Budget
build_corpusfocus.environments.deontic.build_corpus, focus.environments.deontic.environment.build_corpus
build_worldfocus.environments.deontic.build_world, focus.environments.deontic.environment.build_world
build_worldfocus.environments.locbench.build_world, focus.environments.locbench.environment.build_world
CalibrationModelfocus.allocation.CalibrationModel, focus.allocation.calibration.CalibrationModel
CapacityErrorfocus.execution.CapacityError, focus.execution.pool.CapacityError
Casefocus.environments.browsercomp_plus.Case, focus.environments.browsercomp_plus.environment.Case
Casefocus.environments.deontic.Case, focus.environments.deontic.environment.Case
Casefocus.environments.locbench.Case, focus.environments.locbench.dataset.Case
ChatCodecfocus.backends.ChatCodec, focus.codec.ChatCodec
Checkpointerfocus.extend.Checkpointer, focus.harness.Checkpointer, focus.harness.persistence.Checkpointer
CheckpointInfofocus.harness.CheckpointInfo, focus.harness.persistence.CheckpointInfo
collect_recordsfocus.integrations.collect_records, focus.integrations.common.collect_records
Collectorfocus.Collector, focus.collector.Collector
CollectorForfocus.integrations.CollectorFor, focus.integrations.common.CollectorFor
Compactionfocus.context.Compaction, focus.context.base.Compaction, focus.extend.Compaction
CompactionResultfocus.context.CompactionResult, focus.context.base.CompactionResult, focus.extend.CompactionResult
Completionfocus.generation.policy.Completion
ConcurrencyGatingfocus.scheduler.ConcurrencyGating, focus.scheduler.core.ConcurrencyGating, focus.scheduler.core.gating.ConcurrencyGating
ContextErrorfocus.context.ContextError, focus.context.base.ContextError, focus.extend.ContextError
ContextManagerfocus.context.ContextManager, focus.context.base.ContextManager, focus.extend.ContextManager
ContextToolsfocus.context.ContextTools, focus.context.base.ContextTools, focus.extend.ContextTools
Corpusfocus.environments.toolkit.Corpus, focus.environments.toolkit.corpus.Corpus
CorruptCheckpointfocus.harness.CorruptCheckpoint, focus.harness.persistence.CorruptCheckpoint
Criticfocus.Critic, focus.critic.Critic
critic_targetsfocus.preparation.critic_targets, focus.preparation.prepare.critic_targets
CriticSamplefocus.CriticSample, focus.export.CriticSample, focus.preparation.CriticSample, focus.preparation.records.CriticSample
CriticSampleFactoryfocus.export.CriticSampleFactory
CriticSinkfocus.integrations.CriticSink, focus.integrations.common.CriticSink
focus.environments.toolkit.grep.DEFAULT_DESCRIPTIONfocus.environments.toolkit.grep.DEFAULT_DESCRIPTION
focus.environments.toolkit.read.DEFAULT_DESCRIPTIONfocus.environments.toolkit.read.DEFAULT_DESCRIPTION
DEFAULT_DESCRIPTIONfocus.harness.tools.submission.DEFAULT_DESCRIPTION
DEFAULT_FINISH_PROMPTfocus.extend.DEFAULT_FINISH_PROMPT, focus.harness.DEFAULT_FINISH_PROMPT, focus.harness.agent.DEFAULT_FINISH_PROMPT
DEFAULT_IMPORTSfocus.environments.toolkit.DEFAULT_IMPORTS, focus.environments.toolkit.python.DEFAULT_IMPORTS
DEFAULT_INSTRUCTIONfocus.context.compaction.DEFAULT_INSTRUCTION, focus.context.compaction.agentic.DEFAULT_INSTRUCTION
DEFAULT_MAX_TOKENSfocus.generation.types.DEFAULT_MAX_TOKENS
DEFAULT_SECTION_HELPfocus.environments.toolkit.read.DEFAULT_SECTION_HELP
DEFAULT_TEMPERATUREfocus.generation.types.DEFAULT_TEMPERATURE
DEFAULT_TOP_Pfocus.generation.types.DEFAULT_TOP_P
DeonticEnvfocus.environments.deontic.DeonticEnv, focus.environments.deontic.environment.DeonticEnv
DeonticStatefocus.environments.deontic.DeonticState, focus.environments.deontic.environment.DeonticState
DirectBranchTdfocus.DirectBranchTd, focus.estimation.DirectBranchTd, focus.estimation.direct_branch.DirectBranchTd
dispatchfocus.harness.dispatch, focus.harness.tools.dispatch, focus.harness.tools.dispatch.dispatch
DocumentToolfocus.environments.browsercomp_plus.browser.DocumentTool
Edgefocus.estimation.Edge, focus.estimation.base.Edge, focus.extend.Edge
edge_durationfocus.scheduler.edge_duration, focus.scheduler.core.edge_duration, focus.scheduler.core.returns.edge_duration
edge_returnfocus.scheduler.edge_return, focus.scheduler.core.edge_return
Effectfocus.harness.turn.Effect
Entryfocus.environments.locbench.repository.Entry
Envfocus.Env, focus.harness.Env, focus.harness.env.Env
ErrorReductionfocus.ErrorReduction, focus.priority.ErrorReduction
Estimatorfocus.estimation.Estimator, focus.estimation.base.Estimator, focus.extend.Estimator
ESTIMATOR_KEYfocus.export.ESTIMATOR_KEY
EveryDecisionfocus.branching.EveryDecision, focus.extend.EveryDecision
EVIDENCE_KEYfocus.allocation.evidence.EVIDENCE_KEY
evidence_offocus.allocation.evidence.evidence_of
Executionfocus.Execution, focus.harness.Execution, focus.harness.agent.Execution
ExecutionServicesfocus.execution.ExecutionServices, focus.execution.inference.ExecutionServices
Expanderfocus.scheduler.Expander, focus.scheduler.core.Expander, focus.scheduler.core.execution.Expander
Fifofocus.Fifo, focus.priority.Fifo
FifoSessionfocus.scheduler.FifoSession, focus.scheduler.core.FifoSession, focus.scheduler.core.allocation.FifoSession
finished_belowfocus.scheduler.finished_below, focus.scheduler.core.finished_below, focus.scheduler.core.returns.finished_below
finished_throughfocus.scheduler.finished_through, focus.scheduler.core.finished_through, focus.scheduler.core.returns.finished_through
flatten_tool_callsfocus.harness.flatten_tool_calls, focus.harness.transcript.flatten_tool_calls
format_edgesfocus.export.format_edges
format_transcriptfocus.harness.format_transcript, focus.harness.transcript.format_transcript
format_treefocus.export.format_tree
FunctionToolfocus.extend.FunctionTool, focus.harness.FunctionTool, focus.harness.tools.FunctionTool, focus.harness.tools.function.FunctionTool
Gatefocus.scheduler.Gate, focus.scheduler.core.Gate, focus.scheduler.core.gating.Gate
GatingPolicyfocus.scheduler.GatingPolicy, focus.scheduler.core.GatingPolicy, focus.scheduler.core.gating.GatingPolicy
Gaussianfocus.allocation.Gaussian, focus.allocation.calibration.Gaussian
GenerateHookfocus.integrations.slime.GenerateHook
GenerateResultfocus.backends.GenerateResult, focus.generation.GenerateResult, focus.generation.types.GenerateResult
Goldfocus.environments.locbench.Gold, focus.environments.locbench.metrics.Gold
gradefocus.environments.browsercomp_plus.grade, focus.environments.browsercomp_plus.environment.grade
GrepToolfocus.environments.toolkit.GrepTool, focus.environments.toolkit.grep.GrepTool
Grpofocus.Grpo, focus.estimation.Grpo, focus.estimation.grpo.Grpo
HermesToolCallParserfocus.backends.HermesToolCallParser, focus.generation.parsing.HermesToolCallParser, focus.generation.parsing.hermes.HermesToolCallParser
HFTokenizerfocus.codec.HFTokenizer
IncompleteCompactionErrorfocus.context.IncompleteCompactionError, focus.context.base.IncompleteCompactionError, focus.extend.IncompleteCompactionError
InMemoryWorkspacefocus.extend.InMemoryWorkspace, focus.harness.InMemoryWorkspace, focus.harness.workspace.InMemoryWorkspace, focus.harness.workspace.memory.InMemoryWorkspace
JsonlDirectoryfocus.integrations.JsonlDirectory, focus.integrations.common.JsonlDirectory
Lanefocus.export.Lane
LANE_KEYfocus.export.LANE_KEY
ListToolfocus.environments.toolkit.ListTool, focus.environments.toolkit.list.ListTool
load_casesfocus.environments.browsercomp_plus.load_cases, focus.environments.browsercomp_plus.environment.load_cases
load_casesfocus.environments.locbench.dataset.load_cases
LocBenchEnvfocus.environments.locbench.LocBenchEnv, focus.environments.locbench.environment.LocBenchEnv
LocBenchStatefocus.environments.locbench.LocBenchState, focus.environments.locbench.environment.LocBenchState
logprobfocus.harness.logprob, focus.harness.turn.logprob
make_agentfocus.environments.browsercomp_plus.make_agent, focus.environments.browsercomp_plus.environment.make_agent
make_evaluatefocus.integrations.slime.make_evaluate
make_generatefocus.integrations.slime.make_generate
MemoryCheckpointerfocus.extend.MemoryCheckpointer, focus.harness.MemoryCheckpointer, focus.harness.persistence.MemoryCheckpointer
Messagefocus.backends.Message, focus.codec.Message
NativePolicyfocus.generation._openai_shared.NativePolicy
NativeToolCallfocus.generation.NativeToolCall, focus.generation.types.NativeToolCall
NativeToolCallParserfocus.backends.NativeToolCallParser, focus.generation.parsing.NativeToolCallParser, focus.generation.parsing.native.NativeToolCallParser
Nodefocus.scheduler.Node, focus.scheduler.core.Node, focus.scheduler.core.tree.Node
NodeInfofocus.extend.NodeInfo, focus.priority.NodeInfo
NodeScorerfocus.scheduler.NodeScorer, focus.scheduler.core.NodeScorer, focus.scheduler.core.critic.NodeScorer
NodeValuesfocus.extend.NodeValues, focus.values.NodeValues
NullWorkspacefocus.extend.NullWorkspace, focus.harness.NullWorkspace, focus.harness.workspace.NullWorkspace, focus.harness.workspace.null.NullWorkspace
Observationsfocus.allocation.Observations, focus.allocation.evidence.Observations, focus.scheduler.core.allocation.Observations
OpenAIChatPolicyfocus.backends.OpenAIChatPolicy, focus.generation.OpenAIChatPolicy, focus.generation.openai_chat.OpenAIChatPolicy
OpenAIResponsesPolicyfocus.backends.OpenAIResponsesPolicy, focus.generation.OpenAIResponsesPolicy, focus.generation.openai_responses.OpenAIResponsesPolicy
Ownerfocus.execution.Owner, focus.execution.pool.Owner
PackedSequencefocus.extend.PackedSequence, focus.harness.PackedSequence, focus.harness.packing.PackedSequence
PASS_KEYfocus.scheduler.PASS_KEY, focus.scheduler.core.PASS_KEY, focus.scheduler.core.execution.PASS_KEY
Payloadfocus.scheduler.Payload, focus.scheduler.core.Payload, focus.scheduler.core.tree.Payload
Phasefocus.Phase, focus.search.Phase
Policyfocus.backends.Policy, focus.generation.Policy, focus.generation.policy.Policy
PolicyFormatfocus.backends.PolicyFormat, focus.generation.PolicyFormat, focus.generation.policy.PolicyFormat
PostFnfocus.generation.slime.PostFn
PPO_CLIPfocus.integrations.tinker.PPO_CLIP
PredictFnfocus.critic.PredictFn
prepare_samplesfocus.preparation.prepare_samples, focus.preparation.prepare.prepare_samples
PreparedPromptfocus.backends.PreparedPrompt, focus.generation.PreparedPrompt, focus.generation.policy.PreparedPrompt
preserve_advantagesfocus.integrations.slime.preserve_advantages
Priorityfocus.extend.Priority, focus.priority.Priority
Problemfocus.integrations.Problem, focus.integrations.common.Problem
PromptTokensfocus.context.PromptTokens, focus.context.triggers.PromptTokens, focus.extend.PromptTokens
PythonToolfocus.environments.toolkit.PythonTool, focus.environments.toolkit.python.PythonTool
QwenXMLToolCallParserfocus.backends.QwenXMLToolCallParser, focus.generation.parsing.QwenXMLToolCallParser, focus.generation.parsing.qwen_xml.QwenXMLToolCallParser
RankedSessionfocus.scheduler.RankedSession, focus.scheduler.core.RankedSession, focus.scheduler.core.allocation.RankedSession
ReadToolfocus.environments.toolkit.ReadTool, focus.environments.toolkit.read.ReadTool
regionsfocus.harness.regions, focus.harness.packing.regions
Repositoryfocus.environments.locbench.Repository, focus.environments.locbench.repository.Repository
Reservationfocus.scheduler.Reservation, focus.scheduler.core.Reservation, focus.scheduler.core.allocation.Reservation
ResourceBudgetfocus.execution.budget.ResourceBudget
retraining_gainfocus.allocation.retraining_gain, focus.allocation.refinement.retraining_gain
RetrievalArchivefocus.environments.browsercomp_plus.RetrievalArchive, focus.environments.browsercomp_plus.environment.RetrievalArchive
RewardConfigfocus.RewardConfig, focus.values.RewardConfig
RolloutEvidencefocus.allocation.evidence.RolloutEvidence
RolloutExpanderfocus.scheduler.RolloutExpander, focus.scheduler.core.RolloutExpander, focus.scheduler.core.execution.RolloutExpander
RolloutLedgerfocus.allocation.RolloutLedger, focus.allocation.evidence.RolloutLedger
RolloutStatefocus.extend.RolloutState, focus.harness.RolloutState, focus.harness.rollout.RolloutState
RoundBudgetfocus.extend.RoundBudget, focus.harness.RoundBudget, focus.harness.tools.budget.RoundBudget
RunConfigfocus.environments.deontic.RunConfig, focus.environments.deontic.environment.RunConfig
RunConfigfocus.environments.locbench.RunConfig, focus.environments.locbench.environment.RunConfig
RunningStatsfocus.statistics.RunningStats
SampleFactoryfocus.export.SampleFactory
SamplingParamsfocus.backends.SamplingParams, focus.generation.SamplingParams, focus.generation.types.SamplingParams
Schedulerfocus.scheduler.Scheduler, focus.scheduler.core.Scheduler, focus.scheduler.core.scheduler.Scheduler
SchedulerStatefocus.scheduler.SchedulerState, focus.scheduler.core.SchedulerState, focus.scheduler.core.tree.SchedulerState
SchedulerViewfocus.scheduler.SchedulerView, focus.scheduler.core.SchedulerView, focus.scheduler.core.tree.SchedulerView
scorefocus.environments.locbench.score, focus.environments.locbench.metrics.score
screen_codefocus.environments.toolkit.screen_code, focus.environments.toolkit.python.screen_code
Searchfocus.Search, focus.search.Search
SearchEnvfocus.environments.browsercomp_plus.SearchEnv, focus.environments.browsercomp_plus.environment.SearchEnv
Sectionfocus.environments.toolkit.Section, focus.environments.toolkit.corpus.Section
Sectionerfocus.environments.toolkit.Sectioner, focus.environments.toolkit.corpus.Sectioner
Segmentsfocus.Segments, focus.context.Segments, focus.context.base.Segments
Selectivefocus.Selective, focus.search.Selective
SGLangPolicyfocus.backends.SGLangPolicy, focus.generation.SGLangPolicy, focus.generation.sglang.SGLangPolicy
SlimePolicyfocus.backends.SlimePolicy, focus.generation.SlimePolicy, focus.generation.slime.SlimePolicy
SourceFilefocus.environments.toolkit.SourceFile, focus.environments.toolkit.corpus.SourceFile
SparseCheckpointsfocus.branching.SparseCheckpoints, focus.extend.SparseCheckpoints
SQLiteCheckpointerfocus.extend.SQLiteCheckpointer, focus.harness.SQLiteCheckpointer, focus.harness.persistence.SQLiteCheckpointer
STAT_FAILURESfocus.scheduler.core.tree.STAT_FAILURES
STAT_NODESfocus.scheduler.core.tree.STAT_NODES
STAT_ROLLOUTSfocus.scheduler.core.tree.STAT_ROLLOUTS
STAT_SCORE_FAILURESfocus.scheduler.core.tree.STAT_SCORE_FAILURES
STAT_TURNSfocus.scheduler.core.tree.STAT_TURNS
Statefocus.environments.browsercomp_plus.State, focus.environments.browsercomp_plus.environment.State
StateCounterfocus.context.StateCounter, focus.context.triggers.StateCounter, focus.extend.StateCounter
StepReportfocus.integrations.tinker.StepReport
StepResultfocus.StepResult, focus.harness.StepResult, focus.harness.env.StepResult
StorageToolfocus.extend.StorageTool, focus.harness.StorageTool, focus.harness.workspace.StorageTool, focus.harness.workspace.storage.StorageTool
SUBMITfocus.extend.SUBMIT, focus.harness.SUBMIT, focus.harness.tools.submission.SUBMIT
SubmitFieldsfocus.extend.SubmitFields, focus.harness.SubmitFields, focus.harness.tools.submission.SubmitFields
SubmitToolfocus.extend.SubmitTool, focus.harness.SubmitTool, focus.harness.tools.submission.SubmitTool
sum_policy_tokensfocus.integrations.slime.sum_policy_tokens
Summarizefocus.Summarize, focus.context.Summarize, focus.context.compaction.Summarize, focus.context.compaction.agentic.Summarize
TASKfocus.harness.TASK, focus.harness.rollout.TASK
Terminationfocus.scheduler.Termination, focus.scheduler.core.Termination, focus.scheduler.core.policies.Termination
TextActionParserfocus.backends.TextActionParser, focus.generation.parsing.TextActionParser, focus.generation.parsing.base.TextActionParser
TextCodecfocus.backends.TextCodec, focus.codec.TextCodec
TiktokenChatTokenizerfocus.backends.TiktokenChatTokenizer, focus.tiktoken_chat.TiktokenChatTokenizer
TinkerPolicyfocus.backends.TinkerPolicy, focus.generation.TinkerPolicy, focus.generation.tinker.TinkerPolicy
to_datumfocus.integrations.tinker.to_datum
to_samplefocus.integrations.slime.to_sample
to_samplesfocus.export.to_samples
token_entropiesfocus.scheduler.core.token_entropies, focus.scheduler.core.entropy.token_entropies
TokenChunkfocus.backends.TokenChunk, focus.generation.TokenChunk, focus.generation.continuation.TokenChunk
TokenChunkParserfocus.backends.TokenChunkParser, focus.generation.TokenChunkParser, focus.generation.continuation.TokenChunkParser
TokenEntropyfocus.TokenEntropy, focus.priority.TokenEntropy
TokenIdfocus.backends.TokenId, focus.generation.TokenId, focus.generation.types.TokenId
Toolfocus.extend.Tool, focus.harness.Tool, focus.harness.tools.Tool, focus.harness.tools.base.Tool
toolfocus.tool, focus.harness.tool, focus.harness.tools.tool, focus.harness.tools.function.tool
TOOL_CALLfocus.generation.parsing.base.TOOL_CALL
tool_schemafocus.harness.tool_schema, focus.harness.tools.tool_schema, focus.harness.tools.base.tool_schema
tool_turnfocus.generation.parsing.base.tool_turn
ToolCallfocus.generation.parsing.ToolCall, focus.generation.parsing.base.ToolCall
ToolEnvfocus.ToolEnv, focus.harness.ToolEnv, focus.harness.tools.environment.ToolEnv
ToolErrorfocus.ToolError, focus.harness.ToolError, focus.harness.tools.ToolError, focus.harness.tools.base.ToolError
ToolTurnfocus.backends.ToolTurn, focus.generation.parsing.ToolTurn, focus.generation.parsing.base.ToolTurn
trainfocus.integrations.tinker.train
trainable_logprobsfocus.harness.trainable_logprobs, focus.harness.turn.trainable_logprobs
Treefocus.Tree, focus.collector.Tree
tree_valuesfocus.extend.tree_values, focus.values.tree_values
TreeValuesfocus.extend.TreeValues, focus.values.TreeValues
Triggerfocus.context.Trigger, focus.context.triggers.Trigger, focus.extend.Trigger
Turnfocus.extend.Turn, focus.harness.Turn, focus.harness.turn.Turn
TurnTagfocus.harness.TurnTag, focus.harness.turn.TurnTag
update_actorfocus.integrations.tinker.update_actor
Usagefocus.execution.Usage, focus.execution.inference.Usage
ValuePredictionfocus.scheduler.core.critic.ValuePrediction
VLLMCriticfocus.backends.VLLMCritic, focus.critic.VLLMCritic
VLLMPolicyfocus.backends.VLLMPolicy, focus.generation.VLLMPolicy, focus.generation.vllm.VLLMPolicy
WidthGatingfocus.scheduler.WidthGating, focus.scheduler.core.WidthGating, focus.scheduler.core.gating.WidthGating
Workspacefocus.extend.Workspace, focus.harness.Workspace, focus.harness.workspace.Workspace, focus.harness.workspace.base.Workspace
WorkspaceErrorfocus.harness.WorkspaceError, focus.harness.workspace.WorkspaceError, focus.harness.workspace.base.WorkspaceError
Worldfocus.environments.deontic.World, focus.environments.deontic.environment.World
Worldfocus.environments.locbench.World, focus.environments.locbench.environment.World