SYMBOL INDEX (22331 symbols across 2232 files) FILE: autocontext/migrations/001_initial.sql type runs (line 1) | CREATE TABLE IF NOT EXISTS runs ( type generations (line 11) | CREATE TABLE IF NOT EXISTS generations ( type matches (line 24) | CREATE TABLE IF NOT EXISTS matches ( type agent_outputs (line 36) | CREATE TABLE IF NOT EXISTS agent_outputs ( FILE: autocontext/migrations/002_phase3_phase7.sql type generation_recovery (line 5) | CREATE TABLE IF NOT EXISTS generation_recovery ( type agent_role_metrics (line 16) | CREATE TABLE IF NOT EXISTS agent_role_metrics ( FILE: autocontext/migrations/004_knowledge_inheritance.sql type knowledge_snapshots (line 1) | CREATE TABLE IF NOT EXISTS knowledge_snapshots ( type idx_knowledge_snapshots_scenario (line 11) | CREATE INDEX IF NOT EXISTS idx_knowledge_snapshots_scenario FILE: autocontext/migrations/006_human_feedback.sql type human_feedback (line 1) | CREATE TABLE IF NOT EXISTS human_feedback ( type idx_feedback_scenario (line 10) | CREATE INDEX IF NOT EXISTS idx_feedback_scenario ON human_feedback(scena... FILE: autocontext/migrations/007_task_queue.sql type task_queue (line 2) | CREATE TABLE IF NOT EXISTS task_queue ( type idx_task_queue_status (line 21) | CREATE INDEX IF NOT EXISTS idx_task_queue_status ON task_queue(status) type idx_task_queue_priority (line 22) | CREATE INDEX IF NOT EXISTS idx_task_queue_priority ON task_queue(priorit... type idx_task_queue_spec (line 23) | CREATE INDEX IF NOT EXISTS idx_task_queue_spec ON task_queue(spec_name) FILE: autocontext/migrations/008_staged_validation.sql type staged_validation_results (line 1) | CREATE TABLE IF NOT EXISTS staged_validation_results ( FILE: autocontext/migrations/010_consultation_log.sql type consultation_log (line 1) | CREATE TABLE IF NOT EXISTS consultation_log ( type idx_consultation_log_run (line 17) | CREATE INDEX IF NOT EXISTS idx_consultation_log_run ON consultation_log(... FILE: autocontext/migrations/010_session_notebook.sql type session_notebooks (line 1) | CREATE TABLE IF NOT EXISTS session_notebooks ( type idx_session_notebooks_scenario (line 15) | CREATE INDEX IF NOT EXISTS idx_session_notebooks_scenario ON session_not... FILE: autocontext/migrations/011_monitors.sql type monitor_conditions (line 2) | CREATE TABLE IF NOT EXISTS monitor_conditions ( type monitor_alerts (line 12) | CREATE TABLE IF NOT EXISTS monitor_alerts ( type idx_monitor_conditions_active (line 24) | CREATE INDEX IF NOT EXISTS idx_monitor_conditions_active ON monitor_cond... type idx_monitor_alerts_condition (line 25) | CREATE INDEX IF NOT EXISTS idx_monitor_alerts_condition ON monitor_alert... type idx_monitor_alerts_fired_at (line 26) | CREATE INDEX IF NOT EXISTS idx_monitor_alerts_fired_at ON monitor_alerts... FILE: autocontext/migrations/012_research_hub.sql type hub_sessions (line 1) | CREATE TABLE IF NOT EXISTS hub_sessions ( type idx_hub_sessions_status (line 15) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_status ON hub_sessions(status) type idx_hub_sessions_shared (line 16) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_shared ON hub_sessions(shared) type idx_hub_sessions_heartbeat (line 17) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_heartbeat ON hub_sessions(la... type hub_packages (line 19) | CREATE TABLE IF NOT EXISTS hub_packages ( type idx_hub_packages_scenario (line 38) | CREATE INDEX IF NOT EXISTS idx_hub_packages_scenario ON hub_packages(sce... type idx_hub_packages_family (line 39) | CREATE INDEX IF NOT EXISTS idx_hub_packages_family ON hub_packages(scena... type idx_hub_packages_source_run (line 40) | CREATE INDEX IF NOT EXISTS idx_hub_packages_source_run ON hub_packages(s... type idx_hub_packages_created_at (line 41) | CREATE INDEX IF NOT EXISTS idx_hub_packages_created_at ON hub_packages(c... type hub_results (line 43) | CREATE TABLE IF NOT EXISTS hub_results ( type idx_hub_results_scenario (line 58) | CREATE INDEX IF NOT EXISTS idx_hub_results_scenario ON hub_results(scena... type idx_hub_results_run (line 59) | CREATE INDEX IF NOT EXISTS idx_hub_results_run ON hub_results(run_id) type idx_hub_results_package (line 60) | CREATE INDEX IF NOT EXISTS idx_hub_results_package ON hub_results(packag... type idx_hub_results_created_at (line 61) | CREATE INDEX IF NOT EXISTS idx_hub_results_created_at ON hub_results(cre... type hub_promotions (line 63) | CREATE TABLE IF NOT EXISTS hub_promotions ( type idx_hub_promotions_package (line 74) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_package ON hub_promotions(... type idx_hub_promotions_source_run (line 75) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_source_run ON hub_promotio... type idx_hub_promotions_created_at (line 76) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_created_at ON hub_promotio... FILE: autocontext/scripts/check_no_python_postinstall.py function _is_hook_name (line 42) | def _is_hook_name(name: str) -> bool: function check_pyproject (line 46) | def check_pyproject() -> None: function check_setup_py (line 86) | def check_setup_py() -> None: FILE: autocontext/scripts/check_python_no_telemetry.py function scan_file (line 65) | def scan_file(path: Path) -> None: function walk (line 84) | def walk(root: Path, exts: tuple[str, ...]) -> list[Path]: FILE: autocontext/scripts/check_python_offline_install.py function _run (line 31) | def _run(cmd: list[str], **kwargs) -> subprocess.CompletedProcess: FILE: autocontext/scripts/check_python_reproducible_wheel.py function _sha256 (line 26) | def _sha256(path: Path) -> str: function _build_wheel (line 34) | def _build_wheel(dest: Path) -> Path: FILE: autocontext/scripts/drive_anthropic_parity_fixture.py function main (line 18) | def main() -> None: function normalize_trace (line 145) | def normalize_trace(trace: dict[str, Any], fixture_name: str) -> dict[st... function canonical_json (line 164) | def canonical_json(obj: Any) -> str: FILE: autocontext/scripts/drive_parity_fixture.py function main (line 36) | def main() -> None: function normalize_trace (line 163) | def normalize_trace(trace: dict[str, Any], fixture_name: str) -> dict[st... function canonical_json (line 197) | def canonical_json(obj: Any) -> str: FILE: autocontext/smoke_test.py function section (line 29) | def section(title: str): function main (line 35) | def main(): FILE: autocontext/smoke_test_loop.py class LinkedInPostTask (line 21) | class LinkedInPostTask(AgentTaskInterface): method __init__ (line 24) | def __init__(self, provider: AnthropicProvider): method get_task_prompt (line 39) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 47) | def evaluate_output(self, output, state, reference_context=None, method revise_output (line 62) | def revise_output(self, output, judge_result, state): method get_rubric (line 81) | def get_rubric(self): method initial_state (line 84) | def initial_state(self, seed=None): method describe_task (line 87) | def describe_task(self): function section (line 91) | def section(title: str): function main (line 97) | def main(): FILE: autocontext/src/autocontext/agentos/types.py class AgentOsRuntimePort (line 33) | class AgentOsRuntimePort(Protocol): method create_session (line 40) | async def create_session(self, agent_type: str) -> dict[str, Any]: ... method prompt (line 41) | async def prompt(self, session_id: str, prompt: str) -> None: ... method close_session (line 42) | async def close_session(self, session_id: str) -> None: ... method dispose (line 43) | async def dispose(self) -> None: ... class AgentOsPermissions (line 46) | class AgentOsPermissions(BaseModel): class AgentOsConfig (line 57) | class AgentOsConfig(BaseModel): method needs_sandbox (line 68) | def needs_sandbox(self, task_description: str) -> bool: FILE: autocontext/src/autocontext/agents/agent_sdk_client.py function _resolve_model (line 30) | def _resolve_model(model: str) -> str: class AgentSdkConfig (line 42) | class AgentSdkConfig: class AgentSdkClient (line 49) | class AgentSdkClient(LanguageModelClient): method __init__ (line 52) | def __init__(self, config: AgentSdkConfig | None = None) -> None: method generate (line 55) | def generate( method _query (line 76) | async def _query(self, prompt: str, model: str, role: str, system_prom... method generate_multiturn (line 97) | def generate_multiturn( FILE: autocontext/src/autocontext/agents/analyst.py class AnalystRunner (line 7) | class AnalystRunner: method __init__ (line 8) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method run (line 12) | def run(self, prompt: str) -> RoleExecution: FILE: autocontext/src/autocontext/agents/architect.py function parse_architect_tool_specs (line 13) | def parse_architect_tool_specs(content: str) -> list[dict[str, Any]]: function parse_dag_changes (line 46) | def parse_dag_changes(content: str) -> list[dict[str, Any]]: function parse_architect_harness_specs (line 84) | def parse_architect_harness_specs(content: str) -> list[dict[str, Any]]: class ArchitectRunner (line 123) | class ArchitectRunner: method __init__ (line 124) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method run (line 128) | def run(self, prompt: str) -> RoleExecution: FILE: autocontext/src/autocontext/agents/coach.py function parse_coach_sections (line 8) | def parse_coach_sections(content: str) -> tuple[str, str, str]: class CoachRunner (line 25) | class CoachRunner: method __init__ (line 26) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method run (line 30) | def run(self, prompt: str) -> RoleExecution: FILE: autocontext/src/autocontext/agents/competitor.py class CompetitorRunner (line 11) | class CompetitorRunner: method __init__ (line 12) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method run (line 16) | def run( method revise (line 37) | def revise( method refine_strategy (line 49) | def refine_strategy( FILE: autocontext/src/autocontext/agents/contracts.py class CompetitorOutput (line 8) | class CompetitorOutput: class AnalystOutput (line 16) | class AnalystOutput: class CoachOutput (line 25) | class CoachOutput: class ArchitectOutput (line 34) | class ArchitectOutput: FILE: autocontext/src/autocontext/agents/curator.py class CuratorPlaybookDecision (line 27) | class CuratorPlaybookDecision: class CuratorLessonResult (line 35) | class CuratorLessonResult: function parse_curator_playbook_decision (line 41) | def parse_curator_playbook_decision(content: str) -> CuratorPlaybookDeci... function parse_curator_lesson_result (line 60) | def parse_curator_lesson_result(content: str) -> CuratorLessonResult: class KnowledgeCurator (line 102) | class KnowledgeCurator: method __init__ (line 103) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method assess_playbook_quality (line 107) | def assess_playbook_quality( method rate_analyst_output (line 154) | def rate_analyst_output( method consolidate_lessons (line 195) | def consolidate_lessons( FILE: autocontext/src/autocontext/agents/feedback_loops.py class AnalystRating (line 29) | class AnalystRating(BaseModel): method overall (line 40) | def overall(self) -> float: method _coerce_rationale (line 45) | def _coerce_rationale(cls, value: Any) -> str: method to_dict (line 54) | def to_dict(self) -> dict[str, Any]: method from_dict (line 58) | def from_dict(cls, data: dict[str, Any]) -> AnalystRating: function format_analyst_feedback (line 62) | def format_analyst_feedback(rating: AnalystRating | None) -> str: class ToolUsageRecord (line 82) | class ToolUsageRecord(BaseModel): method to_dict (line 91) | def to_dict(self) -> dict[str, Any]: method from_dict (line 95) | def from_dict(cls, data: dict[str, Any]) -> ToolUsageRecord: class ToolUsageTracker (line 99) | class ToolUsageTracker: method __init__ (line 102) | def __init__(self, known_tools: list[str]) -> None: method record_generation (line 108) | def record_generation(self, generation: int, strategy_text: str) -> None: method get_stats (line 119) | def get_stats(self) -> dict[str, ToolUsageRecord]: method to_dict (line 122) | def to_dict(self) -> dict[str, Any]: method from_dict (line 128) | def from_dict(cls, data: dict[str, Any], known_tools: list[str]) -> To... function format_utilization_report (line 145) | def format_utilization_report( function identify_stale_tools (line 171) | def identify_stale_tools( FILE: autocontext/src/autocontext/agents/hint_feedback.py function _sanitize_hint_text (line 32) | def _sanitize_hint_text(text: str) -> str: function _truncate_hint_text (line 38) | def _truncate_hint_text(text: str, *, limit: int = _HINT_REFLECTION_MAX_... function prepare_hint_reflection_items (line 44) | def prepare_hint_reflection_items(hints: str) -> list[str]: class HintFeedback (line 88) | class HintFeedback(BaseModel): method _normalize_feedback_items (line 99) | def _normalize_feedback_items(cls, value: Any) -> list[str]: method is_empty (line 102) | def is_empty(self) -> bool: method to_dict (line 105) | def to_dict(self) -> dict[str, Any]: method from_dict (line 109) | def from_dict(cls, data: dict[str, Any]) -> HintFeedback: function build_hint_reflection_prompt (line 113) | def build_hint_reflection_prompt( function _normalize_feedback_list (line 145) | def _normalize_feedback_list(value: Any) -> list[str]: function _normalize_feedback_index_list (line 160) | def _normalize_feedback_index_list(value: Any, *, max_index: int) -> lis... function parse_hint_feedback (line 185) | def parse_hint_feedback( function format_hint_feedback_for_coach (line 236) | def format_hint_feedback_for_coach(feedback: HintFeedback | None) -> str: FILE: autocontext/src/autocontext/agents/llm_client.py class AnthropicClient (line 22) | class AnthropicClient(LanguageModelClient): method __init__ (line 23) | def __init__( method _messages_create_with_retry (line 38) | def _messages_create_with_retry(self, **kwargs: Any) -> Any: method generate (line 69) | def generate( method generate_multiturn (line 101) | def generate_multiturn( class MLXClient (line 136) | class MLXClient(LanguageModelClient): method __init__ (line 139) | def __init__(self, model_path: str, *, temperature: float = 0.8, max_t... method generate (line 142) | def generate( method generate_multiturn (line 166) | def generate_multiturn( class DeterministicDevClient (line 188) | class DeterministicDevClient(LanguageModelClient): method __init__ (line 191) | def __init__(self) -> None: method reset_rlm_turns (line 194) | def reset_rlm_turns(self) -> None: method generate_multiturn (line 197) | def generate_multiturn( method generate (line 232) | def generate( method _curator_playbook_response (line 324) | def _curator_playbook_response(self) -> str: method _skeptic_review_response (line 332) | def _skeptic_review_response(self) -> str: method _curator_consolidate_response (line 345) | def _curator_consolidate_response(self) -> str: method _scenario_designer_response (line 357) | def _scenario_designer_response() -> str: method _code_strategy_response (line 440) | def _code_strategy_response(self, prompt_lower: str) -> str: method _is_othello (line 469) | def _is_othello(prompt_lower: str) -> bool: method _competitor_narrative (line 473) | def _competitor_narrative(self, prompt_lower: str) -> str: method _translator_response (line 512) | def _translator_response(self, prompt_lower: str) -> str: function build_client_from_settings (line 534) | def build_client_from_settings( FILE: autocontext/src/autocontext/agents/model_router.py class TierConfig (line 18) | class TierConfig: class ModelRouter (line 38) | class ModelRouter: method __init__ (line 41) | def __init__(self, config: TierConfig) -> None: method select (line 50) | def select( method _max_tier (line 110) | def _max_tier(self, a: str, b: str) -> str: method _min_tier (line 114) | def _min_tier(self, a: str, b: str) -> str: FILE: autocontext/src/autocontext/agents/orchestrator.py class _RlmBackendConfig (line 44) | class _RlmBackendConfig: function _resolve_rlm_backend (line 53) | def _resolve_rlm_backend(settings: AppSettings) -> _RlmBackendConfig: function apply_dag_changes (line 110) | def apply_dag_changes(dag: RoleDAG, changes: Sequence[dict[str, Any]]) -... class AgentOrchestrator (line 132) | class AgentOrchestrator: method __init__ (line 135) | def __init__( method _wrap_client (line 186) | def _wrap_client(self, client: LanguageModelClient, *, provider_name: ... method _mark_disposable_client (line 189) | def _mark_disposable_client(self, client: LanguageModelClient) -> Lang... method _close_disposable_client (line 193) | def _close_disposable_client(self, client: LanguageModelClient) -> None: method from_settings (line 206) | def from_settings( method _client_for_role (line 222) | def _client_for_role(self, role: str) -> LanguageModelClient: method _configured_role_provider (line 225) | def _configured_role_provider(self, role: str) -> str: method _available_local_models (line 230) | def _available_local_models(self, scenario_name: str = "", runtime_typ... method _scenario_bound_runtime_client (line 261) | def _scenario_bound_runtime_client( method _scenario_bound_override_client (line 299) | def _scenario_bound_override_client( method _scenario_bound_default_client (line 312) | def _scenario_bound_default_client( method _resolve_role_provider_config (line 324) | def _resolve_role_provider_config( method _client_for_provider_config (line 347) | def _client_for_provider_config( method _resolve_role_execution (line 414) | def _resolve_role_execution( method resolve_role_execution (line 449) | def resolve_role_execution( method _use_role_runtime (line 478) | def _use_role_runtime( method run_generation (line 516) | def run_generation( method _run_via_pipeline (line 703) | def _run_via_pipeline( method resolve_model (line 780) | def resolve_model( method _get_harness_coverage (line 801) | def _get_harness_coverage(self, scenario_name: str) -> HarnessCoverage... method _enrich_coach_prompt (line 824) | def _enrich_coach_prompt(self, base_prompt: str, analyst_content: str)... method _run_single_rlm_session (line 827) | def _run_single_rlm_session( method _run_rlm_competitor (line 869) | def _run_rlm_competitor( method _run_rlm_roles (line 933) | def _run_rlm_roles( FILE: autocontext/src/autocontext/agents/parsers.py function _extract_section_bullets (line 14) | def _extract_section_bullets(markdown: str, heading: str) -> list[str]: function parse_competitor_output (line 37) | def parse_competitor_output( function parse_analyst_output (line 51) | def parse_analyst_output(raw_markdown: str) -> AnalystOutput: function parse_coach_output (line 69) | def parse_coach_output(raw_markdown: str) -> CoachOutput: function parse_architect_output (line 85) | def parse_architect_output(raw_markdown: str) -> ArchitectOutput: FILE: autocontext/src/autocontext/agents/pipeline_adapter.py function build_mts_dag (line 17) | def build_mts_dag() -> RoleDAG: function build_role_handler (line 32) | def build_role_handler( FILE: autocontext/src/autocontext/agents/provider_bridge.py class ProviderBridgeClient (line 34) | class ProviderBridgeClient(LanguageModelClient): method __init__ (line 41) | def __init__(self, provider: LLMProvider, *, use_provider_default_mode... method generate (line 45) | def generate( class RuntimeBridgeClient (line 77) | class RuntimeBridgeClient(LanguageModelClient): method __init__ (line 84) | def __init__(self, runtime: AgentRuntime) -> None: method generate (line 87) | def generate( method close (line 114) | def close(self) -> None: class RuntimeSessionRecordingClient (line 120) | class RuntimeSessionRecordingClient(LanguageModelClient): method __init__ (line 123) | def __init__( method __getattr__ (line 136) | def __getattr__(self, name: str) -> object: method generate (line 139) | def generate( method close (line 200) | def close(self) -> None: function wrap_runtime_session_client (line 206) | def wrap_runtime_session_client( function _find_runtime_bridge_client (line 226) | def _find_runtime_bridge_client(client: object) -> RuntimeBridgeClient |... function _runtime_session_response_metadata (line 237) | def _runtime_session_response_metadata( function _role_setting (line 263) | def _role_setting(settings: AppSettings, role: str, suffix: str) -> str: function configured_role_provider (line 270) | def configured_role_provider(role: str, settings: AppSettings) -> str: function has_role_client_override (line 274) | def has_role_client_override(role: str, settings: AppSettings) -> bool: function _provider_api_key (line 284) | def _provider_api_key(provider_type: str, settings: AppSettings, *, role... function _provider_base_url (line 297) | def _provider_base_url(settings: AppSettings, *, role: str = "") -> str ... function _create_provider_bridge (line 304) | def _create_provider_bridge( function _create_claude_cli_bridge (line 335) | def _create_claude_cli_bridge( function _create_codex_cli_bridge (line 347) | def _create_codex_cli_bridge( function _load_openclaw_factory (line 364) | def _load_openclaw_factory(factory_path: str) -> Callable[..., object]: function create_role_client (line 381) | def create_role_client( function _build_openclaw_agent (line 514) | def _build_openclaw_agent(settings: AppSettings) -> object: FILE: autocontext/src/autocontext/agents/role_router.py class ProviderClass (line 20) | class ProviderClass(StrEnum): class ProviderConfig (line 31) | class ProviderConfig: class RoutingContext (line 41) | class RoutingContext: class RoleRouter (line 87) | class RoleRouter: method __init__ (line 90) | def __init__( method route (line 118) | def route( method estimate_run_cost (line 144) | def estimate_run_cost( method _auto_route (line 175) | def _auto_route(self, role: str, ctx: RoutingContext) -> ProviderConfig: method _config_for_class (line 197) | def _config_for_class( method _config_for_explicit (line 219) | def _config_for_explicit(self, role: str, provider_type: str) -> Provi... method _config_for_default (line 231) | def _config_for_default(self, role: str) -> ProviderConfig: FILE: autocontext/src/autocontext/agents/role_runtime_overrides.py function settings_for_budgeted_role_call (line 21) | def settings_for_budgeted_role_call( function apply_role_overrides (line 46) | def apply_role_overrides(orch: Any, settings: AppSettings) -> None: FILE: autocontext/src/autocontext/agents/runtime_session_wiring.py function run_runtime_session_scope (line 16) | def run_runtime_session_scope( function runtime_session_client_for_role (line 43) | def runtime_session_client_for_role( FILE: autocontext/src/autocontext/agents/skeptic.py class SkepticReview (line 19) | class SkepticReview: function parse_skeptic_review (line 28) | def parse_skeptic_review(content: str) -> SkepticReview: class SkepticAgent (line 68) | class SkepticAgent: method __init__ (line 69) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method review (line 73) | def review( FILE: autocontext/src/autocontext/agents/translator.py class StrategyTranslator (line 18) | class StrategyTranslator: method __init__ (line 21) | def __init__(self, runtime: SubagentRuntime, model: str) -> None: method _strip_fences (line 26) | def _strip_fences(text: str) -> str: method translate (line 30) | def translate(self, raw_output: str, strategy_interface: str) -> tuple... method _matches_strategy_interface (line 71) | def _matches_strategy_interface(strategy: Mapping[str, Any], strategy_... method translate_code (line 89) | def translate_code(self, raw_output: str) -> tuple[dict[str, Any], Rol... method _extract_code_block (line 108) | def _extract_code_block(text: str) -> str: FILE: autocontext/src/autocontext/agents/translator_simplification.py function extract_strategy_deterministic (line 30) | def extract_strategy_deterministic(raw_text: str) -> dict[str, Any] | None: function _try_parse_object (line 55) | def _try_parse_object(text: str) -> dict[str, Any] | None: function _extract_section_bullets (line 84) | def _extract_section_bullets(markdown: str, heading: str) -> list[str]: function _extract_marker_bullets (line 103) | def _extract_marker_bullets(text: str) -> list[str]: class ConsolidatedRoleOutput (line 113) | class ConsolidatedRoleOutput(BaseModel): method to_dict (line 126) | def to_dict(self) -> dict[str, Any]: method from_dict (line 130) | def from_dict(cls, data: dict[str, Any]) -> ConsolidatedRoleOutput: function parse_consolidated_output (line 134) | def parse_consolidated_output(markdown: str) -> ConsolidatedRoleOutput: class RoleBenchmarkResult (line 166) | class RoleBenchmarkResult(BaseModel): method to_dict (line 180) | def to_dict(self) -> dict[str, Any]: method from_dict (line 184) | def from_dict(cls, data: dict[str, Any]) -> RoleBenchmarkResult: function compare_role_outputs (line 188) | def compare_role_outputs( FILE: autocontext/src/autocontext/agents/trial_summary.py function build_trial_summary (line 8) | def build_trial_summary( FILE: autocontext/src/autocontext/agents/types.py class AgentOutputs (line 17) | class AgentOutputs: FILE: autocontext/src/autocontext/analytics/aggregate_runner.py class AggregateResult (line 32) | class AggregateResult: class AggregateRunner (line 40) | class AggregateRunner: method __init__ (line 43) | def __init__( method run (line 53) | def run( method _derive_release_context (line 112) | def _derive_release_context(self, facets: Sequence[RunFacet]) -> list[... FILE: autocontext/src/autocontext/analytics/artifact_rendering.py class FindingView (line 19) | class FindingView: class FailureMotifView (line 29) | class FailureMotifView: class RecoveryPathView (line 37) | class RecoveryPathView: class TraceWriteupView (line 45) | class TraceWriteupView: method context (line 55) | def context(self) -> str: class WeaknessReportView (line 60) | class WeaknessReportView: class TimelineEventView (line 70) | class TimelineEventView: class GenerationSummaryView (line 89) | class GenerationSummaryView: class TimelineInspectionView (line 104) | class TimelineInspectionView: class CurationItemView (line 121) | class CurationItemView: class ScenarioCurationView (line 128) | class ScenarioCurationView: function trace_writeup_view (line 139) | def trace_writeup_view(writeup: Any) -> TraceWriteupView: function weakness_report_view (line 152) | def weakness_report_view(report: Any) -> WeaknessReportView: function timeline_inspection_view (line 164) | def timeline_inspection_view(trace: Any) -> TimelineInspectionView: function scenario_curation_view_from_artifacts (line 221) | def scenario_curation_view_from_artifacts(artifacts: Any, scenario_name:... function render_trace_writeup_markdown (line 268) | def render_trace_writeup_markdown(view: TraceWriteupView) -> str: function render_weakness_report_markdown (line 307) | def render_weakness_report_markdown(view: WeaknessReportView) -> str: function render_trace_writeup_html (line 338) | def render_trace_writeup_html(view: TraceWriteupView) -> str: function render_weakness_report_html (line 369) | def render_weakness_report_html(view: WeaknessReportView) -> str: function render_markdown_document_html (line 399) | def render_markdown_document_html(title: str, markdown: str) -> str: function _render_generation_summaries_html (line 412) | def _render_generation_summaries_html(summaries: tuple[GenerationSummary... function render_timeline_inspection_html (line 437) | def render_timeline_inspection_html(view: TimelineInspectionView) -> str: function render_scenario_curation_html (line 490) | def render_scenario_curation_html(view: ScenarioCurationView) -> str: function _finding_view (line 513) | def _finding_view(finding: Any) -> FindingView: function _failure_motif_view (line 524) | def _failure_motif_view(motif: Any) -> FailureMotifView: function _recovery_path_view (line 533) | def _recovery_path_view(path: Any) -> RecoveryPathView: function _metadata (line 542) | def _metadata(obj: Any) -> dict[str, Any]: function _h (line 547) | def _h(value: object) -> str: function _safe_id (line 551) | def _safe_id(raw: str) -> str: function _render_findings_html (line 556) | def _render_findings_html(findings: tuple[FindingView, ...], *, empty: s... function _render_evidence_html (line 576) | def _render_evidence_html(evidence_ids: tuple[str, ...]) -> str: function _render_motifs_html (line 583) | def _render_motifs_html(motifs: tuple[FailureMotifView, ...]) -> str: function _render_recovery_paths_html (line 598) | def _render_recovery_paths_html(paths: tuple[RecoveryPathView, ...]) -> ... function _render_list_html (line 613) | def _render_list_html(items: tuple[str, ...], *, empty: str) -> str: function _render_timeline_event_html (line 619) | def _render_timeline_event_html(event: TimelineEventView) -> str: function _render_artifact_links (line 641) | def _render_artifact_links(links: tuple[str, ...]) -> str: function _render_path_list (line 648) | def _render_path_list(paths: tuple[tuple[str, ...], ...], empty: str) ->... function _render_curation_section (line 658) | def _render_curation_section(title: str, items: list[CurationItemView]) ... function _curation_export_markdown (line 680) | def _curation_export_markdown(view: ScenarioCurationView) -> str: function _markdown_items (line 703) | def _markdown_items(title: str, content: str, source: str) -> list[Curat... function _weakness_items (line 710) | def _weakness_items(reports: list[object]) -> list[CurationItemView]: function _markdown_report_items (line 731) | def _markdown_report_items(title: str, reports: list[object]) -> list[Cu... FILE: autocontext/src/autocontext/analytics/calibration.py class CalibrationSample (line 24) | class CalibrationSample(BaseModel): method to_dict (line 41) | def to_dict(self) -> dict[str, Any]: method from_dict (line 45) | def from_dict(cls, data: dict[str, Any]) -> CalibrationSample: class CalibrationOutcome (line 49) | class CalibrationOutcome(BaseModel): method to_dict (line 63) | def to_dict(self) -> dict[str, Any]: method from_dict (line 67) | def from_dict(cls, data: dict[str, Any]) -> CalibrationOutcome: class CalibrationRound (line 71) | class CalibrationRound(BaseModel): method to_dict (line 82) | def to_dict(self) -> dict[str, Any]: method from_dict (line 86) | def from_dict(cls, data: dict[str, Any]) -> CalibrationRound: class SpotCheckSampler (line 90) | class SpotCheckSampler: method __init__ (line 93) | def __init__(self, max_samples: int = 10) -> None: method sample (line 96) | def sample( class CalibrationStore (line 180) | class CalibrationStore: method __init__ (line 183) | def __init__(self, root: Path) -> None: method persist_round (line 189) | def persist_round(self, rnd: CalibrationRound) -> Path: method load_round (line 194) | def load_round(self, round_id: str) -> CalibrationRound | None: method list_rounds (line 201) | def list_rounds(self) -> list[CalibrationRound]: method persist_outcome (line 208) | def persist_outcome(self, outcome: CalibrationOutcome) -> Path: method load_outcome (line 213) | def load_outcome(self, outcome_id: str) -> CalibrationOutcome | None: method list_outcomes (line 220) | def list_outcomes(self) -> list[CalibrationOutcome]: FILE: autocontext/src/autocontext/analytics/clustering.py class EventPattern (line 18) | class EventPattern(BaseModel): method to_dict (line 30) | def to_dict(self) -> dict[str, Any]: method from_dict (line 34) | def from_dict(cls, data: dict[str, Any]) -> EventPattern: class FacetCluster (line 38) | class FacetCluster(BaseModel): method to_dict (line 53) | def to_dict(self) -> dict[str, Any]: method from_dict (line 57) | def from_dict(cls, data: dict[str, Any]) -> FacetCluster: class PatternClusterer (line 61) | class PatternClusterer: method cluster_friction (line 64) | def cluster_friction(self, facets: list[RunFacet]) -> list[FacetCluster]: method cluster_delight (line 70) | def cluster_delight(self, facets: list[RunFacet]) -> list[FacetCluster]: method _cluster_signals (line 76) | def _cluster_signals( method query_clusters (line 142) | def query_clusters( FILE: autocontext/src/autocontext/analytics/correlation.py class ReleaseContext (line 24) | class ReleaseContext(BaseModel): method to_dict (line 33) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> ReleaseContext: class CorrelationDimension (line 41) | class CorrelationDimension(BaseModel): method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: method from_dict (line 56) | def from_dict(cls, data: dict[str, Any]) -> CorrelationDimension: class CorrelationResult (line 60) | class CorrelationResult(BaseModel): method to_dict (line 74) | def to_dict(self) -> dict[str, Any]: method from_dict (line 78) | def from_dict(cls, data: dict[str, Any]) -> CorrelationResult: class SignalCorrelator (line 82) | class SignalCorrelator: method correlate (line 85) | def correlate( method _dimension_breakdown (line 133) | def _dimension_breakdown( method _release_breakdown (line 170) | def _release_breakdown( class CorrelationStore (line 239) | class CorrelationStore: method __init__ (line 242) | def __init__(self, root: Path) -> None: method persist (line 246) | def persist(self, result: CorrelationResult) -> Path: method load (line 251) | def load(self, correlation_id: str) -> CorrelationResult | None: method list_results (line 258) | def list_results(self) -> list[CorrelationResult]: FILE: autocontext/src/autocontext/analytics/credit_assignment.py class ComponentChange (line 24) | class ComponentChange(BaseModel): method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: method from_dict (line 36) | def from_dict(cls, data: dict[str, Any]) -> ComponentChange: class GenerationChangeVector (line 40) | class GenerationChangeVector(BaseModel): method total_change_magnitude (line 49) | def total_change_magnitude(self) -> float: method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: method from_dict (line 56) | def from_dict(cls, data: dict[str, Any]) -> GenerationChangeVector: class AttributionResult (line 60) | class AttributionResult(BaseModel): method to_dict (line 68) | def to_dict(self) -> dict[str, Any]: method from_dict (line 72) | def from_dict(cls, data: dict[str, Any]) -> AttributionResult: class CreditAssignmentRecord (line 76) | class CreditAssignmentRecord(BaseModel): method to_dict (line 85) | def to_dict(self) -> dict[str, Any]: method from_dict (line 89) | def from_dict(cls, data: dict[str, Any]) -> CreditAssignmentRecord: function _text_change_magnitude (line 93) | def _text_change_magnitude(old: str, new: str) -> float: function _list_change_magnitude (line 107) | def _list_change_magnitude(old: list, new: list) -> float: function compute_change_vector (line 120) | def compute_change_vector( function attribute_credit (line 169) | def attribute_credit(vector: GenerationChangeVector) -> AttributionResult: function format_attribution_for_agent (line 220) | def format_attribution_for_agent( function summarize_credit_patterns (line 255) | def summarize_credit_patterns(records: list[CreditAssignmentRecord]) -> ... FILE: autocontext/src/autocontext/analytics/cross_runtime_trace_findings.py class _CamelModel (line 42) | class _CamelModel(BaseModel): class CrossRuntimeTraceFinding (line 50) | class CrossRuntimeTraceFinding(_CamelModel): method __get_pydantic_core_schema__ (line 59) | def __get_pydantic_core_schema__(cls, source_type, handler): # type: ... class CrossRuntimeFailureMotif (line 64) | class CrossRuntimeFailureMotif(_CamelModel): class CrossRuntimeTraceFindingReport (line 72) | class CrossRuntimeTraceFindingReport(_CamelModel): FILE: autocontext/src/autocontext/analytics/events_to_trace.py function events_to_trace (line 89) | def events_to_trace(events_path: Path, run_id: str) -> RunTrace: function collect_run_ids (line 149) | def collect_run_ids(events_path: Path) -> list[str]: function _read_event_rows (line 160) | def _read_event_rows(events_path: Path, run_id: str) -> list[dict[str, A... function _iter_event_rows (line 167) | def _iter_event_rows(events_path: Path) -> list[dict[str, Any]]: function _payload (line 183) | def _payload(row: dict[str, Any]) -> dict[str, Any]: function _category_for (line 188) | def _category_for(event_type: str) -> str: function _stage_for (line 192) | def _stage_for(event_type: str, payload: dict[str, Any]) -> str: function _actor_for (line 199) | def _actor_for(event_type: str, payload: dict[str, Any]) -> ActorRef: function _resources_for (line 206) | def _resources_for(payload: dict[str, Any]) -> list[ResourceRef]: function _summary_for (line 219) | def _summary_for(event_type: str, payload: dict[str, Any]) -> str: function _outcome_for (line 227) | def _outcome_for(event_type: str, payload: dict[str, Any]) -> str | None: function _severity_for (line 243) | def _severity_for(event_type: str, payload: dict[str, Any]) -> str: function _generation_index (line 257) | def _generation_index(payload: dict[str, Any]) -> int: function _duration_ms (line 265) | def _duration_ms(payload: dict[str, Any]) -> int | None: function _int_value (line 274) | def _int_value(value: Any, default: int) -> int: FILE: autocontext/src/autocontext/analytics/extractor.py class FacetExtractor (line 19) | class FacetExtractor: method extract (line 22) | def extract(self, data: dict[str, Any]) -> RunFacet: method _extract_friction (line 97) | def _extract_friction( method _extract_delight (line 143) | def _extract_delight( FILE: autocontext/src/autocontext/analytics/facets.py class RunEvent (line 17) | class RunEvent(BaseModel): method to_dict (line 33) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> RunEvent: class FrictionSignal (line 41) | class FrictionSignal(BaseModel): method to_dict (line 55) | def to_dict(self) -> dict[str, Any]: method from_dict (line 59) | def from_dict(cls, data: dict[str, Any]) -> FrictionSignal: class DelightSignal (line 63) | class DelightSignal(BaseModel): method to_dict (line 75) | def to_dict(self) -> dict[str, Any]: method from_dict (line 79) | def from_dict(cls, data: dict[str, Any]) -> DelightSignal: class RunFacet (line 83) | class RunFacet(BaseModel): method to_dict (line 114) | def to_dict(self) -> dict[str, Any]: method from_dict (line 118) | def from_dict(cls, data: dict[str, Any]) -> RunFacet: FILE: autocontext/src/autocontext/analytics/html_artifact_shell.py function html_document (line 8) | def html_document(title: str, body: str, *, script: str = "") -> str: function _h (line 182) | def _h(value: object) -> str: FILE: autocontext/src/autocontext/analytics/issue_generator.py class ThresholdConfig (line 20) | class ThresholdConfig(BaseModel): class IssueCandidate (line 29) | class IssueCandidate(BaseModel): method to_dict (line 49) | def to_dict(self) -> dict[str, Any]: method from_dict (line 53) | def from_dict(cls, data: dict[str, Any]) -> IssueCandidate: class ProbeCandidate (line 57) | class ProbeCandidate(BaseModel): method to_dict (line 76) | def to_dict(self) -> dict[str, Any]: method from_dict (line 80) | def from_dict(cls, data: dict[str, Any]) -> ProbeCandidate: class IssueGenerator (line 84) | class IssueGenerator: method __init__ (line 87) | def __init__(self, config: ThresholdConfig | None = None) -> None: method generate (line 90) | def generate( method _meets_threshold (line 168) | def _meets_threshold(self, cluster: FacetCluster) -> bool: method _build_rationale (line 176) | def _build_rationale( method _compute_priority (line 202) | def _compute_priority(self, cluster: FacetCluster) -> str: FILE: autocontext/src/autocontext/analytics/issue_store.py class IssueStore (line 15) | class IssueStore: method __init__ (line 18) | def __init__(self, root: Path) -> None: method persist_issue (line 24) | def persist_issue(self, candidate: IssueCandidate) -> Path: method persist_probe (line 29) | def persist_probe(self, probe: ProbeCandidate) -> Path: method load_issue (line 34) | def load_issue(self, candidate_id: str) -> IssueCandidate | None: method load_probe (line 41) | def load_probe(self, candidate_id: str) -> ProbeCandidate | None: method list_issues (line 48) | def list_issues(self) -> list[IssueCandidate]: method list_probes (line 55) | def list_probes(self) -> list[ProbeCandidate]: method has_issue_for_cluster (line 62) | def has_issue_for_cluster(self, cluster_id: str) -> bool: method has_issue_for_signal_type (line 69) | def has_issue_for_signal_type(self, signal_type: str) -> bool: method has_issue_for_signature (line 76) | def has_issue_for_signature( method has_probe_for_signal_type (line 106) | def has_probe_for_signal_type(self, signal_type: str) -> bool: method has_probe_for_signature (line 113) | def has_probe_for_signature( FILE: autocontext/src/autocontext/analytics/regression_fixtures.py class RegressionFixture (line 23) | class RegressionFixture(BaseModel): method to_dict (line 36) | def to_dict(self) -> dict[str, Any]: method from_dict (line 40) | def from_dict(cls, data: dict[str, Any]) -> RegressionFixture: function generate_fixtures_from_friction (line 44) | def generate_fixtures_from_friction( class FixtureStore (line 110) | class FixtureStore: method __init__ (line 113) | def __init__(self, root: Path) -> None: method persist (line 117) | def persist(self, fixture: RegressionFixture) -> Path: method replace_for_scenario (line 122) | def replace_for_scenario( method load (line 136) | def load(self, fixture_id: str) -> RegressionFixture | None: method list_for_scenario (line 142) | def list_for_scenario(self, scenario: str) -> list[RegressionFixture]: function _stable_fixture_id (line 151) | def _stable_fixture_id(scenario: str, pattern: str) -> str: FILE: autocontext/src/autocontext/analytics/rubric_drift.py class RubricSnapshot (line 28) | class RubricSnapshot(BaseModel): method to_dict (line 51) | def to_dict(self) -> dict[str, Any]: method from_dict (line 55) | def from_dict(cls, data: dict[str, Any]) -> RubricSnapshot: class DimensionDriftSnapshot (line 59) | class DimensionDriftSnapshot(BaseModel): method to_dict (line 71) | def to_dict(self) -> dict[str, Any]: method from_dict (line 75) | def from_dict(cls, data: dict[str, Any]) -> DimensionDriftSnapshot: class DriftThresholds (line 79) | class DriftThresholds(BaseModel): class DriftWarning (line 95) | class DriftWarning(BaseModel): method to_dict (line 112) | def to_dict(self) -> dict[str, Any]: method from_dict (line 116) | def from_dict(cls, data: dict[str, Any]) -> DriftWarning: class RubricDriftMonitor (line 120) | class RubricDriftMonitor: method __init__ (line 123) | def __init__(self, thresholds: DriftThresholds | None = None) -> None: method compute_snapshot (line 126) | def compute_snapshot( method compute_dimension_snapshot (line 219) | def compute_dimension_snapshot( method detect_drift (line 251) | def detect_drift( method detect_dimension_drift (line 360) | def detect_dimension_drift( method analyze (line 477) | def analyze( method _make_warning (line 493) | def _make_warning( function _dimension_summary_from_row (line 525) | def _dimension_summary_from_row(row: dict[str, Any]) -> dict[str, Any]: function _append_dimension_values (line 539) | def _append_dimension_values(target: dict[str, list[float]], raw_values:... function _is_monotonic_decline (line 548) | def _is_monotonic_decline(series: list[float]) -> bool: function _max_equal_streak (line 552) | def _max_equal_streak(left: list[float], right: list[float], *, limit: i... function _pearson (line 566) | def _pearson(left: list[float], right: list[float]) -> float | None: class DriftStore (line 582) | class DriftStore: method __init__ (line 585) | def __init__(self, root: Path) -> None: method persist_snapshot (line 591) | def persist_snapshot(self, snapshot: RubricSnapshot) -> Path: method load_snapshot (line 596) | def load_snapshot(self, snapshot_id: str) -> RubricSnapshot | None: method list_snapshots (line 603) | def list_snapshots(self) -> list[RubricSnapshot]: method persist_warning (line 610) | def persist_warning(self, warning: DriftWarning) -> Path: method load_warning (line 615) | def load_warning(self, warning_id: str) -> DriftWarning | None: method list_warnings (line 622) | def list_warnings(self) -> list[DriftWarning]: FILE: autocontext/src/autocontext/analytics/run_trace.py class ActorRef (line 27) | class ActorRef(BaseModel): method to_dict (line 37) | def to_dict(self) -> dict[str, Any]: method from_dict (line 41) | def from_dict(cls, data: dict[str, Any]) -> ActorRef: class ResourceRef (line 45) | class ResourceRef(BaseModel): method to_dict (line 56) | def to_dict(self) -> dict[str, Any]: method from_dict (line 60) | def from_dict(cls, data: dict[str, Any]) -> ResourceRef: class TraceEvent (line 64) | class TraceEvent(BaseModel): method to_dict (line 96) | def to_dict(self) -> dict[str, Any]: method from_dict (line 100) | def from_dict(cls, data: dict[str, Any]) -> TraceEvent: class CausalEdge (line 104) | class CausalEdge(BaseModel): method to_dict (line 114) | def to_dict(self) -> dict[str, Any]: method from_dict (line 118) | def from_dict(cls, data: dict[str, Any]) -> CausalEdge: class RunTrace (line 122) | class RunTrace(BaseModel): method to_dict (line 138) | def to_dict(self) -> dict[str, Any]: method from_dict (line 142) | def from_dict(cls, data: dict[str, Any]) -> RunTrace: class TraceStore (line 146) | class TraceStore: method __init__ (line 149) | def __init__(self, root: Path, writer: Callable[[Path, dict[str, Any]]... method persist (line 154) | def persist(self, trace: RunTrace) -> Path: method load (line 163) | def load(self, trace_id: str) -> RunTrace | None: method list_traces (line 170) | def list_traces( FILE: autocontext/src/autocontext/analytics/runtime_session_run_trace.py class _RuntimeEventRecord (line 15) | class _RuntimeEventRecord: function runtime_session_log_to_run_trace (line 21) | def runtime_session_log_to_run_trace( function _parent_event_id_for (line 123) | def _parent_event_id_for( function _runtime_session_id (line 159) | def _runtime_session_id(record: _RuntimeEventRecord) -> str: function _flatten_runtime_events (line 163) | def _flatten_runtime_events( function _trace_event_type (line 184) | def _trace_event_type(event: RuntimeSessionEvent) -> str: function _actor_for (line 188) | def _actor_for(record: _RuntimeEventRecord) -> ActorRef: function _detail_for (line 205) | def _detail_for(record: _RuntimeEventRecord) -> dict[str, Any]: function _resources_for (line 248) | def _resources_for(event: RuntimeSessionEvent) -> list[ResourceRef]: function _category_for (line 265) | def _category_for(event: RuntimeSessionEvent) -> str: function _stage_for (line 275) | def _stage_for(record: _RuntimeEventRecord) -> str: function _severity_for (line 288) | def _severity_for(event: RuntimeSessionEvent) -> str: function _outcome_for (line 298) | def _outcome_for(event: RuntimeSessionEvent) -> str | None: function _summary_for (line 311) | def _summary_for(event: RuntimeSessionEvent) -> str: function _generation_index (line 324) | def _generation_index(event: RuntimeSessionEvent) -> int: function _is_error (line 329) | def _is_error(event: RuntimeSessionEvent) -> bool: function _infer_run_id (line 333) | def _infer_run_id(log: RuntimeSessionEventLog) -> str: function _infer_scenario_name (line 348) | def _infer_scenario_name(log: RuntimeSessionEventLog) -> str: function _copy_str (line 352) | def _copy_str(source: dict[str, Any], target: dict[str, Any], source_key... function _copy_number (line 358) | def _copy_number(source: dict[str, Any], target: dict[str, Any], source_... function _copy_bool (line 364) | def _copy_bool(source: dict[str, Any], target: dict[str, Any], source_ke... function _copy_str_list (line 370) | def _copy_str_list(source: dict[str, Any], target: dict[str, Any], sourc... function _json_safe_record (line 376) | def _json_safe_record(value: dict[str, Any]) -> dict[str, Any]: function _read_str (line 381) | def _read_str(value: Any) -> str: function _finite_number (line 385) | def _finite_number(value: Any) -> int | float | None: FILE: autocontext/src/autocontext/analytics/store.py class FacetStore (line 19) | class FacetStore: method __init__ (line 22) | def __init__(self, root: Path) -> None: method persist (line 26) | def persist(self, facet: RunFacet) -> Path: method load (line 35) | def load(self, run_id: str) -> RunFacet | None: method list_facets (line 43) | def list_facets(self, scenario: str | None = None) -> list[RunFacet]: method query (line 54) | def query(self, **filters: Any) -> list[RunFacet]: FILE: autocontext/src/autocontext/analytics/taxonomy.py class TaxonomyEntry (line 20) | class TaxonomyEntry(BaseModel): method to_dict (line 33) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> TaxonomyEntry: function _make_builtins (line 59) | def _make_builtins() -> list[TaxonomyEntry]: class FacetTaxonomy (line 89) | class FacetTaxonomy: method __init__ (line 92) | def __init__(self) -> None: method get_entries (line 95) | def get_entries(self) -> list[TaxonomyEntry]: method add_entry (line 99) | def add_entry(self, entry: TaxonomyEntry) -> None: method _has_name (line 103) | def _has_name(self, name: str) -> bool: method propose_from_cluster (line 106) | def propose_from_cluster( method evolve (line 136) | def evolve( method save (line 153) | def save(self, path: Path) -> None: method load (line 159) | def load(cls, path: Path) -> FacetTaxonomy: FILE: autocontext/src/autocontext/analytics/timeline_inspector.py class TimelineFilter (line 31) | class TimelineFilter(BaseModel): class TimelineEntry (line 42) | class TimelineEntry(BaseModel): method to_dict (line 53) | def to_dict(self) -> dict[str, Any]: method from_dict (line 57) | def from_dict(cls, data: dict[str, Any]) -> TimelineEntry: class RunInspection (line 61) | class RunInspection(BaseModel): class GenerationInspection (line 74) | class GenerationInspection(BaseModel): function _matches_filter (line 86) | def _matches_filter(event: TraceEvent, filt: TimelineFilter) -> bool: function _make_entry (line 106) | def _make_entry(event: TraceEvent, idx: int) -> TimelineEntry: class TimelineBuilder (line 120) | class TimelineBuilder: method build (line 123) | def build( method build_summary (line 137) | def build_summary(self, trace: RunTrace) -> list[TimelineEntry]: method compare_generations (line 162) | def compare_generations( class StateInspector (line 175) | class StateInspector: method inspect_run (line 178) | def inspect_run(self, trace: RunTrace) -> RunInspection: method inspect_generation (line 200) | def inspect_generation( method find_failure_paths (line 219) | def find_failure_paths(self, trace: RunTrace) -> list[list[TraceEvent]]: method find_recovery_paths (line 224) | def find_recovery_paths(self, trace: RunTrace) -> list[list[TraceEvent]]: method dependency_chain (line 229) | def dependency_chain( method _trace_causes (line 237) | def _trace_causes( method _compute_causal_depth (line 269) | def _compute_causal_depth(self, trace: RunTrace) -> int: method _parent_map (line 292) | def _parent_map(self, trace: RunTrace) -> dict[str, list[str]]: method _run_summary (line 314) | def _run_summary( FILE: autocontext/src/autocontext/analytics/trace_reporter.py class TraceFinding (line 31) | class TraceFinding(BaseModel): method to_dict (line 43) | def to_dict(self) -> dict[str, Any]: method from_dict (line 47) | def from_dict(cls, data: dict[str, Any]) -> TraceFinding: class FailureMotif (line 51) | class FailureMotif(BaseModel): method to_dict (line 61) | def to_dict(self) -> dict[str, Any]: method from_dict (line 65) | def from_dict(cls, data: dict[str, Any]) -> FailureMotif: class RecoveryPath (line 69) | class RecoveryPath(BaseModel): method to_dict (line 79) | def to_dict(self) -> dict[str, Any]: method from_dict (line 83) | def from_dict(cls, data: dict[str, Any]) -> RecoveryPath: class TraceWriteup (line 87) | class TraceWriteup(BaseModel): method to_dict (line 100) | def to_dict(self) -> dict[str, Any]: method from_dict (line 104) | def from_dict(cls, data: dict[str, Any]) -> TraceWriteup: method to_markdown (line 107) | def to_markdown(self) -> str: method to_html (line 112) | def to_html(self) -> str: class WeaknessReport (line 118) | class WeaknessReport(BaseModel): method to_dict (line 130) | def to_dict(self) -> dict[str, Any]: method from_dict (line 134) | def from_dict(cls, data: dict[str, Any]) -> WeaknessReport: method to_markdown (line 137) | def to_markdown(self) -> str: method to_html (line 142) | def to_html(self) -> str: function _uid (line 148) | def _uid() -> str: class TraceReporter (line 152) | class TraceReporter: method extract_findings (line 155) | def extract_findings(self, trace: RunTrace) -> list[TraceFinding]: method extract_failure_motifs (line 188) | def extract_failure_motifs(self, trace: RunTrace) -> list[FailureMotif]: method extract_recovery_paths (line 214) | def extract_recovery_paths(self, trace: RunTrace) -> list[RecoveryPath]: method generate_writeup (line 242) | def generate_writeup(self, trace: RunTrace) -> TraceWriteup: method generate_weakness_report (line 263) | def generate_weakness_report(self, trace: RunTrace) -> WeaknessReport: method _collect_evidence (line 287) | def _collect_evidence(self, trace: RunTrace, event: TraceEvent) -> lis... method _map_severity (line 302) | def _map_severity(self, event_severity: str) -> str: method _find_cause_failure (line 306) | def _find_cause_failure( method _collect_path (line 329) | def _collect_path( method _compose_writeup_summary (line 351) | def _compose_writeup_summary( method _compose_recovery_analysis (line 379) | def _compose_recovery_analysis(self, recovery_paths: list[RecoveryPath... method _compose_recommendations (line 389) | def _compose_recommendations( method _parent_map (line 418) | def _parent_map(self, trace: RunTrace) -> dict[str, list[str]]: method _ancestor_ids (line 440) | def _ancestor_ids(self, parent_map: dict[str, list[str]], event_id: st... class ReportStore (line 453) | class ReportStore: method __init__ (line 456) | def __init__(self, root: Path) -> None: method persist_writeup (line 462) | def persist_writeup(self, writeup: TraceWriteup) -> Path: method load_writeup (line 467) | def load_writeup(self, writeup_id: str) -> TraceWriteup | None: method list_writeups (line 474) | def list_writeups(self) -> list[TraceWriteup]: method latest_writeup_for_run (line 481) | def latest_writeup_for_run(self, run_id: str) -> TraceWriteup | None: method persist_weakness_report (line 487) | def persist_weakness_report(self, report: WeaknessReport) -> Path: method load_weakness_report (line 492) | def load_weakness_report(self, report_id: str) -> WeaknessReport | None: method list_weakness_reports (line 499) | def list_weakness_reports(self) -> list[WeaknessReport]: method latest_weakness_report_for_run (line 506) | def latest_weakness_report_for_run(self, run_id: str) -> WeaknessRepor... FILE: autocontext/src/autocontext/artifacts/models.py class ArtifactProvenance (line 17) | class ArtifactProvenance(BaseModel): class _ArtifactBase (line 26) | class _ArtifactBase(BaseModel): class HarnessArtifact (line 39) | class HarnessArtifact(_ArtifactBase): class PolicyArtifact (line 52) | class PolicyArtifact(_ArtifactBase): class DistilledModelArtifact (line 65) | class DistilledModelArtifact(_ArtifactBase): class ArtifactManifest (line 81) | class ArtifactManifest(BaseModel): method all_artifacts (line 89) | def all_artifacts(self) -> list[_ArtifactBase]: FILE: autocontext/src/autocontext/banner.py function _assets_dir (line 57) | def _assets_dir() -> Path: function get_banner_path (line 61) | def get_banner_path() -> Path: function get_whats_new_path (line 66) | def get_whats_new_path() -> Path: function get_banner_svg_path (line 71) | def get_banner_svg_path() -> Path: function _read_packaged_asset (line 76) | def _read_packaged_asset(name: str) -> str | None: function _read_source_asset (line 88) | def _read_source_asset(name: str) -> str | None: function load_banner_art (line 96) | def load_banner_art() -> str: function load_whats_new (line 103) | def load_whats_new() -> tuple[str, ...]: function render_banner_svg (line 115) | def render_banner_svg() -> str: function banner_plain (line 152) | def banner_plain() -> str: function print_banner_rich (line 157) | def print_banner_rich() -> None: function render_readme_banner_block (line 195) | def render_readme_banner_block() -> str: function render_readme_whats_new_block (line 211) | def render_readme_whats_new_block() -> str: function render_dashboard_banner_block (line 222) | def render_dashboard_banner_block() -> str: FILE: autocontext/src/autocontext/blobstore/cache.py class HydrationCache (line 18) | class HydrationCache: method __init__ (line 21) | def __init__(self, root: Path, max_mb: float = 500) -> None: method put (line 27) | def put(self, key: str, data: bytes, digest: str) -> None: method get (line 36) | def get(self, key: str, expected_digest: str | None = None) -> bytes |... method total_size_bytes (line 54) | def total_size_bytes(self) -> int: method clear (line 62) | def clear(self) -> None: method _evict_if_needed (line 69) | def _evict_if_needed(self) -> None: FILE: autocontext/src/autocontext/blobstore/factory.py function create_blob_store (line 10) | def create_blob_store( FILE: autocontext/src/autocontext/blobstore/hf_bucket.py class HfBucketStore (line 22) | class HfBucketStore(BlobStore): method __init__ (line 25) | def __init__(self, repo_id: str, cache_dir: Path, repo_type: str = "da... method put (line 31) | def put(self, key: str, data: bytes) -> str: method get (line 59) | def get(self, key: str) -> bytes | None: method head (line 91) | def head(self, key: str) -> dict[str, Any] | None: method list_prefix (line 108) | def list_prefix(self, prefix: str) -> list[str]: method delete (line 127) | def delete(self, key: str) -> bool: method _load_index (line 141) | def _load_index(self) -> tuple[bool, dict[str, dict[str, Any]]]: method _save_index (line 174) | def _save_index(self, index: dict[str, dict[str, Any]]) -> None: method _delete_remote_file (line 190) | def _delete_remote_file(self, key: str) -> None: method _run_hf_command (line 206) | def _run_hf_command(self, cmd: list[str]) -> str: function _guess_content_type (line 218) | def _guess_content_type(key: str) -> str: FILE: autocontext/src/autocontext/blobstore/local.py class LocalBlobStore (line 13) | class LocalBlobStore(BlobStore): method __init__ (line 22) | def __init__(self, root: Path) -> None: method put (line 26) | def put(self, key: str, data: bytes) -> str: method get (line 33) | def get(self, key: str) -> bytes | None: method head (line 39) | def head(self, key: str) -> dict[str, Any] | None: method list_prefix (line 50) | def list_prefix(self, prefix: str) -> list[str]: method delete (line 63) | def delete(self, key: str) -> bool: method put_file (line 70) | def put_file(self, key: str, path: Path) -> str: method append (line 76) | def append(self, key: str, data: bytes) -> str: method get_file (line 83) | def get_file(self, key: str, dest: Path) -> bool: function _sha256 (line 92) | def _sha256(data: bytes) -> str: function _sha256_file (line 96) | def _sha256_file(path: Path) -> str: function _guess_content_type (line 104) | def _guess_content_type(key: str) -> str: FILE: autocontext/src/autocontext/blobstore/mirror.py class BlobMirror (line 16) | class BlobMirror: method __init__ (line 19) | def __init__( method mirror_artifact (line 29) | def mirror_artifact( method mirror_file (line 58) | def mirror_file( FILE: autocontext/src/autocontext/blobstore/ref.py class BlobRef (line 11) | class BlobRef: method is_hydrated (line 24) | def is_hydrated(self) -> bool: method to_dict (line 28) | def to_dict(self) -> dict[str, Any]: method from_dict (line 42) | def from_dict(cls, data: dict[str, Any]) -> BlobRef: FILE: autocontext/src/autocontext/blobstore/registry.py class BlobRegistry (line 12) | class BlobRegistry: method __init__ (line 15) | def __init__(self) -> None: method register (line 18) | def register(self, run_id: str, name: str, ref: BlobRef) -> None: method lookup (line 23) | def lookup(self, run_id: str, name: str) -> BlobRef | None: method list_for_run (line 26) | def list_for_run(self, run_id: str) -> list[BlobRef]: method save (line 29) | def save(self, path: Path) -> None: method load (line 37) | def load(cls, path: Path) -> BlobRegistry: FILE: autocontext/src/autocontext/blobstore/store.py class BlobStore (line 15) | class BlobStore(ABC): method put (line 19) | def put(self, key: str, data: bytes) -> str: method get (line 23) | def get(self, key: str) -> bytes | None: method head (line 27) | def head(self, key: str) -> dict[str, Any] | None: method list_prefix (line 31) | def list_prefix(self, prefix: str) -> list[str]: method delete (line 35) | def delete(self, key: str) -> bool: method append (line 38) | def append(self, key: str, data: bytes) -> str: method put_file (line 43) | def put_file(self, key: str, path: Path) -> str: method get_file (line 47) | def get_file(self, key: str, dest: Path) -> bool: function normalize_blob_key (line 57) | def normalize_blob_key(key: str, *, allow_empty: bool = False) -> str: function resolve_blob_path (line 80) | def resolve_blob_path(root: Path, key: str) -> Path: function prefix_matches (line 92) | def prefix_matches(key: str, prefix: str) -> bool: FILE: autocontext/src/autocontext/blobstore/sync.py class SyncResult (line 17) | class SyncResult: class SyncManager (line 27) | class SyncManager: method __init__ (line 30) | def __init__(self, store: BlobStore, runs_root: Path) -> None: method sync_run (line 34) | def sync_run(self, run_id: str) -> SyncResult: method status (line 70) | def status(self) -> dict[str, Any]: function _matches_local_artifact (line 91) | def _matches_local_artifact(path: Path, local_size: int, existing: dict[... function _file_sha256 (line 101) | def _file_sha256(path: Path) -> str: FILE: autocontext/src/autocontext/bootstrap/collector.py function collect_snapshot (line 52) | def collect_snapshot() -> EnvironmentSnapshot: function _collect_core (line 72) | def _collect_core() -> dict[str, Any]: function _get_username (line 87) | def _get_username() -> str: function _collect_runtimes (line 94) | def _collect_runtimes() -> dict[str, Any]: function _collect_packages (line 116) | def _collect_packages() -> dict[str, Any]: function _collect_filesystem (line 148) | def _collect_filesystem(cwd: str) -> dict[str, Any]: function _collect_git (line 173) | def _collect_git() -> dict[str, Any]: function _collect_system (line 228) | def _collect_system() -> dict[str, Any]: FILE: autocontext/src/autocontext/bootstrap/redactor.py class RedactionConfig (line 12) | class RedactionConfig: function redact_snapshot (line 23) | def redact_snapshot(snapshot: EnvironmentSnapshot, config: RedactionConf... function _strip_prefix (line 83) | def _strip_prefix(path: str, prefix: str) -> str: function _redact_path_like (line 91) | def _redact_path_like(value: str) -> str: FILE: autocontext/src/autocontext/bootstrap/renderer.py function render_prompt_section (line 10) | def render_prompt_section(snapshot: EnvironmentSnapshot) -> str: function render_full_json (line 54) | def render_full_json(snapshot: EnvironmentSnapshot) -> str: FILE: autocontext/src/autocontext/bootstrap/snapshot.py class PackageInfo (line 10) | class PackageInfo: class EnvironmentSnapshot (line 18) | class EnvironmentSnapshot: method to_dict (line 59) | def to_dict(self) -> dict[str, Any]: method from_dict (line 89) | def from_dict(cls, data: dict[str, Any]) -> EnvironmentSnapshot: FILE: autocontext/src/autocontext/cli.py class AgentTaskRunSummary (line 56) | class AgentTaskRunSummary: function _main_callback (line 75) | def _main_callback(ctx: typer.Context) -> None: function _apply_preset_env (line 83) | def _apply_preset_env(preset: str | None) -> None: function _runner (line 89) | def _runner(preset: str | None = None) -> GenerationRunner: function _sqlite_from_settings (line 97) | def _sqlite_from_settings(settings: AppSettings) -> SQLiteStore: function _artifacts_from_settings (line 103) | def _artifacts_from_settings(settings: AppSettings) -> ArtifactStore: function _resolve_export_artifact_roots (line 110) | def _resolve_export_artifact_roots( function _write_json_stdout (line 150) | def _write_json_stdout(payload: object) -> None: function _write_json_stderr (line 154) | def _write_json_stderr(message: str) -> None: function _check_json_exit (line 158) | def _check_json_exit(result: dict[str, Any]) -> None: function _exit_provider_error (line 164) | def _exit_provider_error( function _is_agent_task (line 185) | def _is_agent_task(scenario_name: str) -> bool: function _resolve_simulation_runtime (line 197) | def _resolve_simulation_runtime(settings: AppSettings) -> tuple[LLMProvi... function _resolve_role_runtime (line 206) | def _resolve_role_runtime( function _resolve_investigation_runtime (line 224) | def _resolve_investigation_runtime( function _resolve_agent_task_runtime (line 232) | def _resolve_agent_task_runtime( function _run_agent_task (line 242) | def _run_agent_task( function run (line 339) | def run( function resume (line 465) | def resume( function replay (line 495) | def replay(run_id: str = typer.Argument(...), generation: int = typer.Op... function benchmark (line 508) | def benchmark(scenario: str = typer.Option("grid_ctf"), runs: int = type... function list_runs (line 521) | def list_runs( function status (line 554) | def status( function serve (line 605) | def serve( function ecosystem (line 615) | def ecosystem( function tui (line 678) | def tui( function ab_test (line 708) | def ab_test( function mcp_serve (line 789) | def mcp_serve() -> None: function _run_training (line 800) | def _run_training(config: TrainingConfig, *, json_output: bool = False) ... function train (line 814) | def train( function export_training_data_cmd (line 883) | def export_training_data_cmd( function export_cmd (line 957) | def export_cmd( function simulate (line 1091) | def simulate( function investigate (line 1243) | def investigate( function import_package_cmd (line 1271) | def import_package_cmd( function wait (line 1356) | def wait( function judge (line 1418) | def judge( FILE: autocontext/src/autocontext/cli_analytics.py function _cli_attr (line 24) | def _cli_attr(dependency_module: str, name: str) -> Any: function _validated_trace_id (line 28) | def _validated_trace_id(trace_id: str) -> str: function run_render_timeline_command (line 57) | def run_render_timeline_command( function run_trace_findings_command (line 99) | def run_trace_findings_command( function run_rebuild_traces_command (line 147) | def run_rebuild_traces_command( function run_drift_command (line 217) | def run_drift_command( function run_context_selection_command (line 264) | def run_context_selection_command( function register_analytics_command (line 304) | def register_analytics_command( FILE: autocontext/src/autocontext/cli_family_name.py class FamilyNameError (line 26) | class FamilyNameError(ValueError): class FamilyName (line 36) | class FamilyName: method from_user_input (line 46) | def from_user_input(cls, value: str | None) -> FamilyName | None: function _known_family_names (line 93) | def _known_family_names() -> list[str]: function _format_did_you_mean (line 100) | def _format_did_you_mean( FILE: autocontext/src/autocontext/cli_hermes.py function _cli_attr (line 24) | def _cli_attr(dependency_module: str, name: str) -> Any: function register_hermes_command (line 28) | def register_hermes_command( FILE: autocontext/src/autocontext/cli_hermes_runners.py function run_hermes_inspect_command (line 39) | def run_hermes_inspect_command( function run_hermes_export_skill_command (line 55) | def run_hermes_export_skill_command( function run_hermes_ingest_curator_command (line 129) | def run_hermes_ingest_curator_command( function run_hermes_export_dataset_command (line 173) | def run_hermes_export_dataset_command( function run_hermes_ingest_trajectories_command (line 220) | def run_hermes_ingest_trajectories_command( function run_hermes_ingest_sessions_command (line 297) | def run_hermes_ingest_sessions_command( function _same_file (line 378) | def _same_file(a: Path, b: Path) -> bool: function run_hermes_train_advisor_command (line 388) | def run_hermes_train_advisor_command( function run_hermes_recommend_command (line 459) | def run_hermes_recommend_command( function _is_inside (line 550) | def _is_inside(path: Path, parent: Path) -> bool: function _print_inventory (line 566) | def _print_inventory(inventory: HermesInventory, *, console: Console) ->... FILE: autocontext/src/autocontext/cli_improve.py function _cli_attr (line 26) | def _cli_attr(dependency_module: str, name: str) -> Any: function register_improve_command (line 37) | def register_improve_command( FILE: autocontext/src/autocontext/cli_investigate.py class InvestigationRuntimeResolver (line 17) | class InvestigationRuntimeResolver(Protocol): method __call__ (line 18) | def __call__(self, settings: AppSettings, *, role: str) -> tuple[LLMPr... function run_investigate_command (line 21) | def run_investigate_command( FILE: autocontext/src/autocontext/cli_new_scenario.py function _cli_attr (line 20) | def _cli_attr(dependency_module: str, name: str) -> Any: function _get_custom_scenarios_dir (line 24) | def _get_custom_scenarios_dir() -> Path: function _create_family_scenario (line 29) | def _create_family_scenario( function register_new_scenario_command (line 60) | def register_new_scenario_command( FILE: autocontext/src/autocontext/cli_queue.py class QueueEnqueuer (line 17) | class QueueEnqueuer(Protocol): method __call__ (line 18) | def __call__( function _cli_attr (line 33) | def _cli_attr(dependency_module: str, name: str) -> Any: function derive_queue_spec_name (line 37) | def derive_queue_spec_name(task_prompt: str) -> str: function resolve_queue_spec_name (line 42) | def resolve_queue_spec_name(spec: str, task_prompt: str) -> str: function run_queue_command (line 54) | def run_queue_command( function register_queue_command (line 127) | def register_queue_command( FILE: autocontext/src/autocontext/cli_role_runtime.py function _sqlite_from_settings (line 16) | def _sqlite_from_settings(settings: AppSettings) -> SQLiteStore: function _role_default_model (line 22) | def _role_default_model(settings: AppSettings, role: str) -> str: function _wrap_role_client_as_provider (line 34) | def _wrap_role_client_as_provider( function resolve_role_runtime (line 55) | def resolve_role_runtime( FILE: autocontext/src/autocontext/cli_runtime_overrides.py function _format_timeout_seconds (line 18) | def _format_timeout_seconds(seconds: float) -> str: function _reported_timeout_seconds (line 24) | def _reported_timeout_seconds(message: str) -> float | None: function runtime_timeout_field_for_provider (line 34) | def runtime_timeout_field_for_provider(provider_name: str) -> str | None: function _apply_timeout_overrides (line 45) | def _apply_timeout_overrides( function solve_runtime_provider_names (line 59) | def solve_runtime_provider_names(settings: AppSettings) -> list[str]: function solve_primary_runtime_provider (line 71) | def solve_primary_runtime_provider(settings: AppSettings) -> str: function apply_judge_runtime_overrides (line 79) | def apply_judge_runtime_overrides( function apply_solve_runtime_overrides (line 122) | def apply_solve_runtime_overrides( function format_runtime_provider_error (line 141) | def format_runtime_provider_error( FILE: autocontext/src/autocontext/cli_solve.py function _validate_family_override (line 26) | def _validate_family_override(family_name: str | None) -> None: class SolveRunSummary (line 45) | class SolveRunSummary: function _cli_attr (line 60) | def _cli_attr(dependency_module: str, name: str) -> Any: function run_solve_command (line 64) | def run_solve_command( function _resolve_solve_description (line 165) | def _resolve_solve_description( function _resolve_solve_generations (line 172) | def _resolve_solve_generations(gens: int | None, iterations: int | None)... function register_solve_command (line 176) | def register_solve_command( FILE: autocontext/src/autocontext/cli_task_input.py class TaskInputError (line 26) | class TaskInputError(ValueError): class TaskInput (line 36) | class TaskInput: method from_text (line 47) | def from_text(cls, text: str) -> TaskInput: method from_file (line 54) | def from_file(cls, path: str | Path) -> TaskInput: method from_args (line 70) | def from_args( FILE: autocontext/src/autocontext/cli_worker.py class WorkerRunner (line 17) | class WorkerRunner(Protocol): method run (line 18) | def run(self) -> int: ... method run_batch (line 20) | def run_batch(self, limit: int | None = None) -> int: ... class WorkerRunnerFactory (line 23) | class WorkerRunnerFactory(Protocol): method __call__ (line 24) | def __call__( function _cli_attr (line 37) | def _cli_attr(dependency_module: str, name: str) -> Any: function _close_if_supported (line 41) | def _close_if_supported(resource: object) -> None: function _validate_worker_options (line 47) | def _validate_worker_options( function _write_worker_error (line 61) | def _write_worker_error( function _select_worker_model (line 74) | def _select_worker_model(settings: AppSettings, provider: LLMProvider, m... function _resolve_worker_concurrency (line 84) | def _resolve_worker_concurrency(provider: LLMProvider, requested: int) -... function run_worker_command (line 91) | def run_worker_command( function register_worker_command (line 173) | def register_worker_command( FILE: autocontext/src/autocontext/concepts.py function get_concept_model (line 148) | def get_concept_model() -> dict[str, Any]: FILE: autocontext/src/autocontext/config/harness_profile.py class HarnessRuntimeProfile (line 16) | class HarnessRuntimeProfile(BaseModel): function _parse_tool_allowlist (line 28) | def _parse_tool_allowlist(raw: str) -> tuple[str, ...]: function _profile_value (line 40) | def _profile_value(raw: object) -> str: function resolve_harness_runtime_profile (line 45) | def resolve_harness_runtime_profile(settings: AppSettings) -> HarnessRun... function render_harness_tool_context (line 68) | def render_harness_tool_context(profile: HarnessRuntimeProfile, generate... FILE: autocontext/src/autocontext/config/presets.py function apply_preset (line 74) | def apply_preset(name: str) -> dict[str, Any]: FILE: autocontext/src/autocontext/config/settings.py function setting_env_keys (line 22) | def setting_env_keys(field_name: str) -> tuple[str, ...]: class HarnessMode (line 27) | class HarnessMode(StrEnum): class HarnessProfile (line 36) | class HarnessProfile(StrEnum): class AppSettings (line 43) | class AppSettings(BaseModel): method _coerce_budget_limit (line 753) | def _coerce_budget_limit(cls, v: object) -> float | None: function load_settings (line 761) | def load_settings() -> AppSettings: function validate_harness_mode (line 783) | def validate_harness_mode(settings: AppSettings) -> AppSettings: FILE: autocontext/src/autocontext/config/tuning_bounds.py class ParamBounds (line 17) | class ParamBounds: function architect_bounds (line 57) | def architect_bounds() -> dict[str, tuple[float, float]]: function protocol_bounds (line 62) | def protocol_bounds() -> dict[str, tuple[type, float, float]]: FILE: autocontext/src/autocontext/consultation/runner.py class ConsultationRunner (line 14) | class ConsultationRunner: method __init__ (line 15) | def __init__(self, provider: LLMProvider) -> None: method consult (line 18) | def consult(self, request: ConsultationRequest) -> ConsultationResult: method _build_system_prompt (line 25) | def _build_system_prompt(self, request: ConsultationRequest) -> str: method _build_user_prompt (line 35) | def _build_user_prompt(self, request: ConsultationRequest) -> str: method _parse_response (line 50) | def _parse_response(self, completion: CompletionResult) -> Consultatio... function _extract_section (line 63) | def _extract_section(text: str, heading: str) -> str: function _format_score_history (line 70) | def _format_score_history(scores: list[float], *, max_items: int = 8) ->... function _format_gate_history (line 78) | def _format_gate_history(gates: list[str], *, max_items: int = 8) -> str: FILE: autocontext/src/autocontext/consultation/stage.py function stage_consultation (line 26) | def stage_consultation( function _create_consultation_provider (line 120) | def _create_consultation_provider(ctx: GenerationContext) -> LLMProvider... FILE: autocontext/src/autocontext/consultation/triggers.py function detect_consultation_triggers (line 15) | def detect_consultation_triggers( FILE: autocontext/src/autocontext/consultation/types.py class ConsultationTrigger (line 8) | class ConsultationTrigger(StrEnum): class ConsultationRequest (line 16) | class ConsultationRequest: class ConsultationResult (line 27) | class ConsultationResult: method to_advisory_markdown (line 36) | def to_advisory_markdown(self) -> str: FILE: autocontext/src/autocontext/evaluation/ab_runner.py class ABTestConfig (line 17) | class ABTestConfig: class ABTestResult (line 29) | class ABTestResult: method mean_delta (line 37) | def mean_delta(self) -> float: method treatment_wins (line 45) | def treatment_wins(self) -> int: method baseline_wins (line 49) | def baseline_wins(self) -> int: class ABTestRunner (line 54) | class ABTestRunner: method __init__ (line 57) | def __init__(self, config: ABTestConfig) -> None: method run (line 60) | def run(self) -> ABTestResult: method _run_condition (line 82) | def _run_condition(self, env_overrides: dict[str, str], run_id: str) -... FILE: autocontext/src/autocontext/evaluation/ab_stats.py class ABStatsReport (line 13) | class ABStatsReport: method to_markdown (line 23) | def to_markdown(self) -> str: function mcnemar_test (line 41) | def mcnemar_test( function _binomial_p_value (line 87) | def _binomial_p_value(successes: int, n: int) -> float: function _exact_binomial_two_sided (line 92) | def _exact_binomial_two_sided(k: int, n: int) -> float: FILE: autocontext/src/autocontext/evidence/manifest.py function render_evidence_manifest (line 11) | def render_evidence_manifest(workspace: EvidenceWorkspace, *, role: str ... function render_artifact_detail (line 56) | def render_artifact_detail( function _resolve_workspace_path (line 82) | def _resolve_workspace_path(workspace_dir: Path, rel_path: str) -> Path ... function _excerpt_content (line 92) | def _excerpt_content(content: str, *, excerpt_lines: int) -> str: function _top_evidence_cards (line 104) | def _top_evidence_cards(workspace: EvidenceWorkspace, *, role: str) -> l... FILE: autocontext/src/autocontext/evidence/materializer.py function materialize_workspace (line 36) | def materialize_workspace( function _compute_source_signature (line 133) | def _compute_source_signature( function _load_cached_workspace (line 156) | def _load_cached_workspace(workspace_dir: Path, *, source_signature: str... function _refresh_cached_workspace_after_secret_scan (line 187) | def _refresh_cached_workspace_after_secret_scan( function _apply_secret_scan (line 199) | def _apply_secret_scan( function _cleanup_previous_workspace (line 244) | def _cleanup_previous_workspace(workspace_dir: Path) -> None: function _resolve_workspace_path (line 275) | def _resolve_workspace_path(workspace_dir: Path, rel_path: str) -> Path ... function _scan_run_artifacts (line 285) | def _scan_run_artifacts(run_dir: Path, run_id: str) -> list[EvidenceArti... function _scan_knowledge_artifacts (line 314) | def _scan_knowledge_artifacts(knowledge_dir: Path, scenario_name: str) -... function _classify_file (line 383) | def _classify_file(path: Path, root: Path) -> str | None: function _extract_generation (line 403) | def _extract_generation(path: Path) -> int | None: function _make_id (line 417) | def _make_id(source: str, path: Path) -> str: FILE: autocontext/src/autocontext/evidence/tracker.py function record_access (line 15) | def record_access(workspace: EvidenceWorkspace, artifact_id: str) -> None: function save_access_log (line 21) | def save_access_log(workspace: EvidenceWorkspace) -> None: function load_access_log (line 30) | def load_access_log(workspace_dir: str) -> list[str]: function compute_utilization (line 47) | def compute_utilization(workspace: EvidenceWorkspace) -> dict[str, Any]: FILE: autocontext/src/autocontext/evidence/workspace.py class EvidenceArtifact (line 10) | class EvidenceArtifact: method to_dict (line 23) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> EvidenceArtifact: class EvidenceWorkspace (line 52) | class EvidenceWorkspace: method get_artifact (line 64) | def get_artifact(self, artifact_id: str) -> EvidenceArtifact | None: method list_by_kind (line 70) | def list_by_kind(self, kind: str) -> list[EvidenceArtifact]: method to_dict (line 73) | def to_dict(self) -> dict[str, Any]: method from_dict (line 86) | def from_dict(cls, data: dict[str, Any]) -> EvidenceWorkspace: FILE: autocontext/src/autocontext/execution/action_filter.py class ActionFilterHarness (line 24) | class ActionFilterHarness: method __init__ (line 27) | def __init__( method get_legal_actions (line 35) | def get_legal_actions(self, state: Mapping[str, Any]) -> list[dict[str... method format_action_prompt (line 47) | def format_action_prompt(self, actions: list[dict[str, Any]]) -> str: method parse_action_selection (line 88) | def parse_action_selection( method verify_action (line 122) | def verify_action( method get_verify_feedback (line 134) | def get_verify_feedback( method _get_harness_actions (line 150) | def _get_harness_actions(self, state: Mapping[str, Any]) -> list[dict[... method _is_continuous_param_space (line 167) | def _is_continuous_param_space(actions: list[dict[str, Any]]) -> bool: method _parse_continuous_selection (line 182) | def _parse_continuous_selection( method _extract_json_object (line 207) | def _extract_json_object(response: str) -> dict[str, Any] | None: FILE: autocontext/src/autocontext/execution/agent_task_evolution.py class AgentTaskGenerationState (line 15) | class AgentTaskGenerationState(BaseModel): method to_dict (line 26) | def to_dict(self) -> dict[str, Any]: method from_dict (line 30) | def from_dict(cls, data: dict[str, Any]) -> AgentTaskGenerationState: class AgentTaskGenerationEvaluation (line 35) | class AgentTaskGenerationEvaluation: function accumulate_lessons (line 47) | def accumulate_lessons( function build_enriched_prompt (line 87) | def build_enriched_prompt( class AgentTaskTrajectory (line 122) | class AgentTaskTrajectory(BaseModel): method cold_vs_warm_summary (line 134) | def cold_vs_warm_summary(self) -> str: method to_dict (line 149) | def to_dict(self) -> dict[str, Any]: method from_dict (line 153) | def from_dict(cls, data: dict[str, Any]) -> AgentTaskTrajectory: class ScenarioFamilyGuide (line 157) | class ScenarioFamilyGuide: method __init__ (line 160) | def __init__(self) -> None: method to_markdown (line 201) | def to_markdown(self) -> str: class AgentTaskEvolutionRunner (line 214) | class AgentTaskEvolutionRunner: method __init__ (line 217) | def __init__( method run_generation (line 231) | def run_generation( method run_with_state (line 299) | def run_with_state( method run (line 340) | def run(self, num_generations: int = 10) -> AgentTaskTrajectory: FILE: autocontext/src/autocontext/execution/ast_safety.py class AstSafetyVisitor (line 26) | class AstSafetyVisitor(ast.NodeVisitor): method __init__ (line 29) | def __init__(self) -> None: method visit_Import (line 32) | def visit_Import(self, node: ast.Import) -> None: # noqa: N802 method visit_ImportFrom (line 37) | def visit_ImportFrom(self, node: ast.ImportFrom) -> None: # noqa: N802 method visit_Attribute (line 42) | def visit_Attribute(self, node: ast.Attribute) -> None: # noqa: N802 method visit_Name (line 47) | def visit_Name(self, node: ast.Name) -> None: # noqa: N802 method visit_Call (line 52) | def visit_Call(self, node: ast.Call) -> None: # noqa: N802 function check_ast_safety (line 59) | def check_ast_safety(source: str) -> list[str]: FILE: autocontext/src/autocontext/execution/bias_probes.py class BiasProbeResult (line 13) | class BiasProbeResult(BaseModel): method to_dict (line 21) | def to_dict(self) -> dict[str, Any]: class BiasReport (line 25) | class BiasReport(BaseModel): method bias_types_detected (line 34) | def bias_types_detected(self) -> list[str]: method to_dict (line 38) | def to_dict(self) -> dict[str, Any]: function run_position_bias_probe (line 42) | def run_position_bias_probe( FILE: autocontext/src/autocontext/execution/evaluator_guardrail.py class EvaluatorGuardrailResult (line 22) | class EvaluatorGuardrailResult(BaseModel): method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: function evaluate_evaluator_guardrail (line 36) | def evaluate_evaluator_guardrail( FILE: autocontext/src/autocontext/execution/executors/base.py class ExecutionEngine (line 9) | class ExecutionEngine(Protocol): method execute (line 10) | def execute( FILE: autocontext/src/autocontext/execution/executors/gondolin_contract.py class GondolinSecretRef (line 18) | class GondolinSecretRef: class GondolinSandboxPolicy (line 26) | class GondolinSandboxPolicy: class GondolinExecutionRequest (line 38) | class GondolinExecutionRequest: class GondolinExecutionResult (line 48) | class GondolinExecutionResult: class GondolinBackend (line 57) | class GondolinBackend(Protocol): method execute (line 60) | def execute(self, request: GondolinExecutionRequest) -> GondolinExecut... FILE: autocontext/src/autocontext/execution/executors/local.py function _load_scenario_module (line 15) | def _load_scenario_module(scenario_module: str, scenario_source_path: st... function _execute_in_subprocess (line 24) | def _execute_in_subprocess( class LocalExecutor (line 43) | class LocalExecutor: method execute (line 44) | def execute( FILE: autocontext/src/autocontext/execution/executors/monty.py function _create_monty (line 14) | def _create_monty(code: str, inputs: list[str], external_functions: list... class MontyExecutor (line 106) | class MontyExecutor: method __init__ (line 114) | def __init__( method build_eval_script (line 123) | def build_eval_script() -> str: method build_code_strategy_script (line 128) | def build_code_strategy_script(agent_code: str) -> str: method _build_dispatch (line 132) | def _build_dispatch( method _build_code_dispatch (line 162) | def _build_code_dispatch( method execute_code_strategy (line 190) | def execute_code_strategy( method execute (line 260) | def execute( FILE: autocontext/src/autocontext/execution/executors/primeintellect.py class PrimeIntellectExecutor (line 10) | class PrimeIntellectExecutor: method __init__ (line 11) | def __init__( method execute (line 21) | def execute( FILE: autocontext/src/autocontext/execution/executors/ssh.py class SSHExecutor (line 23) | class SSHExecutor: method __init__ (line 30) | def __init__( method execute (line 45) | def execute( method _build_eval_command (line 90) | def _build_eval_command( method _execute_local_fallback (line 117) | def _execute_local_fallback( FILE: autocontext/src/autocontext/execution/harness_coverage.py class HarnessCoverage (line 18) | class HarnessCoverage: class HarnessCoverageAnalyzer (line 30) | class HarnessCoverageAnalyzer: method analyze (line 45) | def analyze( method recommend_model_tier (line 83) | def recommend_model_tier(self, coverage: HarnessCoverage) -> str: FILE: autocontext/src/autocontext/execution/harness_loader.py class _HarnessTimeout (line 35) | class _HarnessTimeout(Exception): function _run_with_timeout (line 39) | def _run_with_timeout(fn: Callable[[], Any], timeout_seconds: float) -> ... class HarnessValidationResult (line 68) | class HarnessValidationResult: function _exec_harness_source (line 76) | def _exec_harness_source(source: str, namespace: dict[str, Any]) -> None: class HarnessLoader (line 89) | class HarnessLoader: method __init__ (line 92) | def __init__(self, harness_dir: Path, *, timeout_seconds: float = 5.0)... method load (line 98) | def load(self) -> list[str]: method validate_strategy (line 157) | def validate_strategy(self, strategy: dict[str, Any], scenario: Any) -... method get_callable (line 183) | def get_callable(self, file_name: str, fn_name: str) -> Callable[..., ... method has_callable (line 188) | def has_callable(self, file_name: str, fn_name: str) -> bool: method loaded_names (line 193) | def loaded_names(self) -> list[str]: FILE: autocontext/src/autocontext/execution/harness_synthesizer.py class SynthesisResult (line 23) | class SynthesisResult: class HarnessSynthesizer (line 33) | class HarnessSynthesizer: method __init__ (line 50) | def __init__( method synthesize (line 66) | def synthesize( method _generate_initial (line 165) | def _generate_initial(self, target_functions: list[str]) -> str: method _refine (line 195) | def _refine(self, current_source: str, failure_context: str, target_fu... method _write_output (line 223) | def _write_output(source: str, output_dir: Path) -> None: function _extract_python_code (line 231) | def _extract_python_code(text: str) -> str | None: FILE: autocontext/src/autocontext/execution/harness_tester.py class HarnessTestFailure (line 26) | class HarnessTestFailure: class HarnessTestReport (line 38) | class HarnessTestReport: class HarnessTester (line 49) | class HarnessTester: method __init__ (line 63) | def __init__( method test_harness (line 74) | def test_harness( method _sample_diverse_failures (line 239) | def _sample_diverse_failures(self, failures: list[HarnessTestFailure])... method _make_blanket_failures (line 292) | def _make_blanket_failures( function _test_single_state (line 313) | def _test_single_state( function _actions_match (line 441) | def _actions_match(expected: list[dict[str, Any]], actual: Any) -> bool: function _normalize_action (line 452) | def _normalize_action(value: Any) -> Any: function _validation_result_is_valid (line 461) | def _validation_result_is_valid(result: Any) -> bool: function _example_strategy_from_sample (line 472) | def _example_strategy_from_sample(sample: SampleState, scenario: Any | N... function _strategy_is_valid (line 505) | def _strategy_is_valid(sample: SampleState, scenario: Any | None, strate... FILE: autocontext/src/autocontext/execution/improvement_events.py class ImprovementLoopEvent (line 19) | class ImprovementLoopEvent: FILE: autocontext/src/autocontext/execution/improvement_loop.py function _is_parse_failure (line 45) | def _is_parse_failure(score: float, reasoning: str) -> bool: class RoundResult (line 53) | class RoundResult: class ImprovementResult (line 69) | class ImprovementResult: method improved (line 89) | def improved(self) -> bool: class ImprovementLoop (line 99) | class ImprovementLoop: method __init__ (line 109) | def __init__( method run (line 144) | def run( FILE: autocontext/src/autocontext/execution/judge.py class DisagreementMetrics (line 25) | class DisagreementMetrics(BaseModel): method to_dict (line 35) | def to_dict(self) -> dict[str, Any]: class JudgeResult (line 40) | class JudgeResult: function _coerce_float (line 60) | def _coerce_float(value: Any, default: float) -> float: function _detect_generated_dimensions (line 67) | def _detect_generated_dimensions(dimension_keys: list[str], rubric: str)... function _looks_like_dual_section_escape (line 92) | def _looks_like_dual_section_escape(agent_output: str) -> bool: function _apply_same_span_contradiction_guardrail (line 118) | def _apply_same_span_contradiction_guardrail( class LLMJudge (line 151) | class LLMJudge: method __init__ (line 158) | def __init__( method rubric_warnings (line 196) | def rubric_warnings(self) -> list[str]: method evaluate (line 200) | def evaluate( method _build_judge_prompt (line 371) | def _build_judge_prompt( method _parse_judge_response (line 422) | def _parse_judge_response(self, response: str) -> tuple[float, str, di... method _try_marker_parse (line 454) | def _try_marker_parse(response: str) -> dict | None: method _try_code_block_parse (line 470) | def _try_code_block_parse(response: str) -> dict | None: method _try_raw_json_parse (line 483) | def _try_raw_json_parse(response: str) -> dict | None: method _try_plaintext_parse (line 504) | def _try_plaintext_parse(response: str) -> tuple[float, str, dict[str,... method _extract_from_dict (line 526) | def _extract_from_dict( FILE: autocontext/src/autocontext/execution/judge_executor.py class JudgeExecutor (line 6) | class JudgeExecutor: method __init__ (line 9) | def __init__(self, task: AgentTaskInterface) -> None: method execute (line 12) | def execute( FILE: autocontext/src/autocontext/execution/objective_verification.py class GroundTruthItem (line 27) | class GroundTruthItem(BaseModel): method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: method from_dict (line 56) | def from_dict(cls, data: dict[str, Any]) -> GroundTruthItem: class ItemMatchDetail (line 60) | class ItemMatchDetail(BaseModel): method to_dict (line 69) | def to_dict(self) -> dict[str, Any]: class OracleResult (line 73) | class OracleResult(BaseModel): method to_dict (line 86) | def to_dict(self) -> dict[str, Any]: method from_dict (line 90) | def from_dict(cls, data: dict[str, Any]) -> OracleResult: class OracleComparison (line 94) | class OracleComparison(BaseModel): method summary (line 105) | def summary(self) -> str: method to_dict (line 117) | def to_dict(self) -> dict[str, Any]: class ObjectiveVerificationConfig (line 121) | class ObjectiveVerificationConfig(BaseModel): method to_dict (line 128) | def to_dict(self) -> dict[str, Any]: method from_dict (line 132) | def from_dict(cls, data: dict[str, Any]) -> ObjectiveVerificationConfig: method build_oracle (line 135) | def build_oracle(self) -> KeywordMatchOracle: class ObjectiveOracle (line 140) | class ObjectiveOracle(ABC): method evaluate (line 144) | def evaluate(self, output: str) -> OracleResult: class KeywordMatchOracle (line 157) | class KeywordMatchOracle(ObjectiveOracle): method __init__ (line 165) | def __init__( method evaluate (line 176) | def evaluate(self, output: str) -> OracleResult: method _find_item_in_output (line 226) | def _find_item_in_output( method _all_groups_match (line 239) | def _all_groups_match(keyword_groups: list[list[str]], text: str) -> b... method _check_weight_near (line 246) | def _check_weight_near(self, weight: str, lines: list[str], line_idx: ... method _count_claims (line 256) | def _count_claims(self, output: str) -> int: method _estimate_claims (line 266) | def _estimate_claims(output: str) -> int: function compare_oracle_vs_rubric (line 285) | def compare_oracle_vs_rubric( function run_objective_verification (line 308) | def run_objective_verification( FILE: autocontext/src/autocontext/execution/output_cleaner.py function _strip_markdown_fence_wrapper (line 13) | def _strip_markdown_fence_wrapper(text: str) -> str: function _strip_last_section (line 48) | def _strip_last_section(text: str, header: str) -> str: function clean_revision_output (line 63) | def clean_revision_output(output: str) -> str: FILE: autocontext/src/autocontext/execution/output_verifier.py class VerifyResult (line 40) | class VerifyResult: method message (line 52) | def message(self) -> str: class OutputVerifier (line 68) | class OutputVerifier: method __init__ (line 83) | def __init__( method enabled (line 107) | def enabled(self) -> bool: method run (line 111) | def run(self, output_text: str) -> VerifyResult: method _run_with_file (line 138) | def _run_with_file(self, output_text: str) -> VerifyResult: method _run_with_stdin (line 156) | def _run_with_stdin(self, output_text: str) -> VerifyResult: method _invoke (line 159) | def _invoke(self, argv: list[str], *, stdin_text: str | None) -> Verif... function make_verifier (line 205) | def make_verifier( function make_checkpointer (line 231) | def make_checkpointer( FILE: autocontext/src/autocontext/execution/phased_execution.py class PhaseBudget (line 33) | class PhaseBudget: class PhaseResult (line 40) | class PhaseResult(BaseModel): method to_dict (line 51) | def to_dict(self) -> dict[str, Any]: method from_dict (line 55) | def from_dict(cls, data: dict[str, Any]) -> PhaseResult: class PhasedExecutionPlan (line 60) | class PhasedExecutionPlan: class PhasedExecutionResult (line 68) | class PhasedExecutionResult(BaseModel): method to_dict (line 75) | def to_dict(self) -> dict[str, Any]: method all_completed (line 83) | def all_completed(self) -> bool: method failed_phase (line 87) | def failed_phase(self) -> str | None: method completed_phases (line 94) | def completed_phases(self) -> int: method from_dict (line 98) | def from_dict(cls, data: dict[str, Any]) -> PhasedExecutionResult: class PhaseTimer (line 102) | class PhaseTimer: method __init__ (line 105) | def __init__(self, budget_seconds: float) -> None: method start (line 110) | def start(self) -> None: method stop (line 114) | def stop(self) -> None: method elapsed (line 117) | def elapsed(self) -> float: method remaining (line 123) | def remaining(self) -> float: method is_expired (line 126) | def is_expired(self) -> bool: function split_budget (line 130) | def split_budget( class PhasedRunner (line 159) | class PhasedRunner: method run_phase (line 162) | def run_phase( method run_all (line 231) | def run_all( FILE: autocontext/src/autocontext/execution/policy_executor.py class PolicyMatchResult (line 36) | class PolicyMatchResult: class _PolicyTimeout (line 48) | class _PolicyTimeout(Exception): function _run_with_timeout (line 52) | def _run_with_timeout(fn: Callable[[], Any], timeout_seconds: float) -> ... function _exec_policy_source (line 82) | def _exec_policy_source(source: str, namespace: dict[str, Any]) -> None: class PolicyExecutor (line 93) | class PolicyExecutor: method __init__ (line 105) | def __init__( method _build_namespace (line 118) | def _build_namespace(self) -> dict[str, Any]: method _compile_policy (line 129) | def _compile_policy(self, policy_source: str) -> tuple[Callable[..., d... method _execute_single_match (line 155) | def _execute_single_match( method execute_match (line 255) | def execute_match(self, policy_source: str, seed: int | None = None) -... method execute_batch (line 296) | def execute_batch( FILE: autocontext/src/autocontext/execution/policy_refinement.py class PolicyIteration (line 26) | class PolicyIteration: class PolicyRefinementResult (line 38) | class PolicyRefinementResult: function compute_heuristic (line 49) | def compute_heuristic(match_results: list[PolicyMatchResult]) -> float: function _extract_policy_from_response (line 64) | def _extract_policy_from_response(response_text: str) -> str: function _build_refinement_prompt (line 80) | def _build_refinement_prompt( function _format_score_history (line 129) | def _format_score_history(match_results: list[PolicyMatchResult], *, max... function _build_match_feedback (line 137) | def _build_match_feedback(match_results: list[PolicyMatchResult]) -> str: class PolicyRefinementLoop (line 158) | class PolicyRefinementLoop: method __init__ (line 170) | def __init__( method _evaluate_policy (line 192) | def _evaluate_policy(self, policy_source: str, iteration: int) -> tupl... method _refine_policy (line 199) | def _refine_policy( method _check_convergence (line 218) | def _check_convergence(self, heuristic_history: list[float]) -> bool: method refine (line 225) | def refine(self, initial_policy: str) -> PolicyRefinementResult: FILE: autocontext/src/autocontext/execution/queued_task_browser_context.py class QueuedTaskBrowserContextService (line 15) | class QueuedTaskBrowserContextService(Protocol): method build_reference_context (line 18) | def build_reference_context( class SettingsBackedQueuedTaskBrowserContextService (line 28) | class SettingsBackedQueuedTaskBrowserContextService: method build_reference_context (line 33) | def build_reference_context( function create_queued_task_browser_context_service (line 51) | def create_queued_task_browser_context_service( function merge_queued_task_reference_context (line 58) | def merge_queued_task_reference_context( FILE: autocontext/src/autocontext/execution/rubric_calibration.py class CalibrationAnchor (line 31) | class CalibrationAnchor(BaseModel): method to_dict (line 42) | def to_dict(self) -> dict[str, Any]: method from_dict (line 46) | def from_dict(cls, data: dict[str, Any]) -> CalibrationAnchor: class CalibrationSet (line 50) | class CalibrationSet(BaseModel): method score_bands (line 57) | def score_bands(self) -> dict[str, list[CalibrationAnchor]]: method to_dict (line 64) | def to_dict(self) -> dict[str, Any]: method from_dict (line 68) | def from_dict(cls, data: dict[str, Any]) -> CalibrationSet: class JudgeVarianceResult (line 72) | class JudgeVarianceResult(BaseModel): method to_dict (line 81) | def to_dict(self) -> dict[str, Any]: method from_dict (line 85) | def from_dict(cls, data: dict[str, Any]) -> JudgeVarianceResult: function measure_judge_variance (line 89) | def measure_judge_variance(scores: list[float]) -> JudgeVarianceResult: class AlignmentResult (line 108) | class AlignmentResult(BaseModel): method to_dict (line 117) | def to_dict(self) -> dict[str, Any]: method from_dict (line 121) | def from_dict(cls, data: dict[str, Any]) -> AlignmentResult: function _pearson_correlation (line 125) | def _pearson_correlation(xs: list[float], ys: list[float]) -> float: function compute_alignment (line 144) | def compute_alignment( class AlignmentTolerance (line 180) | class AlignmentTolerance(BaseModel): method default_for_domain (line 189) | def default_for_domain(cls, domain: str) -> AlignmentTolerance: method to_dict (line 213) | def to_dict(self) -> dict[str, Any]: method check (line 216) | def check(self, alignment: AlignmentResult) -> dict[str, Any]: class CalibrationReport (line 242) | class CalibrationReport(BaseModel): method summary (line 252) | def summary(self) -> str: method to_dict (line 265) | def to_dict(self) -> dict[str, Any]: method from_dict (line 269) | def from_dict(cls, data: dict[str, Any]) -> CalibrationReport: function _score_band_for_score (line 273) | def _score_band_for_score(score: float) -> str: function calibration_set_from_examples (line 283) | def calibration_set_from_examples( function _aggregate_variance (line 318) | def _aggregate_variance(results: list[JudgeVarianceResult]) -> JudgeVari... function run_judge_calibration (line 332) | def run_judge_calibration( FILE: autocontext/src/autocontext/execution/rubric_coherence.py class RubricCoherenceResult (line 8) | class RubricCoherenceResult: function _has_pattern (line 15) | def _has_pattern(lower: str, patterns: tuple[str, ...]) -> bool: function _allows_separate_depth_and_accessibility (line 19) | def _allows_separate_depth_and_accessibility(lower: str) -> bool: function check_rubric_coherence (line 35) | def check_rubric_coherence(rubric: str) -> RubricCoherenceResult: FILE: autocontext/src/autocontext/execution/sample_states.py class SampleState (line 21) | class SampleState: function _classify_phase (line 30) | def _classify_phase(turn: int, max_turn: int) -> str: class SampleStateGenerator (line 42) | class SampleStateGenerator: method __init__ (line 53) | def __init__(self, scenario: ScenarioInterface, n_states: int = 50) ->... method generate (line 61) | def generate(self) -> list[SampleState]: method generate_with_ground_truth (line 68) | def generate_with_ground_truth(self) -> list[SampleState]: method _collect_states (line 81) | def _collect_states(self, *, include_ground_truth: bool) -> list[Sampl... method _simulate_game (line 127) | def _simulate_game(self, seed: int) -> list[dict[str, Any]]: method _random_actions (line 157) | def _random_actions(self, state: dict[str, Any], rng: random.Random) -... method _is_valid_action (line 193) | def _is_valid_action(self, state: dict[str, Any], actions: dict[str, A... FILE: autocontext/src/autocontext/execution/simple_agent_task_workflow.py function generate_simple_agent_task_output (line 9) | def generate_simple_agent_task_output( function revise_simple_agent_task_output (line 30) | def revise_simple_agent_task_output( function build_simple_agent_task_user_prompt (line 64) | def build_simple_agent_task_user_prompt( function build_simple_agent_task_revision_prompt (line 79) | def build_simple_agent_task_revision_prompt( function _build_reference_context_block (line 108) | def _build_reference_context_block(reference_context: str | None) -> str: function _build_required_concepts_block (line 115) | def _build_required_concepts_block(required_concepts: list[str] | None) ... function _build_objective_feedback_block (line 123) | def _build_objective_feedback_block(objective_feedback: str | None) -> str: FILE: autocontext/src/autocontext/execution/strategy_validator.py class ValidationResult (line 19) | class ValidationResult: class StrategyValidator (line 27) | class StrategyValidator: method __init__ (line 30) | def __init__(self, scenario: ScenarioInterface, settings: AppSettings)... method validate (line 34) | def validate(self, strategy: dict[str, Any]) -> ValidationResult: method format_revision_prompt (line 59) | def format_revision_prompt(self, result: ValidationResult, original_st... FILE: autocontext/src/autocontext/execution/supervisor.py class ExecutionInput (line 11) | class ExecutionInput: class ExecutionOutput (line 18) | class ExecutionOutput: class ExecutionSupervisor (line 23) | class ExecutionSupervisor: method __init__ (line 26) | def __init__(self, executor: ExecutionEngine | None = None) -> None: method run (line 29) | def run(self, scenario: ScenarioInterface, payload: ExecutionInput) ->... FILE: autocontext/src/autocontext/execution/task_queue_store.py class TaskQueueStore (line 17) | class TaskQueueStore(Protocol): method dequeue_task (line 20) | def dequeue_task(self) -> TaskQueueRow | None: method get_task (line 23) | def get_task(self, task_id: str) -> TaskQueueRow | None: method complete_task (line 26) | def complete_task( method fail_task (line 37) | def fail_task(self, task_id: str, error: str) -> None: method get_calibration_examples (line 40) | def get_calibration_examples(self, scenario_name: str, limit: int = 5)... class TaskQueueEnqueueStore (line 45) | class TaskQueueEnqueueStore(TaskQueueStore, Protocol): method enqueue_task (line 48) | def enqueue_task( FILE: autocontext/src/autocontext/execution/task_runner.py class TaskConfig (line 57) | class TaskConfig: method from_json (line 79) | def from_json(cls, data: str | None) -> TaskConfig: function _serialize_result (line 104) | def _serialize_result( function _serialize_evolution_result (line 149) | def _serialize_evolution_result( function _build_objective_payload (line 228) | def _build_objective_payload( function _build_objective_revision_feedback (line 260) | def _build_objective_revision_feedback( function _build_objective_guardrail_payload (line 278) | def _build_objective_guardrail_payload( function _build_evaluator_guardrail_payload (line 290) | def _build_evaluator_guardrail_payload( function _build_rubric_calibration_payload (line 310) | def _build_rubric_calibration_payload( class SimpleAgentTask (line 336) | class SimpleAgentTask(AgentTaskInterface): method __init__ (line 343) | def __init__( method get_task_prompt (line 365) | def get_task_prompt(self, state: dict) -> str: method get_rubric (line 368) | def get_rubric(self) -> str: method initial_state (line 371) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 374) | def describe_task(self) -> str: method evaluate_output (line 377) | def evaluate_output( method generate_output (line 423) | def generate_output(self, state: dict) -> str: method revise_output (line 433) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class TaskRunner (line 453) | class TaskRunner: method __init__ (line 462) | def __init__( method run (line 484) | def run(self) -> int: method run_once (line 515) | def run_once(self) -> dict[str, Any] | None: method run_batch (line 524) | def run_batch(self, limit: int | None = None) -> int: method shutdown (line 563) | def shutdown(self) -> None: method _process_task (line 567) | def _process_task(self, task: dict[str, Any]) -> None: method _run_task_multi_generation (line 693) | def _run_task_multi_generation( method _resolve_reference_context (line 840) | def _resolve_reference_context(self, task_id: str, config: TaskConfig)... method _emit_completion_event (line 852) | def _emit_completion_event( method _emit_failure_event (line 873) | def _emit_failure_event(self, task_id: str, spec_name: str, error: str... method _setup_signals (line 889) | def _setup_signals(self) -> None: method _handle_signal (line 898) | def _handle_signal(self, signum: int, frame: Any) -> None: method _sleep (line 902) | def _sleep(self, seconds: float) -> None: function create_task_runner_from_settings (line 909) | def create_task_runner_from_settings( function enqueue_task (line 938) | def enqueue_task( FILE: autocontext/src/autocontext/execution/trajectory_harness.py class PlaybookInspector (line 31) | class PlaybookInspector: method __init__ (line 34) | def __init__( method key_snapshots (line 42) | def key_snapshots(self) -> dict[str, str]: method growth_summary (line 52) | def growth_summary(self) -> dict[str, int]: class TrajectoryComparison (line 58) | class TrajectoryComparison(BaseModel): method summary (line 72) | def summary(self) -> str: method to_dict (line 84) | def to_dict(self) -> dict[str, Any]: method from_dict (line 88) | def from_dict(cls, data: dict[str, Any]) -> TrajectoryComparison: function validate_improvement (line 92) | def validate_improvement( class TrajectoryReport (line 136) | class TrajectoryReport: method mean_scores_per_generation (line 145) | def mean_scores_per_generation(self) -> list[float]: method compare (line 157) | def compare(self) -> TrajectoryComparison: class MultiSeedTrajectoryRunner (line 186) | class MultiSeedTrajectoryRunner: method __init__ (line 189) | def __init__( method _playbooks_by_generation (line 204) | def _playbooks_by_generation(trajectory: AgentTaskTrajectory) -> dict[... method run (line 215) | def run( FILE: autocontext/src/autocontext/execution/verification_dataset.py class DatasetProvenance (line 34) | class DatasetProvenance(BaseModel): method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> DatasetProvenance: class VerificationDataset (line 53) | class VerificationDataset(BaseModel): method build_oracle (line 63) | def build_oracle(self) -> KeywordMatchOracle: method to_dict (line 68) | def to_dict(self) -> dict[str, Any]: method from_dict (line 72) | def from_dict(cls, data: dict[str, Any]) -> VerificationDataset: class DatasetRegistry (line 76) | class DatasetRegistry: method __init__ (line 79) | def __init__(self, root: Path) -> None: method _dataset_dir (line 83) | def _dataset_dir(self, dataset_id: str) -> Path: method _version_path (line 86) | def _version_path(self, dataset_id: str, version: str) -> Path: method register (line 90) | def register(self, dataset: VerificationDataset) -> Path: method load (line 106) | def load(self, dataset_id: str, version: str | None = None) -> Verific... method list_versions (line 130) | def list_versions(self, dataset_id: str) -> list[str]: method list_datasets (line 140) | def list_datasets(self) -> list[VerificationDataset]: class VerificationRunRecord (line 149) | class VerificationRunRecord(BaseModel): method to_dict (line 161) | def to_dict(self) -> dict[str, Any]: method from_dict (line 165) | def from_dict(cls, data: dict[str, Any]) -> VerificationRunRecord: class OracleRevisionFeedback (line 169) | class OracleRevisionFeedback(BaseModel): method to_dict (line 178) | def to_dict(self) -> dict[str, Any]: method from_dict (line 182) | def from_dict(cls, data: dict[str, Any]) -> OracleRevisionFeedback: method is_empty (line 185) | def is_empty(self) -> bool: function oracle_to_revision_feedback (line 193) | def oracle_to_revision_feedback(result: OracleResult) -> OracleRevisionF... function resolve_objective_verification_config (line 239) | def resolve_objective_verification_config( function enrich_objective_payload (line 283) | def enrich_objective_payload( FILE: autocontext/src/autocontext/extensions/hooks.py class HookEvents (line 11) | class HookEvents(StrEnum): class HookResult (line 30) | class HookResult: class HookError (line 45) | class HookError: class HookEvent (line 54) | class HookEvent: method raise_if_blocked (line 64) | def raise_if_blocked(self) -> None: function event_name (line 72) | def event_name(value: HookEvents | str) -> str: function event_block_error (line 76) | def event_block_error(event: HookEvent) -> RuntimeError: function _handler_name (line 81) | def _handler_name(handler: HookHandler) -> str: class HookBus (line 89) | class HookBus: method __init__ (line 97) | def __init__(self, *, fail_fast: bool = False) -> None: method on (line 101) | def on(self, name: HookEvents | str, handler: HookHandler) -> HookHand... method has_handlers (line 105) | def has_handlers(self, name: HookEvents | str) -> bool: method emit (line 109) | def emit( method _apply_result (line 143) | def _apply_result(event: HookEvent, result: HookResult | Mapping[str, ... function get_current_hook_bus (line 164) | def get_current_hook_bus() -> HookBus | None: function active_hook_bus (line 169) | def active_hook_bus(hook_bus: HookBus | None) -> Iterator[None]: class ExtensionAPI (line 180) | class ExtensionAPI: method __init__ (line 183) | def __init__(self, bus: HookBus) -> None: method on (line 186) | def on( method emit (line 199) | def emit( FILE: autocontext/src/autocontext/extensions/llm.py class HookedLanguageModelClient (line 12) | class HookedLanguageModelClient(LanguageModelClient): method __init__ (line 15) | def __init__(self, inner: LanguageModelClient, hook_bus: HookBus, *, p... method __getattr__ (line 20) | def __getattr__(self, name: str) -> Any: method generate (line 23) | def generate( method generate_multiturn (line 53) | def generate_multiturn( method _emit_response (line 86) | def _emit_response(self, response: ModelResponse, request: dict[str, A... class HookedLLMProvider (line 107) | class HookedLLMProvider(LLMProvider): method __init__ (line 110) | def __init__( method __getattr__ (line 123) | def __getattr__(self, name: str) -> Any: method complete (line 126) | def complete( method default_model (line 175) | def default_model(self) -> str: method name (line 179) | def name(self) -> str: function _message_list (line 183) | def _message_list(value: Any) -> list[dict[str, str]]: function _optional_str (line 195) | def _optional_str(value: Any) -> str | None: function _optional_float (line 201) | def _optional_float(value: Any) -> float | None: function _usage_dict (line 207) | def _usage_dict(value: Any) -> dict[str, int]: function _usage_from_payload (line 213) | def _usage_from_payload(default: RoleUsage, value: Any) -> RoleUsage: function wrap_language_model_client (line 224) | def wrap_language_model_client( function wrap_llm_provider (line 237) | def wrap_llm_provider( FILE: autocontext/src/autocontext/extensions/loader.py function load_extensions (line 14) | def load_extensions(refs: str | Iterable[str], bus: HookBus) -> list[str]: function _split_refs (line 31) | def _split_refs(refs: str | Iterable[str]) -> list[str]: function _load_target (line 37) | def _load_target(ref: str) -> Any: function _load_module (line 52) | def _load_module(module_ref: str) -> ModuleType: function _invoke_extension (line 66) | def _invoke_extension(target: Any, api: ExtensionAPI) -> None: function _call (line 86) | def _call(func: Any, api: ExtensionAPI) -> Any: FILE: autocontext/src/autocontext/harness/adapt/applicator.py function _parse_cadence (line 27) | def _parse_cadence(value: str) -> int | None: class ConfigApplicator (line 39) | class ConfigApplicator: method __init__ (line 42) | def __init__(self, audit_writer: AppendOnlyAuditWriter | None = None) ... method apply (line 45) | def apply( method _write_audit (line 150) | def _write_audit(self, result: AdaptationResult) -> None: FILE: autocontext/src/autocontext/harness/adapt/types.py class AdaptationStatus (line 11) | class AdaptationStatus(StrEnum): class AdaptationResult (line 20) | class AdaptationResult: method now (line 33) | def now() -> str: method to_dict (line 36) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> AdaptationResult: class AdaptationPolicy (line 63) | class AdaptationPolicy: FILE: autocontext/src/autocontext/harness/audit/types.py class AuditCategory (line 11) | class AuditCategory(StrEnum): class AuditEntry (line 21) | class AuditEntry: method now (line 32) | def now() -> str: method to_dict (line 35) | def to_dict(self) -> dict[str, Any]: method from_dict (line 46) | def from_dict(cls, data: dict[str, Any]) -> AuditEntry: FILE: autocontext/src/autocontext/harness/audit/writer.py class AppendOnlyAuditWriter (line 12) | class AppendOnlyAuditWriter: method __init__ (line 15) | def __init__(self, path: Path) -> None: method append (line 20) | def append(self, entry: AuditEntry) -> None: method read_all (line 29) | def read_all(self) -> list[AuditEntry]: method read (line 32) | def read( method count (line 51) | def count(self) -> int: method _read_lines (line 57) | def _read_lines(self) -> list[AuditEntry]: FILE: autocontext/src/autocontext/harness/core/controller.py class LoopController (line 9) | class LoopController: method __init__ (line 12) | def __init__(self) -> None: method pause (line 21) | def pause(self) -> None: method resume (line 24) | def resume(self) -> None: method is_paused (line 27) | def is_paused(self) -> bool: method wait_if_paused (line 30) | def wait_if_paused(self) -> None: method set_gate_override (line 34) | def set_gate_override(self, decision: str) -> None: method take_gate_override (line 38) | def take_gate_override(self) -> str | None: method inject_hint (line 44) | def inject_hint(self, text: str) -> None: method take_hint (line 48) | def take_hint(self) -> str | None: method submit_chat (line 54) | def submit_chat(self, role: str, message: str) -> str: method poll_chat (line 60) | def poll_chat(self) -> tuple[str, str] | None: method respond_chat (line 67) | def respond_chat(self, role: str, response: str) -> None: FILE: autocontext/src/autocontext/harness/core/events.py class EventStreamEmitter (line 18) | class EventStreamEmitter: method __init__ (line 19) | def __init__(self, path: Path) -> None: method subscribe (line 25) | def subscribe(self, callback: EventCallback) -> None: method unsubscribe (line 29) | def unsubscribe(self, callback: EventCallback) -> None: method emit (line 33) | def emit(self, event: str, payload: dict[str, Any], channel: str = "ge... FILE: autocontext/src/autocontext/harness/core/llm_client.py class LanguageModelClient (line 8) | class LanguageModelClient: method generate (line 9) | def generate( method generate_multiturn (line 20) | def generate_multiturn( FILE: autocontext/src/autocontext/harness/core/output_parser.py function strip_json_fences (line 13) | def strip_json_fences(text: str) -> str: function extract_json (line 19) | def extract_json(text: str) -> dict[str, Any]: function extract_tagged_content (line 28) | def extract_tagged_content(text: str, tag: str) -> str | None: function extract_delimited_section (line 35) | def extract_delimited_section(text: str, start_marker: str, end_marker: ... FILE: autocontext/src/autocontext/harness/core/subagent.py class SubagentTask (line 13) | class SubagentTask: class SubagentRuntime (line 21) | class SubagentRuntime: method __init__ (line 24) | def __init__(self, client: LanguageModelClient) -> None: method run_task (line 27) | def run_task(self, task: SubagentTask) -> RoleExecution: FILE: autocontext/src/autocontext/harness/core/types.py class RoleUsage (line 10) | class RoleUsage: class RoleExecution (line 18) | class RoleExecution: class ModelResponse (line 28) | class ModelResponse: FILE: autocontext/src/autocontext/harness/cost/calculator.py class CostCalculator (line 18) | class CostCalculator: method __init__ (line 21) | def __init__( method calculate (line 30) | def calculate(self, model: str, input_tokens: int, output_tokens: int)... method from_usage (line 43) | def from_usage(self, usage: RoleUsage) -> CostRecord: method calculate_batch (line 46) | def calculate_batch(self, usages: list[RoleUsage]) -> list[CostRecord]: FILE: autocontext/src/autocontext/harness/cost/tracker.py class CostTracker (line 12) | class CostTracker: method __init__ (line 15) | def __init__( method record (line 28) | def record(self, usage: RoleUsage, role: str, generation: int | None =... method cost_by_role (line 43) | def cost_by_role(self) -> dict[str, float]: method cost_by_model (line 50) | def cost_by_model(self) -> dict[str, float]: method cost_per_generation (line 57) | def cost_per_generation(self) -> list[tuple[int, float]]: method summary (line 65) | def summary(self) -> CostSummary: method reset (line 70) | def reset(self) -> None: FILE: autocontext/src/autocontext/harness/cost/types.py class ModelPricing (line 9) | class ModelPricing: class CostRecord (line 17) | class CostRecord: method to_dict (line 26) | def to_dict(self) -> dict[str, Any]: class CostSummary (line 38) | class CostSummary: method from_records (line 47) | def from_records(cls, records: list[CostRecord]) -> CostSummary: FILE: autocontext/src/autocontext/harness/evaluation/dimensional.py class ScoringDimension (line 22) | class ScoringDimension(BaseModel): method to_dict (line 29) | def to_dict(self) -> dict[str, Any]: method from_dict (line 33) | def from_dict(cls, data: dict[str, Any]) -> ScoringDimension: class DimensionalScore (line 37) | class DimensionalScore(BaseModel): method weighted_aggregate (line 44) | def weighted_aggregate(self, dimension_specs: Sequence[ScoringDimensio... method to_dict (line 55) | def to_dict(self) -> dict[str, Any]: method from_dict (line 59) | def from_dict(cls, data: dict[str, Any]) -> DimensionalScore: function normalize_dimension_specs (line 63) | def normalize_dimension_specs( function extract_dimension_scores (line 72) | def extract_dimension_scores( function detect_dimension_regression (line 85) | def detect_dimension_regression( function format_dimension_trajectory (line 109) | def format_dimension_trajectory( FILE: autocontext/src/autocontext/harness/evaluation/failure_report.py class MatchDiagnosis (line 16) | class MatchDiagnosis: class FailureReport (line 28) | class FailureReport: method from_tournament (line 40) | def from_tournament( method to_prompt_context (line 72) | def to_prompt_context(self) -> str: FILE: autocontext/src/autocontext/harness/evaluation/protocol.py class Evaluator (line 11) | class Evaluator(Protocol): method evaluate (line 12) | def evaluate( FILE: autocontext/src/autocontext/harness/evaluation/runner.py function _comparative_score (line 15) | def _comparative_score(candidate_score: float, opponent_score: float) ->... class EvaluationRunner (line 19) | class EvaluationRunner: method __init__ (line 20) | def __init__( method run (line 32) | def run( FILE: autocontext/src/autocontext/harness/evaluation/scenario_evaluator.py class ScenarioEvaluator (line 15) | class ScenarioEvaluator: method __init__ (line 22) | def __init__(self, scenario: Any, supervisor: Any, hook_bus: HookBus |... method evaluate (line 27) | def evaluate( FILE: autocontext/src/autocontext/harness/evaluation/self_play.py class SelfPlayOpponent (line 22) | class SelfPlayOpponent(BaseModel): method to_dict (line 31) | def to_dict(self) -> dict[str, Any]: method from_dict (line 35) | def from_dict(cls, data: dict[str, Any]) -> SelfPlayOpponent: class SelfPlayConfig (line 39) | class SelfPlayConfig(BaseModel): method to_dict (line 46) | def to_dict(self) -> dict[str, Any]: method from_dict (line 50) | def from_dict(cls, data: dict[str, Any]) -> SelfPlayConfig: class SelfPlayPool (line 54) | class SelfPlayPool: method __init__ (line 57) | def __init__(self, config: SelfPlayConfig) -> None: method add (line 61) | def add(self, opponent: SelfPlayOpponent) -> None: method get_opponents (line 71) | def get_opponents(self) -> list[SelfPlayOpponent]: method config (line 78) | def config(self) -> SelfPlayConfig: method size (line 82) | def size(self) -> int: function planned_self_play_trials (line 86) | def planned_self_play_trials( function load_self_play_pool (line 104) | def load_self_play_pool( function build_opponent_pool (line 155) | def build_opponent_pool( FILE: autocontext/src/autocontext/harness/evaluation/types.py class EvaluationLimits (line 10) | class EvaluationLimits: class EvaluationResult (line 17) | class EvaluationResult: class EvaluationSummary (line 27) | class EvaluationSummary: FILE: autocontext/src/autocontext/harness/meta/advisor.py class AdvisorConfig (line 20) | class AdvisorConfig: function _model_tier (line 29) | def _model_tier(model: str) -> int: function _cheaper_model (line 36) | def _cheaper_model(model: str) -> str | None: function _more_capable_model (line 43) | def _more_capable_model(model: str) -> str | None: class ConfigAdvisor (line 50) | class ConfigAdvisor: method __init__ (line 53) | def __init__( method recommend (line 63) | def recommend(self) -> list[ConfigRecommendation]: method summary (line 75) | def summary(self) -> str: method _check_model (line 88) | def _check_model(self, role: str, profile: RoleProfile) -> list[Config... method _check_cadence (line 135) | def _check_cadence(self, role: str, profile: RoleProfile) -> list[Conf... FILE: autocontext/src/autocontext/harness/meta/collector.py class MetricsCollector (line 11) | class MetricsCollector: method __init__ (line 14) | def __init__(self) -> None: method add (line 18) | def add(self, metric: RoleMetric) -> None: method add_generation (line 22) | def add_generation(self, metrics: list[RoleMetric]) -> None: method for_role (line 26) | def for_role(self, role: str) -> list[RoleMetric]: method roles (line 33) | def roles(self) -> set[str]: method generation_count (line 37) | def generation_count(self) -> int: method latest_generation (line 41) | def latest_generation(self) -> int | None: method clear (line 47) | def clear(self) -> None: method save (line 51) | def save(self, path: Path) -> None: method load (line 70) | def load(cls, path: Path) -> MetricsCollector: FILE: autocontext/src/autocontext/harness/meta/profiler.py class PerformanceProfiler (line 10) | class PerformanceProfiler: method __init__ (line 13) | def __init__(self, collector: MetricsCollector, min_observations: int ... method profile (line 17) | def profile(self, role: str) -> RoleProfile | None: method all_profiles (line 23) | def all_profiles(self) -> dict[str, RoleProfile]: method ranked_by_efficiency (line 31) | def ranked_by_efficiency(self) -> list[RoleProfile]: method ranked_by_cost (line 38) | def ranked_by_cost(self) -> list[RoleProfile]: method summary (line 42) | def summary(self) -> str: method _build_profile (line 60) | def _build_profile(role: str, observations: list[RoleMetric]) -> RoleP... FILE: autocontext/src/autocontext/harness/meta/types.py class RoleMetric (line 8) | class RoleMetric: method total_tokens (line 21) | def total_tokens(self) -> int: class RoleProfile (line 26) | class RoleProfile: class ConfigRecommendation (line 40) | class ConfigRecommendation: FILE: autocontext/src/autocontext/harness/meta_optimizer.py class MetaOptimizer (line 21) | class MetaOptimizer: method __init__ (line 24) | def __init__( method from_settings (line 39) | def from_settings(cls, settings: AppSettings) -> MetaOptimizer: method record_llm_call (line 75) | def record_llm_call(self, role: str, usage: RoleUsage, generation: int... method record_gate_decision (line 92) | def record_gate_decision(self, decision: str, delta: float, generation... method record_generation (line 104) | def record_generation( method cost_summary (line 130) | def cost_summary(self) -> CostSummary | None: method generation_costs (line 136) | def generation_costs(self) -> list[tuple[int, float]]: method profiles (line 142) | def profiles(self) -> dict[str, RoleProfile]: method recommendations (line 148) | def recommendations(self) -> list[ConfigRecommendation]: method report (line 154) | def report(self) -> str: FILE: autocontext/src/autocontext/harness/mutations/applier.py function apply_mutations (line 8) | def apply_mutations( function get_active_completion_checks (line 32) | def get_active_completion_checks(mutations: list[HarnessMutation]) -> li... FILE: autocontext/src/autocontext/harness/mutations/gate.py class GateResult (line 13) | class GateResult: function evaluate_mutation (line 20) | def evaluate_mutation(mutation: HarnessMutation) -> GateResult: FILE: autocontext/src/autocontext/harness/mutations/parser.py function parse_mutations (line 18) | def parse_mutations(content: str) -> list[HarnessMutation]: FILE: autocontext/src/autocontext/harness/mutations/spec.py class MutationType (line 11) | class MutationType(StrEnum): class HarnessMutation (line 19) | class HarnessMutation: method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: method from_dict (line 46) | def from_dict(cls, data: dict[str, Any]) -> HarnessMutation: FILE: autocontext/src/autocontext/harness/mutations/store.py class MutationStore (line 18) | class MutationStore: method __init__ (line 21) | def __init__(self, root: Path) -> None: method _scenario_dir (line 24) | def _scenario_dir(self, scenario_name: str) -> Path: method save (line 27) | def save(self, scenario_name: str, mutations: list[HarnessMutation]) -... method load (line 45) | def load(self, scenario_name: str) -> list[HarnessMutation]: method list_versions (line 56) | def list_versions(self, scenario_name: str) -> list[str]: method rollback (line 70) | def rollback(self, scenario_name: str) -> bool: FILE: autocontext/src/autocontext/harness/optimizer/pareto.py class ActionableSideInfo (line 23) | class ActionableSideInfo: method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: method from_dict (line 42) | def from_dict(cls, data: dict[str, Any]) -> ActionableSideInfo: class OptimizationObjective (line 53) | class OptimizationObjective: method is_better (line 59) | def is_better(self, a: float, b: float) -> bool: class Candidate (line 67) | class Candidate: method dominates (line 76) | def dominates( class ParetoFrontier (line 96) | class ParetoFrontier: method __init__ (line 99) | def __init__(self, objectives: list[OptimizationObjective]) -> None: method add (line 103) | def add(self, candidate: Candidate) -> bool: method candidates (line 119) | def candidates(self) -> list[Candidate]: method best_for (line 122) | def best_for(self, objective_name: str) -> Candidate | None: function merge_candidates (line 142) | def merge_candidates(a: Candidate, b: Candidate) -> Candidate: FILE: autocontext/src/autocontext/harness/orchestration/dag.py class RoleDAG (line 8) | class RoleDAG: method __init__ (line 9) | def __init__(self, roles: list[RoleSpec]) -> None: method validate (line 13) | def validate(self) -> None: method execution_batches (line 24) | def execution_batches(self) -> list[list[str]]: method add_role (line 47) | def add_role(self, role: RoleSpec) -> None: method remove_role (line 67) | def remove_role(self, name: str) -> None: method roles (line 78) | def roles(self) -> dict[str, RoleSpec]: FILE: autocontext/src/autocontext/harness/orchestration/engine.py class PipelineEngine (line 14) | class PipelineEngine: method __init__ (line 15) | def __init__(self, dag: RoleDAG, handler: RoleHandler, max_workers: in... method execute (line 20) | def execute( FILE: autocontext/src/autocontext/harness/orchestration/types.py class RoleSpec (line 9) | class RoleSpec: class PipelineConfig (line 20) | class PipelineConfig: method __post_init__ (line 25) | def __post_init__(self) -> None: FILE: autocontext/src/autocontext/harness/pipeline/advancement.py class AdvancementMetrics (line 27) | class AdvancementMetrics(BaseModel): method delta (line 48) | def delta(self) -> float: method to_dict (line 51) | def to_dict(self) -> dict[str, Any]: method from_dict (line 57) | def from_dict(cls, data: dict[str, Any]) -> AdvancementMetrics: class AdvancementRationale (line 61) | class AdvancementRationale(BaseModel): method to_dict (line 72) | def to_dict(self) -> dict[str, Any]: method from_dict (line 76) | def from_dict(cls, data: dict[str, Any]) -> AdvancementRationale: function evaluate_advancement (line 80) | def evaluate_advancement( FILE: autocontext/src/autocontext/harness/pipeline/gate.py class GateDecision (line 9) | class GateDecision: class BackpressureGate (line 17) | class BackpressureGate: method __init__ (line 18) | def __init__(self, min_delta: float = 0.005) -> None: method evaluate (line 21) | def evaluate(self, previous_best: float, current_best: float, retry_co... FILE: autocontext/src/autocontext/harness/pipeline/holdout.py class HoldoutPolicy (line 23) | class HoldoutPolicy(BaseModel): method to_dict (line 33) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> HoldoutPolicy: class HoldoutResult (line 41) | class HoldoutResult(BaseModel): method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: method from_dict (line 56) | def from_dict(cls, data: dict[str, Any]) -> HoldoutResult: function holdout_check (line 60) | def holdout_check( class HoldoutVerifier (line 120) | class HoldoutVerifier: method __init__ (line 123) | def __init__( method verify (line 131) | def verify( FILE: autocontext/src/autocontext/harness/pipeline/objective_guardrail.py class ObjectiveGuardrailPolicy (line 23) | class ObjectiveGuardrailPolicy(BaseModel): method to_dict (line 33) | def to_dict(self) -> dict[str, Any]: method from_dict (line 37) | def from_dict(cls, data: dict[str, Any]) -> ObjectiveGuardrailPolicy: class GuardrailResult (line 41) | class GuardrailResult(BaseModel): method to_dict (line 50) | def to_dict(self) -> dict[str, Any]: method from_dict (line 54) | def from_dict(cls, data: dict[str, Any]) -> GuardrailResult: function check_objective_guardrail (line 58) | def check_objective_guardrail( function resolve_objective_guardrail_policy (line 121) | def resolve_objective_guardrail_policy( function evaluate_objective_guardrail (line 133) | def evaluate_objective_guardrail( class ForecastClaim (line 171) | class ForecastClaim: function settle_forecasts (line 181) | def settle_forecasts(claims: list[ForecastClaim]) -> dict[str, Any]: FILE: autocontext/src/autocontext/harness/pipeline/retry_context.py class RetryContext (line 10) | class RetryContext: FILE: autocontext/src/autocontext/harness/pipeline/trend_gate.py class ScoreHistory (line 11) | class ScoreHistory: class TrendAwareGate (line 16) | class TrendAwareGate: method __init__ (line 17) | def __init__( method evaluate (line 30) | def evaluate( FILE: autocontext/src/autocontext/harness/pipeline/validity_gate.py class ValidityGateResult (line 22) | class ValidityGateResult: class ValidityGate (line 32) | class ValidityGate: method __init__ (line 41) | def __init__( method check (line 53) | def check(self, strategy: dict[str, Any], state: dict[str, Any] | None... method consume_retry (line 99) | def consume_retry(self) -> bool: method reset (line 109) | def reset(self) -> None: FILE: autocontext/src/autocontext/harness/repl/monty_worker.py function _create_repl_monty (line 20) | def _create_repl_monty(code: str, inputs: list[str], external_functions:... function _stdlib_dispatch (line 57) | def _stdlib_dispatch(module_name: str, func_name: str, *args: Any) -> Any: function _rewrite_trailing_expr (line 85) | def _rewrite_trailing_expr(code: str) -> str: class MontyReplWorker (line 148) | class MontyReplWorker: method __init__ (line 157) | def __init__( method namespace (line 176) | def namespace(self) -> dict[str, Any]: method _separate_namespace (line 179) | def _separate_namespace(self) -> tuple[dict[str, Any], dict[str, Calla... method _build_dispatch (line 190) | def _build_dispatch( method run_code (line 212) | def run_code(self, command: ReplCommand) -> ReplResult: FILE: autocontext/src/autocontext/harness/repl/session.py function _extract_code_block (line 73) | def _extract_code_block(text: str) -> str | None: function _extract_final_answer_marker (line 82) | def _extract_final_answer_marker(text: str) -> str | None: function _natural_closure_content (line 90) | def _natural_closure_content(text: str) -> str | None: function _is_read_only_code (line 98) | def _is_read_only_code(code: str) -> bool: function _set_answer_content (line 114) | def _set_answer_content(namespace: dict[str, Any], content: str) -> None: function _answer_content (line 122) | def _answer_content(namespace: dict[str, Any]) -> str: function _snapshot_value (line 130) | def _snapshot_value(value: Any) -> Any: function _progress_signature (line 154) | def _progress_signature(namespace: dict[str, Any]) -> str: function _turn_progress_signature (line 167) | def _turn_progress_signature( function make_llm_batch (line 184) | def make_llm_batch( class RlmSession (line 220) | class RlmSession: method __init__ (line 223) | def __init__( method run (line 248) | def run(self) -> RoleExecution: FILE: autocontext/src/autocontext/harness/repl/types.py class ReplWorkerProtocol (line 10) | class ReplWorkerProtocol(Protocol): method namespace (line 14) | def namespace(self) -> dict[str, Any]: ... method run_code (line 16) | def run_code(self, command: ReplCommand) -> ReplResult: ... class ReplCommand (line 20) | class ReplCommand: class ReplResult (line 27) | class ReplResult: class ExecutionRecord (line 36) | class ExecutionRecord: class RlmContext (line 47) | class RlmContext: FILE: autocontext/src/autocontext/harness/repl/worker.py function _peek (line 28) | def _peek(text: str, start: int = 0, length: int = 2000) -> str: function _grep (line 33) | def _grep(text: str, pattern: str, *, context: int = 0) -> list[str]: function _chunk_by_size (line 48) | def _chunk_by_size(text: str, size: int = 4000, overlap: int = 0) -> lis... function _chunk_by_headers (line 67) | def _chunk_by_headers(text: str, pattern: str = r"^#{1,3} ") -> list[dic... class CodeTimeout (line 116) | class CodeTimeout(BaseException): function _build_restricted_builtins (line 124) | def _build_restricted_builtins() -> dict[str, Any]: class ReplWorker (line 138) | class ReplWorker: method __init__ (line 150) | def __init__( method namespace (line 171) | def namespace(self) -> dict[str, Any]: method run_code (line 174) | def run_code(self, command: ReplCommand) -> ReplResult: method _execute_with_timeout (line 229) | def _execute_with_timeout(self, fn: Any) -> Any: method _timeout_via_signal (line 235) | def _timeout_via_signal(self, fn: Any) -> Any: method _timeout_via_thread (line 247) | def _timeout_via_thread(self, fn: Any) -> Any: FILE: autocontext/src/autocontext/harness/scoring/backends.py function _normalize_score (line 31) | def _normalize_score(score: float) -> float: class TrialResult (line 35) | class TrialResult(BaseModel): method is_win (line 43) | def is_win(self, threshold: float = _WIN_THRESHOLD) -> bool: method to_dict (line 46) | def to_dict(self) -> dict[str, Any]: method from_dict (line 50) | def from_dict(cls, data: dict[str, Any]) -> TrialResult: class RatingUpdate (line 56) | class RatingUpdate: class ScoringBackend (line 67) | class ScoringBackend(ABC): method name (line 72) | def name(self) -> str: method default_uncertainty (line 76) | def default_uncertainty(self) -> float | None: method update (line 81) | def update( class EloBackend (line 90) | class EloBackend(ScoringBackend): method __init__ (line 93) | def __init__(self, k_factor: float = _ELO_K) -> None: method name (line 97) | def name(self) -> str: method update (line 100) | def update( class GlickoBackend (line 125) | class GlickoBackend(ScoringBackend): method __init__ (line 128) | def __init__(self, default_rd: float = 350.0) -> None: method name (line 132) | def name(self) -> str: method default_uncertainty (line 136) | def default_uncertainty(self) -> float | None: method update (line 139) | def update( function get_backend (line 185) | def get_backend(name: str) -> ScoringBackend: FILE: autocontext/src/autocontext/harness/scoring/elo.py function expected_score (line 6) | def expected_score(player_rating: float, opponent_rating: float) -> float: function update_elo (line 10) | def update_elo(player_rating: float, opponent_rating: float, actual_scor... FILE: autocontext/src/autocontext/harness/storage/versioned_store.py class VersionedFileStore (line 8) | class VersionedFileStore: method __init__ (line 11) | def __init__( method _versions_dir (line 25) | def _versions_dir(self, name: str) -> Path: method _version_glob (line 31) | def _version_glob(self) -> str: method _version_path (line 35) | def _version_path(self, versions_dir: Path, num: int) -> Path: method write (line 39) | def write(self, name: str, content: str) -> None: method read (line 53) | def read(self, name: str, default: str = "") -> str: method rollback (line 58) | def rollback(self, name: str) -> bool: method version_count (line 73) | def version_count(self, name: str) -> int: method read_version (line 80) | def read_version(self, name: str, version: int) -> str: method _prune (line 86) | def _prune(self, versions_dir: Path) -> None: FILE: autocontext/src/autocontext/harness/validation/staged.py class StageStatus (line 26) | class StageStatus(StrEnum): class StageResult (line 35) | class StageResult: method passed (line 46) | def passed(self) -> bool: class ValidationStage (line 51) | class ValidationStage(ABC): method __init__ (line 59) | def __init__(self, order: int) -> None: method order (line 63) | def order(self) -> int: method name (line 69) | def name(self) -> str: method run (line 73) | def run(self, candidate: Any, scenario: Any) -> StageResult: class ValidationPipeline (line 85) | class ValidationPipeline: method __init__ (line 99) | def __init__(self, stages: list[ValidationStage]) -> None: method run (line 102) | def run(self, candidate: Any, scenario: Any) -> list[StageResult]: method all_passed (line 140) | def all_passed(results: Sequence[StageResult]) -> bool: method failed_stage (line 145) | def failed_stage(results: Sequence[StageResult]) -> str | None: FILE: autocontext/src/autocontext/harness/validation/stages.py class SyntaxStage (line 34) | class SyntaxStage(ValidationStage): method name (line 38) | def name(self) -> str: method run (line 41) | def run(self, candidate: Any, scenario: Any) -> StageResult: class ContractStage (line 93) | class ContractStage(ValidationStage): method name (line 97) | def name(self) -> str: method run (line 100) | def run(self, candidate: Any, scenario: Any) -> StageResult: class DeterministicStage (line 151) | class DeterministicStage(ValidationStage): method __init__ (line 154) | def __init__(self, order: int, *, timeout_seconds: float = DEFAULT_STA... method name (line 159) | def name(self) -> str: method run (line 162) | def run(self, candidate: Any, scenario: Any) -> StageResult: class EdgeCaseStage (line 234) | class EdgeCaseStage(ValidationStage): method __init__ (line 237) | def __init__(self, order: int, *, timeout_seconds: float = DEFAULT_STA... method name (line 242) | def name(self) -> str: method run (line 245) | def run(self, candidate: Any, scenario: Any) -> StageResult: class EvaluationReadyStage (line 346) | class EvaluationReadyStage(ValidationStage): method __init__ (line 349) | def __init__(self, order: int, *, timeout_seconds: float = DEFAULT_STA... method name (line 354) | def name(self) -> str: method run (line 357) | def run(self, candidate: Any, scenario: Any) -> StageResult: class ValidationMetrics (line 424) | class ValidationMetrics: method __init__ (line 431) | def __init__(self) -> None: method record (line 437) | def record(self, results: list[StageResult]) -> None: method estimated_evaluations_saved (line 450) | def estimated_evaluations_saved(self) -> int: method to_event_payload (line 454) | def to_event_payload(self) -> dict[str, Any]: method reset (line 464) | def reset(self) -> None: class ValidationRunner (line 475) | class ValidationRunner: method __init__ (line 483) | def __init__(self, pipeline: ValidationPipeline) -> None: method metrics (line 488) | def metrics(self) -> ValidationMetrics: method validate (line 491) | def validate(self, candidate: Any, scenario: Any) -> list[StageResult]: method reset_metrics (line 497) | def reset_metrics(self) -> None: function default_pipeline (line 505) | def default_pipeline() -> ValidationPipeline: function _elapsed (line 519) | def _elapsed(t0: float) -> float: function _load_choose_action (line 523) | def _load_choose_action(source: str, *, timeout_seconds: float = DEFAULT... function _run_choose_action (line 542) | def _run_choose_action( FILE: autocontext/src/autocontext/hermes/advisor.py class SkillFeatures (line 52) | class SkillFeatures: method activity_count (line 70) | def activity_count(self) -> int: class CuratorDecisionExample (line 75) | class CuratorDecisionExample: method activity_count (line 94) | def activity_count(self) -> int: method features (line 98) | def features(self) -> SkillFeatures: class LabelMetrics (line 112) | class LabelMetrics: method to_dict (line 119) | def to_dict(self) -> dict[str, Any]: class AdvisorMetrics (line 124) | class AdvisorMetrics: method to_dict (line 132) | def to_dict(self) -> dict[str, Any]: class Advisor (line 141) | class Advisor(Protocol): method predict (line 144) | def predict(self, features: SkillFeatures) -> str: ... class BaselineAdvisor (line 148) | class BaselineAdvisor: method predict (line 159) | def predict(self, features: SkillFeatures) -> str: # noqa: ARG002 (un... function train_baseline (line 163) | def train_baseline(examples: list[CuratorDecisionExample]) -> BaselineAd... function evaluate (line 179) | def evaluate(advisor: Advisor, examples: list[CuratorDecisionExample]) -... function load_curator_examples (line 222) | def load_curator_examples(path: Path) -> list[CuratorDecisionExample]: function _example_from_row (line 246) | def _example_from_row(row: Any) -> CuratorDecisionExample | None: function _as_int (line 279) | def _as_int(value: Any) -> int | None: FILE: autocontext/src/autocontext/hermes/curator_ingest.py class IngestSummary (line 36) | class IngestSummary: function ingest_curator_reports (line 46) | def ingest_curator_reports( function _effective_started_at (line 153) | def _effective_started_at(data: dict[str, Any], path: Path) -> datetime: function _curator_run_to_trace (line 165) | def _curator_run_to_trace( function _build_summary_text (line 260) | def _build_summary_text( function _build_tool_calls (line 277) | def _build_tool_calls(raw: Any, *, include_tool_args: bool) -> list[dict... function _parse_json (line 298) | def _parse_json(text: str) -> dict[str, Any]: function _parse_iso (line 307) | def _parse_iso(value: str) -> datetime | None: function _add_seconds (line 317) | def _add_seconds(started_at: str, seconds: float) -> datetime | None: function _as_str (line 324) | def _as_str(value: Any) -> str | None: function _as_float (line 328) | def _as_float(value: Any) -> float | None: function _as_dict (line 334) | def _as_dict(value: Any) -> dict[str, Any]: function _as_str_list (line 338) | def _as_str_list(value: Any) -> list[str]: FILE: autocontext/src/autocontext/hermes/dataset_export.py class ExportSummary (line 80) | class ExportSummary: function export_dataset (line 89) | def export_dataset( function export_curator_decisions (line 112) | def export_curator_decisions( function _collect_action_labels (line 190) | def _collect_action_labels(run: CuratorRunSummary) -> dict[str, str]: function _is_valid_target (line 214) | def _is_valid_target( function _collect_protected_names (line 245) | def _collect_protected_names(*, home: Path, inventory: HermesInventory) ... function _effective_started_at (line 298) | def _effective_started_at(run: CuratorRunSummary) -> datetime: function _build_example (line 309) | def _build_example( function _read_run_json (line 361) | def _read_run_json(path: Path) -> dict[str, Any]: function _parse_iso (line 370) | def _parse_iso(value: str) -> datetime | None: function _as_name_list (line 380) | def _as_name_list(value: Any) -> list[str]: FILE: autocontext/src/autocontext/hermes/inspection.py class HermesSkill (line 18) | class HermesSkill: method agent_created (line 37) | def agent_created(self) -> bool: method activity_count (line 41) | def activity_count(self) -> int: method last_activity_at (line 45) | def last_activity_at(self) -> str | None: method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: class CuratorRunSummary (line 75) | class CuratorRunSummary: method to_dict (line 91) | def to_dict(self) -> dict[str, Any]: class CuratorInventory (line 109) | class CuratorInventory: method to_dict (line 117) | def to_dict(self) -> dict[str, Any]: class HermesInventory (line 127) | class HermesInventory: method skills_by_name (line 145) | def skills_by_name(self) -> dict[str, HermesSkill]: method to_dict (line 148) | def to_dict(self) -> dict[str, Any]: function inspect_hermes_home (line 166) | def inspect_hermes_home(hermes_home: str | Path | None = None) -> Hermes... function _resolve_hermes_home (line 212) | def _resolve_hermes_home(hermes_home: str | Path | None) -> Path: function _iter_active_skill_files (line 221) | def _iter_active_skill_files(skills_root: Path) -> tuple[Path, ...]: function _iter_archived_skill_files (line 239) | def _iter_archived_skill_files(skills_root: Path) -> tuple[Path, ...]: function _skill_from_path (line 246) | def _skill_from_path( function _read_skill_frontmatter (line 277) | def _read_skill_frontmatter(skill_md: Path) -> dict[str, Any]: function _read_usage (line 299) | def _read_usage(path: Path) -> dict[str, dict[str, Any]]: function _read_bundled_manifest_names (line 308) | def _read_bundled_manifest_names(path: Path) -> set[str]: function _read_hub_installed_names (line 323) | def _read_hub_installed_names(path: Path) -> set[str]: function _inspect_curator (line 331) | def _inspect_curator(reports_root: Path) -> CuratorInventory: function _curator_run_from_path (line 342) | def _curator_run_from_path(path: Path) -> CuratorRunSummary: function _curator_sort_key (line 364) | def _curator_sort_key(run: CuratorRunSummary) -> tuple[datetime, str]: function _read_json_object (line 375) | def _read_json_object(path: Path) -> dict[str, Any]: function _provenance (line 385) | def _provenance(name: str, *, bundled_names: set[str], hub_names: set[st... function _latest_activity_at (line 393) | def _latest_activity_at(*values: str | None) -> str | None: function _parse_iso_datetime (line 406) | def _parse_iso_datetime(value: str | None) -> datetime | None: function _as_str (line 418) | def _as_str(value: Any) -> str | None: function _as_int (line 424) | def _as_int(value: Any) -> int: function _as_float (line 431) | def _as_float(value: Any) -> float | None: function _as_dict (line 440) | def _as_dict(value: Any) -> dict[str, Any]: function _is_relative_to (line 444) | def _is_relative_to(path: Path, parent: Path) -> bool: FILE: autocontext/src/autocontext/hermes/plugin_emitter.py class PluginEmitterError (line 62) | class PluginEmitterError(Exception): class LLMCallEvent (line 71) | class LLMCallEvent: class ToolCallEvent (line 82) | class ToolCallEvent: class TraceSink (line 91) | class TraceSink(Protocol): method write (line 98) | def write(self, trace: dict[str, Any]) -> None: ... method close (line 100) | def close(self) -> None: ... class LocalJsonlSink (line 104) | class LocalJsonlSink: method write (line 117) | def write(self, trace: dict[str, Any]) -> None: method close (line 130) | def close(self) -> None: class _SessionState (line 138) | class _SessionState: class HermesTraceEmitter (line 147) | class HermesTraceEmitter: method start_session (line 167) | def start_session(self, *, session_id: str, agent_id: str) -> None: method record_llm_call (line 179) | def record_llm_call(self, *, session_id: str, event: LLMCallEvent) -> ... method record_tool_call (line 202) | def record_tool_call(self, *, session_id: str, event: ToolCallEvent) -... method finalize_session (line 212) | def finalize_session(self, *, session_id: str) -> None: method _build_trace (line 224) | def _build_trace(self, state: _SessionState) -> dict[str, Any]: function _now_iso (line 277) | def _now_iso() -> str: function _accumulate (line 281) | def _accumulate(target: RedactionStats, source: RedactionStats) -> None: FILE: autocontext/src/autocontext/hermes/recommendations.py class Recommendation (line 40) | class Recommendation: method to_dict (line 50) | def to_dict(self) -> dict[str, Any]: function recommend (line 70) | def recommend( function _is_protected (line 109) | def _is_protected(skill: HermesSkill) -> bool: function _features_from_skill (line 115) | def _features_from_skill(skill: HermesSkill) -> SkillFeatures: function _default_reason (line 129) | def _default_reason(advisor: Advisor) -> str: FILE: autocontext/src/autocontext/hermes/redaction.py class UserPattern (line 38) | class UserPattern: class RedactionPolicy (line 50) | class RedactionPolicy: method __post_init__ (line 64) | def __post_init__(self) -> None: class RedactionStats (line 74) | class RedactionStats: method add (line 80) | def add(self, category: str, count: int = 1) -> None: method to_dict (line 84) | def to_dict(self) -> dict[str, Any]: function redact_text (line 88) | def redact_text(text: str, policy: RedactionPolicy) -> tuple[str, Redact... function compile_user_patterns (line 117) | def compile_user_patterns(raw: list[dict[str, str]] | None) -> tuple[Use... function redact_value (line 142) | def redact_value(value: Any, policy: RedactionPolicy) -> tuple[Any, Reda... function _walk (line 159) | def _walk(value: Any, *, policy: RedactionPolicy, stats: RedactionStats)... FILE: autocontext/src/autocontext/hermes/references.py function list_references (line 307) | def list_references() -> tuple[str, ...]: function render_reference (line 313) | def render_reference(name: str) -> str: FILE: autocontext/src/autocontext/hermes/session_ingest.py class SessionIngestSummary (line 42) | class SessionIngestSummary: method to_dict (line 54) | def to_dict(self) -> dict[str, Any]: function ingest_session_db (line 67) | def ingest_session_db( function _session_to_trace (line 142) | def _session_to_trace( function _session_summary_text (line 213) | def _session_summary_text(session: HermesSession, *, message_count: int)... function _normalize_role (line 226) | def _normalize_role(role: str) -> str: function _parse_iso (line 239) | def _parse_iso(value: str) -> datetime | None: function _latency_ms (line 250) | def _latency_ms(started_at: str, ended_at: str) -> int: function _now_iso (line 258) | def _now_iso() -> str: FILE: autocontext/src/autocontext/hermes/sessions.py class SessionDBMissing (line 34) | class SessionDBMissing(FileNotFoundError): class HermesSession (line 44) | class HermesSession: class HermesMessage (line 55) | class HermesMessage: class HermesSessionRepository (line 73) | class HermesSessionRepository: method __init__ (line 82) | def __init__(self, db_path: Path) -> None: method db_path (line 93) | def db_path(self) -> Path: method iter_sessions (line 96) | def iter_sessions(self, *, since: datetime | None = None) -> Iterator[... method iter_messages (line 123) | def iter_messages(self, session_id: str) -> Iterator[HermesMessage]: method _table_names (line 139) | def _table_names(self) -> set[str]: method _existing_columns (line 143) | def _existing_columns(self, table: str, expected: tuple[str, ...]) -> ... method _row_to_session (line 150) | def _row_to_session(self, row: sqlite3.Row, cols: tuple[str, ...]) -> ... method _row_to_message (line 160) | def _row_to_message(self, row: sqlite3.Row, cols: tuple[str, ...]) -> ... function _as_str (line 172) | def _as_str(value: Any) -> str | None: function _parse_metadata (line 176) | def _parse_metadata(value: Any) -> dict[str, Any]: function _parse_iso (line 190) | def _parse_iso(value: str | None) -> datetime | None: FILE: autocontext/src/autocontext/hermes/skill.py function render_autocontext_skill (line 9) | def render_autocontext_skill() -> str: FILE: autocontext/src/autocontext/hermes/trajectory_ingest.py class TrajectoryIngestSummary (line 61) | class TrajectoryIngestSummary: method to_dict (line 73) | def to_dict(self) -> dict[str, Any]: function ingest_trajectory_jsonl (line 86) | def ingest_trajectory_jsonl( function _same_file (line 182) | def _same_file(a: Path, b: Path) -> bool: function _redact_trajectory (line 198) | def _redact_trajectory( function _redact_message (line 236) | def _redact_message( function _accumulate (line 252) | def _accumulate(target: RedactionStats, source: RedactionStats) -> None: FILE: autocontext/src/autocontext/integrations/_shared/identity.py function resolve_identity (line 15) | def resolve_identity( FILE: autocontext/src/autocontext/integrations/_shared/session.py function autocontext_session (line 22) | def autocontext_session( function current_session (line 42) | def current_session() -> dict[str, str]: FILE: autocontext/src/autocontext/integrations/_shared/sink.py class TraceSink (line 23) | class TraceSink(Protocol): method add (line 24) | def add(self, trace: dict[str, Any]) -> None: ... method flush (line 25) | def flush(self) -> None: ... method close (line 26) | def close(self) -> None: ... class FileSink (line 29) | class FileSink: method __init__ (line 37) | def __init__( method add (line 57) | def add(self, trace: dict[str, Any]) -> None: method flush (line 68) | def flush(self) -> None: method close (line 72) | def close(self) -> None: method _flush_locked (line 79) | def _flush_locked(self) -> None: method _atexit_handler (line 99) | def _atexit_handler(self) -> None: FILE: autocontext/src/autocontext/integrations/anthropic/_content.py function flatten_content (line 7) | def flatten_content(content: str | list[dict[str, Any]]) -> str: function extract_tool_uses (line 20) | def extract_tool_uses( FILE: autocontext/src/autocontext/integrations/anthropic/_proxy.py function _now_iso (line 24) | def _now_iso() -> str: function _is_async_client (line 28) | def _is_async_client(client: Any) -> bool: function _response_usage_and_content (line 37) | def _response_usage_and_content(response: Any) -> tuple[dict[str, Any] |... class _MessagesProxy (line 50) | class _MessagesProxy: method __init__ (line 51) | def __init__(self, parent: ClientProxy) -> None: method create (line 54) | def create(self, **kwargs: Any) -> Any: method stream (line 64) | def stream(self, **kwargs: Any) -> Any: class ClientProxy (line 70) | class ClientProxy: method __init__ (line 71) | def __init__( method __getattr__ (line 86) | def __getattr__(self, name: str) -> Any: method _source_info (line 91) | def _source_info(self) -> dict[str, Any]: method _env (line 99) | def _env(self) -> dict[str, Any]: method _invoke_non_streaming (line 102) | def _invoke_non_streaming(self, *, kwargs: dict[str, Any]) -> Any: method _invoke_non_streaming_async (line 147) | async def _invoke_non_streaming_async(self, *, kwargs: dict[str, Any])... method _invoke_streaming (line 192) | def _invoke_streaming(self, *, kwargs: dict[str, Any]) -> Any: method _invoke_helper_streaming (line 227) | def _invoke_helper_streaming(self, *, kwargs: dict[str, Any]) -> Any: method _invoke_streaming_async (line 302) | def _invoke_streaming_async(self, *, kwargs: dict[str, Any]) -> Any: method _invoke_helper_streaming_async (line 346) | def _invoke_helper_streaming_async(self, *, kwargs: dict[str, Any]) ->... FILE: autocontext/src/autocontext/integrations/anthropic/_stream.py class _Accumulator (line 11) | class _Accumulator: method __init__ (line 12) | def __init__(self) -> None: method on_message_start (line 17) | def on_message_start(self, ev: dict[str, Any]) -> None: method on_content_block_start (line 22) | def on_content_block_start(self, ev: dict[str, Any]) -> None: method on_content_block_delta (line 28) | def on_content_block_delta(self, ev: dict[str, Any]) -> None: method on_content_block_stop (line 38) | def on_content_block_stop(self, ev: dict[str, Any]) -> None: method on_message_delta (line 50) | def on_message_delta(self, ev: dict[str, Any]) -> None: method handle_event (line 60) | def handle_event(self, ev: dict[str, Any]) -> bool: function _abandoned_callback (line 78) | def _abandoned_callback( class StreamProxy (line 92) | class StreamProxy: method __init__ (line 95) | def __init__( method __enter__ (line 108) | def __enter__(self) -> StreamProxy: method __exit__ (line 111) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: method __iter__ (line 130) | def __iter__(self) -> StreamProxy: method __next__ (line 133) | def __next__(self) -> Any: method text_stream (line 151) | def text_stream(self) -> Generator[str, None, None]: method accumulated (line 160) | def accumulated(self) -> _Accumulator: class AsyncStreamProxy (line 164) | class AsyncStreamProxy: method __init__ (line 167) | def __init__( method __aenter__ (line 180) | async def __aenter__(self) -> AsyncStreamProxy: method __aexit__ (line 183) | async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) ->... method __aiter__ (line 202) | def __aiter__(self) -> AsyncStreamProxy: method __anext__ (line 205) | async def __anext__(self) -> Any: method text_stream (line 223) | def text_stream(self) -> AsyncGenerator[str, None]: method accumulated (line 233) | def accumulated(self) -> _Accumulator: class HelperStreamProxy (line 237) | class HelperStreamProxy: method __init__ (line 240) | def __init__( method _emit_success (line 254) | def _emit_success(self, message: Any) -> None: method _emit_failure (line 260) | def _emit_failure(self, exc: BaseException) -> None: method _emit_partial (line 266) | def _emit_partial(self) -> None: method __iter__ (line 276) | def __iter__(self) -> HelperStreamProxy: method __next__ (line 279) | def __next__(self) -> Any: method __enter__ (line 297) | def __enter__(self) -> HelperStreamProxy: method __exit__ (line 300) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: method close (line 307) | def close(self) -> None: method get_final_message (line 310) | def get_final_message(self) -> Any: method get_final_text (line 319) | def get_final_text(self) -> str: method until_done (line 328) | def until_done(self) -> None: method current_message_snapshot (line 337) | def current_message_snapshot(self) -> Any: method request_id (line 341) | def request_id(self) -> str | None: method response (line 346) | def response(self) -> Any: method text_stream (line 350) | def text_stream(self) -> Generator[str, None, None]: class HelperStreamManagerProxy (line 359) | class HelperStreamManagerProxy: method __init__ (line 362) | def __init__( method __enter__ (line 376) | def __enter__(self) -> HelperStreamProxy: method __exit__ (line 386) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: class AsyncHelperStreamProxy (line 392) | class AsyncHelperStreamProxy: method __init__ (line 395) | def __init__( method _emit_success (line 409) | def _emit_success(self, message: Any) -> None: method _emit_failure (line 415) | def _emit_failure(self, exc: BaseException) -> None: method _emit_partial (line 421) | def _emit_partial(self) -> None: method __aiter__ (line 431) | def __aiter__(self) -> AsyncHelperStreamProxy: method __anext__ (line 434) | async def __anext__(self) -> Any: method __aenter__ (line 452) | async def __aenter__(self) -> AsyncHelperStreamProxy: method __aexit__ (line 455) | async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) ->... method close (line 462) | async def close(self) -> None: method get_final_message (line 465) | async def get_final_message(self) -> Any: method get_final_text (line 474) | async def get_final_text(self) -> str: method until_done (line 483) | async def until_done(self) -> None: method current_message_snapshot (line 492) | def current_message_snapshot(self) -> Any: method request_id (line 496) | def request_id(self) -> str | None: method response (line 501) | def response(self) -> Any: method text_stream (line 505) | def text_stream(self) -> AsyncGenerator[str, None]: class AsyncHelperStreamManagerProxy (line 517) | class AsyncHelperStreamManagerProxy: method __init__ (line 520) | def __init__( method __aenter__ (line 534) | async def __aenter__(self) -> AsyncHelperStreamProxy: method __aexit__ (line 544) | async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) ->... FILE: autocontext/src/autocontext/integrations/anthropic/_taxonomy.py function map_exception_to_reason (line 12) | def map_exception_to_reason(exc: BaseException) -> AnthropicErrorReasonKey: function is_mapped_class_present (line 17) | def is_mapped_class_present(class_name: str) -> bool: FILE: autocontext/src/autocontext/integrations/anthropic/_trace_builder.py function _redact (line 22) | def _redact(msg: str) -> str: function _now_iso (line 28) | def _now_iso() -> str: function _normalize_request_messages (line 32) | def _normalize_request_messages(messages: list[dict[str, Any]]) -> list[... function _map_usage (line 45) | def _map_usage(response_usage: dict[str, Any] | None) -> dict[str, Any]: function build_request_snapshot (line 74) | def build_request_snapshot( function _identity_to_session (line 83) | def _identity_to_session(identity: dict[str, str]) -> dict[str, Any] | N... function _metadata_with_stop_reason (line 92) | def _metadata_with_stop_reason(stop_reason: str | None) -> dict[str, Any... function build_success_trace (line 98) | def build_success_trace( function build_failure_trace (line 140) | def build_failure_trace( function finalize_streaming_trace (line 169) | def finalize_streaming_trace( FILE: autocontext/src/autocontext/integrations/anthropic/_wrap.py function instrument_client (line 14) | def instrument_client( FILE: autocontext/src/autocontext/integrations/browser/chrome_cdp.py class ChromeCdpTransport (line 79) | class ChromeCdpTransport(Protocol): method send (line 80) | async def send(self, method: str, params: dict[str, Any] | None = None... method close (line 81) | async def close(self) -> None: ... class ChromeCdpSession (line 84) | class ChromeCdpSession(BrowserSessionPort): method __init__ (line 87) | def __init__( method navigate (line 103) | async def navigate(self, url: str) -> BrowserAuditEvent: method snapshot (line 127) | async def snapshot(self) -> BrowserSnapshot: method click (line 179) | async def click(self, ref: str) -> BrowserAuditEvent: method fill (line 207) | async def fill( method press (line 242) | async def press(self, key: str) -> BrowserAuditEvent: method screenshot (line 269) | async def screenshot(self, name: str) -> BrowserAuditEvent: method close (line 296) | async def close(self) -> None: method _ensure_domains_enabled (line 299) | async def _ensure_domains_enabled(self) -> None: method _build_action (line 306) | def _build_action(self, action_type: str, params: dict[str, Any]) -> B... method _record_action_result (line 316) | def _record_action_result( method _persist_snapshot_artifacts (line 344) | def _persist_snapshot_artifacts( method _selector_for_ref (line 360) | def _selector_for_ref(self, ref: str) -> str: method _record_interactive_result (line 363) | async def _record_interactive_result( method _read_current_url (line 390) | async def _read_current_url(self) -> str: function _extract_result_value (line 406) | def _extract_result_value(response: dict[str, Any]) -> dict[str, Any]: function _normalize_snapshot_refs (line 416) | def _normalize_snapshot_refs(refs: Any) -> list[dict[str, Any]]: function _evaluate_navigation_url_policy (line 438) | def _evaluate_navigation_url_policy(config: BrowserSessionConfig, url: s... function _click_expression (line 452) | def _click_expression(selector: str) -> str: function _fill_expression (line 464) | def _fill_expression(selector: str, text: str) -> str: function _press_expression (line 482) | def _press_expression(key: str) -> str: function _empty_artifacts (line 495) | def _empty_artifacts() -> BrowserArtifactPaths: function _new_id (line 499) | def _new_id(prefix: str) -> str: function _utcnow (line 503) | def _utcnow() -> datetime: FILE: autocontext/src/autocontext/integrations/browser/chrome_cdp_discovery.py class ChromeCdpDiscoveryError (line 18) | class ChromeCdpDiscoveryError(RuntimeError): class ChromeCdpTarget (line 23) | class ChromeCdpTarget: class ChromeCdpTargetDiscoveryPort (line 32) | class ChromeCdpTargetDiscoveryPort(Protocol): method resolve_websocket_url (line 33) | async def resolve_websocket_url( class ChromeCdpTargetDiscovery (line 41) | class ChromeCdpTargetDiscovery(ChromeCdpTargetDiscoveryPort): method __init__ (line 44) | def __init__( method list_targets (line 53) | async def list_targets(self) -> list[ChromeCdpTarget]: method resolve_websocket_url (line 64) | async def resolve_websocket_url( function select_chrome_cdp_target (line 78) | def select_chrome_cdp_target( function _fetch_json (line 104) | async def _fetch_json(url: str) -> object: function _parse_target (line 111) | def _parse_target(payload: object) -> ChromeCdpTarget | None: function _is_target_allowed (line 130) | def _is_target_allowed(config: BrowserSessionConfig, url: str) -> bool: FILE: autocontext/src/autocontext/integrations/browser/chrome_cdp_runtime.py class ChromeCdpRuntime (line 24) | class ChromeCdpRuntime(BrowserRuntimePort): method __init__ (line 27) | def __init__( method create_session (line 48) | async def create_session(self, config: BrowserSessionConfig) -> Browse... method _resolve_websocket_url (line 59) | async def _resolve_websocket_url(self, config: BrowserSessionConfig) -... function _new_session_id (line 73) | def _new_session_id() -> str: FILE: autocontext/src/autocontext/integrations/browser/chrome_cdp_transport.py class ChromeCdpTransportError (line 13) | class ChromeCdpTransportError(RuntimeError): class ChromeCdpWebSocketTransport (line 17) | class ChromeCdpWebSocketTransport: method __init__ (line 20) | def __init__( method connect (line 36) | async def connect(self) -> None: method send (line 50) | async def send(self, method: str, params: dict[str, Any] | None = None... method close (line 73) | async def close(self) -> None: method _reader_loop (line 85) | async def _reader_loop(self) -> None: method _fail_pending (line 117) | def _fail_pending(self, error: ChromeCdpTransportError) -> None: method _decode_message (line 124) | def _decode_message(self, raw_message: Any) -> dict[str, Any] | None: function _error_message (line 135) | def _error_message(error: dict[str, Any]) -> str: FILE: autocontext/src/autocontext/integrations/browser/context_capture.py class CapturedBrowserContext (line 18) | class CapturedBrowserContext: function capture_browser_context (line 28) | def capture_browser_context( function _capture_browser_context_async (line 48) | async def _capture_browser_context_async( function render_captured_browser_context (line 72) | def render_captured_browser_context(context: CapturedBrowserContext) -> ... function _trim_visible_text (line 87) | def _trim_visible_text(text: str) -> str: FILE: autocontext/src/autocontext/integrations/browser/contract/models.py class Params1 (line 17) | class Params1(BaseModel): class Params4 (line 25) | class Params4(BaseModel): class Params5 (line 32) | class Params5(BaseModel): class Ref (line 39) | class Ref(BaseModel): class BrowserSnapshot (line 51) | class BrowserSnapshot(BaseModel): class Artifacts (line 66) | class Artifacts(BaseModel): class BrowserSessionConfig (line 75) | class BrowserSessionConfig(BaseModel): class Params (line 91) | class Params(BaseModel): class BrowserAction1 (line 98) | class BrowserAction1(BaseModel): class BrowserAction2 (line 110) | class BrowserAction2(BaseModel): class Params2 (line 122) | class Params2(BaseModel): class BrowserAction3 (line 129) | class BrowserAction3(BaseModel): class Params3 (line 141) | class Params3(BaseModel): class BrowserAction4 (line 150) | class BrowserAction4(BaseModel): class BrowserAction5 (line 162) | class BrowserAction5(BaseModel): class BrowserAction6 (line 174) | class BrowserAction6(BaseModel): class BrowserAuditEvent (line 186) | class BrowserAuditEvent(BaseModel): class BrowserContractBundle (line 214) | class BrowserContractBundle(BaseModel): FILE: autocontext/src/autocontext/integrations/browser/evidence.py class BrowserArtifactPaths (line 14) | class BrowserArtifactPaths(TypedDict): class BrowserEvidenceStore (line 20) | class BrowserEvidenceStore: method __init__ (line 23) | def __init__(self, root_dir: str | Path) -> None: method append_audit_event (line 26) | def append_audit_event(self, event: BrowserAuditEvent | dict[str, Any]... method persist_snapshot_artifacts (line 42) | def persist_snapshot_artifacts( method _session_dir (line 79) | def _session_dir(self, session_id: str) -> Path: method _artifact_path (line 82) | def _artifact_path(self, *, session_id: str, subdir: str, filename: st... function _safe_path_component (line 90) | def _safe_path_component(value: str, *, fallback: str) -> str: FILE: autocontext/src/autocontext/integrations/browser/factory.py class ConfiguredBrowserRuntime (line 16) | class ConfiguredBrowserRuntime: function browser_runtime_from_settings (line 23) | def browser_runtime_from_settings( FILE: autocontext/src/autocontext/integrations/browser/policy.py class BrowserPolicyDecision (line 19) | class BrowserPolicyDecision: function normalize_browser_allowed_domains (line 25) | def normalize_browser_allowed_domains(domains: str | list[str]) -> list[... function build_default_browser_session_config (line 38) | def build_default_browser_session_config( function resolve_browser_session_config (line 64) | def resolve_browser_session_config(settings: AppSettings) -> BrowserSess... function evaluate_browser_action_policy (line 78) | def evaluate_browser_action_policy( function _parse_navigation_target (line 108) | def _parse_navigation_target(url: str) -> tuple[str, bool] | None: function _matches_allowed_domain (line 119) | def _matches_allowed_domain(hostname: str, allowed_domain: str) -> bool: FILE: autocontext/src/autocontext/integrations/browser/types.py class BrowserSessionPort (line 15) | class BrowserSessionPort(Protocol): method navigate (line 20) | async def navigate(self, url: str) -> BrowserAuditEvent: ... method snapshot (line 21) | async def snapshot(self) -> BrowserSnapshot: ... method click (line 22) | async def click(self, ref: str) -> BrowserAuditEvent: ... method fill (line 23) | async def fill( method press (line 30) | async def press(self, key: str) -> BrowserAuditEvent: ... method screenshot (line 31) | async def screenshot(self, name: str) -> BrowserAuditEvent: ... method close (line 32) | async def close(self) -> None: ... class BrowserRuntimePort (line 36) | class BrowserRuntimePort(Protocol): method create_session (line 39) | async def create_session(self, config: BrowserSessionConfig) -> Browse... FILE: autocontext/src/autocontext/integrations/browser/validate.py class ValidatedBrowserSessionConfig (line 18) | class ValidatedBrowserSessionConfig(BrowserSessionConfig): method _validate_cross_field_policy (line 20) | def _validate_cross_field_policy(self) -> ValidatedBrowserSessionConfig: function validate_browser_session_config (line 52) | def validate_browser_session_config(data: Any) -> BrowserSessionConfig: function validate_browser_action (line 56) | def validate_browser_action(data: Any) -> BrowserAction: function validate_browser_snapshot (line 60) | def validate_browser_snapshot(data: Any) -> BrowserSnapshot: function validate_browser_audit_event (line 64) | def validate_browser_audit_event(data: Any) -> BrowserAuditEvent: function validate_browser_session_config_dict (line 68) | def validate_browser_session_config_dict(data: Any) -> tuple[bool, list[... function validate_browser_action_dict (line 72) | def validate_browser_action_dict(data: Any) -> tuple[bool, list[str]]: function validate_browser_snapshot_dict (line 76) | def validate_browser_snapshot_dict(data: Any) -> tuple[bool, list[str]]: function validate_browser_audit_event_dict (line 80) | def validate_browser_audit_event_dict(data: Any) -> tuple[bool, list[str]]: function _validate_dict (line 84) | def _validate_dict(data: Any, validator: Any) -> tuple[bool, list[str]]: function _reject_explicit_nulls_for_action (line 92) | def _reject_explicit_nulls_for_action(data: Any) -> Any: function _reject_explicit_nulls_for_snapshot (line 97) | def _reject_explicit_nulls_for_snapshot(data: Any) -> Any: function _validate_any (line 102) | def _validate_any(data: Any, model: Any) -> Any: function _format_error (line 109) | def _format_error(err: Any) -> str: function _reject_explicit_null_paths (line 116) | def _reject_explicit_null_paths(data: Any, paths: tuple[tuple[str, ...],... function _reject_explicit_null_path (line 121) | def _reject_explicit_null_path(data: Any, path: tuple[str, ...], current... FILE: autocontext/src/autocontext/integrations/openai/_proxy.py function _is_async_client (line 29) | def _is_async_client(client: Any) -> bool: function _now_iso (line 42) | def _now_iso() -> str: class _ChatCompletionsProxy (line 46) | class _ChatCompletionsProxy: method __init__ (line 47) | def __init__(self, parent: ClientProxy, inner_create: Any) -> None: method create (line 51) | def create(self, **kwargs: Any) -> Any: class _ChatProxy (line 69) | class _ChatProxy: method __init__ (line 70) | def __init__(self, parent: ClientProxy, inner_chat: Any) -> None: method completions (line 75) | def completions(self) -> _ChatCompletionsProxy: class _ResponsesProxy (line 79) | class _ResponsesProxy: method __init__ (line 80) | def __init__(self, parent: ClientProxy, inner_responses_create: Any) -... method create (line 84) | def create(self, **kwargs: Any) -> Any: class ClientProxy (line 112) | class ClientProxy: method __init__ (line 113) | def __init__( method __getattr__ (line 128) | def __getattr__(self, name: str) -> Any: method _source_info (line 135) | def _source_info(self) -> dict[str, Any]: method _env (line 143) | def _env(self) -> dict[str, Any]: method _invoke_non_streaming (line 146) | def _invoke_non_streaming( method _invoke_non_streaming_responses (line 200) | def _invoke_non_streaming_responses( method _invoke_non_streaming_async (line 251) | async def _invoke_non_streaming_async( method _invoke_non_streaming_async_responses (line 305) | async def _invoke_non_streaming_async_responses( method _invoke_streaming (line 356) | def _invoke_streaming( method _invoke_streaming_async (line 413) | def _invoke_streaming_async( FILE: autocontext/src/autocontext/integrations/openai/_stream.py class StreamProxy (line 16) | class StreamProxy: method __init__ (line 17) | def __init__( method _finalized (line 41) | def _finalized(self) -> bool: method _finalized (line 45) | def _finalized(self, value: bool) -> None: method __enter__ (line 48) | def __enter__(self) -> StreamProxy: method __exit__ (line 51) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: method __iter__ (line 74) | def __iter__(self) -> StreamProxy: method __next__ (line 77) | def __next__(self) -> Any: method _accumulate (line 89) | def _accumulate(self, chunk: Any) -> None: method accumulated (line 108) | def accumulated(self) -> dict[str, Any]: function _abandoned_callback (line 112) | def _abandoned_callback( class AsyncStreamProxy (line 126) | class AsyncStreamProxy: method __init__ (line 127) | def __init__( method _finalized (line 142) | def _finalized(self) -> bool: method __aenter__ (line 145) | async def __aenter__(self) -> AsyncStreamProxy: method __aexit__ (line 148) | async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) ->... method __aiter__ (line 166) | def __aiter__(self) -> AsyncStreamProxy: method __anext__ (line 169) | async def __anext__(self) -> Any: method accumulated (line 181) | def accumulated(self) -> dict[str, Any]: FILE: autocontext/src/autocontext/integrations/openai/_taxonomy.py function map_exception_to_reason (line 16) | def map_exception_to_reason(exc: BaseException) -> OpenAiErrorReasonKey: function is_mapped_class_present (line 22) | def is_mapped_class_present(class_name: str) -> bool: FILE: autocontext/src/autocontext/integrations/openai/_trace_builder.py function _redact (line 26) | def _redact(msg: str) -> str: function _now_iso (line 32) | def _now_iso() -> str: function _normalize_messages (line 36) | def _normalize_messages(messages: list[dict[str, Any]]) -> list[dict[str... function _normalize_tool_calls (line 48) | def _normalize_tool_calls( function build_request_snapshot (line 73) | def build_request_snapshot( function _map_usage (line 83) | def _map_usage(response_usage: dict[str, Any] | None) -> dict[str, Any]: function _identity_to_session (line 92) | def _identity_to_session(identity: dict[str, str]) -> dict[str, Any] | N... function build_success_trace (line 101) | def build_success_trace( function build_failure_trace (line 127) | def build_failure_trace( function finalize_streaming_trace (line 159) | def finalize_streaming_trace( FILE: autocontext/src/autocontext/integrations/openai/_wrap.py function instrument_client (line 21) | def instrument_client( FILE: autocontext/src/autocontext/integrations/primeintellect/client.py class PrimeIntellectClient (line 17) | class PrimeIntellectClient: method warm_provision (line 30) | def warm_provision(self, environment_name: str, max_retries: int = 2, ... method execute_strategy (line 39) | def execute_strategy( method _probe (line 73) | async def _probe(self) -> None: method _execute_strategy_once (line 77) | async def _execute_strategy_once( method fallback_local_response (line 127) | def fallback_local_response(self, scenario_name: str, seed: int) -> di... method unavailable_state (line 146) | def unavailable_state(self, environment_name: str, reason: str) -> dic... method _build_eval_command (line 153) | def _build_eval_command(self, *, scenario_name: str, strategy: dict[st... FILE: autocontext/src/autocontext/integrations/ssh/client.py class SSHCommandResult (line 19) | class SSHCommandResult: method success (line 28) | def success(self) -> bool: class SSHClient (line 32) | class SSHClient: method __init__ (line 39) | def __init__(self, config: SSHHostConfig) -> None: method _ssh_base_args (line 42) | def _ssh_base_args(self) -> list[str]: method _ssh_target (line 56) | def _ssh_target(self) -> str: method _scp_base_args (line 62) | def _scp_base_args(self) -> list[str]: method _scp_target (line 76) | def _scp_target(self, remote_path: str) -> str: method _wrap_command (line 82) | def _wrap_command(self, command: str) -> str: method execute_command (line 91) | def execute_command(self, command: str, *, timeout: float | None = Non... method health_check (line 123) | def health_check(self) -> dict[str, Any]: method validate_runtime (line 132) | def validate_runtime(self) -> None: method upload_file (line 152) | def upload_file(self, local_path: Path, remote_path: str) -> None: method download_file (line 159) | def download_file(self, remote_path: str, local_path: Path) -> None: method ensure_working_directory (line 166) | def ensure_working_directory(self) -> None: FILE: autocontext/src/autocontext/integrations/ssh/config.py class SSHHostCapabilities (line 8) | class SSHHostCapabilities(BaseModel): class SSHHostConfig (line 18) | class SSHHostConfig(BaseModel): FILE: autocontext/src/autocontext/investigation/browser_context.py class InvestigationBrowserContext (line 16) | class InvestigationBrowserContext: function render_investigation_browser_context (line 26) | def render_investigation_browser_context(context: InvestigationBrowserCo... function build_browser_evidence_summary (line 39) | def build_browser_evidence_summary(context: InvestigationBrowserContext)... function capture_investigation_browser_context (line 46) | def capture_investigation_browser_context( FILE: autocontext/src/autocontext/investigation/engine.py class InvestigationRequest (line 31) | class InvestigationRequest: class InvestigationHypothesis (line 41) | class InvestigationHypothesis: class InvestigationEvidence (line 49) | class InvestigationEvidence: class InvestigationConclusion (line 60) | class InvestigationConclusion: class InvestigationArtifacts (line 67) | class InvestigationArtifacts: class InvestigationResult (line 73) | class InvestigationResult: method to_dict (line 89) | def to_dict(self) -> dict[str, Any]: method from_dict (line 93) | def from_dict(cls, data: dict[str, Any]) -> InvestigationResult: class _ExecutedInvestigation (line 117) | class _ExecutedInvestigation: function derive_investigation_name (line 123) | def derive_investigation_name(description: str) -> str: function generate_investigation_id (line 128) | def generate_investigation_id() -> str: function normalize_positive_integer (line 132) | def normalize_positive_integer(value: int | None) -> int | None: function parse_investigation_json (line 138) | def parse_investigation_json(text: str) -> dict[str, Any] | None: function _build_investigation_spec_prompt (line 165) | def _build_investigation_spec_prompt( function _build_hypothesis_prompt (line 191) | def _build_hypothesis_prompt( function _spec_from_dict (line 226) | def _spec_from_dict(data: dict[str, Any]) -> InvestigationSpec: function _persist_investigation_artifacts (line 255) | def _persist_investigation_artifacts( function _execute_generated_investigation (line 269) | def _execute_generated_investigation( function _normalize_text (line 325) | def _normalize_text(text: str) -> str: function _tokenize (line 329) | def _tokenize(text: str) -> list[str]: function _similarity_score (line 359) | def _similarity_score(left: str, right: str) -> float: function _build_evidence (line 368) | def _build_evidence( function _build_clustered_evidence_summary (line 399) | def _build_clustered_evidence_summary( function _evidence_priority (line 429) | def _evidence_priority( function _cluster_by_source (line 444) | def _cluster_by_source(items: list[EvidenceItem]) -> list[tuple[str, lis... function _render_clusters (line 451) | def _render_clusters( function _shorten_text (line 469) | def _shorten_text(text: str, *, max_chars: int = 120) -> str: function _sanitize_evidence_for_prompt (line 476) | def _sanitize_evidence_for_prompt(text: str, *, diagnosis_target: str) -... function _parse_hypotheses (line 495) | def _parse_hypotheses( function _evaluate_hypotheses (line 527) | def _evaluate_hypotheses( function _build_conclusion (line 585) | def _build_conclusion( function _identify_unknowns (line 614) | def _identify_unknowns( function _recommend_next_steps (line 628) | def _recommend_next_steps( function _build_failed_result (line 643) | def _build_failed_result( class InvestigationEngine (line 668) | class InvestigationEngine: method __init__ (line 669) | def __init__( method run (line 686) | def run(self, request: InvestigationRequest) -> InvestigationResult: FILE: autocontext/src/autocontext/investigation/iterative.py function run_iterative_investigation (line 22) | def run_iterative_investigation( function _build_iterative_investigation_prompt (line 177) | def _build_iterative_investigation_prompt( function _coerce_iterative_hypotheses (line 212) | def _coerce_iterative_hypotheses(payload: dict[str, Any], max_hypotheses... function _coerce_iterative_evidence (line 242) | def _coerce_iterative_evidence( function _coerce_iterative_conclusion (line 282) | def _coerce_iterative_conclusion(payload: dict[str, Any], hypotheses: li... function _recommend_next_steps (line 309) | def _recommend_next_steps(hypotheses: list[Any], unknowns: list[str]) ->... function _string_list (line 321) | def _string_list(value: Any) -> list[str]: function _persist_iterative_investigation_artifacts (line 325) | def _persist_iterative_investigation_artifacts( function _compact_iterative_context_if_needed (line 348) | def _compact_iterative_context_if_needed( function _render_transcript_for_compaction (line 385) | def _render_transcript_for_compaction(transcript: list[dict[str, Any]]) ... function _latest_compaction_parent_id (line 407) | def _latest_compaction_parent_id(artifacts: Any | None, investigation_id... function _emit_investigation_event (line 414) | def _emit_investigation_event(events: Any | None, event: str, payload: d... function _write_json_artifact (line 420) | def _write_json_artifact(artifacts: Any | None, path: Path, payload: dic... function _write_text_artifact (line 428) | def _write_text_artifact(artifacts: Any | None, path: Path, content: str... FILE: autocontext/src/autocontext/knowledge/coherence.py class CoherenceReport (line 25) | class CoherenceReport: function _check_playbook (line 31) | def _check_playbook(playbook_content: str) -> list[str]: function _check_tools (line 38) | def _check_tools(playbook_content: str, knowledge_dir: Path) -> list[str]: function _check_lesson_contradictions (line 54) | def _check_lesson_contradictions(lessons: list[str]) -> list[str]: function _read_lessons (line 86) | def _read_lessons(scenario_name: str, knowledge_root: Path, skills_root:... function check_coherence (line 117) | def check_coherence( FILE: autocontext/src/autocontext/knowledge/compaction.py class CompactionEntry (line 75) | class CompactionEntry: method to_dict (line 86) | def to_dict(self) -> dict[str, Any]: method from_dict (line 99) | def from_dict(cls, data: Mapping[str, Any]) -> CompactionEntry: class PromptCompactionResult (line 113) | class PromptCompactionResult: function compact_prompt_components (line 118) | def compact_prompt_components(components: Mapping[str, str]) -> dict[str... function compact_prompt_components_with_entries (line 123) | def compact_prompt_components_with_entries( function _compact_prompt_components (line 144) | def _compact_prompt_components(components: Mapping[str, str]) -> dict[st... function compaction_entries_for_components (line 151) | def compaction_entries_for_components( function _build_compaction_entry (line 184) | def _build_compaction_entry( function _structured_compaction_summary (line 216) | def _structured_compaction_summary(key: str, tokens_before: int, tokens_... function _new_entry_id (line 229) | def _new_entry_id() -> str: function _utc_timestamp (line 233) | def _utc_timestamp() -> str: function _coerce_int (line 237) | def _coerce_int(value: Any) -> int: function compact_prompt_component (line 252) | def compact_prompt_component(key: str, value: str) -> str: function clear_prompt_compaction_cache (line 264) | def clear_prompt_compaction_cache() -> None: function prompt_compaction_cache_stats (line 272) | def prompt_compaction_cache_stats() -> dict[str, int]: function extract_promotable_lines (line 281) | def extract_promotable_lines(text: str, *, max_items: int = 3) -> list[s... function _compact_component (line 319) | def _compact_component(key: str, text: str, max_tokens: int) -> str: function _cached_compact_component (line 343) | def _cached_compact_component(key: str, text: str, max_tokens: int) -> str: function _compact_history (line 366) | def _compact_history(text: str, *, max_tokens: int) -> str: function _compact_markdown (line 379) | def _compact_markdown( function _compact_table (line 400) | def _compact_table(text: str, *, max_tokens: int) -> str: function _compact_plain_prose (line 446) | def _compact_plain_prose(text: str, *, max_tokens: int) -> str: function _split_sections (line 460) | def _split_sections(text: str) -> list[str]: function _looks_like_plain_prose (line 477) | def _looks_like_plain_prose(text: str) -> bool: function _compact_section (line 490) | def _compact_section(section: str, *, prefer_recent: bool = False) -> str: function _is_structured_line (line 519) | def _is_structured_line(line: str) -> bool: function _dedupe_lines (line 527) | def _dedupe_lines(lines: Iterable[str]) -> list[str]: function _truncate_text (line 539) | def _truncate_text(text: str, *, max_tokens: int) -> str: FILE: autocontext/src/autocontext/knowledge/context_selection.py function _utc_now (line 15) | def _utc_now() -> str: class ContextSelectionCandidate (line 20) | class ContextSelectionCandidate: method from_contents (line 36) | def from_contents( method to_dict (line 63) | def to_dict(self) -> dict[str, Any]: method from_dict (line 79) | def from_dict(cls, data: Mapping[str, Any]) -> ContextSelectionCandidate: class ContextSelectionDecision (line 96) | class ContextSelectionDecision: method metrics (line 107) | def metrics(self) -> dict[str, Any]: method to_dict (line 163) | def to_dict(self) -> dict[str, Any]: method from_dict (line 177) | def from_dict(cls, data: Mapping[str, Any]) -> ContextSelectionDecision: function build_prompt_context_selection_decision (line 202) | def build_prompt_context_selection_decision( function _selection_reason (line 242) | def _selection_reason(*, candidate_content: str, selected_content: str) ... function _duplicate_selected_hash_count (line 250) | def _duplicate_selected_hash_count(candidates: list[ContextSelectionCand... function _content_hash (line 255) | def _content_hash(text: str) -> str: function _coerce_int (line 261) | def _coerce_int(value: Any) -> int: function _coerce_optional_int (line 268) | def _coerce_optional_int(value: Any) -> int | None: function _coerce_optional_bool (line 277) | def _coerce_optional_bool(value: Any) -> bool | None: function _coerce_mapping (line 291) | def _coerce_mapping(value: Any) -> Mapping[str, Any]: FILE: autocontext/src/autocontext/knowledge/context_selection_report.py class ContextSelectionDiagnosticPolicy (line 11) | class ContextSelectionDiagnosticPolicy: class ContextSelectionDiagnostic (line 20) | class ContextSelectionDiagnostic: method to_dict (line 31) | def to_dict(self) -> dict[str, Any]: class ContextSelectionTelemetryCard (line 46) | class ContextSelectionTelemetryCard: method to_dict (line 55) | def to_dict(self) -> dict[str, Any]: class ContextSelectionStageSummary (line 66) | class ContextSelectionStageSummary: method from_decision (line 92) | def from_decision(cls, decision: ContextSelectionDecision) -> ContextS... method to_dict (line 123) | def to_dict(self) -> dict[str, Any]: class ContextSelectionReport (line 152) | class ContextSelectionReport: method summary (line 157) | def summary(self) -> dict[str, Any]: method diagnostics (line 197) | def diagnostics( method telemetry_cards (line 287) | def telemetry_cards( method to_dict (line 301) | def to_dict(self) -> dict[str, Any]: method to_markdown (line 317) | def to_markdown(self) -> str: function build_context_selection_report (line 357) | def build_context_selection_report( function _int_metric (line 377) | def _int_metric(metrics: dict[str, Any], key: str) -> int: function _float_metric (line 384) | def _float_metric(metrics: dict[str, Any], key: str) -> float: function _optional_float_metric (line 391) | def _optional_float_metric(metrics: dict[str, Any], key: str) -> float |... function _mean (line 401) | def _mean(values: Iterable[float]) -> float: function _mean_optional (line 406) | def _mean_optional(values: Iterable[float | None]) -> float | None: function _selected_context_card (line 411) | def _selected_context_card( function _context_budget_card (line 428) | def _context_budget_card(summary: dict[str, Any]) -> ContextSelectionTel... function _semantic_compaction_cache_card (line 456) | def _semantic_compaction_cache_card( function _diagnostics_card (line 483) | def _diagnostics_card(diagnostics: tuple[ContextSelectionDiagnostic, ...... function _format_optional_percent (line 495) | def _format_optional_percent(value: Any) -> str: FILE: autocontext/src/autocontext/knowledge/dead_end_manager.py class DeadEndEntry (line 7) | class DeadEndEntry: method to_markdown (line 13) | def to_markdown(self) -> str: method from_rollback (line 20) | def from_rollback(cls, generation: int, strategy: str, score: float) -... function consolidate_dead_ends (line 30) | def consolidate_dead_ends(entries_md: str, max_entries: int) -> str: FILE: autocontext/src/autocontext/knowledge/evidence_freshness.py class EvidenceFreshness (line 21) | class EvidenceFreshness(BaseModel): method age (line 31) | def age(self, current_gen: int) -> int: method to_dict (line 34) | def to_dict(self) -> dict[str, Any]: method from_dict (line 38) | def from_dict(cls, data: dict[str, Any]) -> EvidenceFreshness: class FreshnessPolicy (line 42) | class FreshnessPolicy(BaseModel): function apply_freshness_decay (line 50) | def apply_freshness_decay( function detect_stale_context (line 73) | def detect_stale_context( FILE: autocontext/src/autocontext/knowledge/export.py function _parse_strategy_json (line 26) | def _parse_strategy_json(raw: str | None) -> dict[str, Any] | None: function _best_generation_for_run (line 36) | def _best_generation_for_run(ctx: MtsToolContext, run_id: str) -> Genera... function _best_run_strategy (line 49) | def _best_run_strategy(ctx: MtsToolContext, run_id: str, generation_inde... class SkillPackage (line 80) | class SkillPackage: method to_dict (line 101) | def to_dict(self) -> dict[str, Any]: method to_skill_markdown (line 133) | def to_skill_markdown(self) -> str: method _render_agent_task_markdown (line 167) | def _render_agent_task_markdown(self, lessons_block: str) -> str: function export_skill_package (line 230) | def export_skill_package(ctx: MtsToolContext, scenario_name: str, source... function list_solved_scenarios (line 329) | def list_solved_scenarios(ctx: MtsToolContext) -> list[dict[str, Any]]: function export_agent_task_skill (line 349) | def export_agent_task_skill( function _scenario_description (line 382) | def _scenario_description(scenario: object) -> str: function _clean_lessons (line 388) | def _clean_lessons(raw_bullets: list[str]) -> list[str]: function export_strategy_package (line 410) | def export_strategy_package( FILE: autocontext/src/autocontext/knowledge/fresh_start.py function execute_fresh_start (line 12) | def execute_fresh_start( FILE: autocontext/src/autocontext/knowledge/harness_quality.py class HarnessQualitySignal (line 10) | class HarnessQualitySignal: method error_rate (line 18) | def error_rate(self) -> float: method crash_rate (line 25) | def crash_rate(self) -> float: method to_prompt_section (line 31) | def to_prompt_section(self, previous: HarnessQualitySignal | None = No... function compute_harness_quality (line 49) | def compute_harness_quality(results: list[EvaluationResult]) -> HarnessQ... FILE: autocontext/src/autocontext/knowledge/hint_volume.py function _normalize_hint_text (line 22) | def _normalize_hint_text(text: str) -> str: function split_hint_text (line 28) | def split_hint_text(hints: str) -> list[str]: class RankedHint (line 38) | class RankedHint(BaseModel): method to_dict (line 47) | def to_dict(self) -> dict[str, Any]: method from_dict (line 51) | def from_dict(cls, data: dict[str, Any]) -> RankedHint: class HintVolumePolicy (line 55) | class HintVolumePolicy(BaseModel): class HintManager (line 62) | class HintManager: method __init__ (line 65) | def __init__( method add (line 77) | def add( method add_many (line 115) | def add_many( method merge_hint_text (line 125) | def merge_hint_text( method update_impact (line 134) | def update_impact(self, text: str, new_score: float) -> None: method active_hints (line 144) | def active_hints(self) -> list[RankedHint]: method archived_hints (line 151) | def archived_hints(self) -> list[RankedHint]: method format_for_competitor (line 157) | def format_for_competitor(self) -> str: method to_dict (line 167) | def to_dict(self) -> dict[str, Any]: method from_dict (line 178) | def from_dict( method from_hint_text (line 202) | def from_hint_text( method _find_hint (line 215) | def _find_hint(text: str, collection: list[RankedHint]) -> RankedHint ... method _reassign_ranks (line 222) | def _reassign_ranks(self) -> None: method _enforce_cap (line 226) | def _enforce_cap(self) -> None: function apply_volume_cap (line 237) | def apply_volume_cap( FILE: autocontext/src/autocontext/knowledge/lessons.py class ApplicabilityMeta (line 23) | class ApplicabilityMeta(BaseModel): method model_post_init (line 35) | def model_post_init(self, __context: Any) -> None: method to_dict (line 39) | def to_dict(self) -> dict[str, Any]: method from_dict (line 43) | def from_dict(cls, data: dict[str, Any]) -> ApplicabilityMeta: class Lesson (line 47) | class Lesson(BaseModel): method is_stale (line 54) | def is_stale(self, current_generation: int, staleness_window: int = 10... method is_superseded (line 60) | def is_superseded(self) -> bool: method is_applicable (line 63) | def is_applicable(self, current_generation: int, staleness_window: int... method to_dict (line 66) | def to_dict(self) -> dict[str, Any]: method from_dict (line 70) | def from_dict(cls, data: dict[str, Any]) -> Lesson: class LessonStore (line 74) | class LessonStore: method __init__ (line 77) | def __init__(self, knowledge_root: Path, skills_root: Path) -> None: method _lessons_path (line 81) | def _lessons_path(self, scenario: str) -> Path: method read_lessons (line 84) | def read_lessons(self, scenario: str) -> list[Lesson]: method current_generation (line 100) | def current_generation(self, scenario: str) -> int: method write_lessons (line 110) | def write_lessons(self, scenario: str, lessons: Sequence[Lesson]) -> N... method add_lesson (line 118) | def add_lesson(self, scenario: str, text: str, meta: ApplicabilityMeta... method get_applicable_lessons (line 126) | def get_applicable_lessons( method get_stale_lessons (line 134) | def get_stale_lessons( method invalidate_by_schema_change (line 142) | def invalidate_by_schema_change(self, scenario: str, new_schema_versio... method supersede_lesson (line 154) | def supersede_lesson(self, scenario: str, old_id: str, new_id: str) ->... method validate_lesson (line 165) | def validate_lesson(self, scenario: str, lesson_id: str, current_gener... method migrate_from_raw_bullets (line 177) | def migrate_from_raw_bullets( method staleness_report (line 201) | def staleness_report( FILE: autocontext/src/autocontext/knowledge/mutation_log.py function _now_iso (line 30) | def _now_iso() -> str: class MutationEntry (line 34) | class MutationEntry(BaseModel): method model_post_init (line 44) | def model_post_init(self, __context: Any) -> None: method to_dict (line 48) | def to_dict(self) -> dict[str, Any]: method from_dict (line 52) | def from_dict(cls, data: dict[str, Any]) -> MutationEntry: class Checkpoint (line 56) | class Checkpoint(BaseModel): class MutationLog (line 65) | class MutationLog: method __init__ (line 68) | def __init__(self, knowledge_root: Path, max_entries: int = 1000) -> N... method _log_path (line 72) | def _log_path(self, scenario: str) -> Path: method append (line 75) | def append(self, scenario: str, entry: MutationEntry) -> None: method read (line 82) | def read( method create_checkpoint (line 111) | def create_checkpoint( method get_last_checkpoint (line 135) | def get_last_checkpoint(self, scenario: str) -> Checkpoint | None: method replay_after_checkpoint (line 148) | def replay_after_checkpoint( method truncate (line 167) | def truncate(self, scenario: str) -> None: method replay_summary (line 188) | def replay_summary(self, scenario: str, *, max_entries: int = 10) -> str: method audit_summary (line 202) | def audit_summary(self, scenario: str) -> str: FILE: autocontext/src/autocontext/knowledge/normalized_metrics.py function _safe_float (line 18) | def _safe_float(val: Any, default: float = 0.0) -> float: # noqa: ANN401 function _safe_int (line 25) | def _safe_int(val: Any, default: int = 0) -> int: # noqa: ANN401 class NormalizedProgress (line 36) | class NormalizedProgress(BaseModel): method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> NormalizedProgress: class CostEfficiency (line 63) | class CostEfficiency(BaseModel): method to_dict (line 74) | def to_dict(self) -> dict[str, Any]: method from_dict (line 78) | def from_dict(cls, data: dict[str, Any]) -> CostEfficiency: class ScenarioNormalizer (line 94) | class ScenarioNormalizer: method __init__ (line 97) | def __init__(self, score_floor: float = 0.0, score_ceiling: float = 1.... method normalize (line 101) | def normalize(self, raw_score: float) -> NormalizedProgress: class RunProgressReport (line 126) | class RunProgressReport(BaseModel): method to_dict (line 139) | def to_dict(self) -> dict[str, Any]: method from_dict (line 143) | def from_dict(cls, data: dict[str, Any]) -> RunProgressReport: method to_markdown (line 156) | def to_markdown(self) -> str: function compute_normalized_progress (line 197) | def compute_normalized_progress( function compute_cost_efficiency (line 211) | def compute_cost_efficiency( function generate_run_progress_report (line 267) | def generate_run_progress_report( FILE: autocontext/src/autocontext/knowledge/package.py class ConflictPolicy (line 32) | class ConflictPolicy(StrEnum): class PackageMetadata (line 40) | class PackageMetadata(BaseModel): class StrategyPackage (line 54) | class StrategyPackage(BaseModel): method _default_display_name (line 92) | def _default_display_name(self) -> StrategyPackage: method from_skill_package (line 98) | def from_skill_package( method from_dict (line 138) | def from_dict(cls, data: dict[str, Any]) -> StrategyPackage: method from_json (line 143) | def from_json(cls, json_str: str) -> StrategyPackage: method from_file (line 148) | def from_file(cls, path: Path) -> StrategyPackage: method to_json (line 153) | def to_json(self, indent: int = 2) -> str: method to_file (line 157) | def to_file(self, path: Path) -> None: method to_skill_package (line 162) | def to_skill_package(self) -> SkillPackage: class ImportResult (line 189) | class ImportResult(BaseModel): function _package_metadata_path (line 202) | def _package_metadata_path(artifacts: ArtifactStore, scenario_name: str)... function read_package_metadata (line 206) | def read_package_metadata(artifacts: ArtifactStore, scenario_name: str) ... function _write_package_metadata (line 218) | def _write_package_metadata(artifacts: ArtifactStore, package: StrategyP... function _persist_imported_snapshot (line 229) | def _persist_imported_snapshot( function import_strategy_package (line 291) | def import_strategy_package( FILE: autocontext/src/autocontext/knowledge/pi_package.py class PiPackage (line 25) | class PiPackage: class WrittenPiPackage (line 33) | class WrittenPiPackage: function build_pi_package (line 40) | def build_pi_package(package: StrategyPackage) -> PiPackage: function write_pi_package (line 57) | def write_pi_package(package: PiPackage, output_dir: Path) -> WrittenPiP... function default_pi_package_output_dir (line 69) | def default_pi_package_output_dir(scenario_name: str) -> Path: function _sort_files (line 74) | def _sort_files(files: dict[str, str]) -> dict[str, str]: function _slug (line 78) | def _slug(value: str) -> str: function _npm_package_name (line 83) | def _npm_package_name(scenario_name: str) -> str: function _description (line 87) | def _description(package: StrategyPackage) -> str: function _render_package_json (line 92) | def _render_package_json(package: StrategyPackage, *, skill_path: str, p... function _package_version (line 120) | def _package_version(package: StrategyPackage) -> str: function _render_prompt (line 125) | def _render_prompt(package: StrategyPackage) -> str: function _render_readme (line 159) | def _render_readme(package: StrategyPackage) -> str: FILE: autocontext/src/autocontext/knowledge/progress.py class ProgressSnapshot (line 9) | class ProgressSnapshot(BaseModel): method to_dict (line 24) | def to_dict(self) -> dict[str, Any]: method from_dict (line 28) | def from_dict(cls, data: dict[str, Any]) -> ProgressSnapshot: method to_json (line 31) | def to_json(self) -> str: function build_progress_snapshot (line 35) | def build_progress_snapshot( FILE: autocontext/src/autocontext/knowledge/protocol.py class ResearchProtocol (line 19) | class ResearchProtocol: method to_markdown (line 25) | def to_markdown(self) -> str: function parse_research_protocol (line 53) | def parse_research_protocol(markdown: str) -> ResearchProtocol: function validate_tuning_overrides (line 94) | def validate_tuning_overrides(raw: dict[str, Any]) -> dict[str, float | ... function parse_protocol_from_architect (line 113) | def parse_protocol_from_architect(output: str) -> ResearchProtocol | None: function default_protocol (line 125) | def default_protocol() -> ResearchProtocol: FILE: autocontext/src/autocontext/knowledge/rapid_gate.py class RapidGateResult (line 7) | class RapidGateResult: function rapid_gate (line 13) | def rapid_gate(current_best: float, previous_best: float) -> RapidGateRe... function should_transition_to_linear (line 33) | def should_transition_to_linear(generation_index: int, rapid_gens: int) ... FILE: autocontext/src/autocontext/knowledge/report.py function _to_float (line 7) | def _to_float(val: Any, default: float = 0.0) -> float: # noqa: ANN401 class SessionReport (line 16) | class SessionReport: method to_markdown (line 34) | def to_markdown(self) -> str: function generate_session_report (line 90) | def generate_session_report( FILE: autocontext/src/autocontext/knowledge/research_hub.py function _uid (line 34) | def _uid() -> str: function _now (line 38) | def _now() -> str: class ResearchSession (line 42) | class ResearchSession(BaseModel): method to_dict (line 63) | def to_dict(self) -> dict[str, Any]: method from_dict (line 67) | def from_dict(cls, data: dict[str, Any]) -> ResearchSession: method from_notebook (line 71) | def from_notebook( class SharedPackage (line 97) | class SharedPackage(BaseModel): method to_dict (line 123) | def to_dict(self) -> dict[str, Any]: method from_dict (line 127) | def from_dict(cls, data: dict[str, Any]) -> SharedPackage: class ResearchResult (line 131) | class ResearchResult(BaseModel): method to_dict (line 152) | def to_dict(self) -> dict[str, Any]: method from_dict (line 156) | def from_dict(cls, data: dict[str, Any]) -> ResearchResult: class PromotionEvent (line 160) | class PromotionEvent(BaseModel): method to_dict (line 172) | def to_dict(self) -> dict[str, Any]: method from_dict (line 176) | def from_dict(cls, data: dict[str, Any]) -> PromotionEvent: function materialize_result (line 180) | def materialize_result( class HubStore (line 231) | class HubStore: method __init__ (line 234) | def __init__( method _package_dir (line 251) | def _package_dir(self, package_id: str) -> Path: method _shared_package_path (line 254) | def _shared_package_path(self, package_id: str) -> Path: method _strategy_package_path (line 257) | def _strategy_package_path(self, package_id: str) -> Path: method _result_path (line 260) | def _result_path(self, result_id: str) -> Path: method _relative_artifact_path (line 263) | def _relative_artifact_path(self, path: Path) -> str: method _safe_iso (line 270) | def _safe_iso(created_at: str) -> str: method _compose_session (line 273) | def _compose_session( method _load_run_facet (line 291) | def _load_run_facet(self, run_id: str) -> RunFacet: method _load_run_writeup (line 297) | def _load_run_writeup(self, run_id: str) -> TraceWriteup | None: method _parse_best_strategy (line 300) | def _parse_best_strategy(self, raw_content: str) -> dict[str, Any]: method _extract_weakness_summary (line 307) | def _extract_weakness_summary(self, report: object | None) -> str: method _consultation_summary (line 326) | def _consultation_summary(self, run_id: str) -> str: method _progress_summary (line 338) | def _progress_summary(self, facet: RunFacet, progress_report: object |... method _run_linked_artifacts (line 359) | def _run_linked_artifacts(self, scenario_name: str, run_id: str) -> li... method _build_strategy_package (line 386) | def _build_strategy_package(self, run_id: str) -> tuple[StrategyPackag... method _scenario_family (line 428) | def _scenario_family(self, scenario_name: str) -> str: method _package_session (line 435) | def _package_session(self, session_id: str | None, run_id: str) -> Res... method persist_session (line 445) | def persist_session(self, session: ResearchSession) -> Path: method load_session (line 474) | def load_session(self, session_id: str) -> ResearchSession | None: method list_sessions (line 481) | def list_sessions(self) -> list[ResearchSession]: method heartbeat_session (line 491) | def heartbeat_session( method persist_package (line 510) | def persist_package(self, package: SharedPackage, strategy_package: St... method load_package (line 541) | def load_package(self, package_id: str) -> SharedPackage | None: method list_packages (line 550) | def list_packages(self) -> list[SharedPackage]: method load_strategy_package (line 559) | def load_strategy_package(self, package_id: str) -> StrategyPackage | ... method adopt_package (line 571) | def adopt_package( method promote_run_to_package (line 603) | def promote_run_to_package( method persist_result (line 678) | def persist_result(self, result: ResearchResult) -> Path: method load_result (line 697) | def load_result(self, result_id: str) -> ResearchResult | None: method list_results (line 706) | def list_results(self) -> list[ResearchResult]: method materialize_result_for_run (line 715) | def materialize_result_for_run( method persist_promotion (line 753) | def persist_promotion(self, event: PromotionEvent) -> Path: method load_promotion (line 770) | def load_promotion(self, event_id: str) -> PromotionEvent | None: method list_promotions (line 776) | def list_promotions(self) -> list[PromotionEvent]: FILE: autocontext/src/autocontext/knowledge/search.py class SearchResult (line 39) | class SearchResult: function search_strategies (line 49) | def search_strategies(ctx: MtsToolContext, query: str, top_k: int = 5) -... function _tokenize (line 80) | def _tokenize(text: str) -> list[str]: function _keyword_score (line 86) | def _keyword_score(terms: list[str], entry: dict[str, Any]) -> tuple[flo... function _scenario_description (line 130) | def _scenario_description(scenario: object) -> str: function _build_search_index (line 135) | def _build_search_index(ctx: MtsToolContext) -> list[dict[str, Any]]: FILE: autocontext/src/autocontext/knowledge/semantic_compaction_benchmark.py class CompactionComponentBenchmark (line 20) | class CompactionComponentBenchmark: method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: class PromptVariantBenchmark (line 37) | class PromptVariantBenchmark: method to_dict (line 47) | def to_dict(self) -> dict[str, Any]: class RegressionCheck (line 52) | class RegressionCheck: method to_dict (line 59) | def to_dict(self) -> dict[str, Any]: class SemanticCompactionBenchmarkReport (line 64) | class SemanticCompactionBenchmarkReport: method evidence_cache_hit_rate (line 80) | def evidence_cache_hit_rate(self) -> float: method to_dict (line 85) | def to_dict(self) -> dict[str, Any]: function build_semantic_compaction_benchmark_report (line 91) | def build_semantic_compaction_benchmark_report( function _build_component_benchmark (line 183) | def _build_component_benchmark( function _apply_budget (line 204) | def _apply_budget(components: Mapping[str, str], context_budget_tokens: ... function _total_tokens (line 210) | def _total_tokens(components: Mapping[str, str]) -> int: function _bundle_role_tokens (line 214) | def _bundle_role_tokens(bundle: PromptBundle) -> dict[str, int]: function _bundle_total_tokens (line 223) | def _bundle_total_tokens(bundle: PromptBundle) -> int: function _count_preserved_signal_lines (line 227) | def _count_preserved_signal_lines(signal_lines: list[str], text: str) ->... function _normalize (line 236) | def _normalize(text: str) -> str: FILE: autocontext/src/autocontext/knowledge/solve_agent_task_design.py function _build_solve_description_brief (line 31) | def _build_solve_description_brief(description: str) -> str: function _build_solve_agent_task_design_brief (line 35) | def _build_solve_agent_task_design_brief(description: str) -> str: function _solve_task_spec_needs_compact_retry (line 92) | def _solve_task_spec_needs_compact_retry(spec: AgentTaskSpec) -> bool: function _truncate_to_line_boundary (line 103) | def _truncate_to_line_boundary(text: str, max_chars: int) -> str: FILE: autocontext/src/autocontext/knowledge/solve_task_execution.py class SolveExecutionSummary (line 33) | class SolveExecutionSummary: class _SolveHookSurface (line 40) | class _SolveHookSurface: class _SolveGenerationBudget (line 47) | class _SolveGenerationBudget: method elapsed_seconds (line 52) | def elapsed_seconds(self) -> float: method remaining_seconds (line 55) | def remaining_seconds(self) -> float | None: method deadline (line 60) | def deadline(self) -> float | None: method check (line 65) | def check(self, phase: str) -> None: function _settings_for_budgeted_role_call (line 77) | def _settings_for_budgeted_role_call(settings: AppSettings, budget: _Sol... class _BudgetedAgentTask (line 95) | class _BudgetedAgentTask(AgentTaskInterface): method __init__ (line 98) | def __init__(self, task: AgentTaskInterface, budget: _SolveGenerationB... method get_task_prompt (line 103) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 109) | def evaluate_output( method get_rubric (line 130) | def get_rubric(self) -> str: method initial_state (line 136) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 142) | def describe_task(self) -> str: method prepare_context (line 148) | def prepare_context(self, state: dict) -> dict: method validate_context (line 154) | def validate_context(self, state: dict) -> list[str]: method revise_output (line 160) | def revise_output( method verify_facts (line 171) | def verify_facts(self, output: str, state: dict) -> dict | None: function run_task_like_scenario (line 178) | def run_task_like_scenario( FILE: autocontext/src/autocontext/knowledge/solver.py class _NamedScenario (line 45) | class _NamedScenario(Protocol): class SolveJob (line 65) | class SolveJob: class SolveScenarioBuildResult (line 86) | class SolveScenarioBuildResult: class _ResolvedSolveFamily (line 93) | class _ResolvedSolveFamily: class ArtifactEditingTaskAdapter (line 98) | class ArtifactEditingTaskAdapter(AgentTaskInterface): method __init__ (line 101) | def __init__(self, scenario: ArtifactEditingInterface) -> None: method describe_task (line 105) | def describe_task(self) -> str: method get_rubric (line 108) | def get_rubric(self) -> str: method initial_state (line 111) | def initial_state(self, seed: int | None = None) -> dict: method get_task_prompt (line 116) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 119) | def evaluate_output( method _original_artifacts (line 149) | def _original_artifacts(self, state: dict) -> list[Artifact]: method _parse_edited_artifacts (line 158) | def _parse_edited_artifacts(self, output: str, original: list[Artifact... function _normalize_family_hint_token (line 198) | def _normalize_family_hint_token(token: str) -> str: function _resolve_family_hint (line 203) | def _resolve_family_hint(description: str) -> ScenarioFamily | None: function _resolve_solve_family_alias (line 219) | def _resolve_solve_family_alias(description: str) -> ScenarioFamily | None: function _resolve_requested_scenario_family (line 241) | def _resolve_requested_scenario_family( function _resolve_requested_scenario_family_with_metadata (line 249) | def _resolve_requested_scenario_family_with_metadata( class SolveScenarioExecutor (line 273) | class SolveScenarioExecutor: method __init__ (line 276) | def __init__( method execute (line 292) | def execute( method _scenario (line 336) | def _scenario(self, scenario_name: str) -> Any: method _run_task_like_scenario (line 350) | def _run_task_like_scenario( class SolveScenarioBuilder (line 372) | class SolveScenarioBuilder: method __init__ (line 375) | def __init__( method build (line 388) | def build( function _llm_fn_from_client (line 445) | def _llm_fn_from_client(client: Any, model: str) -> LlmFn: class SolveManager (line 462) | class SolveManager: method __init__ (line 465) | def __init__( method submit (line 481) | def submit(self, description: str, generations: int = 5) -> str: method solve_sync (line 494) | def solve_sync( method _run_job (line 523) | def _run_job(self, job: SolveJob) -> None: method _build_creator (line 583) | def _build_creator(self) -> SolveScenarioBuilder | None: method get_status (line 608) | def get_status(self, job_id: str) -> dict[str, Any]: method get_result (line 626) | def get_result(self, job_id: str) -> SkillPackage | None: function _settings_for_solve_runtime (line 634) | def _settings_for_solve_runtime( FILE: autocontext/src/autocontext/knowledge/stagnation.py class StagnationReport (line 7) | class StagnationReport: method no_stagnation (line 13) | def no_stagnation() -> StagnationReport: class StagnationDetector (line 17) | class StagnationDetector: method __init__ (line 18) | def __init__( method detect (line 28) | def detect( FILE: autocontext/src/autocontext/knowledge/trajectory.py class ScoreTrajectoryBuilder (line 8) | class ScoreTrajectoryBuilder: method __init__ (line 9) | def __init__(self, sqlite: SQLiteStore) -> None: method build_trajectory (line 12) | def build_trajectory(self, run_id: str) -> str: method build_experiment_log (line 76) | def build_experiment_log(self, run_id: str) -> str: method build_strategy_registry (line 87) | def build_strategy_registry(self, run_id: str) -> str: FILE: autocontext/src/autocontext/knowledge/tuning.py class TuningConfig (line 16) | class TuningConfig: method to_json (line 22) | def to_json(self) -> str: method from_json (line 32) | def from_json(cls, raw: str) -> TuningConfig: function validate_tuning_bounds (line 44) | def validate_tuning_bounds(raw: dict[str, Any]) -> dict[str, float | int]: function compute_meta_parameter_stats (line 64) | def compute_meta_parameter_stats( function parse_tuning_proposal (line 90) | def parse_tuning_proposal(output: str) -> TuningConfig | None: function format_meta_stats (line 116) | def format_meta_stats(stats: dict[str, float]) -> str: FILE: autocontext/src/autocontext/knowledge/verbatim_solve.py class VerbatimSolveRequest (line 75) | class VerbatimSolveRequest: method __post_init__ (line 88) | def __post_init__(self) -> None: function build_verbatim_solve_scenario (line 97) | def build_verbatim_solve_scenario( function _compile_and_register_agent_task (line 122) | def _compile_and_register_agent_task( function _spec_dict (line 179) | def _spec_dict(spec: AgentTaskSpec) -> dict[str, Any]: function _load_agent_task (line 214) | def _load_agent_task( FILE: autocontext/src/autocontext/knowledge/weakness.py class Weakness (line 28) | class Weakness(BaseModel): method to_dict (line 38) | def to_dict(self) -> dict[str, Any]: method from_dict (line 42) | def from_dict(cls, data: dict[str, Any]) -> Weakness: class WeaknessReport (line 46) | class WeaknessReport(BaseModel): method high_severity_count (line 55) | def high_severity_count(self) -> int: method to_dict (line 58) | def to_dict(self) -> dict[str, Any]: method from_dict (line 62) | def from_dict(cls, data: dict[str, Any]) -> WeaknessReport: method to_markdown (line 65) | def to_markdown(self) -> str: function _safe_float (line 100) | def _safe_float(val: Any, default: float = 0.0) -> float: # noqa: ANN401 function _safe_int (line 107) | def _safe_int(val: Any, default: int = 0) -> int: # noqa: ANN401 class WeaknessAnalyzer (line 114) | class WeaknessAnalyzer: method __init__ (line 117) | def __init__( method analyze (line 132) | def analyze( method _detect_score_regression (line 160) | def _detect_score_regression(self, trajectory: list[dict[str, Any]]) -... method _detect_validation_failures (line 183) | def _detect_validation_failures(self, match_data: list[dict[str, Any]]... method _detect_match_variance (line 216) | def _detect_match_variance(self, match_data: list[dict[str, Any]]) -> ... method _detect_stagnation_risk (line 246) | def _detect_stagnation_risk(self, trajectory: list[dict[str, Any]]) ->... method _detect_dead_end_pattern (line 274) | def _detect_dead_end_pattern(self, trajectory: list[dict[str, Any]]) -... FILE: autocontext/src/autocontext/loop/cost_control.py class CostBudget (line 21) | class CostBudget: class _GenerationCost (line 29) | class _GenerationCost: class CostTracker (line 35) | class CostTracker: method __init__ (line 38) | def __init__(self) -> None: method record (line 41) | def record(self, generation: int, cost_usd: float, tokens: int) -> None: method total_cost_usd (line 45) | def total_cost_usd(self) -> float: method total_tokens (line 49) | def total_tokens(self) -> int: method per_generation (line 53) | def per_generation(self) -> list[dict[str, Any]]: method generation_cost (line 59) | def generation_cost(self, generation: int) -> float: class CostPolicy (line 64) | class CostPolicy: function evaluate_cost_effectiveness (line 71) | def evaluate_cost_effectiveness( function throttle_state (line 94) | def throttle_state( function should_throttle (line 130) | def should_throttle( FILE: autocontext/src/autocontext/loop/ecosystem_runner.py class EcosystemPhase (line 19) | class EcosystemPhase: class EcosystemConfig (line 26) | class EcosystemConfig: method __post_init__ (line 32) | def __post_init__(self) -> None: class EcosystemSummary (line 41) | class EcosystemSummary: method score_trajectory (line 46) | def score_trajectory(self) -> list[tuple[str, float]]: function compute_playbook_divergence (line 50) | def compute_playbook_divergence(before: str, after: str) -> float: function detect_oscillation (line 69) | def detect_oscillation( class EcosystemRunner (line 84) | class EcosystemRunner: method __init__ (line 85) | def __init__(self, base_settings: AppSettings, config: EcosystemConfig... method _get_artifacts (line 93) | def _get_artifacts(self) -> ArtifactStore: method migrate (line 99) | def migrate(self, migrations_dir: Path) -> None: method _make_run_id (line 103) | def _make_run_id(self, scenario: str, cycle: int, phase_index: int) ->... method _phase_settings (line 106) | def _phase_settings(self, phase: EcosystemPhase) -> AppSettings: method run (line 112) | def run(self) -> EcosystemSummary: FILE: autocontext/src/autocontext/loop/exploration.py class NoveltyConfig (line 27) | class NoveltyConfig: function compute_novelty_score (line 34) | def compute_novelty_score( function apply_novelty_bonus (line 81) | def apply_novelty_bonus( class DivergentCompetitorConfig (line 93) | class DivergentCompetitorConfig: function should_spawn_divergent (line 101) | def should_spawn_divergent( function should_trigger_multi_basin (line 119) | def should_trigger_multi_basin( class MultiBasinConfig (line 146) | class MultiBasinConfig: class BasinCandidate (line 156) | class BasinCandidate: function _strip_specific_tactics (line 166) | def _strip_specific_tactics(playbook: str) -> str: function generate_basin_candidates (line 185) | def generate_basin_candidates( class BranchRecord (line 227) | class BranchRecord(BaseModel): method to_dict (line 236) | def to_dict(self) -> dict[str, Any]: method from_dict (line 240) | def from_dict(cls, data: dict[str, Any]) -> BranchRecord: FILE: autocontext/src/autocontext/loop/fixture_loader.py class FixtureChecksumError (line 39) | class FixtureChecksumError(Exception): class FixtureFetchError (line 43) | class FixtureFetchError(Exception): class FixtureProvenance (line 51) | class FixtureProvenance: class Fixture (line 60) | class Fixture: class FixtureManifestEntry (line 69) | class FixtureManifestEntry: class FixtureManifest (line 78) | class FixtureManifest: method from_json (line 84) | def from_json(cls, path: Path) -> FixtureManifest: class Fetcher (line 106) | class Fetcher(Protocol): method fetch (line 109) | def fetch(self, source: str) -> bytes: ... class UrlFetcher (line 112) | class UrlFetcher: method fetch (line 120) | def fetch(self, source: str) -> bytes: function _local_path_for (line 136) | def _local_path_for(source: str) -> Path: function _validate_segment (line 152) | def _validate_segment(name: str, *, kind: str) -> str: class FixtureCache (line 161) | class FixtureCache: method __init__ (line 172) | def __init__(self, root: Path) -> None: method _paths (line 175) | def _paths(self, scenario: str, key: str) -> tuple[Path, Path]: method get (line 181) | def get(self, scenario: str, key: str) -> Fixture | None: method put (line 194) | def put(self, scenario: str, fixture: Fixture) -> None: function _sha256 (line 214) | def _sha256(data: bytes) -> str: function _now_iso (line 218) | def _now_iso() -> str: function load_fixtures (line 222) | def load_fixtures( function _cache_is_fresh (line 262) | def _cache_is_fresh(cached: Fixture, entry: FixtureManifestEntry) -> bool: function load_scenario_fixtures (line 280) | def load_scenario_fixtures( function render_fixtures (line 307) | def render_fixtures(fixtures: Sequence[Fixture]) -> str: function apply_to_context (line 321) | def apply_to_context(ctx: Any, fixtures: Sequence[Fixture]) -> None: FILE: autocontext/src/autocontext/loop/generation_pipeline.py function _time_remaining (line 56) | def _time_remaining(ctx: GenerationContext) -> float | None: function _over_budget (line 65) | def _over_budget(ctx: GenerationContext) -> bool: function _rollback_for_budget (line 71) | def _rollback_for_budget( function _build_phase_plan (line 101) | def _build_phase_plan(ctx: GenerationContext) -> PhasedExecutionPlan | N... function _phase_elapsed_seconds (line 116) | def _phase_elapsed_seconds(start_time: float) -> float: function _phase_exhausted (line 120) | def _phase_exhausted(start_time: float, budget: PhaseBudget | None) -> b... function _build_phase_result (line 126) | def _build_phase_result( function _record_phase_result (line 147) | def _record_phase_result( function _finalize_phased_execution (line 161) | def _finalize_phased_execution( function _scaffolding_phase_outputs (line 180) | def _scaffolding_phase_outputs(ctx: GenerationContext) -> dict[str, Any]: function _execution_phase_outputs (line 190) | def _execution_phase_outputs(ctx: GenerationContext) -> dict[str, Any]: function _build_cost_control_metadata (line 204) | def _build_cost_control_metadata( class GenerationPipeline (line 260) | class GenerationPipeline: method __init__ (line 263) | def __init__( method run_generation (line 292) | def run_generation(self, ctx: GenerationContext) -> GenerationContext: FILE: autocontext/src/autocontext/loop/generation_runner.py function _current_release_version (line 73) | def _current_release_version() -> str: class RunSummary (line 80) | class RunSummary: class GenerationRunner (line 88) | class GenerationRunner: method __init__ (line 89) | def __init__( method migrate (line 199) | def migrate(self, migrations_dir: Path) -> None: method _scenario (line 202) | def _scenario(self, scenario_name: str) -> ScenarioInterface: method _chat_with_agent (line 216) | def _chat_with_agent(self, role: str, message: str, prompts: object, t... method _count_dead_ends (line 237) | def _count_dead_ends(self, scenario_name: str) -> int: method _generate_session_report (line 244) | def _generate_session_report( method _generate_trace_grounded_reports (line 279) | def _generate_trace_grounded_reports(self, run_id: str, scenario_name:... method _generate_progress_report (line 308) | def _generate_progress_report(self, run_id: str, scenario_name: str) -... method _generate_aggregate_analytics (line 322) | def _generate_aggregate_analytics( method _generate_rubric_drift_and_calibration (line 416) | def _generate_rubric_drift_and_calibration( method _latest_drift_baseline (line 495) | def _latest_drift_baseline( method _has_pending_calibration_round (line 517) | def _has_pending_calibration_round( method _generate_run_trace_artifacts (line 537) | def _generate_run_trace_artifacts( method _safe_generate_run_trace_artifacts (line 566) | def _safe_generate_run_trace_artifacts( method _build_run_trace (line 577) | def _build_run_trace( method _role_stage (line 921) | def _role_stage(self, role: str) -> str: method _duration_to_ms (line 930) | def _duration_to_ms(self, duration_seconds: object) -> int | None: method _int_value (line 938) | def _int_value(self, value: object, default: int = 0) -> int: method _float_value (line 944) | def _float_value(self, value: object, default: float = 0.0) -> float: method _optional_float_value (line 950) | def _optional_float_value( method _recover_stale_run_state (line 962) | def _recover_stale_run_state(self, run_id: str) -> None: method _hydrate_run_state (line 1025) | def _hydrate_run_state( method run (line 1061) | def run(self, scenario_name: str, generations: int, run_id: str | None... FILE: autocontext/src/autocontext/loop/hypothesis_tree.py class HypothesisNode (line 12) | class HypothesisNode: class HypothesisTree (line 27) | class HypothesisTree: method __init__ (line 30) | def __init__(self, max_hypotheses: int = 8, temperature: float = 1.0) ... method add (line 39) | def add( method select (line 64) | def select(self, rng: random.Random | None = None) -> HypothesisNode: method update (line 95) | def update( method prune (line 117) | def prune(self, protected_ids: set[str] | None = None) -> list[Hypothe... method best (line 138) | def best(self) -> HypothesisNode: method converged (line 144) | def converged(self, threshold: float = 0.01) -> bool: method size (line 155) | def size(self) -> int: method _median_score (line 161) | def _median_score(self) -> float: method _fit_beta (line 175) | def _fit_beta(node: HypothesisNode, median: float) -> tuple[float, flo... FILE: autocontext/src/autocontext/loop/presets.py class RunPreset (line 22) | class RunPreset(BaseModel): method to_dict (line 30) | def to_dict(self) -> dict[str, Any]: method from_dict (line 34) | def from_dict(cls, data: dict[str, Any]) -> RunPreset: function get_preset (line 56) | def get_preset(name: str) -> RunPreset | None: function apply_preset (line 61) | def apply_preset( FILE: autocontext/src/autocontext/loop/refinement_prompt.py function build_refinement_prompt (line 6) | def build_refinement_prompt( FILE: autocontext/src/autocontext/loop/remediation_router.py class RefreshFixture (line 34) | class RefreshFixture: class SurfaceSignatures (line 42) | class SurfaceSignatures: class SmallCaseVerify (line 50) | class SmallCaseVerify: class Rule (line 63) | class Rule(Protocol): method __call__ (line 64) | def __call__(self, report: FailureReport, **kwargs: Any) -> list[Remed... function _is_off_by_one_diff (line 75) | def _is_off_by_one_diff(expected: int, got: int) -> bool: function rule_off_by_one (line 85) | def rule_off_by_one(report: FailureReport, **_: Any) -> list[Remediation... function _modules_from_traceback (line 120) | def _modules_from_traceback(error: str) -> tuple[str, ...]: function rule_positional_typerror (line 131) | def rule_positional_typerror(report: FailureReport, **_: Any) -> list[Re... function _fixture_is_stale (line 154) | def _fixture_is_stale(fixture: Fixture, stale_after_days: int) -> bool: function rule_stale_fixture (line 166) | def rule_stale_fixture( function route_remediations (line 204) | def route_remediations( function _describe (line 226) | def _describe(hint: RemediationHint) -> str: function render_hints (line 238) | def render_hints(hints: Sequence[RemediationHint]) -> str: FILE: autocontext/src/autocontext/loop/runner_hooks.py function initialize_hook_bus (line 12) | def initialize_hook_bus(settings: AppSettings) -> tuple[HookBus, list[st... function ensure_hook_bus (line 20) | def ensure_hook_bus(runner: Any) -> HookBus: function loaded_extensions (line 30) | def loaded_extensions(runner: Any) -> list[str]: function emit_run_start (line 36) | def emit_run_start( function emit_run_end (line 55) | def emit_run_end(runner: Any, payload: dict[str, Any]) -> None: function emit_generation_end (line 60) | def emit_generation_end(runner: Any, payload: dict[str, Any]) -> None: function emit_generation_failed (line 65) | def emit_generation_failed(runner: Any, *, run_id: str, scenario: str, g... function emit_run_failed (line 72) | def emit_run_failed( function emit_run_completed (line 96) | def emit_run_completed( FILE: autocontext/src/autocontext/loop/signature_surfacer.py class Symbol (line 27) | class Symbol: function _is_public (line 40) | def _is_public(name: str) -> bool: function _unparse (line 44) | def _unparse(node: ast.AST | None) -> str: function _format_args (line 53) | def _format_args(args: ast.arguments) -> str: function _signature (line 101) | def _signature(func: ast.FunctionDef | ast.AsyncFunctionDef) -> str: function _docstring_first_line (line 108) | def _docstring_first_line( function _symbol_from_func (line 117) | def _symbol_from_func( function extract_symbols (line 132) | def extract_symbols(source: str) -> list[Symbol]: function _imports (line 174) | def _imports(source: str) -> tuple[list[str], list[tuple[str, list[str],... function _locate (line 202) | def _locate(module_name: str, search_roots: Sequence[Path]) -> Path | None: function resolve_imports (line 218) | def resolve_imports(source: str, search_roots: Sequence[Path]) -> dict[s... function _filter_for_imports (line 240) | def _filter_for_imports( function surface_signatures (line 271) | def surface_signatures(source: str, search_roots: Sequence[Path]) -> lis... function surface_for_strategy (line 291) | def surface_for_strategy( function render_signatures (line 311) | def render_signatures(symbols: Sequence[Symbol]) -> str: FILE: autocontext/src/autocontext/loop/stage_helpers/context_loaders.py function _load_validity_harness_loader (line 32) | def _load_validity_harness_loader( function _load_analyst_feedback_section (line 55) | def _load_analyst_feedback_section( function _load_architect_tool_usage_report (line 67) | def _load_architect_tool_usage_report( function _load_hint_feedback_section (line 82) | def _load_hint_feedback_section( function _load_credit_attribution_section (line 96) | def _load_credit_attribution_section( function _normalize_tool_names (line 115) | def _normalize_tool_names(raw: object) -> list[str]: function _current_tool_names (line 135) | def _current_tool_names(ctx: GenerationContext, *, artifacts: ArtifactSt... function _update_tool_usage_feedback (line 150) | def _update_tool_usage_feedback( function _hint_feedback_previous_best (line 177) | def _hint_feedback_previous_best(ctx: GenerationContext) -> float: function _collect_hint_feedback (line 184) | def _collect_hint_feedback( function _hint_volume_policy (line 279) | def _hint_volume_policy(ctx: GenerationContext) -> HintVolumePolicy: function _hint_feedback_matches (line 286) | def _hint_feedback_matches(text: str, candidate: str) -> bool: function _apply_hint_feedback_to_manager (line 292) | def _apply_hint_feedback_to_manager(manager: HintManager, feedback: Hint... FILE: autocontext/src/autocontext/loop/stage_helpers/dimensions.py function _load_previous_best_dimensions (line 17) | def _load_previous_best_dimensions( function _coerce_dimension_score_map (line 45) | def _coerce_dimension_score_map(raw_value: Any) -> dict[str, float]: function _coerce_dimension_specs (line 56) | def _coerce_dimension_specs(raw_value: Any) -> list[dict[str, Any]]: function _coerce_dimension_regressions (line 75) | def _coerce_dimension_regressions(raw_value: Any) -> list[dict[str, Any]]: function _build_dimension_summary_payload (line 104) | def _build_dimension_summary_payload(tournament: EvaluationSummary) -> d... function _build_self_play_summary_payload (line 122) | def _build_self_play_summary_payload(tournament: EvaluationSummary) -> d... function _json_dumps_if_serializable (line 142) | def _json_dumps_if_serializable(value: Any) -> str | None: function _build_replay_envelope_payload (line 149) | def _build_replay_envelope_payload(execution_output: Any) -> dict[str, A... function _build_match_replay_json (line 166) | def _build_match_replay_json(execution_output: Any) -> str: FILE: autocontext/src/autocontext/loop/stage_helpers/exploration.py function _load_recent_numeric_strategies (line 37) | def _load_recent_numeric_strategies( function _replace_prompt_section (line 66) | def _replace_prompt_section( function _build_branch_competitor_prompt (line 93) | def _build_branch_competitor_prompt( function _generate_branch_strategy (line 121) | def _generate_branch_strategy( function _select_exploration_strategy (line 162) | def _select_exploration_strategy( FILE: autocontext/src/autocontext/loop/stage_helpers/freshness.py function _freshness_policy (line 21) | def _freshness_policy(ctx: GenerationContext) -> FreshnessPolicy: function _format_freshness_warning_block (line 29) | def _format_freshness_warning_block(label: str, warnings: list[str]) -> ... function _load_fresh_skill_context (line 35) | def _load_fresh_skill_context( function _load_fresh_hint_context (line 67) | def _load_fresh_hint_context( function _filter_notebook_by_freshness (line 110) | def _filter_notebook_by_freshness( FILE: autocontext/src/autocontext/loop/stage_helpers/harness_mutations.py function load_active_harness_mutations (line 23) | def load_active_harness_mutations( function render_context_policy_block (line 34) | def render_context_policy_block(mutations: list[HarnessMutation]) -> str: function render_tool_instruction_block (line 49) | def render_tool_instruction_block(mutations: list[HarnessMutation]) -> str: function apply_harness_mutations_to_prompts (line 64) | def apply_harness_mutations_to_prompts( function persist_approved_harness_mutations (line 85) | def persist_approved_harness_mutations( function _mutation_identity (line 127) | def _mutation_identity(mutation: HarnessMutation) -> tuple[str, str, str... FILE: autocontext/src/autocontext/loop/stage_helpers/persistence_helpers.py function _revise_strategy_for_validity_failure (line 29) | def _revise_strategy_for_validity_failure( function _apply_tuning_to_settings (line 74) | def _apply_tuning_to_settings( function _build_credit_assignment_record (line 89) | def _build_credit_assignment_record( function _maybe_rate_analyst_output (line 131) | def _maybe_rate_analyst_output( function _persist_skill_note (line 182) | def _persist_skill_note( function _run_curator_consolidation (line 227) | def _run_curator_consolidation( function _persist_progress_snapshot (line 272) | def _persist_progress_snapshot( FILE: autocontext/src/autocontext/loop/stage_helpers/semantic_benchmark.py function _cache_counter_delta (line 26) | def _cache_counter_delta(before: Mapping[str, int], after: Mapping[str, ... function _coerce_cache_int (line 30) | def _coerce_cache_int(value: Any) -> int: function _prompt_compaction_cache_delta (line 40) | def _prompt_compaction_cache_delta(before: Mapping[str, int], after: Map... function _latest_compaction_parent_id (line 51) | def _latest_compaction_parent_id(artifacts: ArtifactStore, run_id: str) ... function _append_compaction_entries (line 62) | def _append_compaction_entries(artifacts: ArtifactStore, run_id: str, en... function _append_compaction_entries_for_context (line 70) | def _append_compaction_entries_for_context( function _evidence_source_run_ids (line 104) | def _evidence_source_run_ids(ctx: GenerationContext, *, artifacts: Artif... function materialize_evidence_manifests (line 119) | def materialize_evidence_manifests( function _benchmarkable_prompt_components (line 145) | def _benchmarkable_prompt_components( function _benchmarkable_prompt_components_from_kwargs (line 199) | def _benchmarkable_prompt_components_from_kwargs(prompt_kwargs: dict[str... function _as_str (line 224) | def _as_str(value: Any) -> str: function _as_str_dict (line 228) | def _as_str_dict(value: Any) -> dict[str, str] | None: function prepare_generation_prompts (line 238) | def prepare_generation_prompts( function _persist_generation_context_selection (line 384) | def _persist_generation_context_selection( FILE: autocontext/src/autocontext/loop/stage_helpers/tournament_prep.py function _build_empty_tournament (line 24) | def _build_empty_tournament(ctx: GenerationContext) -> EvaluationSummary: function _build_live_opponent_pool (line 38) | def _build_live_opponent_pool( function _build_skeptic_review_section (line 68) | def _build_skeptic_review_section(ctx: GenerationContext) -> str: function _resolve_holdout_policy (line 85) | def _resolve_holdout_policy(ctx: GenerationContext) -> HoldoutPolicy: function _run_holdout_verification (line 119) | def _run_holdout_verification( FILE: autocontext/src/autocontext/loop/stage_preflight.py function stage_preflight (line 25) | def stage_preflight( FILE: autocontext/src/autocontext/loop/stage_prevalidation.py function stage_prevalidation (line 29) | def stage_prevalidation( function _load_regression_fixtures (line 228) | def _load_regression_fixtures( function _validate_against_regression_fixtures (line 238) | def _validate_against_regression_fixtures( function _record_dead_end (line 283) | def _record_dead_end( FILE: autocontext/src/autocontext/loop/stage_probe.py function stage_probe (line 25) | def stage_probe( FILE: autocontext/src/autocontext/loop/stage_staged_validation.py function stage_staged_validation (line 27) | def stage_staged_validation( function _candidate_for_validation (line 108) | def _candidate_for_validation(candidate: object) -> object: FILE: autocontext/src/autocontext/loop/stage_tree_search.py function remediation_hints_for_node (line 31) | def remediation_hints_for_node( function stage_tree_search (line 81) | def stage_tree_search( function _generate_and_translate (line 468) | def _generate_and_translate( function _validate_strategy (line 490) | def _validate_strategy( function _run_mini_tournament (line 503) | def _run_mini_tournament( FILE: autocontext/src/autocontext/loop/stage_types.py class GenerationContext (line 23) | class GenerationContext: class StageResult (line 95) | class StageResult: FILE: autocontext/src/autocontext/loop/stages.py class _ClientAsProvider (line 121) | class _ClientAsProvider(LLMProvider): method __init__ (line 124) | def __init__(self, client: LanguageModelClient, model: str = "") -> None: method complete (line 128) | def complete( method default_model (line 144) | def default_model(self) -> str: function stage_policy_refinement (line 148) | def stage_policy_refinement( function stage_knowledge_setup (line 233) | def stage_knowledge_setup( function stage_agent_generation (line 450) | def stage_agent_generation( function stage_tournament (line 571) | def stage_tournament( function stage_stagnation_check (line 968) | def stage_stagnation_check( function stage_skeptic_review (line 1012) | def stage_skeptic_review( function stage_curator_gate (line 1084) | def stage_curator_gate( function stage_persistence (line 1185) | def stage_persistence( FILE: autocontext/src/autocontext/loop/startup_verification.py class StartupReport (line 25) | class StartupReport: function verify_startup (line 31) | def verify_startup( FILE: autocontext/src/autocontext/loop/tournament_helpers.py class GateDecisionResult (line 26) | class GateDecisionResult: function _optional_float (line 36) | def _optional_float(value: Any) -> float | None: function _build_advancement_metrics (line 42) | def _build_advancement_metrics( function resolve_gate_decision (line 75) | def resolve_gate_decision( function build_retry_prompt (line 173) | def build_retry_prompt( function apply_tournament_outcome (line 215) | def apply_tournament_outcome( function build_validity_rollback (line 251) | def build_validity_rollback( FILE: autocontext/src/autocontext/loop/trace_artifacts.py function persist_run_inspection (line 13) | def persist_run_inspection(trace: RunTrace, analytics_root: Path, trace_... FILE: autocontext/src/autocontext/mcp/_base.py class MtsToolContext (line 24) | class MtsToolContext: method __init__ (line 27) | def __init__(self, settings: AppSettings) -> None: function _resolve_objective_verification (line 36) | def _resolve_objective_verification( function _validate_task_name (line 56) | def _validate_task_name(name: str) -> str | None: FILE: autocontext/src/autocontext/mcp/agent_task_tools.py function create_agent_task (line 29) | def create_agent_task( function list_agent_tasks (line 70) | def list_agent_tasks(ctx: MtsToolContext) -> list[dict[str, Any]]: function get_agent_task (line 96) | def get_agent_task(ctx: MtsToolContext, name: str) -> dict[str, Any]: function delete_agent_task (line 109) | def delete_agent_task(ctx: MtsToolContext, name: str) -> dict[str, Any]: function evaluate_output (line 121) | def evaluate_output( function generate_output (line 217) | def generate_output( function queue_improvement_run (line 251) | def queue_improvement_run( function get_queue_status (line 311) | def get_queue_status(ctx: MtsToolContext) -> dict[str, Any]: function get_task_result (line 332) | def get_task_result(ctx: MtsToolContext, task_id: str) -> dict[str, Any]: function get_best_output (line 379) | def get_best_output(ctx: MtsToolContext, task_name: str) -> dict[str, Any]: function export_agent_task_skill (line 397) | def export_agent_task_skill( FILE: autocontext/src/autocontext/mcp/artifact_tools.py function evaluate_strategy (line 20) | def evaluate_strategy( function validate_strategy_against_harness (line 57) | def validate_strategy_against_harness( function _sync_published_harness_artifacts (line 104) | def _sync_published_harness_artifacts(ctx: MtsToolContext, scenario_name... function _validate_and_persist_artifact (line 128) | def _validate_and_persist_artifact( function publish_artifact (line 154) | def publish_artifact( function fetch_artifact (line 185) | def fetch_artifact( function list_artifacts (line 200) | def list_artifacts( FILE: autocontext/src/autocontext/mcp/distill_tools.py function distill_status (line 16) | def distill_status( function trigger_distillation (line 36) | def trigger_distillation( function get_distill_job (line 88) | def get_distill_job( function update_distill_job (line 103) | def update_distill_job( function _sync_distill_job (line 132) | def _sync_distill_job( FILE: autocontext/src/autocontext/mcp/knowledge_tools.py function read_playbook (line 29) | def read_playbook(ctx: MtsToolContext, scenario_name: str) -> str: function read_trajectory (line 34) | def read_trajectory(ctx: MtsToolContext, run_id: str) -> str: function read_analysis (line 39) | def read_analysis(ctx: MtsToolContext, scenario_name: str, generation: i... function read_hints (line 47) | def read_hints(ctx: MtsToolContext, scenario_name: str) -> str: function read_tool_context (line 52) | def read_tool_context(ctx: MtsToolContext, scenario_name: str) -> str: function read_skills (line 57) | def read_skills(ctx: MtsToolContext, scenario_name: str) -> str: function list_runs (line 62) | def list_runs(ctx: MtsToolContext) -> list[dict[str, Any]]: # type: ign... function run_status (line 67) | def run_status(ctx: MtsToolContext, run_id: str) -> list[dict[str, Any]]: function run_replay (line 72) | def run_replay(ctx: MtsToolContext, run_id: str, generation: int) -> dic... function export_skill (line 84) | def export_skill(ctx: MtsToolContext, scenario_name: str) -> dict[str, A... function list_solved (line 100) | def list_solved(ctx: MtsToolContext) -> list[dict[str, Any]]: function search_strategies (line 107) | def search_strategies(ctx: MtsToolContext, query: str, top_k: int = 5) -... function record_feedback (line 126) | def record_feedback( function get_feedback (line 149) | def get_feedback( function run_improvement_loop (line 158) | def run_improvement_loop( function export_package (line 259) | def export_package(ctx: MtsToolContext, scenario_name: str) -> dict[str,... function import_package (line 270) | def import_package( function get_capabilities (line 291) | def get_capabilities() -> dict[str, Any]: function get_env_snapshot (line 345) | def get_env_snapshot(ctx: MtsToolContext, scenario_name: str) -> str: function get_evidence_list (line 361) | def get_evidence_list(ctx: MtsToolContext, scenario_name: str) -> str: function get_evidence_artifact (line 372) | def get_evidence_artifact( function _evidence_manifest_path (line 398) | def _evidence_manifest_path(ctx: MtsToolContext, scenario_name: str) -> ... function _load_evidence_workspace (line 402) | def _load_evidence_workspace( FILE: autocontext/src/autocontext/mcp/monitor_tools.py function autocontext_create_monitor (line 15) | def autocontext_create_monitor( function autocontext_list_monitors (line 39) | def autocontext_list_monitors( function autocontext_delete_monitor (line 50) | def autocontext_delete_monitor(condition_id: str) -> dict[str, Any]: function autocontext_list_monitor_alerts (line 59) | def autocontext_list_monitor_alerts( function autocontext_wait_for_monitor (line 71) | def autocontext_wait_for_monitor( FILE: autocontext/src/autocontext/mcp/runtime_session_tools.py function list_runtime_sessions (line 19) | def list_runtime_sessions(ctx: MtsToolContext, limit: int = 50) -> dict[... function get_runtime_session (line 28) | def get_runtime_session( function get_runtime_session_timeline (line 53) | def get_runtime_session_timeline( function _event_store (line 78) | def _event_store(ctx: MtsToolContext) -> RuntimeSessionEventStore: function _resolve_runtime_session_identifier (line 82) | def _resolve_runtime_session_identifier( FILE: autocontext/src/autocontext/mcp/sandbox.py class Sandbox (line 18) | class Sandbox: class SandboxManager (line 26) | class SandboxManager: method __init__ (line 29) | def __init__(self, base_settings: AppSettings) -> None: method create (line 34) | def create(self, scenario_name: str, user_id: str = "anonymous") -> Sa... method _seed_knowledge (line 98) | def _seed_knowledge(self, scenario_name: str, sb_knowledge: Path) -> N... method run_generation (line 132) | def run_generation(self, sandbox_id: str, generations: int = 1) -> dic... method get_status (line 162) | def get_status(self, sandbox_id: str) -> dict[str, Any]: method read_playbook (line 174) | def read_playbook(self, sandbox_id: str) -> str: method list_sandboxes (line 182) | def list_sandboxes(self) -> list[dict[str, str]]: method destroy (line 193) | def destroy(self, sandbox_id: str) -> bool: FILE: autocontext/src/autocontext/mcp/server.py function _get_ctx (line 19) | def _get_ctx() -> tools.MtsToolContext: function _get_sandbox_mgr (line 26) | def _get_sandbox_mgr() -> SandboxManager: function _get_solve_mgr (line 33) | def _get_solve_mgr() -> object: function autocontext_list_scenarios (line 46) | def autocontext_list_scenarios() -> str: function autocontext_describe_scenario (line 52) | def autocontext_describe_scenario(scenario_name: str) -> str: function autocontext_validate_strategy (line 58) | def autocontext_validate_strategy(scenario_name: str, strategy: str) -> ... function autocontext_run_match (line 64) | def autocontext_run_match(scenario_name: str, strategy: str, seed: int =... function autocontext_run_tournament (line 70) | def autocontext_run_tournament(scenario_name: str, strategy: str, matche... function autocontext_read_playbook (line 79) | def autocontext_read_playbook(scenario_name: str) -> str: function autocontext_read_trajectory (line 85) | def autocontext_read_trajectory(run_id: str) -> str: function autocontext_read_analysis (line 91) | def autocontext_read_analysis(scenario_name: str, generation: int) -> str: function autocontext_read_hints (line 97) | def autocontext_read_hints(scenario_name: str) -> str: function autocontext_read_tools (line 103) | def autocontext_read_tools(scenario_name: str) -> str: function autocontext_read_skills (line 109) | def autocontext_read_skills(scenario_name: str) -> str: function autocontext_list_runs (line 118) | def autocontext_list_runs() -> str: function autocontext_run_status (line 124) | def autocontext_run_status(run_id: str) -> str: function autocontext_run_replay (line 130) | def autocontext_run_replay(run_id: str, generation: int) -> str: function autocontext_list_runtime_sessions (line 136) | def autocontext_list_runtime_sessions(limit: int = 50) -> str: function _runtime_session_response (line 141) | def _runtime_session_response(session_id: str, run_id: str) -> str: function _runtime_session_timeline_response (line 145) | def _runtime_session_timeline_response(session_id: str, run_id: str) -> ... function autocontext_get_runtime_session (line 150) | def autocontext_get_runtime_session(session_id: str = "", run_id: str = ... function autocontext_get_runtime_session_timeline (line 156) | def autocontext_get_runtime_session_timeline(session_id: str = "", run_i... function list_runtime_sessions (line 162) | def list_runtime_sessions(limit: int = 50) -> str: function get_runtime_session (line 168) | def get_runtime_session(session_id: str = "", run_id: str = "") -> str: function get_runtime_session_timeline (line 174) | def get_runtime_session_timeline(session_id: str = "", run_id: str = "")... function autocontext_sandbox_create (line 183) | def autocontext_sandbox_create(scenario_name: str, user_id: str = "anony... function autocontext_sandbox_run (line 191) | def autocontext_sandbox_run(sandbox_id: str, generations: int = 1) -> str: function autocontext_sandbox_status (line 199) | def autocontext_sandbox_status(sandbox_id: str) -> str: function autocontext_sandbox_playbook (line 206) | def autocontext_sandbox_playbook(sandbox_id: str) -> str: function autocontext_sandbox_list (line 213) | def autocontext_sandbox_list() -> str: function autocontext_sandbox_destroy (line 220) | def autocontext_sandbox_destroy(sandbox_id: str) -> str: function autocontext_export_skill (line 231) | def autocontext_export_skill(scenario_name: str) -> str: function autocontext_list_solved (line 238) | def autocontext_list_solved() -> str: function autocontext_search_strategies (line 244) | def autocontext_search_strategies(query: str, top_k: int = 5) -> str: function autocontext_solve_scenario (line 251) | def autocontext_solve_scenario(description: str, generations: int = 5) -... function _solve_scenario_response (line 258) | def _solve_scenario_response(description: str, generations: int = 5) -> ... function autocontext_solve_status (line 267) | def autocontext_solve_status(job_id: str) -> str: function _solve_status_response (line 272) | def _solve_status_response(job_id: str) -> str: function autocontext_solve_result (line 280) | def autocontext_solve_result(job_id: str) -> str: function _solve_result_response (line 285) | def _solve_result_response(job_id: str) -> str: function solve_scenario (line 296) | def solve_scenario(description: str, generations: int = 5) -> str: function solve_status (line 302) | def solve_status(job_id: str) -> str: function solve_result (line 308) | def solve_result(job_id: str) -> str: function autocontext_record_feedback (line 317) | def autocontext_record_feedback( function autocontext_get_feedback (line 329) | def autocontext_get_feedback(scenario_name: str, limit: int = 10) -> str: function autocontext_run_improvement_loop (line 335) | def autocontext_run_improvement_loop( function autocontext_create_agent_task (line 366) | def autocontext_create_agent_task( function autocontext_list_agent_tasks (line 404) | def autocontext_list_agent_tasks() -> str: function autocontext_get_agent_task (line 410) | def autocontext_get_agent_task(name: str) -> str: function autocontext_delete_agent_task (line 416) | def autocontext_delete_agent_task(name: str) -> str: function autocontext_evaluate_output (line 422) | def autocontext_evaluate_output(task_name: str, output: str) -> str: function autocontext_generate_output (line 429) | def autocontext_generate_output(task_name: str) -> str: function autocontext_queue_improvement_run (line 440) | def autocontext_queue_improvement_run( function autocontext_get_queue_status (line 452) | def autocontext_get_queue_status() -> str: function autocontext_get_task_result (line 458) | def autocontext_get_task_result(task_id: str) -> str: function autocontext_get_best_output (line 464) | def autocontext_get_best_output(task_name: str) -> str: function autocontext_export_agent_task_skill (line 470) | def autocontext_export_agent_task_skill(task_name: str) -> str: function autocontext_evaluate_strategy (line 481) | def autocontext_evaluate_strategy( function autocontext_validate_strategy_against_harness (line 500) | def autocontext_validate_strategy_against_harness( function autocontext_publish_artifact (line 516) | def autocontext_publish_artifact(artifact_data: str) -> str: function autocontext_fetch_artifact (line 528) | def autocontext_fetch_artifact(artifact_id: str) -> str: function autocontext_list_artifacts (line 534) | def autocontext_list_artifacts( function autocontext_distill_status (line 549) | def autocontext_distill_status(scenario: str | None = None) -> str: function autocontext_trigger_distillation (line 555) | def autocontext_trigger_distillation( function autocontext_get_distill_job (line 575) | def autocontext_get_distill_job(job_id: str) -> str: function autocontext_update_distill_job (line 581) | def autocontext_update_distill_job( function autocontext_capabilities (line 603) | def autocontext_capabilities() -> str: function autocontext_export_package (line 609) | def autocontext_export_package(scenario_name: str) -> str: function autocontext_import_package (line 618) | def autocontext_import_package(package_data: str, conflict_policy: str =... function autocontext_skill_advertise (line 637) | def autocontext_skill_advertise() -> str: function autocontext_skill_scenario_capabilities (line 643) | def autocontext_skill_scenario_capabilities(scenario_name: str) -> str: function autocontext_skill_runtime_health (line 649) | def autocontext_skill_runtime_health() -> str: function autocontext_skill_scenario_artifacts (line 655) | def autocontext_skill_scenario_artifacts(scenario_name: str) -> str: function autocontext_skill_manifest (line 664) | def autocontext_skill_manifest() -> str: function autocontext_skill_discover (line 671) | def autocontext_skill_discover(query: str | None = None) -> str: function autocontext_skill_select (line 677) | def autocontext_skill_select(description: str) -> str: function autocontext_skill_evaluate (line 684) | def autocontext_skill_evaluate( function autocontext_skill_discover_artifacts (line 704) | def autocontext_skill_discover_artifacts( function autocontext_create_monitor_tool (line 722) | def autocontext_create_monitor_tool( function autocontext_list_monitors_tool (line 733) | def autocontext_list_monitors_tool( function autocontext_delete_monitor_tool (line 742) | def autocontext_delete_monitor_tool(condition_id: str) -> str: function autocontext_list_monitor_alerts_tool (line 748) | def autocontext_list_monitor_alerts_tool( function autocontext_wait_for_monitor_tool (line 758) | def autocontext_wait_for_monitor_tool( function autocontext_env_snapshot (line 767) | def autocontext_env_snapshot(scenario_name: str) -> str: function autocontext_evidence_list (line 773) | def autocontext_evidence_list(scenario_name: str) -> str: function autocontext_evidence_artifact (line 779) | def autocontext_evidence_artifact( function run_server (line 788) | def run_server() -> None: FILE: autocontext/src/autocontext/mcp/tools.py function list_scenarios (line 93) | def list_scenarios() -> list[dict[str, str]]: function describe_scenario (line 108) | def describe_scenario(name: str) -> dict[str, str]: function validate_strategy (line 118) | def validate_strategy(name: str, strategy: dict[str, Any]) -> dict[str, ... function run_match (line 128) | def run_match(name: str, strategy: dict[str, Any], seed: int) -> dict[st... function run_tournament (line 137) | def run_tournament(name: str, strategy: dict[str, Any], matches: int, se... function skill_advertise_capabilities (line 172) | def skill_advertise_capabilities(ctx: MtsToolContext) -> dict[str, Any]: function skill_scenario_capabilities (line 180) | def skill_scenario_capabilities(ctx: MtsToolContext, scenario_name: str)... function skill_runtime_health (line 188) | def skill_runtime_health(ctx: MtsToolContext) -> dict[str, Any]: function skill_scenario_artifact_lookup (line 196) | def skill_scenario_artifact_lookup(ctx: MtsToolContext, scenario_name: s... function skill_manifest (line 207) | def skill_manifest(ctx: MtsToolContext) -> dict[str, Any]: function skill_discover_scenarios (line 214) | def skill_discover_scenarios(ctx: MtsToolContext, query: str | None = No... function skill_select_scenario (line 222) | def skill_select_scenario(ctx: MtsToolContext, description: str) -> dict... function skill_evaluate (line 229) | def skill_evaluate( function skill_discover_artifacts (line 242) | def skill_discover_artifacts( FILE: autocontext/src/autocontext/monitor/engine.py class MonitorEngine (line 27) | class MonitorEngine: method __init__ (line 30) | def __init__( method start (line 53) | def start(self) -> None: method stop (line 67) | def stop(self) -> None: method _heartbeat_loop (line 87) | def _heartbeat_loop(self) -> None: method _check_heartbeat (line 97) | def _check_heartbeat(self) -> None: method _on_event (line 116) | def _on_event(self, event: str, payload: dict[str, Any]) -> None: method create_condition (line 127) | def create_condition(self, condition: MonitorCondition) -> str: method _evaluate_condition (line 136) | def _evaluate_condition( method _fire_alert (line 158) | def _fire_alert(self, alert: MonitorAlert) -> None: method wait_for_alert (line 205) | def wait_for_alert(self, condition_id: str, timeout: float = 30.0) -> ... method _row_to_condition (line 224) | def _row_to_condition(row: dict[str, Any]) -> MonitorCondition: function get_engine (line 244) | def get_engine() -> MonitorEngine: function set_engine (line 251) | def set_engine(engine: MonitorEngine) -> None: function clear_engine (line 257) | def clear_engine() -> None: FILE: autocontext/src/autocontext/monitor/evaluators.py function _scope_matches (line 16) | def _scope_matches(payload: dict[str, Any], scope: str) -> bool: function evaluate_metric_threshold (line 25) | def evaluate_metric_threshold( function evaluate_stall_window (line 65) | def evaluate_stall_window( function evaluate_artifact_created (line 106) | def evaluate_artifact_created( function evaluate_process_exit (line 135) | def evaluate_process_exit( function evaluate_heartbeat_lost (line 162) | def evaluate_heartbeat_lost( FILE: autocontext/src/autocontext/monitor/types.py class ConditionType (line 11) | class ConditionType(StrEnum): class MonitorCondition (line 22) | class MonitorCondition: class MonitorAlert (line 35) | class MonitorAlert: function make_id (line 48) | def make_id() -> str: FILE: autocontext/src/autocontext/notebook/context_provider.py class NotebookContextWarning (line 39) | class NotebookContextWarning: class EffectiveContextPreview (line 47) | class EffectiveContextPreview(BaseModel): method to_dict (line 57) | def to_dict(self) -> dict[str, Any]: method from_dict (line 61) | def from_dict(cls, data: dict[str, Any]) -> EffectiveContextPreview: class NotebookContextProvider (line 65) | class NotebookContextProvider: method for_role (line 68) | def for_role( method check_warnings (line 100) | def check_warnings( method build_effective_preview (line 125) | def build_effective_preview( FILE: autocontext/src/autocontext/notebook/injection.py function format_notebook_context (line 6) | def format_notebook_context(notebook: SessionNotebook) -> str: FILE: autocontext/src/autocontext/notebook/types.py class SessionNotebook (line 8) | class SessionNotebook(BaseModel): method from_dict (line 23) | def from_dict(cls, data: dict[str, Any]) -> SessionNotebook: FILE: autocontext/src/autocontext/notifications/base.py class EventType (line 10) | class EventType(StrEnum): class NotificationEvent (line 18) | class NotificationEvent: method summary (line 33) | def summary(self) -> str: class Notifier (line 47) | class Notifier(ABC): method notify (line 51) | def notify(self, event: NotificationEvent) -> None: FILE: autocontext/src/autocontext/notifications/callback.py class CallbackNotifier (line 13) | class CallbackNotifier(Notifier): method __init__ (line 16) | def __init__(self, fn: Callable[[NotificationEvent], None]) -> None: method notify (line 19) | def notify(self, event: NotificationEvent) -> None: FILE: autocontext/src/autocontext/notifications/composite.py class CompositeNotifier (line 12) | class CompositeNotifier(Notifier): method __init__ (line 15) | def __init__( method notify (line 23) | def notify(self, event: NotificationEvent) -> None: FILE: autocontext/src/autocontext/notifications/http.py class HTTPNotifier (line 15) | class HTTPNotifier(Notifier): method __init__ (line 18) | def __init__( method notify (line 28) | def notify(self, event: NotificationEvent) -> None: FILE: autocontext/src/autocontext/notifications/slack.py class SlackWebhookNotifier (line 15) | class SlackWebhookNotifier(Notifier): method __init__ (line 21) | def __init__(self, webhook_url: str, channel: str | None = None, timeo... method notify (line 26) | def notify(self, event: NotificationEvent) -> None: method _format_blocks (line 44) | def _format_blocks(self, event: NotificationEvent) -> list[dict]: FILE: autocontext/src/autocontext/notifications/stdout.py class StdoutNotifier (line 12) | class StdoutNotifier(Notifier): method __init__ (line 15) | def __init__(self, use_logger: bool = False) -> None: method notify (line 18) | def notify(self, event: NotificationEvent) -> None: FILE: autocontext/src/autocontext/openclaw/adapters.py class OpenClawRequest (line 29) | class OpenClawRequest: method to_json (line 39) | def to_json(self) -> str: class OpenClawResponse (line 51) | class OpenClawResponse: method from_json (line 62) | def from_json(cls, raw: str) -> OpenClawResponse: class OpenClawAdapter (line 85) | class OpenClawAdapter(ABC): method runtime_kind (line 90) | def runtime_kind(self) -> str: method execute (line 94) | def execute(self, request: OpenClawRequest) -> OpenClawResponse: class AdapterCapability (line 99) | class AdapterCapability: method to_dict (line 108) | def to_dict(self) -> dict[str, Any]: method from_dict (line 118) | def from_dict(cls, data: dict[str, Any]) -> AdapterCapability: class AdapterBackedOpenClawAgent (line 129) | class AdapterBackedOpenClawAgent: method execute (line 135) | def execute( class CLIOpenClawAdapter (line 184) | class CLIOpenClawAdapter(OpenClawAdapter): method __init__ (line 187) | def __init__( method runtime_kind (line 198) | def runtime_kind(self) -> str: method execute (line 201) | def execute(self, request: OpenClawRequest) -> OpenClawResponse: function _http_post (line 225) | def _http_post( class HTTPOpenClawAdapter (line 251) | class HTTPOpenClawAdapter(OpenClawAdapter): method __init__ (line 254) | def __init__( method runtime_kind (line 265) | def runtime_kind(self) -> str: method execute (line 268) | def execute(self, request: OpenClawRequest) -> OpenClawResponse: function capability_from_settings (line 290) | def capability_from_settings( FILE: autocontext/src/autocontext/openclaw/agent_adapter.py class OpenClawAdapterError (line 25) | class OpenClawAdapterError(Exception): class TraceStep (line 30) | class TraceStep: class TraceToolCall (line 39) | class TraceToolCall: class OpenClawExecutionTrace (line 49) | class OpenClawExecutionTrace: method from_dict (line 65) | def from_dict(cls, data: dict[str, Any]) -> OpenClawExecutionTrace: method to_role_usage (line 93) | def to_role_usage(self) -> RoleUsage: method to_evaluation_summary (line 102) | def to_evaluation_summary(self) -> dict[str, Any]: method to_role_execution (line 112) | def to_role_execution(self, role: str) -> RoleExecution: class OpenClawAgentProtocol (line 124) | class OpenClawAgentProtocol(Protocol): method execute (line 131) | def execute( class OpenClawClient (line 145) | class OpenClawClient(LanguageModelClient): method generate (line 158) | def generate( method generate_multiturn (line 178) | def generate_multiturn( method _execute_with_retry (line 199) | def _execute_with_retry( method _execute_with_timeout (line 230) | def _execute_with_timeout( FILE: autocontext/src/autocontext/openclaw/discovery.py class ArtifactSummary (line 35) | class ArtifactSummary(BaseModel): class ScenarioCapabilities (line 45) | class ScenarioCapabilities(BaseModel): class RuntimeHealth (line 58) | class RuntimeHealth(BaseModel): class CapabilityAdvertisement (line 70) | class CapabilityAdvertisement(BaseModel): function _get_scenario_best_metrics (line 85) | def _get_scenario_best_metrics(ctx: MtsToolContext, scenario_name: str) ... function _count_artifacts_by_type (line 104) | def _count_artifacts_by_type(knowledge_root: Path) -> dict[str, int]: function _has_policy_artifact (line 123) | def _has_policy_artifact(knowledge_root: Path, scenario_name: str) -> bool: function discover_scenario_capabilities (line 145) | def discover_scenario_capabilities(ctx: MtsToolContext, scenario_name: s... function get_runtime_health (line 198) | def get_runtime_health(settings: AppSettings) -> RuntimeHealth: function advertise_capabilities (line 221) | def advertise_capabilities(ctx: MtsToolContext) -> CapabilityAdvertisement: function scenario_artifact_lookup (line 247) | def scenario_artifact_lookup(ctx: MtsToolContext, scenario_name: str) ->... FILE: autocontext/src/autocontext/openclaw/distill.py class DistillJobError (line 32) | class DistillJobError(Exception): class DistillJob (line 47) | class DistillJob(BaseModel): class DistillSidecarProtocol (line 64) | class DistillSidecarProtocol(Protocol): method launch (line 67) | def launch(self, job_id: str, scenario: str, config: dict[str, Any]) -... method poll (line 71) | def poll(self, job_id: str) -> dict[str, Any]: class CommandDistillSidecar (line 76) | class CommandDistillSidecar: method __init__ (line 79) | def __init__(self, command_template: str, *, cwd: Path) -> None: method launch (line 83) | def launch(self, job_id: str, scenario: str, config: dict[str, Any]) -... method poll (line 101) | def poll(self, job_id: str) -> dict[str, Any]: function _load_factory (line 106) | def _load_factory(factory_path: str) -> Callable[..., object]: function load_distill_sidecar (line 122) | def load_distill_sidecar(settings: AppSettings, *, cwd: Path | None = No... class DistillJobManager (line 144) | class DistillJobManager: method __init__ (line 147) | def __init__(self, knowledge_root: Path) -> None: method _ensure_dir (line 150) | def _ensure_dir(self) -> None: method _job_path (line 153) | def _job_path(self, job_id: str) -> Path: method _write_job (line 156) | def _write_job(self, job: DistillJob) -> None: method _read_job (line 162) | def _read_job(self, job_id: str) -> DistillJob | None: method create_job (line 172) | def create_job( method get_job (line 187) | def get_job(self, job_id: str) -> DistillJob | None: method list_jobs (line 191) | def list_jobs(self, scenario: str | None = None) -> list[DistillJob]: method transition (line 206) | def transition( method active_job_count (line 253) | def active_job_count(self) -> int: FILE: autocontext/src/autocontext/openclaw/models.py class ScenarioInfo (line 11) | class ScenarioInfo(BaseModel): method validate_scenario_type (line 22) | def validate_scenario_type(cls, value: str) -> str: class SkillManifest (line 32) | class SkillManifest(BaseModel): class ScenarioRecommendation (line 50) | class ScenarioRecommendation(BaseModel): class EvaluationResult (line 59) | class EvaluationResult(BaseModel): class ArtifactSummary (line 73) | class ArtifactSummary(BaseModel): FILE: autocontext/src/autocontext/openclaw/skill.py function _build_scenario_info (line 65) | def _build_scenario_info(name: str) -> ScenarioInfo: function _tokenize (line 89) | def _tokenize(text: str) -> list[str]: function _registry_score (line 93) | def _registry_score(info: ScenarioInfo, query: str) -> tuple[float, str]: function _rank_scenarios (line 127) | def _rank_scenarios( class MtsSkillWrapper (line 148) | class MtsSkillWrapper: method __init__ (line 155) | def __init__(self, ctx: MtsToolContext) -> None: method manifest (line 158) | def manifest(self) -> SkillManifest: method discover_scenarios (line 169) | def discover_scenarios(self, query: str | None = None) -> list[Scenari... method select_scenario (line 177) | def select_scenario(self, description: str) -> ScenarioRecommendation: method evaluate (line 206) | def evaluate( method discover_artifacts (line 274) | def discover_artifacts( FILE: autocontext/src/autocontext/preflight.py class CheckResult (line 16) | class CheckResult: class PreflightChecker (line 24) | class PreflightChecker: method __init__ (line 27) | def __init__( method check_scenario_exists (line 37) | def check_scenario_exists(self) -> CheckResult: method check_knowledge_writable (line 46) | def check_knowledge_writable(self) -> CheckResult: method run_all (line 60) | def run_all(self) -> list[CheckResult]: method to_markdown (line 68) | def to_markdown(results: Sequence[CheckResult]) -> str: FILE: autocontext/src/autocontext/production_traces/contract/models.py class Sdk (line 12) | class Sdk(BaseModel): class TraceSource (line 20) | class TraceSource(BaseModel): class Provider (line 29) | class Provider(BaseModel): class EnvContext (line 46) | class EnvContext(BaseModel): class ToolCall (line 56) | class ToolCall(BaseModel): class Error (line 67) | class Error(BaseModel): class ProductionOutcome (line 76) | class ProductionOutcome(BaseModel): class UsageInfo (line 87) | class UsageInfo(BaseModel): class EvalExampleId (line 97) | class EvalExampleId(RootModel[str]): class TrainingRecordId (line 101) | class TrainingRecordId(RootModel[str]): class TraceLinks (line 105) | class TraceLinks(BaseModel): class Chosen (line 115) | class Chosen(BaseModel): class Routing (line 124) | class Routing(BaseModel): class UserIdHash (line 138) | class UserIdHash(RootModel[str]): class EndedAt (line 142) | class EndedAt(RootModel[AwareDatetime]): class Items (line 146) | class Items(BaseModel): class SessionIdentifier (line 157) | class SessionIdentifier(BaseModel): class Message (line 166) | class Message(BaseModel): class TimingInfo (line 177) | class TimingInfo(BaseModel): class FeedbackRef (line 187) | class FeedbackRef(BaseModel): class RedactionMarker (line 198) | class RedactionMarker(BaseModel): class ProductionTrace (line 209) | class ProductionTrace(BaseModel): FILE: autocontext/src/autocontext/production_traces/emit.py function _sdk_version (line 34) | def _sdk_version() -> str: function _default_source (line 41) | def _default_source() -> dict[str, Any]: function build_trace (line 48) | def build_trace( function write_jsonl (line 107) | def write_jsonl( class TraceBatch (line 148) | class TraceBatch: method __init__ (line 161) | def __init__(self) -> None: method add (line 164) | def add(self, trace: dict[str, Any]) -> None: method flush (line 167) | def flush(self, cwd: str | Path | None = None) -> Path | None: method __len__ (line 174) | def __len__(self) -> int: function _resolve_cwd (line 181) | def _resolve_cwd(cwd: str | Path | None) -> Path: function _partition_date (line 190) | def _partition_date(traces: list[dict[str, Any]]) -> str: function _parse_iso_utc (line 201) | def _parse_iso_utc(value: str) -> datetime | None: FILE: autocontext/src/autocontext/production_traces/hashing.py function _install_salt_path (line 28) | def _install_salt_path(cwd: str | Path) -> Path: function initialize_install_salt (line 32) | def initialize_install_salt(cwd: str | Path) -> str: function rotate_install_salt (line 51) | def rotate_install_salt(cwd: str | Path) -> str: function load_install_salt (line 60) | def load_install_salt(cwd: str | Path) -> str | None: function hash_user_id (line 77) | def hash_user_id(user_id: str, salt: str) -> str: function hash_session_id (line 86) | def hash_session_id(session_id: str, salt: str) -> str: function _write_salt (line 95) | def _write_salt(path: Path) -> str: function _assert_non_empty_salt (line 108) | def _assert_non_empty_salt(salt: str) -> None: FILE: autocontext/src/autocontext/production_traces/validate.py function validate_production_trace (line 22) | def validate_production_trace(data: dict[str, Any]) -> ProductionTrace: function validate_production_trace_dict (line 31) | def validate_production_trace_dict(data: Any) -> tuple[bool, list[str]]: function _format_error (line 46) | def _format_error(err: Any) -> str: FILE: autocontext/src/autocontext/prompts/context_budget.py class ContextBudgetPolicy (line 102) | class ContextBudgetPolicy: class ContextBudgetTelemetry (line 113) | class ContextBudgetTelemetry: method dedupe_hit_count (line 128) | def dedupe_hit_count(self) -> int: method component_cap_hit_count (line 132) | def component_cap_hit_count(self) -> int: method trimmed_components (line 136) | def trimmed_components(self) -> tuple[str, ...]: method trimmed_component_count (line 140) | def trimmed_component_count(self) -> int: method token_reduction (line 144) | def token_reduction(self) -> int: method to_dict (line 147) | def to_dict(self) -> dict[str, Any]: class ContextBudgetResult (line 168) | class ContextBudgetResult: function estimate_tokens (line 175) | def estimate_tokens(text: str) -> int: function _truncate_to_tokens (line 180) | def _truncate_to_tokens(text: str, max_tokens: int) -> str: class ContextBudget (line 197) | class ContextBudget: method __init__ (line 206) | def __init__( method apply (line 214) | def apply(self, components: dict[str, str]) -> dict[str, str]: method apply_with_telemetry (line 218) | def apply_with_telemetry(self, components: dict[str, str]) -> ContextB... function _deduplicate_equivalent_components (line 292) | def _deduplicate_equivalent_components( function _apply_component_caps (line 326) | def _apply_component_caps( function _duplicate_key (line 356) | def _duplicate_key(value: str) -> str: function _component_token_counts (line 361) | def _component_token_counts(components: Mapping[str, str]) -> dict[str, ... function _canonical_rank (line 365) | def _canonical_rank(order: tuple[str, ...]) -> Callable[[str], int]: FILE: autocontext/src/autocontext/prompts/templates.py class PromptBundle (line 19) | class PromptBundle: function _prompt_bundle_roles (line 26) | def _prompt_bundle_roles(bundle: PromptBundle) -> dict[str, str]: function _prompt_bundle_from_roles (line 35) | def _prompt_bundle_from_roles(roles: dict[str, Any], fallback: PromptBun... function _selected_context_components (line 44) | def _selected_context_components( function build_prompt_bundle (line 91) | def build_prompt_bundle( function code_strategy_competitor_suffix (line 391) | def code_strategy_competitor_suffix(strategy_interface: str) -> str: FILE: autocontext/src/autocontext/providers/anthropic.py class AnthropicProvider (line 10) | class AnthropicProvider(LLMProvider): method __init__ (line 13) | def __init__( method complete (line 21) | def complete( method default_model (line 59) | def default_model(self) -> str: FILE: autocontext/src/autocontext/providers/base.py class ProviderError (line 9) | class ProviderError(Exception): class CompletionResult (line 14) | class CompletionResult: class LLMProvider (line 23) | class LLMProvider(ABC): method complete (line 32) | def complete( method default_model (line 58) | def default_model(self) -> str: method name (line 63) | def name(self) -> str: FILE: autocontext/src/autocontext/providers/callable_wrapper.py class CallableProvider (line 17) | class CallableProvider(LLMProvider): method __init__ (line 24) | def __init__( method complete (line 32) | def complete( method default_model (line 48) | def default_model(self) -> str: FILE: autocontext/src/autocontext/providers/mlx_provider.py function _resolve_weights_path (line 18) | def _resolve_weights_path(model_dir: Path) -> Path: function _load_model_and_tokenizer (line 32) | def _load_model_and_tokenizer(model_dir: Path) -> tuple[Any, Any]: function _load_tokenizer (line 87) | def _load_tokenizer(model_dir: Path) -> Any: class MLXProvider (line 136) | class MLXProvider(LLMProvider): method __init__ (line 143) | def __init__( method complete (line 161) | def complete( method _generate (line 192) | def _generate(self, prompt: str, *, temperature: float, max_tokens: in... method _sample_tokens (line 212) | def _sample_tokens( method default_model (line 257) | def default_model(self) -> str: method name (line 261) | def name(self) -> str: FILE: autocontext/src/autocontext/providers/openai_compat.py class OpenAICompatibleProvider (line 25) | class OpenAICompatibleProvider(LLMProvider): method __init__ (line 38) | def __init__( method complete (line 61) | def complete( method default_model (line 100) | def default_model(self) -> str: FILE: autocontext/src/autocontext/providers/registry.py function create_provider (line 14) | def create_provider( function _configured_provider (line 111) | def _configured_provider(settings: AppSettings, field_name: str) -> str: function resolve_auto_judge_provider (line 116) | def resolve_auto_judge_provider(settings: AppSettings) -> str: function get_provider (line 140) | def get_provider(settings: AppSettings) -> LLMProvider: FILE: autocontext/src/autocontext/providers/retry.py function _is_transient (line 36) | def _is_transient(error: Exception) -> bool: class RetryProvider (line 42) | class RetryProvider(LLMProvider): method __init__ (line 54) | def __init__( method complete (line 70) | def complete( method default_model (line 108) | def default_model(self) -> str: method name (line 112) | def name(self) -> str: FILE: autocontext/src/autocontext/providers/runtime_bridge.py class RuntimeBridgeProvider (line 14) | class RuntimeBridgeProvider(LLMProvider): method __init__ (line 17) | def __init__(self, runtime: AgentRuntime, default_model_name: str) -> ... method supports_concurrent_requests (line 22) | def supports_concurrent_requests(self) -> bool: method default_model (line 25) | def default_model(self) -> str: method close (line 28) | def close(self) -> None: method complete (line 33) | def complete( method name (line 57) | def name(self) -> str: FILE: autocontext/src/autocontext/providers/scenario_routing.py class ScenarioRoutingContext (line 22) | class ScenarioRoutingContext: class RoutingDecision (line 34) | class RoutingDecision(BaseModel): method to_dict (line 44) | def to_dict(self) -> dict[str, Any]: method from_dict (line 48) | def from_dict(cls, data: dict[str, Any]) -> RoutingDecision: function _resolve_backend_provider_type (line 52) | def _resolve_backend_provider_type(backend: str) -> str: function resolve_provider_for_context (line 58) | def resolve_provider_for_context( class PiModelHandoff (line 120) | class PiModelHandoff(BaseModel): method to_dict (line 130) | def to_dict(self) -> dict[str, Any]: method from_dict (line 134) | def from_dict(cls, data: dict[str, Any]) -> PiModelHandoff: function resolve_pi_model (line 138) | def resolve_pi_model( class PiExecutionTrace (line 175) | class PiExecutionTrace(BaseModel): method to_dict (line 187) | def to_dict(self) -> dict[str, Any]: method from_dict (line 191) | def from_dict(cls, data: dict[str, Any]) -> PiExecutionTrace: FILE: autocontext/src/autocontext/research/consultation.py class ResearchBrief (line 23) | class ResearchBrief(BaseModel): method avg_confidence (line 36) | def avg_confidence(self) -> float: method from_results (line 42) | def from_results( method empty (line 53) | def empty(cls, goal: str) -> ResearchBrief: method to_markdown (line 56) | def to_markdown(self) -> str: function _dedupe_citations (line 73) | def _dedupe_citations(results: Sequence[ResearchResult]) -> list[Citation]: class ResearchConsultant (line 86) | class ResearchConsultant: method __init__ (line 92) | def __init__( method consult (line 100) | def consult( FILE: autocontext/src/autocontext/research/evaluation.py class EvalResult (line 24) | class EvalResult(BaseModel): method is_improvement (line 36) | def is_improvement(self) -> bool: method relative_gain (line 40) | def relative_gain(self) -> float: class BatchSummary (line 46) | class BatchSummary(BaseModel): function _citation_coverage (line 58) | def _citation_coverage(brief: ResearchBrief, text: str) -> float: function _source_mentioned (line 66) | def _source_mentioned(source: str, text: str) -> bool: class ResearchEvaluator (line 72) | class ResearchEvaluator: method evaluate_pair (line 75) | def evaluate_pair( method evaluate_batch (line 91) | def evaluate_batch( FILE: autocontext/src/autocontext/research/persistence.py class BriefRef (line 27) | class BriefRef(BaseModel): class ResearchStore (line 39) | class ResearchStore: method __init__ (line 49) | def __init__(self, root: Path) -> None: method save_brief (line 54) | def save_brief(self, session_id: str, brief: ResearchBrief) -> BriefRef: method load_brief (line 74) | def load_brief(self, brief_id: str) -> ResearchBrief | None: method list_briefs (line 81) | def list_briefs(self, session_id: str) -> list[BriefRef]: method brief_count (line 85) | def brief_count(self) -> int: method delete_brief (line 88) | def delete_brief(self, brief_id: str) -> bool: method _load_manifest (line 97) | def _load_manifest(self) -> list[dict[str, Any]]: method _write_manifest (line 103) | def _write_manifest(self, manifest: list[dict[str, Any]]) -> None: FILE: autocontext/src/autocontext/research/prompt_wiring.py class ResearchPromptInjector (line 20) | class ResearchPromptInjector: method __init__ (line 23) | def __init__(self, max_chars: int = DEFAULT_MAX_CHARS) -> None: method format_brief (line 26) | def format_brief(self, brief: ResearchBrief) -> str: method inject (line 61) | def inject(self, base_prompt: str, brief: ResearchBrief) -> str: FILE: autocontext/src/autocontext/research/runtime.py class _ResearchEvent (line 22) | class _ResearchEvent: method __init__ (line 27) | def __init__(self, event_type: str, payload: dict[str, Any]) -> None: class ResearchEnabledSession (line 34) | class ResearchEnabledSession: method __init__ (line 41) | def __init__( method create (line 58) | def create( method has_research (line 67) | def has_research(self) -> bool: method research_queries_used (line 71) | def research_queries_used(self) -> int: method research_history (line 75) | def research_history(self) -> list[ResearchResult]: method research (line 78) | def research(self, query: ResearchQuery) -> ResearchResult | None: FILE: autocontext/src/autocontext/research/types.py class Urgency (line 19) | class Urgency(StrEnum): class ResearchQuery (line 27) | class ResearchQuery(BaseModel): class Citation (line 44) | class Citation(BaseModel): class ResearchResult (line 56) | class ResearchResult(BaseModel): method has_citations (line 66) | def has_citations(self) -> bool: class ResearchAdapter (line 73) | class ResearchAdapter(Protocol): method search (line 79) | def search(self, query: ResearchQuery) -> ResearchResult: class ResearchConfig (line 84) | class ResearchConfig(BaseModel): FILE: autocontext/src/autocontext/rlm/context_loader.py class ContextLoader (line 12) | class ContextLoader: method __init__ (line 15) | def __init__(self, artifacts: ArtifactStore, sqlite: SQLiteStore) -> N... method sqlite (line 20) | def sqlite(self) -> SQLiteStore: method load_for_analyst (line 24) | def load_for_analyst( method load_for_architect (line 50) | def load_for_architect( method load_for_competitor (line 73) | def load_for_competitor( method _load_replays (line 115) | def _load_replays(self, run_id: str, generation: int, *, latest_only: ... method _load_metrics_files (line 130) | def _load_metrics_files(self, run_id: str, generation: int) -> list[di... method _load_prior_analyses (line 142) | def _load_prior_analyses(self, scenario_name: str, generation: int) ->... method _load_tool_sources (line 156) | def _load_tool_sources(self, scenario_name: str) -> dict[str, str]: method _load_architect_changelog (line 168) | def _load_architect_changelog(self, scenario_name: str) -> str: method _build_analyst_summary (line 181) | def _build_analyst_summary(self, variables: dict[str, Any]) -> str: method _build_architect_summary (line 195) | def _build_architect_summary(self, variables: dict[str, Any]) -> str: method _build_competitor_summary (line 209) | def _build_competitor_summary(self, variables: dict[str, Any]) -> str: FILE: autocontext/src/autocontext/rlm/prompts.py function _insert_rlm_constraint (line 320) | def _insert_rlm_constraint(base: str, constraint: str) -> str: FILE: autocontext/src/autocontext/runtimes/__init__.py function list_cli_runtimes (line 61) | def list_cli_runtimes() -> list[dict[str, str]]: FILE: autocontext/src/autocontext/runtimes/base.py class AgentOutput (line 10) | class AgentOutput: class AgentRuntime (line 21) | class AgentRuntime(ABC): method generate (line 30) | def generate( method revise (line 49) | def revise( method name (line 70) | def name(self) -> str: FILE: autocontext/src/autocontext/runtimes/claude_cli.py function _kill_process_group (line 33) | def _kill_process_group(proc: subprocess.Popen) -> None: function _bounded_drain_and_close (line 63) | def _bounded_drain_and_close(proc: subprocess.Popen, grace_seconds: floa... function _run_with_group_kill (line 92) | def _run_with_group_kill( class ClaudeCLIConfig (line 152) | class ClaudeCLIConfig: class ClaudeCLIRuntime (line 172) | class ClaudeCLIRuntime(AgentRuntime): method __init__ (line 185) | def __init__(self, config: ClaudeCLIConfig | None = None) -> None: method attach_budget (line 191) | def attach_budget(self, budget: RuntimeBudget | None) -> None: method available (line 201) | def available(self) -> bool: method total_cost (line 206) | def total_cost(self) -> float: method generate (line 210) | def generate( method revise (line 219) | def revise( method _build_args (line 236) | def _build_args( method _invoke (line 284) | def _invoke(self, prompt: str, args: list[str]) -> AgentOutput: method _remaining_total_budget (line 413) | def _remaining_total_budget(self, total_start: float) -> float | None: method _attempt_timeout (line 419) | def _attempt_timeout(self, total_start: float) -> float: method _has_retry_budget (line 425) | def _has_retry_budget(self, total_start: float) -> bool: method _retry_delay (line 429) | def _retry_delay(self, retry_index: int) -> float: method _warn_if_slow_attempt (line 434) | def _warn_if_slow_attempt(self, elapsed: float, timeout: float, attemp... method _timeout_output (line 447) | def _timeout_output( method _parse_output (line 471) | def _parse_output(self, raw: str) -> AgentOutput: function build_claude_cli_runtime (line 511) | def build_claude_cli_runtime( function create_session_runtime (line 544) | def create_session_runtime( FILE: autocontext/src/autocontext/runtimes/codex_cli.py class CodexCLIConfig (line 23) | class CodexCLIConfig: class CodexCLIRuntime (line 34) | class CodexCLIRuntime(AgentRuntime): method __init__ (line 46) | def __init__(self, config: CodexCLIConfig | None = None) -> None: method available (line 51) | def available(self) -> bool: method generate (line 54) | def generate( method revise (line 63) | def revise( method _build_args (line 80) | def _build_args( method _invoke (line 105) | def _invoke(self, prompt: str, args: list[str]) -> AgentOutput: method _parse_output (line 135) | def _parse_output(self, raw: str) -> AgentOutput: FILE: autocontext/src/autocontext/runtimes/direct_api.py class DirectAPIRuntime (line 9) | class DirectAPIRuntime(AgentRuntime): method __init__ (line 16) | def __init__( method generate (line 24) | def generate( method revise (line 42) | def revise( FILE: autocontext/src/autocontext/runtimes/errors.py function _format_seconds (line 7) | def _format_seconds(value: object) -> str: function format_runtime_failure (line 17) | def format_runtime_failure(runtime_name: str, metadata: Mapping[str, Any... FILE: autocontext/src/autocontext/runtimes/hermes_cli.py class HermesCLIConfig (line 43) | class HermesCLIConfig: class HermesCLIRuntime (line 64) | class HermesCLIRuntime(AgentRuntime): method __init__ (line 70) | def __init__(self, config: HermesCLIConfig | None = None) -> None: method available (line 75) | def available(self) -> bool: method generate (line 79) | def generate( method revise (line 91) | def revise( method _normalized_provider (line 110) | def _normalized_provider(self) -> str: method _uses_custom_endpoint (line 114) | def _uses_custom_endpoint(self) -> bool: method _build_args (line 120) | def _build_args(self, prompt: str) -> list[str]: method _build_env (line 146) | def _build_env(self) -> dict[str, str]: method _invoke (line 159) | def _invoke(self, prompt: str) -> AgentOutput: method _parse_output (line 192) | def _parse_output(self, raw: str) -> AgentOutput: FILE: autocontext/src/autocontext/runtimes/pi_artifacts.py class PiExecutionTrace (line 14) | class PiExecutionTrace(BaseModel): method to_dict (line 28) | def to_dict(self) -> dict[str, Any]: method from_dict (line 32) | def from_dict(cls, data: dict[str, Any]) -> PiExecutionTrace: FILE: autocontext/src/autocontext/runtimes/pi_cli.py class PiCLIConfig (line 35) | class PiCLIConfig: function _kill_process_group (line 47) | def _kill_process_group(proc: subprocess.Popen[str], *, pgid: int | None... function _bounded_drain_and_close (line 71) | def _bounded_drain_and_close(proc: subprocess.Popen[str], grace_seconds:... function _run_with_group_kill (line 96) | def _run_with_group_kill( class PiCLIRuntime (line 145) | class PiCLIRuntime(AgentRuntime): method __init__ (line 151) | def __init__(self, config: PiCLIConfig | None = None) -> None: method available (line 156) | def available(self) -> bool: method generate (line 160) | def generate( method revise (line 172) | def revise( method _build_args (line 192) | def _build_args(self, prompt: str) -> list[str]: method _invoke (line 213) | def _invoke(self, prompt: str, args: list[str]) -> AgentOutput: method _parse_output (line 261) | def _parse_output(self, raw: str, exit_code: int) -> AgentOutput: FILE: autocontext/src/autocontext/runtimes/pi_rpc.py class PiRPCConfig (line 30) | class PiRPCConfig: class PiRPCRuntime (line 47) | class PiRPCRuntime(AgentRuntime): method __init__ (line 54) | def __init__(self, config: PiRPCConfig | None = None) -> None: method available (line 60) | def available(self) -> bool: method _build_args (line 63) | def _build_args(self) -> list[str]: method _build_prompt_command (line 76) | def _build_prompt_command(self, prompt: str) -> dict[str, Any]: method _nonzero_exit_output (line 87) | def _nonzero_exit_output(self, exit_code: int, stderr: str, stdout: st... method _read_stream (line 98) | def _read_stream(self, stream: Any, sink: queue.Queue[str | None]) -> ... method _drain_queue (line 105) | def _drain_queue(self, source: queue.Queue[str | None], lines: list[st... method _is_terminal_rpc_event (line 114) | def _is_terminal_rpc_event(self, line: str) -> bool: method _shutdown_process (line 125) | def _shutdown_process(self, process: subprocess.Popen[str]) -> None: method generate (line 141) | def generate( method revise (line 242) | def revise( method _parse_rpc_output (line 258) | def _parse_rpc_output( class PiPersistentRPCRuntime (line 337) | class PiPersistentRPCRuntime(PiRPCRuntime): method __init__ (line 347) | def __init__(self, config: PiRPCConfig | None = None) -> None: method close (line 354) | def close(self) -> None: method __enter__ (line 361) | def __enter__(self) -> PiPersistentRPCRuntime: method __exit__ (line 364) | def __exit__(self, *_exc: object) -> None: method _ensure_process (line 367) | def _ensure_process(self) -> subprocess.Popen[str]: method _with_id (line 390) | def _with_id(command: dict[str, Any]) -> dict[str, Any]: method _loads_event (line 396) | def _loads_event(line: str) -> dict[str, Any] | None: method _is_response_for (line 404) | def _is_response_for(event: dict[str, Any], command: dict[str, Any]) -... method _write_command (line 413) | def _write_command(self, process: subprocess.Popen[str], command: dict... method _collect_until (line 419) | def _collect_until( method _collect_response (line 454) | def _collect_response(self, command: dict[str, Any]) -> dict[str, Any]: method generate (line 477) | def generate( method steer (line 501) | def steer(self, message: str) -> dict[str, Any]: method follow_up (line 505) | def follow_up(self, message: str) -> dict[str, Any]: method abort (line 509) | def abort(self) -> dict[str, Any]: method get_state (line 513) | def get_state(self) -> dict[str, Any]: method get_messages (line 519) | def get_messages(self) -> list[dict[str, Any]]: function build_pi_rpc_runtime (line 526) | def build_pi_rpc_runtime(config: PiRPCConfig, *, persistent: bool = Fals... FILE: autocontext/src/autocontext/runtimes/runtime_budget.py class RuntimeBudgetExpired (line 29) | class RuntimeBudgetExpired(Exception): method __init__ (line 36) | def __init__(self, total_seconds: float, elapsed_seconds: float) -> None: class RuntimeBudget (line 43) | class RuntimeBudget: method __post_init__ (line 58) | def __post_init__(self) -> None: method starting_now (line 63) | def starting_now(cls, total_seconds: float) -> RuntimeBudget: method remaining (line 69) | def remaining(self, now: float | None = None) -> float: method expired (line 79) | def expired(self, now: float | None = None) -> bool: method cap_call_timeout (line 89) | def cap_call_timeout(self, requested: float | None, now: float | None ... method ensure_not_expired (line 103) | def ensure_not_expired(self, now: float | None = None) -> None: FILE: autocontext/src/autocontext/runtimes/workspace_env.py class RuntimeExecOptions (line 38) | class RuntimeExecOptions: class RuntimeExecResult (line 45) | class RuntimeExecResult: class RuntimeFileStat (line 52) | class RuntimeFileStat: class RuntimeCommandContext (line 61) | class RuntimeCommandContext: class RuntimeCommandGrant (line 73) | class RuntimeCommandGrant: class RuntimeWorkspaceEnv (line 84) | class RuntimeWorkspaceEnv(Protocol): method cwd (line 88) | def cwd(self) -> str: method exec (line 92) | def exec(self, command: str, options: RuntimeExecOptions | None = None... method scope (line 96) | def scope( method read_file (line 107) | def read_file(self, file_path: str) -> str: method read_file_bytes (line 111) | def read_file_bytes(self, file_path: str) -> bytes: method write_file (line 115) | def write_file(self, file_path: str, content: str | bytes) -> None: method stat (line 119) | def stat(self, file_path: str) -> RuntimeFileStat: method readdir (line 123) | def readdir(self, dir_path: str) -> list[str]: method exists (line 127) | def exists(self, file_path: str) -> bool: method mkdir (line 131) | def mkdir(self, dir_path: str, *, recursive: bool = False) -> None: method rm (line 135) | def rm(self, file_path: str, *, recursive: bool = False, force: bool =... method resolve_path (line 139) | def resolve_path(self, file_path: str) -> str: method cleanup (line 143) | def cleanup(self) -> None: function create_in_memory_workspace_env (line 148) | def create_in_memory_workspace_env( function create_local_workspace_env (line 156) | def create_local_workspace_env(*, root: str | Path, cwd: str = "/") -> R... function define_runtime_command (line 160) | def define_runtime_command( function create_local_runtime_command_grant (line 184) | def create_local_runtime_command_grant( class _MemoryFile (line 224) | class _MemoryFile: class _MemoryState (line 230) | class _MemoryState: class InMemoryWorkspaceEnv (line 235) | class InMemoryWorkspaceEnv: method __init__ (line 236) | def __init__( method cwd (line 251) | def cwd(self) -> str: method exec (line 254) | def exec(self, command: str, options: RuntimeExecOptions | None = None... method scope (line 273) | def scope( method read_file (line 292) | def read_file(self, file_path: str) -> str: method read_file_bytes (line 295) | def read_file_bytes(self, file_path: str) -> bytes: method write_file (line 303) | def write_file(self, file_path: str, content: str | bytes) -> None: method stat (line 308) | def stat(self, file_path: str) -> RuntimeFileStat: method readdir (line 331) | def readdir(self, dir_path: str) -> list[str]: method exists (line 342) | def exists(self, file_path: str) -> bool: method mkdir (line 347) | def mkdir(self, dir_path: str, *, recursive: bool = False) -> None: method rm (line 364) | def rm(self, file_path: str, *, recursive: bool = False, force: bool =... method resolve_path (line 386) | def resolve_path(self, file_path: str) -> str: method cleanup (line 389) | def cleanup(self) -> None: method _assert_open (line 392) | def _assert_open(self) -> None: class LocalWorkspaceEnv (line 397) | class LocalWorkspaceEnv: method __init__ (line 398) | def __init__( method cwd (line 411) | def cwd(self) -> str: method exec (line 414) | def exec(self, command: str, options: RuntimeExecOptions | None = None... method scope (line 448) | def scope( method read_file (line 466) | def read_file(self, file_path: str) -> str: method read_file_bytes (line 469) | def read_file_bytes(self, file_path: str) -> bytes: method write_file (line 472) | def write_file(self, file_path: str, content: str | bytes) -> None: method stat (line 480) | def stat(self, file_path: str) -> RuntimeFileStat: method readdir (line 491) | def readdir(self, dir_path: str) -> list[str]: method exists (line 494) | def exists(self, file_path: str) -> bool: method mkdir (line 498) | def mkdir(self, dir_path: str, *, recursive: bool = False) -> None: method rm (line 501) | def rm(self, file_path: str, *, recursive: bool = False, force: bool =... method resolve_path (line 517) | def resolve_path(self, file_path: str) -> str: method cleanup (line 520) | def cleanup(self) -> None: method _to_host_path (line 524) | def _to_host_path(self, virtual_path: str) -> Path: method _to_followed_host_path (line 533) | def _to_followed_host_path(self, virtual_path: str) -> Path: function _create_memory_state (line 543) | def _create_memory_state(files: Mapping[str, str | bytes] | None) -> _Me... function _normalize_virtual_path (line 551) | def _normalize_virtual_path(file_path: str | None, cwd: str) -> str: function _ensure_memory_parent_dirs (line 560) | def _ensure_memory_parent_dirs(state: _MemoryState, dir_path: str) -> None: function _write_memory_file (line 572) | def _write_memory_file(state: _MemoryState, resolved: str, content: str ... function _to_bytes (line 579) | def _to_bytes(content: str | bytes) -> bytes: function _mtime_now (line 583) | def _mtime_now() -> float: function _command_map (line 587) | def _command_map(commands: Iterable[RuntimeCommandGrant]) -> dict[str, R... function _merge_command_grants (line 591) | def _merge_command_grants( function _inherited_command_grants (line 601) | def _inherited_command_grants( function _maybe_run_granted_command (line 610) | def _maybe_run_granted_command( function _normalize_exec_result (line 691) | def _normalize_exec_result(value: RuntimeCommandResult) -> RuntimeExecRe... function _read_exit_code (line 701) | def _read_exit_code(value: object) -> int: function _runtime_command_output_limit (line 709) | def _runtime_command_output_limit(grant: RuntimeCommandGrant) -> int: function _run_process (line 713) | def _run_process( FILE: autocontext/src/autocontext/runtimes/workspace_grants.py class RuntimeGrantProvenance (line 20) | class RuntimeGrantProvenance: method to_dict (line 24) | def to_dict(self) -> dict[str, str]: class RuntimeGrantScopePolicy (line 34) | class RuntimeGrantScopePolicy: class RuntimeGrantOutputRedactionMetadata (line 39) | class RuntimeGrantOutputRedactionMetadata: method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: class RuntimeGrantEvent (line 55) | class RuntimeGrantEvent: method to_dict (line 68) | def to_dict(self) -> dict[str, Any]: class RuntimeGrantEventSink (line 91) | class RuntimeGrantEventSink(Protocol): method on_runtime_grant_event (line 92) | def on_runtime_grant_event(self, event: RuntimeGrantEvent) -> None: class GrantArgsSummary (line 100) | class GrantArgsSummary: class PreviewText (line 107) | class PreviewText: function normalize_output_limit (line 112) | def normalize_output_limit(value: int | None) -> int: function secret_values (line 120) | def secret_values(env: Mapping[str, str]) -> list[str]: function base_grant_redaction (line 124) | def base_grant_redaction( function summarize_args (line 137) | def summarize_args(args: Sequence[str], secrets: Sequence[str]) -> Grant... function preview_text (line 151) | def preview_text( function emit_runtime_grant_event (line 170) | def emit_runtime_grant_event( function inherits_to_child_tasks (line 185) | def inherits_to_child_tasks(scope: RuntimeGrantScopePolicy | Mapping[str... function provenance_to_dict (line 194) | def provenance_to_dict(provenance: Mapping[str, str] | RuntimeGrantProve... function pick_process_env (line 202) | def pick_process_env(keys: Sequence[str]) -> dict[str, str]: function combine_timeout_ms (line 206) | def combine_timeout_ms(configured: int | None, call_site: int | None) ->... function redact_secrets (line 214) | def redact_secrets(value: str, secrets: Sequence[str]) -> tuple[str, bool]: function truncate_utf8 (line 225) | def truncate_utf8(value: str, limit_bytes: int) -> tuple[str, bool]: FILE: autocontext/src/autocontext/scenarios/__init__.py function _load_persisted_custom_scenarios (line 16) | def _load_persisted_custom_scenarios() -> None: function get_registered_scenario_family (line 28) | def get_registered_scenario_family(name: str) -> ScenarioFamily: FILE: autocontext/src/autocontext/scenarios/agent_task.py class AgentTaskResult (line 9) | class AgentTaskResult: class AgentTaskInterface (line 19) | class AgentTaskInterface(ABC): method get_task_prompt (line 23) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 27) | def evaluate_output( method get_rubric (line 39) | def get_rubric(self) -> str: method initial_state (line 43) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 47) | def describe_task(self) -> str: method prepare_context (line 50) | def prepare_context(self, state: dict) -> dict: method validate_context (line 58) | def validate_context(self, state: dict) -> list[str]: method revise_output (line 65) | def revise_output( method verify_facts (line 78) | def verify_facts( FILE: autocontext/src/autocontext/scenarios/artifact_editing.py class Artifact (line 17) | class Artifact(BaseModel): method to_dict (line 25) | def to_dict(self) -> dict[str, Any]: method from_dict (line 29) | def from_dict(cls, data: dict[str, Any]) -> Artifact: class ArtifactDiff (line 33) | class ArtifactDiff(BaseModel): method to_dict (line 41) | def to_dict(self) -> dict[str, Any]: method from_dict (line 45) | def from_dict(cls, data: dict[str, Any]) -> ArtifactDiff: class ArtifactValidationResult (line 50) | class ArtifactValidationResult: class ArtifactEditingResult (line 58) | class ArtifactEditingResult(BaseModel): method to_dict (line 69) | def to_dict(self) -> dict[str, Any]: method from_dict (line 73) | def from_dict(cls, data: dict[str, Any]) -> ArtifactEditingResult: class ArtifactEditingInterface (line 77) | class ArtifactEditingInterface(ABC): method describe_task (line 87) | def describe_task(self) -> str: method get_rubric (line 91) | def get_rubric(self) -> str: method initial_artifacts (line 95) | def initial_artifacts(self, seed: int | None = None) -> list[Artifact]: method get_edit_prompt (line 99) | def get_edit_prompt(self, artifacts: list[Artifact]) -> str: method validate_artifact (line 103) | def validate_artifact(self, artifact: Artifact) -> ArtifactValidationR... method evaluate_edits (line 107) | def evaluate_edits( method initial_state (line 114) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method compute_diffs (line 119) | def compute_diffs( FILE: autocontext/src/autocontext/scenarios/base.py class Observation (line 11) | class Observation(BaseModel): class Result (line 19) | class Result(BaseModel): method passed_validation (line 30) | def passed_validation(self) -> bool: class ReplayEnvelope (line 34) | class ReplayEnvelope(BaseModel): class GenerationMetrics (line 43) | class GenerationMetrics(BaseModel): class ExecutionLimits (line 57) | class ExecutionLimits: class ScenarioInterface (line 63) | class ScenarioInterface(ABC): method describe_rules (line 69) | def describe_rules(self) -> str: method describe_strategy_interface (line 73) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 77) | def describe_evaluation_criteria(self) -> str: method initial_state (line 81) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 85) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 89) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 93) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 97) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 101) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 105) | def replay_to_narrative(self, replay: Sequence[dict[str, Any]]) -> str: method render_frame (line 109) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: method enumerate_legal_actions (line 112) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... method scoring_dimensions (line 121) | def scoring_dimensions(self) -> list[dict[str, Any]] | None: method seed_tools (line 133) | def seed_tools(self) -> dict[str, str]: method custom_backpressure (line 136) | def custom_backpressure(self, result: Result) -> dict[str, float]: method execute_match (line 139) | def execute_match(self, strategy: Mapping[str, Any], seed: int) -> Res... FILE: autocontext/src/autocontext/scenarios/capabilities.py class ScenarioCapabilities (line 15) | class ScenarioCapabilities: function resolve_capabilities (line 27) | def resolve_capabilities(scenario: Any) -> ScenarioCapabilities: function get_description (line 54) | def get_description(scenario: Any) -> str: function get_evaluation_criteria (line 63) | def get_evaluation_criteria(scenario: Any) -> str: function can_validate_actions (line 76) | def can_validate_actions(scenario: Any) -> bool: function can_run_match (line 82) | def can_run_match(scenario: Any) -> bool: function get_task_prompt_safe (line 88) | def get_task_prompt_safe(scenario: Any) -> str | None: function get_rubric_safe (line 98) | def get_rubric_safe(scenario: Any) -> str | None: function get_strategy_interface_safe (line 106) | def get_strategy_interface_safe(scenario: Any) -> str | None: FILE: autocontext/src/autocontext/scenarios/coordination.py class WorkerContext (line 18) | class WorkerContext(BaseModel): method to_dict (line 27) | def to_dict(self) -> dict[str, Any]: method from_dict (line 31) | def from_dict(cls, data: dict[str, Any]) -> WorkerContext: class HandoffRecord (line 35) | class HandoffRecord(BaseModel): method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> HandoffRecord: class CoordinationResult (line 53) | class CoordinationResult(BaseModel): method to_dict (line 64) | def to_dict(self) -> dict[str, Any]: method from_dict (line 68) | def from_dict(cls, data: dict[str, Any]) -> CoordinationResult: class CoordinationInterface (line 72) | class CoordinationInterface(SimulationInterface): method get_worker_contexts (line 80) | def get_worker_contexts(self, state: dict[str, Any]) -> list[WorkerCon... method get_handoff_log (line 84) | def get_handoff_log(self, state: dict[str, Any]) -> list[HandoffRecord]: method record_handoff (line 88) | def record_handoff( method merge_outputs (line 94) | def merge_outputs( method evaluate_coordination (line 100) | def evaluate_coordination(self, state: dict[str, Any]) -> Coordination... FILE: autocontext/src/autocontext/scenarios/custom/_family_creator_shim.py class FamilyCreatorShim (line 10) | class FamilyCreatorShim: method __init__ (line 15) | def __init__(self, llm_fn: LlmFn, knowledge_root: Path) -> None: method create (line 19) | def create(self, description: str, name: str) -> ScenarioInterface: FILE: autocontext/src/autocontext/scenarios/custom/agent_task_codegen.py function _class_name (line 12) | def _class_name(name: str) -> str: function _safe_identifier (line 17) | def _safe_identifier(name: str) -> str: function generate_agent_task_class (line 21) | def generate_agent_task_class(spec: AgentTaskSpec, name: str = "custom_a... FILE: autocontext/src/autocontext/scenarios/custom/agent_task_creator.py function _is_timeout_like_error (line 49) | def _is_timeout_like_error(exc: Exception) -> bool: class AgentTaskCreator (line 53) | class AgentTaskCreator: method __init__ (line 56) | def __init__( method derive_name (line 75) | def derive_name(self, description: str) -> str: method create (line 78) | def create( FILE: autocontext/src/autocontext/scenarios/custom/agent_task_designer.py function parse_agent_task_spec (line 131) | def parse_agent_task_spec(text: str) -> AgentTaskSpec: function design_agent_task (line 160) | def design_agent_task( function design_validated_agent_task (line 187) | def design_validated_agent_task( function _build_parse_failure_retry_prompt (line 281) | def _build_parse_failure_retry_prompt( function _build_correction_prompt (line 298) | def _build_correction_prompt( FILE: autocontext/src/autocontext/scenarios/custom/agent_task_revision.py function build_revision_prompt (line 19) | def build_revision_prompt( function revise_generated_output (line 72) | def revise_generated_output( function patch_legacy_generated_revise_output (line 101) | def patch_legacy_generated_revise_output( function patch_legacy_generated_evaluate_output (line 122) | def patch_legacy_generated_evaluate_output( FILE: autocontext/src/autocontext/scenarios/custom/agent_task_spec.py class AgentTaskSpec (line 9) | class AgentTaskSpec: function _serialize_agent_task_text_payload (line 29) | def _serialize_agent_task_text_payload(value: Any) -> str | None: function normalize_agent_task_runtime_fields (line 39) | def normalize_agent_task_runtime_fields(spec: AgentTaskSpec) -> AgentTas... FILE: autocontext/src/autocontext/scenarios/custom/agent_task_validator.py function _has_inline_data_after (line 299) | def _has_inline_data_after(prompt: str, pattern: str) -> bool: function _extract_keywords (line 330) | def _extract_keywords(text: str) -> set[str]: function _detect_task_family (line 336) | def _detect_task_family(keywords: set[str]) -> str | None: function _fuzzy_overlap (line 354) | def _fuzzy_overlap(a: set[str], b: set[str], min_prefix: int = 4) -> set... function validate_intent (line 375) | def validate_intent( function validate_spec (line 429) | def validate_spec(spec: AgentTaskSpec) -> list[str]: function validate_syntax (line 512) | def validate_syntax(source: str) -> list[str]: function validate_execution (line 522) | def validate_execution(source: str) -> list[str]: FILE: autocontext/src/autocontext/scenarios/custom/artifact_editing_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_artifact_editing_class (line 13) | def generate_artifact_editing_class(spec: ArtifactEditingSpec, name: str... FILE: autocontext/src/autocontext/scenarios/custom/artifact_editing_creator.py class ArtifactEditingCreator (line 6) | class ArtifactEditingCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/artifact_editing_designer.py function parse_artifact_editing_spec (line 59) | def parse_artifact_editing_spec(text: str) -> ArtifactEditingSpec: function design_artifact_editing (line 81) | def design_artifact_editing(description: str, llm_fn: LlmFn) -> Artifact... FILE: autocontext/src/autocontext/scenarios/custom/artifact_editing_spec.py class ArtifactSpecModel (line 8) | class ArtifactSpecModel: class ArtifactEditingSpec (line 16) | class ArtifactEditingSpec: FILE: autocontext/src/autocontext/scenarios/custom/classifier_cache.py function default_classifier_cache_path (line 47) | def default_classifier_cache_path(knowledge_root: Path) -> Path: function _schema_version (line 52) | def _schema_version(registered_families: list[str]) -> str: function _description_key (line 58) | def _description_key(description: str) -> str: class ClassifierCache (line 62) | class ClassifierCache: method __init__ (line 65) | def __init__(self, path: Path) -> None: method get (line 68) | def get( method put (line 89) | def put( method _read (line 111) | def _read(self) -> dict[str, Any] | None: method _write (line 128) | def _write(self, data: dict[str, Any]) -> None: FILE: autocontext/src/autocontext/scenarios/custom/classifier_input.py function build_family_classification_brief (line 26) | def build_family_classification_brief(description: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/codegen.py function _safe_identifier (line 12) | def _safe_identifier(name: str) -> str: function _class_name (line 16) | def _class_name(spec_name: str) -> str: function _gen_initial_state (line 21) | def _gen_initial_state(spec: ScenarioSpec) -> list[str]: function _gen_get_observation (line 41) | def _gen_get_observation(spec: ScenarioSpec) -> list[str]: function _gen_validate_actions (line 68) | def _gen_validate_actions(spec: ScenarioSpec) -> list[str]: function _gen_step (line 111) | def _gen_step(spec: ScenarioSpec) -> list[str]: function _gen_get_result (line 170) | def _gen_get_result(spec: ScenarioSpec) -> list[str]: function _gen_replay_to_narrative (line 187) | def _gen_replay_to_narrative(spec: ScenarioSpec) -> list[str]: function _gen_render_frame (line 204) | def _gen_render_frame() -> list[str]: function _gen_is_terminal (line 215) | def _gen_is_terminal() -> list[str]: function generate_scenario_class (line 222) | def generate_scenario_class(spec: ScenarioSpec) -> str: FILE: autocontext/src/autocontext/scenarios/custom/coordination_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_coordination_class (line 13) | def generate_coordination_class(spec: CoordinationSpec, name: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/coordination_creator.py class CoordinationCreator (line 6) | class CoordinationCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/coordination_designer.py function parse_coordination_spec (line 73) | def parse_coordination_spec(text: str) -> CoordinationSpec: function design_coordination (line 104) | def design_coordination( FILE: autocontext/src/autocontext/scenarios/custom/coordination_spec.py class CoordinationSpec (line 10) | class CoordinationSpec: FILE: autocontext/src/autocontext/scenarios/custom/creator.py class BuildResult (line 20) | class BuildResult: class ScenarioCreator (line 25) | class ScenarioCreator: method __init__ (line 26) | def __init__(self, runtime: SubagentRuntime, model: str, knowledge_roo... method derive_name (line 33) | def derive_name(self, description: str) -> str: method generate_spec (line 36) | def generate_spec(self, description: str) -> ScenarioSpec: method revise_spec (line 51) | def revise_spec(self, current_spec: ScenarioSpec, feedback: str) -> Sc... method build_and_validate (line 71) | def build_and_validate(self, spec: ScenarioSpec) -> BuildResult: FILE: autocontext/src/autocontext/scenarios/custom/creator_registry.py class FamilyCreatorConfig (line 14) | class FamilyCreatorConfig: function _lazy_import (line 24) | def _lazy_import(dotted_path: str) -> Any: function create_for_family (line 102) | def create_for_family( FILE: autocontext/src/autocontext/scenarios/custom/designer.py function parse_spec_from_response (line 119) | def parse_spec_from_response(text: str) -> ScenarioSpec: FILE: autocontext/src/autocontext/scenarios/custom/designer_retry.py function design_with_parse_retry (line 29) | def design_with_parse_retry( function _build_correction_prompt (line 86) | def _build_correction_prompt( FILE: autocontext/src/autocontext/scenarios/custom/family_classifier.py class FamilyCandidate (line 56) | class FamilyCandidate: class FamilyClassification (line 64) | class FamilyClassification(BaseModel): method to_dict (line 75) | def to_dict(self) -> dict[str, Any]: method from_dict (line 79) | def from_dict(cls, data: dict[str, Any]) -> FamilyClassification: class LowConfidenceError (line 83) | class LowConfidenceError(Exception): method __init__ (line 86) | def __init__(self, classification: FamilyClassification, min_confidenc... method _build_message (line 92) | def _build_message( function _extract_words (line 465) | def _extract_words(text: str) -> list[str]: function _score_signals (line 471) | def _score_signals(text_lower: str, signals: dict[str, float]) -> tuple[... function _build_rationale (line 482) | def _build_rationale(matched: list[str], family_name: str) -> str: function resolve_direct_family_hint (line 489) | def resolve_direct_family_hint(description: str) -> str | None: function _llm_classify (line 510) | def _llm_classify( function classify_scenario_family (line 602) | def classify_scenario_family( function route_to_family (line 730) | def route_to_family( FILE: autocontext/src/autocontext/scenarios/custom/family_pipeline.py class FamilyPipeline (line 20) | class FamilyPipeline(ABC): method family_name (line 25) | def family_name(self) -> str: method required_spec_fields (line 29) | def required_spec_fields(self) -> set[str]: method validate_spec (line 33) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 37) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 41) | def validate_contract(self, source: str) -> list[str]: class UnsupportedFamilyError (line 50) | class UnsupportedFamilyError(Exception): method __init__ (line 57) | def __init__(self, family_name: str, available_pipelines: list[str] | ... class FamilyContractError (line 66) | class FamilyContractError(Exception): method __init__ (line 69) | def __init__(self, family_name: str, errors: list[str]) -> None: function register_pipeline (line 84) | def register_pipeline(pipeline: FamilyPipeline) -> None: function get_pipeline (line 91) | def get_pipeline(family_name: str) -> FamilyPipeline: function has_pipeline (line 98) | def has_pipeline(family_name: str) -> bool: function validate_for_family (line 108) | def validate_for_family(family_name: str, spec: dict[str, Any]) -> list[... function validate_source_for_family (line 114) | def validate_source_for_family(family_name: str, source: str) -> list[str]: function _check_required_fields (line 130) | def _check_required_fields(spec: dict[str, Any], required: set[str]) -> ... function _check_source_for_class (line 141) | def _check_source_for_class(source: str, base_class_name: str) -> list[s... function _check_required_methods (line 169) | def _check_required_methods( class AgentTaskPipeline (line 212) | class AgentTaskPipeline(FamilyPipeline): method family_name (line 216) | def family_name(self) -> str: method required_spec_fields (line 219) | def required_spec_fields(self) -> set[str]: method validate_spec (line 222) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 243) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 246) | def validate_contract(self, source: str) -> list[str]: class SimulationPipeline (line 260) | class SimulationPipeline(FamilyPipeline): method family_name (line 264) | def family_name(self) -> str: method required_spec_fields (line 267) | def required_spec_fields(self) -> set[str]: method validate_spec (line 276) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 300) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 303) | def validate_contract(self, source: str) -> list[str]: class ArtifactEditingPipeline (line 320) | class ArtifactEditingPipeline(FamilyPipeline): method family_name (line 324) | def family_name(self) -> str: method required_spec_fields (line 327) | def required_spec_fields(self) -> set[str]: method validate_spec (line 330) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 383) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 386) | def validate_contract(self, source: str) -> list[str]: class InvestigationPipeline (line 401) | class InvestigationPipeline(FamilyPipeline): method family_name (line 405) | def family_name(self) -> str: method required_spec_fields (line 408) | def required_spec_fields(self) -> set[str]: method validate_spec (line 419) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 439) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 442) | def validate_contract(self, source: str) -> list[str]: class WorkflowPipeline (line 462) | class WorkflowPipeline(FamilyPipeline): method family_name (line 466) | def family_name(self) -> str: method required_spec_fields (line 469) | def required_spec_fields(self) -> set[str]: method validate_spec (line 479) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 510) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 513) | def validate_contract(self, source: str) -> list[str]: class SchemaEvolutionPipeline (line 535) | class SchemaEvolutionPipeline(FamilyPipeline): method family_name (line 539) | def family_name(self) -> str: method required_spec_fields (line 542) | def required_spec_fields(self) -> set[str]: method validate_spec (line 552) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 583) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 586) | def validate_contract(self, source: str) -> list[str]: class ToolFragilityPipeline (line 609) | class ToolFragilityPipeline(FamilyPipeline): method family_name (line 613) | def family_name(self) -> str: method required_spec_fields (line 616) | def required_spec_fields(self) -> set[str]: method validate_spec (line 626) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 657) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 660) | def validate_contract(self, source: str) -> list[str]: class NegotiationPipeline (line 682) | class NegotiationPipeline(FamilyPipeline): method family_name (line 686) | def family_name(self) -> str: method required_spec_fields (line 689) | def required_spec_fields(self) -> set[str]: method validate_spec (line 700) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 732) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 735) | def validate_contract(self, source: str) -> list[str]: class OperatorLoopPipeline (line 757) | class OperatorLoopPipeline(FamilyPipeline): method family_name (line 761) | def family_name(self) -> str: method required_spec_fields (line 764) | def required_spec_fields(self) -> set[str]: method validate_spec (line 774) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 806) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 809) | def validate_contract(self, source: str) -> list[str]: class CoordinationPipeline (line 831) | class CoordinationPipeline(FamilyPipeline): method family_name (line 835) | def family_name(self) -> str: method required_spec_fields (line 838) | def required_spec_fields(self) -> set[str]: method validate_spec (line 848) | def validate_spec(self, spec: dict[str, Any]) -> list[str]: method validate_source (line 885) | def validate_source(self, source: str) -> list[str]: method validate_contract (line 888) | def validate_contract(self, source: str) -> list[str]: function _register_builtins (line 914) | def _register_builtins() -> None: FILE: autocontext/src/autocontext/scenarios/custom/generic_creator.py function spec_to_plain_data (line 40) | def spec_to_plain_data(value: Any) -> Any: class GenericScenarioCreator (line 64) | class GenericScenarioCreator: method __init__ (line 74) | def __init__( method create (line 90) | def create(self, description: str, name: str) -> ScenarioInterface: FILE: autocontext/src/autocontext/scenarios/custom/investigation_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_investigation_class (line 13) | def generate_investigation_class(spec: InvestigationSpec, name: str) -> ... FILE: autocontext/src/autocontext/scenarios/custom/investigation_creator.py class InvestigationCreator (line 6) | class InvestigationCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/investigation_designer.py function parse_investigation_spec (line 88) | def parse_investigation_spec(text: str) -> InvestigationSpec: function design_investigation (line 116) | def design_investigation(description: str, llm_fn: LlmFn) -> Investigati... FILE: autocontext/src/autocontext/scenarios/custom/investigation_spec.py class InvestigationSpec (line 9) | class InvestigationSpec: FILE: autocontext/src/autocontext/scenarios/custom/loader.py function _ensure_generated_package (line 15) | def _ensure_generated_package(custom_dir: Path) -> None: function load_custom_module_from_path (line 34) | def load_custom_module_from_path( function load_custom_scenario (line 63) | def load_custom_scenario( FILE: autocontext/src/autocontext/scenarios/custom/naming.py function _word_score (line 45) | def _word_score(word: str, position: int, total_words: int) -> float: function derive_name (line 72) | def derive_name( function derive_name_legacy (line 110) | def derive_name_legacy( function resolve_alias (line 134) | def resolve_alias( function build_alias_map (line 142) | def build_alias_map( FILE: autocontext/src/autocontext/scenarios/custom/negotiation_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_negotiation_class (line 13) | def generate_negotiation_class(spec: NegotiationSpec, name: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/negotiation_creator.py class NegotiationCreator (line 6) | class NegotiationCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/negotiation_designer.py function parse_negotiation_spec (line 91) | def parse_negotiation_spec(text: str) -> NegotiationSpec: function design_negotiation (line 123) | def design_negotiation( FILE: autocontext/src/autocontext/scenarios/custom/negotiation_spec.py class NegotiationSpec (line 10) | class NegotiationSpec: method __post_init__ (line 23) | def __post_init__(self) -> None: FILE: autocontext/src/autocontext/scenarios/custom/operator_loop_codegen.py function _class_name (line 18) | def _class_name(name: str) -> str: function generate_operator_loop_class (line 23) | def generate_operator_loop_class(spec: OperatorLoopSpec, name: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/operator_loop_creator.py function validate_operator_loop_spec (line 9) | def validate_operator_loop_spec(spec: OperatorLoopSpec) -> list[str]: class OperatorLoopCreator (line 13) | class OperatorLoopCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/operator_loop_designer.py function parse_operator_loop_spec (line 42) | def parse_operator_loop_spec(text: str) -> OperatorLoopSpec: function design_operator_loop (line 69) | def design_operator_loop(description: str, llm_fn: LlmFn) -> OperatorLoo... FILE: autocontext/src/autocontext/scenarios/custom/operator_loop_spec.py class OperatorLoopSpec (line 10) | class OperatorLoopSpec: FILE: autocontext/src/autocontext/scenarios/custom/registry.py class ScenarioLoadError (line 25) | class ScenarioLoadError: class ScenarioRegistryLoadResult (line 40) | class ScenarioRegistryLoadResult: function _load_agent_task_class (line 47) | def _load_agent_task_class(custom_dir: Path, name: str) -> type[Any]: function _read_persisted_marker (line 74) | def _read_persisted_marker(entry: Path) -> str: function _materialize_parametric_scenario_source (line 92) | def _materialize_parametric_scenario_source(custom_dir: Path, name: str)... function _load_family_class (line 110) | def _load_family_class(custom_dir: Path, name: str, marker: str) -> type... function _expected_compiled_source_path (line 135) | def _expected_compiled_source_path(entry: Path, marker: str) -> Path: function _summarize_load_failure (line 141) | def _summarize_load_failure(exc: BaseException, marker: str) -> str: function _reconstruct_family_spec (line 169) | def _reconstruct_family_spec(spec_cls: type, raw: dict[str, Any]) -> Any: function _auto_materialize_family_source (line 203) | def _auto_materialize_family_source(custom_dir: Path, name: str, family_... function load_custom_scenarios_detailed (line 236) | def load_custom_scenarios_detailed(knowledge_root: Path) -> ScenarioRegi... function load_all_custom_scenarios (line 337) | def load_all_custom_scenarios(knowledge_root: Path) -> dict[str, type[An... FILE: autocontext/src/autocontext/scenarios/custom/schema_evolution_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_schema_evolution_class (line 13) | def generate_schema_evolution_class(spec: SchemaEvolutionSpec, name: str... FILE: autocontext/src/autocontext/scenarios/custom/schema_evolution_creator.py class SchemaEvolutionCreator (line 6) | class SchemaEvolutionCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/schema_evolution_designer.py function parse_schema_evolution_spec (line 103) | def parse_schema_evolution_spec(text: str) -> SchemaEvolutionSpec: function design_schema_evolution (line 140) | def design_schema_evolution(description: str, llm_fn: LlmFn) -> SchemaEv... FILE: autocontext/src/autocontext/scenarios/custom/schema_evolution_spec.py class SchemaEvolutionMutationModel (line 9) | class SchemaEvolutionMutationModel: class SchemaEvolutionSpec (line 19) | class SchemaEvolutionSpec: FILE: autocontext/src/autocontext/scenarios/custom/simulation_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_simulation_class (line 13) | def generate_simulation_class(spec: SimulationSpec, name: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/simulation_creator.py function should_use_simulation_family (line 9) | def should_use_simulation_family(description: str) -> bool: function validate_simulation_spec (line 29) | def validate_simulation_spec(spec: SimulationSpec) -> list[str]: class SimulationCreator (line 33) | class SimulationCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/simulation_designer.py function parse_simulation_spec (line 73) | def parse_simulation_spec(text: str) -> SimulationSpec: function design_simulation (line 99) | def design_simulation(description: str, llm_fn: LlmFn) -> SimulationSpec: FILE: autocontext/src/autocontext/scenarios/custom/simulation_spec.py function _coerce_text (line 9) | def _coerce_text(value: Any) -> str: function _coerce_text_list (line 20) | def _coerce_text_list(values: Any) -> list[str]: function _coerce_precondition_text (line 26) | def _coerce_precondition_text(value: Any) -> str: function _coerce_precondition_list (line 37) | def _coerce_precondition_list(values: Any) -> list[str]: class SimulationActionSpecModel (line 42) | class SimulationActionSpecModel(BaseModel): method _normalize_raw (line 51) | def _normalize_raw(cls, raw: Any) -> Any: method _coerce_parameters (line 74) | def _coerce_parameters(cls, value: Any) -> dict[str, str]: method _coerce_preconditions (line 81) | def _coerce_preconditions(cls, value: Any) -> list[str]: method _coerce_effects (line 86) | def _coerce_effects(cls, value: Any) -> list[str]: method from_dict (line 90) | def from_dict(cls, raw: dict[str, Any]) -> SimulationActionSpecModel: method to_dict (line 93) | def to_dict(self) -> dict[str, Any]: function parse_simulation_actions (line 97) | def parse_simulation_actions( function normalize_simulation_spec_dict (line 109) | def normalize_simulation_spec_dict(spec: dict[str, Any]) -> dict[str, Any]: class SimulationSpec (line 118) | class SimulationSpec: FILE: autocontext/src/autocontext/scenarios/custom/spec.py class StrategyParam (line 12) | class StrategyParam: class Constraint (line 21) | class Constraint: class EnvironmentVariable (line 29) | class EnvironmentVariable: class ScoringComponent (line 37) | class ScoringComponent: class ScenarioSpec (line 44) | class ScenarioSpec(BaseModel): method to_dict (line 60) | def to_dict(self) -> dict[str, Any]: method from_dict (line 64) | def from_dict(cls, data: dict[str, Any]) -> ScenarioSpec: method save (line 67) | def save(self, directory: Path) -> Path: method load (line 74) | def load(cls, directory: Path) -> ScenarioSpec: FILE: autocontext/src/autocontext/scenarios/custom/spec_auto_heal.py function needs_sample_input (line 46) | def needs_sample_input(spec: AgentTaskSpec) -> bool: function _extract_domain_hints (line 72) | def _extract_domain_hints(task_prompt: str, description: str = "") -> li... function generate_synthetic_sample_input (line 80) | def generate_synthetic_sample_input( function heal_spec_sample_input (line 115) | def heal_spec_sample_input( function heal_spec_quality_threshold (line 131) | def heal_spec_quality_threshold(spec: AgentTaskSpec) -> AgentTaskSpec: function heal_spec_runtime_context_requirements (line 199) | def heal_spec_runtime_context_requirements(spec: AgentTaskSpec) -> Agent... FILE: autocontext/src/autocontext/scenarios/custom/tool_fragility_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_tool_fragility_class (line 13) | def generate_tool_fragility_class(spec: ToolFragilitySpec, name: str) ->... FILE: autocontext/src/autocontext/scenarios/custom/tool_fragility_creator.py class ToolFragilityCreator (line 6) | class ToolFragilityCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/tool_fragility_designer.py function parse_tool_fragility_spec (line 86) | def parse_tool_fragility_spec(text: str) -> ToolFragilitySpec: function design_tool_fragility (line 120) | def design_tool_fragility(description: str, llm_fn: LlmFn) -> ToolFragil... FILE: autocontext/src/autocontext/scenarios/custom/tool_fragility_spec.py class ToolContractSpecModel (line 9) | class ToolContractSpecModel: class ToolFragilitySpec (line 16) | class ToolFragilitySpec: FILE: autocontext/src/autocontext/scenarios/custom/validator.py class SpecValidationError (line 15) | class SpecValidationError(Exception): class CodeValidationError (line 19) | class CodeValidationError(Exception): class ExecutionValidationError (line 23) | class ExecutionValidationError(Exception): function validate_spec (line 27) | def validate_spec(spec: ScenarioSpec) -> list[str]: function validate_generated_code (line 83) | def validate_generated_code(source: str) -> list[str]: function validate_by_execution (line 92) | def validate_by_execution(scenario_class: type[ScenarioInterface], spec:... FILE: autocontext/src/autocontext/scenarios/custom/workflow_codegen.py function _class_name (line 8) | def _class_name(name: str) -> str: function generate_workflow_class (line 13) | def generate_workflow_class(spec: WorkflowSpec, name: str) -> str: FILE: autocontext/src/autocontext/scenarios/custom/workflow_creator.py class WorkflowCreator (line 6) | class WorkflowCreator(FamilyCreatorShim): FILE: autocontext/src/autocontext/scenarios/custom/workflow_designer.py function parse_workflow_spec (line 115) | def parse_workflow_spec(text: str) -> WorkflowSpec: function design_workflow (line 151) | def design_workflow(description: str, llm_fn: LlmFn) -> WorkflowSpec: FILE: autocontext/src/autocontext/scenarios/custom/workflow_spec.py class WorkflowStepSpecModel (line 9) | class WorkflowStepSpecModel: class WorkflowSpec (line 18) | class WorkflowSpec: FILE: autocontext/src/autocontext/scenarios/families.py class ScenarioFamily (line 15) | class ScenarioFamily: function register_family (line 36) | def register_family(family: ScenarioFamily) -> None: function get_family (line 45) | def get_family(name: str) -> ScenarioFamily: function list_families (line 52) | def list_families() -> list[ScenarioFamily]: function get_family_by_marker (line 57) | def get_family_by_marker(marker: str) -> ScenarioFamily: function get_family_marker (line 65) | def get_family_marker(name: str) -> str: function detect_family (line 70) | def detect_family(scenario: Any) -> ScenarioFamily | None: function _inheritance_depth (line 98) | def _inheritance_depth(cls: type) -> int: function _register_builtins (line 108) | def _register_builtins() -> None: FILE: autocontext/src/autocontext/scenarios/family_contracts.py class ContractResult (line 19) | class ContractResult: class SignalRequirement (line 30) | class SignalRequirement: class ScenarioBehavioralContract (line 40) | class ScenarioBehavioralContract: method __init__ (line 43) | def __init__(self, family: str, requirements: list[SignalRequirement],... method evaluate (line 48) | def evaluate(self, description: str, summary: dict[str, Any]) -> Contr... function get_family_contract (line 132) | def get_family_contract(family: str) -> ScenarioBehavioralContract | None: FILE: autocontext/src/autocontext/scenarios/grid_ctf/scenario.py class GridCtfScenario (line 10) | class GridCtfScenario(ScenarioInterface): method scoring_dimensions (line 13) | def scoring_dimensions(self) -> list[dict[str, Any]]: method describe_rules (line 32) | def describe_rules(self) -> str: method describe_strategy_interface (line 38) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 44) | def describe_evaluation_criteria(self) -> str: method initial_state (line 50) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 61) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 77) | def validate_actions( method step (line 98) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 131) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 134) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 145) | def replay_to_narrative(self, replay: Sequence[dict[str, Any]]) -> str: method enumerate_legal_actions (line 156) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... method render_frame (line 186) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: FILE: autocontext/src/autocontext/scenarios/investigation.py class EvidenceItem (line 18) | class EvidenceItem(BaseModel): method to_dict (line 28) | def to_dict(self) -> dict[str, Any]: method from_dict (line 32) | def from_dict(cls, data: dict[str, Any]) -> EvidenceItem: class EvidenceChain (line 36) | class EvidenceChain(BaseModel): method contains_red_herring (line 43) | def contains_red_herring(self) -> bool: method to_dict (line 46) | def to_dict(self) -> dict[str, Any]: method from_dict (line 50) | def from_dict(cls, data: dict[str, Any]) -> EvidenceChain: class InvestigationResult (line 54) | class InvestigationResult(BaseModel): method to_dict (line 66) | def to_dict(self) -> dict[str, Any]: method from_dict (line 70) | def from_dict(cls, data: dict[str, Any]) -> InvestigationResult: class InvestigationInterface (line 74) | class InvestigationInterface(SimulationInterface): method get_evidence_pool (line 83) | def get_evidence_pool(self, state: dict[str, Any]) -> list[EvidenceItem]: method evaluate_evidence_chain (line 87) | def evaluate_evidence_chain( method evaluate_diagnosis (line 93) | def evaluate_diagnosis( FILE: autocontext/src/autocontext/scenarios/negotiation.py class HiddenPreferences (line 18) | class HiddenPreferences(BaseModel): method to_dict (line 27) | def to_dict(self) -> dict[str, Any]: method from_dict (line 31) | def from_dict(cls, data: dict[str, Any]) -> HiddenPreferences: class NegotiationRound (line 35) | class NegotiationRound(BaseModel): method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> NegotiationRound: class OpponentModel (line 53) | class OpponentModel(BaseModel): method to_dict (line 63) | def to_dict(self) -> dict[str, Any]: method from_dict (line 67) | def from_dict(cls, data: dict[str, Any]) -> OpponentModel: class NegotiationResult (line 71) | class NegotiationResult(BaseModel): method to_dict (line 83) | def to_dict(self) -> dict[str, Any]: method from_dict (line 87) | def from_dict(cls, data: dict[str, Any]) -> NegotiationResult: class NegotiationInterface (line 91) | class NegotiationInterface(SimulationInterface): method get_hidden_preferences (line 99) | def get_hidden_preferences(self, state: dict[str, Any]) -> HiddenPrefe... method get_rounds (line 103) | def get_rounds(self, state: dict[str, Any]) -> list[NegotiationRound]: method get_opponent_model (line 107) | def get_opponent_model(self, state: dict[str, Any]) -> OpponentModel |... method update_opponent_model (line 111) | def update_opponent_model( method evaluate_negotiation (line 117) | def evaluate_negotiation(self, state: dict[str, Any]) -> NegotiationRe... FILE: autocontext/src/autocontext/scenarios/operator_loop.py class ClarificationRequest (line 19) | class ClarificationRequest(BaseModel): method to_dict (line 27) | def to_dict(self) -> dict[str, Any]: method from_dict (line 31) | def from_dict(cls, data: dict[str, Any]) -> ClarificationRequest: class EscalationEvent (line 35) | class EscalationEvent(BaseModel): method to_dict (line 45) | def to_dict(self) -> dict[str, Any]: method from_dict (line 49) | def from_dict(cls, data: dict[str, Any]) -> EscalationEvent: class OperatorLoopResult (line 53) | class OperatorLoopResult(BaseModel): method to_dict (line 66) | def to_dict(self) -> dict[str, Any]: method from_dict (line 70) | def from_dict(cls, data: dict[str, Any]) -> OperatorLoopResult: class OperatorLoopInterface (line 74) | class OperatorLoopInterface(SimulationInterface): method get_escalation_log (line 82) | def get_escalation_log(self, state: dict[str, Any]) -> list[Escalation... method get_clarification_log (line 86) | def get_clarification_log(self, state: dict[str, Any]) -> list[Clarifi... method escalate (line 90) | def escalate(self, state: dict[str, Any], event: EscalationEvent) -> d... method request_clarification (line 94) | def request_clarification( method evaluate_judgment (line 100) | def evaluate_judgment(self, state: dict[str, Any]) -> OperatorLoopResult: FILE: autocontext/src/autocontext/scenarios/othello.py class OthelloScenario (line 10) | class OthelloScenario(ScenarioInterface): method scoring_dimensions (line 13) | def scoring_dimensions(self) -> list[dict[str, Any]]: method describe_rules (line 32) | def describe_rules(self) -> str: method describe_strategy_interface (line 35) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 41) | def describe_evaluation_criteria(self) -> str: method initial_state (line 44) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 54) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 70) | def validate_actions( method step (line 86) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 115) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 118) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 129) | def replay_to_narrative(self, replay: Sequence[dict[str, Any]]) -> str: method enumerate_legal_actions (line 140) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... method render_frame (line 170) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: FILE: autocontext/src/autocontext/scenarios/schema_evolution.py class SchemaMutation (line 19) | class SchemaMutation(BaseModel): method to_dict (line 29) | def to_dict(self) -> dict[str, Any]: method from_dict (line 33) | def from_dict(cls, data: dict[str, Any]) -> SchemaMutation: class ContextValidity (line 37) | class ContextValidity(BaseModel): method to_dict (line 44) | def to_dict(self) -> dict[str, Any]: method from_dict (line 48) | def from_dict(cls, data: dict[str, Any]) -> ContextValidity: class SchemaEvolutionResult (line 52) | class SchemaEvolutionResult(BaseModel): method to_dict (line 64) | def to_dict(self) -> dict[str, Any]: method from_dict (line 68) | def from_dict(cls, data: dict[str, Any]) -> SchemaEvolutionResult: class SchemaEvolutionInterface (line 72) | class SchemaEvolutionInterface(SimulationInterface): method get_mutations (line 81) | def get_mutations(self) -> list[SchemaMutation]: method get_schema_version (line 85) | def get_schema_version(self, state: dict[str, Any]) -> int: method get_mutation_log (line 89) | def get_mutation_log(self, state: dict[str, Any]) -> list[SchemaMutati... method apply_mutation (line 93) | def apply_mutation( method check_context_validity (line 99) | def check_context_validity( method evaluate_adaptation (line 105) | def evaluate_adaptation(self, state: dict[str, Any]) -> SchemaEvolutio... FILE: autocontext/src/autocontext/scenarios/simulation.py class ActionSpec (line 21) | class ActionSpec: class Action (line 32) | class Action: class ActionResult (line 41) | class ActionResult: class ActionRecord (line 52) | class ActionRecord: class ActionTrace (line 62) | class ActionTrace(BaseModel): method actions (line 68) | def actions(self) -> list[Action]: method success_rate (line 72) | def success_rate(self) -> float: method to_dict (line 77) | def to_dict(self) -> dict[str, Any]: method from_dict (line 81) | def from_dict(cls, data: dict[str, Any]) -> ActionTrace: class EnvironmentSpec (line 86) | class EnvironmentSpec: class SimulationResult (line 97) | class SimulationResult(BaseModel): method to_dict (line 109) | def to_dict(self) -> dict[str, Any]: method from_dict (line 113) | def from_dict(cls, data: dict[str, Any]) -> SimulationResult: class SimulationInterface (line 117) | class SimulationInterface(ScenarioInterface): method describe_scenario (line 121) | def describe_scenario(self) -> str: method describe_environment (line 125) | def describe_environment(self) -> EnvironmentSpec: method initial_state (line 129) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 133) | def get_available_actions(self, state: dict[str, Any]) -> list[ActionS... method execute_action (line 137) | def execute_action(self, state: dict[str, Any], action: Action) -> tup... method is_terminal (line 141) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method evaluate_trace (line 145) | def evaluate_trace(self, trace: ActionTrace, final_state: dict[str, An... method get_rubric (line 149) | def get_rubric(self) -> str: method validate_action (line 152) | def validate_action(self, state: dict[str, Any], action: Action) -> tu... method max_steps (line 156) | def max_steps(self) -> int: method inject_fault (line 159) | def inject_fault(self, state: dict[str, Any], step: int) -> dict[str, ... method describe_rules (line 162) | def describe_rules(self) -> str: method describe_strategy_interface (line 180) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 193) | def describe_evaluation_criteria(self) -> str: method get_world_state (line 196) | def get_world_state(self, state: Mapping[str, Any]) -> Any | None: method get_observation (line 208) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method _extract_action_plan (line 225) | def _extract_action_plan(self, actions: Mapping[str, Any]) -> list[Any... method validate_actions (line 233) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method _coerce_action (line 255) | def _coerce_action(self, raw_action: Mapping[str, Any]) -> Action: method _execute_plan (line 262) | def _execute_plan(self, state: dict[str, Any], actions: Mapping[str, A... method step (line 298) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method get_result (line 302) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 322) | def replay_to_narrative(self, replay: Sequence[dict[str, Any]]) -> str: method render_frame (line 332) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: method execute_match (line 350) | def execute_match(self, strategy: Mapping[str, Any], seed: int) -> Res... FILE: autocontext/src/autocontext/scenarios/templates/__init__.py class RubricDimension (line 21) | class RubricDimension(BaseModel): method from_dict (line 29) | def from_dict(cls, data: dict[str, Any]) -> RubricDimension: method to_dict (line 32) | def to_dict(self) -> dict[str, Any]: class TemplateSpec (line 36) | class TemplateSpec(BaseModel): method from_dict (line 55) | def from_dict(cls, data: dict[str, Any]) -> TemplateSpec: method to_agent_task_spec (line 58) | def to_agent_task_spec(self) -> AgentTaskSpec: class _TemplateAgentTask (line 75) | class _TemplateAgentTask(AgentTaskInterface): method __init__ (line 78) | def __init__(self, spec: TemplateSpec, *, scenario_name: str) -> None: method _pinned_dimensions (line 82) | def _pinned_dimensions(self) -> list[str] | None: method get_task_prompt (line 87) | def get_task_prompt(self, state: dict[str, Any]) -> str: method evaluate_output (line 94) | def evaluate_output( method get_rubric (line 169) | def get_rubric(self) -> str: method initial_state (line 173) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method describe_task (line 185) | def describe_task(self) -> str: method prepare_context (line 189) | def prepare_context(self, state: dict[str, Any]) -> dict[str, Any]: method revise_output (line 194) | def revise_output( class TemplateLoader (line 228) | class TemplateLoader: method __init__ (line 231) | def __init__(self, template_dir: Path | None = None) -> None: method list_templates (line 234) | def list_templates(self) -> list[TemplateSpec]: method get_template (line 248) | def get_template(self, name: str) -> TemplateSpec: method load_as_agent_task (line 257) | def load_as_agent_task(self, template_name: str, scenario_name: str | ... method scaffold (line 262) | def scaffold( method _generate_agent_task_module (line 306) | def _generate_agent_task_module(self, spec: TemplateSpec, target_dir: ... FILE: autocontext/src/autocontext/scenarios/tool_fragility.py class ToolContract (line 26) | class ToolContract(BaseModel): method to_dict (line 35) | def to_dict(self) -> dict[str, Any]: method from_dict (line 39) | def from_dict(cls, data: dict[str, Any]) -> ToolContract: class ToolDrift (line 43) | class ToolDrift(BaseModel): method to_dict (line 53) | def to_dict(self) -> dict[str, Any]: method from_dict (line 57) | def from_dict(cls, data: dict[str, Any]) -> ToolDrift: class FailureAttribution (line 61) | class FailureAttribution(BaseModel): method to_dict (line 70) | def to_dict(self) -> dict[str, Any]: method from_dict (line 74) | def from_dict(cls, data: dict[str, Any]) -> FailureAttribution: class ToolFragilityResult (line 78) | class ToolFragilityResult(BaseModel): method to_dict (line 90) | def to_dict(self) -> dict[str, Any]: method from_dict (line 94) | def from_dict(cls, data: dict[str, Any]) -> ToolFragilityResult: class ToolFragilityInterface (line 98) | class ToolFragilityInterface(SimulationInterface): method get_tool_contracts (line 107) | def get_tool_contracts(self, state: dict[str, Any]) -> list[ToolContra... method get_drift_log (line 111) | def get_drift_log(self, state: dict[str, Any]) -> list[ToolDrift]: method inject_drift (line 115) | def inject_drift( method attribute_failure (line 121) | def attribute_failure( method evaluate_fragility (line 127) | def evaluate_fragility(self, state: dict[str, Any]) -> ToolFragilityRe... FILE: autocontext/src/autocontext/scenarios/type_registry.py function get_valid_scenario_types (line 12) | def get_valid_scenario_types() -> frozenset[str]: FILE: autocontext/src/autocontext/scenarios/workflow.py class WorkflowStep (line 18) | class WorkflowStep(BaseModel): method to_dict (line 27) | def to_dict(self) -> dict[str, Any]: method from_dict (line 31) | def from_dict(cls, data: dict[str, Any]) -> WorkflowStep: class SideEffect (line 35) | class SideEffect(BaseModel): method to_dict (line 44) | def to_dict(self) -> dict[str, Any]: method from_dict (line 48) | def from_dict(cls, data: dict[str, Any]) -> SideEffect: class CompensationAction (line 52) | class CompensationAction(BaseModel): method to_dict (line 60) | def to_dict(self) -> dict[str, Any]: method from_dict (line 64) | def from_dict(cls, data: dict[str, Any]) -> CompensationAction: class WorkflowResult (line 68) | class WorkflowResult(BaseModel): method to_dict (line 83) | def to_dict(self) -> dict[str, Any]: method from_dict (line 87) | def from_dict(cls, data: dict[str, Any]) -> WorkflowResult: class WorkflowInterface (line 91) | class WorkflowInterface(SimulationInterface): method get_workflow_steps (line 101) | def get_workflow_steps(self) -> list[WorkflowStep]: method execute_step (line 105) | def execute_step( method execute_compensation (line 111) | def execute_compensation( method get_side_effects (line 117) | def get_side_effects(self, state: dict[str, Any]) -> list[SideEffect]: method evaluate_workflow (line 121) | def evaluate_workflow(self, state: dict[str, Any]) -> WorkflowResult: FILE: autocontext/src/autocontext/scenarios/world_state.py class WorldEntity (line 25) | class WorldEntity(BaseModel): method to_dict (line 34) | def to_dict(self) -> dict[str, Any]: method from_dict (line 38) | def from_dict(cls, data: dict[str, Any]) -> WorldEntity: class WorldResource (line 42) | class WorldResource(BaseModel): method to_dict (line 52) | def to_dict(self) -> dict[str, Any]: method from_dict (line 56) | def from_dict(cls, data: dict[str, Any]) -> WorldResource: class DependencyEdge (line 60) | class DependencyEdge(BaseModel): method to_dict (line 71) | def to_dict(self) -> dict[str, Any]: method from_dict (line 75) | def from_dict(cls, data: dict[str, Any]) -> DependencyEdge: class HiddenVariable (line 79) | class HiddenVariable(BaseModel): method to_dict (line 88) | def to_dict(self) -> dict[str, Any]: method from_dict (line 92) | def from_dict(cls, data: dict[str, Any]) -> HiddenVariable: class StateDelta (line 96) | class StateDelta(BaseModel): method to_dict (line 111) | def to_dict(self) -> dict[str, Any]: method from_dict (line 115) | def from_dict(cls, data: dict[str, Any]) -> StateDelta: class StateTransition (line 119) | class StateTransition(BaseModel): method to_dict (line 129) | def to_dict(self) -> dict[str, Any]: method from_dict (line 133) | def from_dict(cls, data: dict[str, Any]) -> StateTransition: class WorldState (line 137) | class WorldState(BaseModel): method to_dict (line 149) | def to_dict(self) -> dict[str, Any]: method from_dict (line 153) | def from_dict(cls, data: dict[str, Any]) -> WorldState: class WorldStateManager (line 157) | class WorldStateManager: method __init__ (line 160) | def __init__(self, initial_state: WorldState) -> None: method snapshot (line 169) | def snapshot(self) -> WorldState: method get_entity (line 175) | def get_entity(self, entity_id: str) -> WorldEntity | None: method get_resource (line 178) | def get_resource(self, resource_id: str) -> WorldResource | None: method apply_transition (line 181) | def apply_transition(self, transition: StateTransition) -> WorldState: method diff (line 190) | def diff(self, state_a: WorldState, state_b: WorldState) -> list[State... method to_event_payload (line 322) | def to_event_payload(self) -> dict[str, Any]: method _apply_delta (line 363) | def _apply_delta(self, delta: StateDelta) -> None: method _sync_collections (line 451) | def _sync_collections(self) -> None: method _coerce_list (line 457) | def _coerce_list(value: Any) -> list[str]: method _dependency_key (line 463) | def _dependency_key(edge: DependencyEdge) -> tuple[str, str, str, str]: method _resource_refs (line 471) | def _resource_refs(self) -> list[dict[str, Any]]: class WorldStateStore (line 493) | class WorldStateStore: method __init__ (line 496) | def __init__(self, root: Path) -> None: method persist (line 500) | def persist(self, state: WorldState) -> Path: method load (line 505) | def load(self, state_id: str) -> WorldState | None: method list_states (line 512) | def list_states(self) -> list[WorldState]: FILE: autocontext/src/autocontext/sdk.py class AutoContext (line 30) | class AutoContext: method __init__ (line 37) | def __init__( method list_scenarios (line 81) | def list_scenarios(self) -> list[dict[str, str]]: method describe_scenario (line 85) | def describe_scenario(self, name: str) -> dict[str, str]: method validate (line 91) | def validate(self, scenario: str, strategy: dict[str, Any]) -> Validat... method evaluate (line 104) | def evaluate( method match (line 132) | def match( method search (line 161) | def search(self, query: str, top_k: int = 5) -> list[SearchResult]: method export_skill (line 180) | def export_skill(self, scenario: str) -> dict[str, Any]: method export_package (line 184) | def export_package(self, scenario: str) -> dict[str, Any]: method list_artifacts (line 190) | def list_artifacts( FILE: autocontext/src/autocontext/sdk_models.py class ValidateResult (line 14) | class ValidateResult(BaseModel): class EvaluateResult (line 21) | class EvaluateResult(BaseModel): class MatchResult (line 31) | class MatchResult(BaseModel): class SearchResult (line 42) | class SearchResult(BaseModel): FILE: autocontext/src/autocontext/security/scanner.py function is_trufflehog_available (line 26) | def is_trufflehog_available() -> bool: class ScanFinding (line 32) | class ScanFinding: method from_trufflehog_json (line 41) | def from_trufflehog_json(cls, raw: dict[str, Any]) -> ScanFinding: method to_dict (line 56) | def to_dict(self) -> dict[str, Any]: class ScanResult (line 66) | class ScanResult: method is_clean (line 75) | def is_clean(self) -> bool: method finding_count (line 80) | def finding_count(self) -> int: method flagged_files (line 84) | def flagged_files(self) -> set[str]: method to_dict (line 88) | def to_dict(self) -> dict[str, Any]: class SecretScanner (line 100) | class SecretScanner: method __init__ (line 103) | def __init__(self, timeout: int = _TRUFFLEHOG_TIMEOUT) -> None: method available (line 108) | def available(self) -> bool: method scan (line 113) | def scan(self, directory: str) -> ScanResult: FILE: autocontext/src/autocontext/server/app.py function _build_scenario_creator (line 53) | def _build_scenario_creator(app_settings: object) -> object | None: function _build_environments_msg (line 69) | def _build_environments_msg(env_info: dict[str, Any]) -> EnvironmentsMsg: function _build_scenario_preview_msg (line 74) | def _build_scenario_preview_msg(spec: Any) -> ScenarioPreviewMsg: function create_app (line 97) | def create_app( FILE: autocontext/src/autocontext/server/changelog.py function _extract_tool_names (line 14) | def _extract_tool_names(architect_content: str) -> list[str]: function build_changelog (line 25) | def build_changelog( FILE: autocontext/src/autocontext/server/cockpit_api.py function _get_store (line 46) | def _get_store(request: Request) -> SQLiteStore: function _get_artifacts (line 53) | def _get_artifacts(request: Request) -> ArtifactStore: function _build_effective_notebook_preview (line 60) | def _build_effective_notebook_preview( function _get_runtime_session_store (line 75) | def _get_runtime_session_store(request: Request) -> RuntimeSessionEventS... function _runtime_session_url_for_run (line 82) | def _runtime_session_url_for_run(run_id: str) -> str: function _runtime_session_discovery (line 86) | def _runtime_session_discovery( function _runtime_session_not_found (line 97) | def _runtime_session_not_found(message: str, session_id: str) -> HTTPExc... class NotebookUpdateBody (line 101) | class NotebookUpdateBody(BaseModel): function _emit_cockpit_notebook_event (line 115) | def _emit_cockpit_notebook_event(request: Request, session_id: str, scen... function cockpit_list_notebooks (line 138) | def cockpit_list_notebooks(request: Request) -> list[dict[str, Any]]: function cockpit_get_notebook (line 145) | def cockpit_get_notebook(session_id: str, request: Request) -> dict[str,... function cockpit_get_effective_notebook_context (line 155) | def cockpit_get_effective_notebook_context(session_id: str, request: Req... function cockpit_update_notebook (line 165) | def cockpit_update_notebook(session_id: str, body: NotebookUpdateBody, r... function cockpit_delete_notebook (line 199) | def cockpit_delete_notebook(session_id: str, request: Request) -> dict[s... function list_runtime_sessions (line 231) | def list_runtime_sessions(request: Request, limit: int = 50) -> dict[str... function get_runtime_session_timeline (line 243) | def get_runtime_session_timeline(session_id: str, request: Request) -> d... function get_runtime_session (line 262) | def get_runtime_session(session_id: str, request: Request) -> dict[str, ... function get_run_runtime_session_timeline (line 281) | def get_run_runtime_session_timeline(run_id: str, request: Request) -> d... function get_run_runtime_session (line 301) | def get_run_runtime_session(run_id: str, request: Request) -> dict[str, ... function list_runs (line 326) | def list_runs(request: Request) -> list[dict[str, Any]]: function run_status (line 369) | def run_status(run_id: str, request: Request) -> dict[str, Any]: function run_context_selection_report (line 426) | def run_context_selection_report(run_id: str, request: Request) -> dict[... function changelog (line 444) | def changelog(run_id: str, request: Request) -> dict[str, Any]: function compare_generations (line 452) | def compare_generations(run_id: str, gen_a: int, gen_b: int, request: Re... function resume_info (line 497) | def resume_info(run_id: str, request: Request) -> dict[str, Any]: function writeup (line 555) | def writeup(run_id: str, request: Request) -> dict[str, Any]: function scenario_curation (line 584) | def scenario_curation(scenario_name: str, request: Request) -> dict[str,... class ConsultationRequestBody (line 608) | class ConsultationRequestBody(BaseModel): function _create_cockpit_consultation_provider (line 613) | def _create_cockpit_consultation_provider(settings: Any) -> LLMProvider ... function request_consultation (line 626) | def request_consultation(run_id: str, body: ConsultationRequestBody, req... function list_consultations (line 778) | def list_consultations(run_id: str, request: Request) -> list[dict[str, ... FILE: autocontext/src/autocontext/server/hub_api.py function _now (line 19) | def _now() -> str: function _get_store (line 23) | def _get_store(request: Request) -> SQLiteStore: function _get_artifacts (line 31) | def _get_artifacts(request: Request) -> ArtifactStore: function _get_hub (line 36) | def _get_hub(request: Request) -> HubStore: class HubSessionBody (line 45) | class HubSessionBody(BaseModel): class HeartbeatBody (line 63) | class HeartbeatBody(BaseModel): class PromoteRunBody (line 68) | class PromoteRunBody(BaseModel): class MaterializeResultBody (line 78) | class MaterializeResultBody(BaseModel): class AdoptPackageBody (line 83) | class AdoptPackageBody(BaseModel): class PromotionBody (line 88) | class PromotionBody(BaseModel): function _merge_session (line 97) | def _merge_session(session_id: str, body: HubSessionBody, existing: Rese... function list_sessions (line 146) | def list_sessions(request: Request) -> list[dict[str, Any]]: function get_session (line 152) | def get_session(session_id: str, request: Request) -> dict[str, Any]: function upsert_session (line 161) | def upsert_session(session_id: str, body: HubSessionBody, request: Reque... function heartbeat_session (line 172) | def heartbeat_session(session_id: str, body: HeartbeatBody, request: Req... function promote_package_from_run (line 185) | def promote_package_from_run(run_id: str, body: PromoteRunBody, request:... function list_packages (line 204) | def list_packages(request: Request) -> list[dict[str, Any]]: function get_package (line 210) | def get_package(package_id: str, request: Request) -> dict[str, Any]: function adopt_package (line 219) | def adopt_package(package_id: str, body: AdoptPackageBody, request: Requ... function materialize_result_from_run (line 232) | def materialize_result_from_run(run_id: str, body: MaterializeResultBody... function list_results (line 246) | def list_results(request: Request) -> list[dict[str, Any]]: function get_result (line 252) | def get_result(result_id: str, request: Request) -> dict[str, Any]: function create_promotion (line 261) | def create_promotion(body: PromotionBody, request: Request) -> dict[str,... function get_feed (line 278) | def get_feed(request: Request) -> dict[str, Any]: FILE: autocontext/src/autocontext/server/knowledge_api.py function _get_ctx (line 26) | def _get_ctx() -> MtsToolContext: function _get_solve_mgr (line 33) | def _get_solve_mgr() -> SolveManager: class SearchRequest (line 40) | class SearchRequest(BaseModel): class SolveRequest (line 45) | class SolveRequest(BaseModel): function list_solved (line 51) | def list_solved() -> list[dict[str, Any]]: function export_skill (line 57) | def export_skill(scenario_name: str, format: str = "skill") -> dict[str,... class ImportRequest (line 78) | class ImportRequest(BaseModel): function import_package (line 84) | def import_package(body: ImportRequest) -> dict[str, Any]: function search (line 100) | def search(body: SearchRequest) -> list[dict[str, Any]]: function submit_solve (line 118) | def submit_solve(body: SolveRequest) -> dict[str, Any]: function solve_status (line 126) | def solve_status(job_id: str) -> dict[str, Any]: FILE: autocontext/src/autocontext/server/monitor_api.py class CreateMonitorBody (line 16) | class CreateMonitorBody(BaseModel): function create_monitor (line 24) | def create_monitor(body: CreateMonitorBody, request: Request, response: ... function list_monitors (line 56) | def list_monitors( function delete_monitor (line 68) | def delete_monitor(condition_id: str, request: Request) -> Response: function list_alerts (line 78) | def list_alerts( function wait_for_alert (line 97) | async def wait_for_alert( FILE: autocontext/src/autocontext/server/notebook_api.py class NotebookBody (line 17) | class NotebookBody(BaseModel): function _get_store (line 29) | def _get_store(request: Request) -> SQLiteStore: function _get_artifacts (line 37) | def _get_artifacts(request: Request) -> ArtifactStore: function list_notebooks (line 43) | def list_notebooks(request: Request) -> list[dict[str, Any]]: function get_notebook (line 49) | def get_notebook(session_id: str, request: Request) -> dict[str, Any]: function upsert_notebook (line 58) | def upsert_notebook(session_id: str, body: NotebookBody, request: Reques... function delete_notebook (line 89) | def delete_notebook(session_id: str, request: Request) -> dict[str, str]: function _emit_notebook_event (line 99) | def _emit_notebook_event(request: Request, session_id: str, scenario_nam... FILE: autocontext/src/autocontext/server/openclaw_api.py function get_openclaw_ctx (line 16) | def get_openclaw_ctx(request: Request) -> MtsToolContext: class EvaluateRequest (line 32) | class EvaluateRequest(BaseModel): class ValidateRequest (line 39) | class ValidateRequest(BaseModel): class TriggerDistillRequest (line 44) | class TriggerDistillRequest(BaseModel): class UpdateDistillJobRequest (line 50) | class UpdateDistillJobRequest(BaseModel): function evaluate_strategy_endpoint (line 61) | def evaluate_strategy_endpoint(body: EvaluateRequest) -> dict[str, Any]: function validate_strategy_endpoint (line 72) | def validate_strategy_endpoint( function publish_artifact_endpoint (line 86) | def publish_artifact_endpoint( function list_artifacts_endpoint (line 100) | def list_artifacts_endpoint( function fetch_artifact_endpoint (line 112) | def fetch_artifact_endpoint( function distill_status_endpoint (line 126) | def distill_status_endpoint( function trigger_distillation_endpoint (line 137) | def trigger_distillation_endpoint( function get_distill_job_endpoint (line 156) | def get_distill_job_endpoint( function update_distill_job_endpoint (line 170) | def update_distill_job_endpoint( function capabilities_endpoint (line 190) | def capabilities_endpoint() -> dict[str, Any]: function discovery_capabilities_endpoint (line 201) | def discovery_capabilities_endpoint( function discovery_scenario_endpoint (line 211) | def discovery_scenario_endpoint( function discovery_health_endpoint (line 225) | def discovery_health_endpoint( function discovery_scenario_artifacts_endpoint (line 235) | def discovery_scenario_artifacts_endpoint( function skill_manifest_endpoint (line 246) | def skill_manifest_endpoint( FILE: autocontext/src/autocontext/server/protocol.py class ScenarioInfo (line 23) | class ScenarioInfo(BaseModel): class ExecutorResources (line 30) | class ExecutorResources(BaseModel): class ExecutorInfo (line 40) | class ExecutorInfo(BaseModel): class StrategyParam (line 49) | class StrategyParam(BaseModel): class ScoringComponent (line 56) | class ScoringComponent(BaseModel): class HelloMsg (line 69) | class HelloMsg(BaseModel): class EventMsg (line 76) | class EventMsg(BaseModel): class StateMsg (line 84) | class StateMsg(BaseModel): class ChatResponseMsg (line 93) | class ChatResponseMsg(BaseModel): class EnvironmentsMsg (line 101) | class EnvironmentsMsg(BaseModel): class RunAcceptedMsg (line 111) | class RunAcceptedMsg(BaseModel): class AckMsg (line 120) | class AckMsg(BaseModel): class ErrorMsg (line 128) | class ErrorMsg(BaseModel): class ScenarioGeneratingMsg (line 135) | class ScenarioGeneratingMsg(BaseModel): class ScenarioPreviewMsg (line 142) | class ScenarioPreviewMsg(BaseModel): class ScenarioReadyMsg (line 155) | class ScenarioReadyMsg(BaseModel): class ScenarioErrorMsg (line 163) | class ScenarioErrorMsg(BaseModel): class MonitorAlertMsg (line 171) | class MonitorAlertMsg(BaseModel): class PauseCmd (line 208) | class PauseCmd(BaseModel): class ResumeCmd (line 214) | class ResumeCmd(BaseModel): class InjectHintCmd (line 220) | class InjectHintCmd(BaseModel): class OverrideGateCmd (line 227) | class OverrideGateCmd(BaseModel): class ChatAgentCmd (line 234) | class ChatAgentCmd(BaseModel): class StartRunCmd (line 242) | class StartRunCmd(BaseModel): class ListScenariosCmd (line 250) | class ListScenariosCmd(BaseModel): class CreateScenarioCmd (line 256) | class CreateScenarioCmd(BaseModel): class ConfirmScenarioCmd (line 263) | class ConfirmScenarioCmd(BaseModel): class ReviseScenarioCmd (line 269) | class ReviseScenarioCmd(BaseModel): class CancelScenarioCmd (line 276) | class CancelScenarioCmd(BaseModel): class RunStartedPayload (line 303) | class RunStartedPayload(BaseModel): class GenerationStartedPayload (line 311) | class GenerationStartedPayload(BaseModel): class AgentsStartedPayload (line 318) | class AgentsStartedPayload(BaseModel): class RoleCompletedPayload (line 326) | class RoleCompletedPayload(BaseModel): class TournamentStartedPayload (line 336) | class TournamentStartedPayload(BaseModel): class MatchCompletedPayload (line 344) | class MatchCompletedPayload(BaseModel): class TournamentCompletedPayload (line 353) | class TournamentCompletedPayload(BaseModel): class GateDecidedPayload (line 364) | class GateDecidedPayload(BaseModel): class CuratorStartedPayload (line 373) | class CuratorStartedPayload(BaseModel): class CuratorCompletedPayload (line 380) | class CuratorCompletedPayload(BaseModel): class GenerationCompletedPayload (line 388) | class GenerationCompletedPayload(BaseModel): class RunCompletedPayload (line 400) | class RunCompletedPayload(BaseModel): function parse_client_message (line 418) | def parse_client_message(raw: dict[str, Any]) -> ClientMessage: function export_json_schema (line 426) | def export_json_schema() -> dict[str, Any]: FILE: autocontext/src/autocontext/server/run_manager.py class RunManager (line 18) | class RunManager: method __init__ (line 21) | def __init__(self, controller: LoopController, events: EventStreamEmit... method is_active (line 30) | def is_active(self) -> bool: method list_scenarios (line 33) | def list_scenarios(self) -> list[str]: method get_environment_info (line 36) | def get_environment_info(self) -> dict[str, Any]: method start_run (line 75) | def start_run(self, scenario: str, generations: int, run_id: str | Non... FILE: autocontext/src/autocontext/server/writeup.py function generate_writeup (line 12) | def generate_writeup( function generate_writeup_html (line 33) | def generate_writeup_html( function _generate_legacy_writeup (line 55) | def _generate_legacy_writeup( FILE: autocontext/src/autocontext/session/action_labels.py class ActionLabel (line 53) | class ActionLabel(BaseModel): method create (line 63) | def create(cls, text: str, category: str = "action") -> ActionLabel: method noop (line 68) | def noop(cls, reason: str = "No changes") -> ActionLabel: function _truncate (line 74) | def _truncate(text: str) -> str: function label_from_event (line 82) | def label_from_event(event: CoordinatorEvent | SessionEvent) -> ActionLa... function labels_from_coordinator (line 106) | def labels_from_coordinator( FILE: autocontext/src/autocontext/session/context_pressure.py class PressureLevel (line 23) | class PressureLevel(StrEnum): class CompactionPolicy (line 32) | class CompactionPolicy(BaseModel): method _validate_threshold_order (line 67) | def _validate_threshold_order(self) -> CompactionPolicy: class ContextPressure (line 81) | class ContextPressure(BaseModel): method should_compact (line 90) | def should_compact(self) -> bool: method tokens_remaining (line 94) | def tokens_remaining(self) -> int: method measure (line 98) | def measure( class CompactionResult (line 127) | class CompactionResult(BaseModel): method tokens_freed (line 139) | def tokens_freed(self) -> int: function effective_window (line 148) | def effective_window( class CompactionCircuitBreaker (line 163) | class CompactionCircuitBreaker: method __init__ (line 169) | def __init__(self, max_failures: int = 3) -> None: method is_open (line 175) | def is_open(self) -> bool: method record_failure (line 178) | def record_failure(self, stage: str) -> None: method record_success (line 182) | def record_success(self) -> None: method failure_log (line 186) | def failure_log(self) -> list[str]: FILE: autocontext/src/autocontext/session/coordinator.py function _now (line 21) | def _now() -> str: class WorkerStatus (line 28) | class WorkerStatus(StrEnum): class CoordinatorEventType (line 36) | class CoordinatorEventType(StrEnum): class CoordinatorEvent (line 51) | class CoordinatorEvent(BaseModel): class Worker (line 65) | class Worker(BaseModel): method create (line 83) | def create( method start (line 91) | def start(self) -> None: method complete (line 95) | def complete(self, result: str) -> None: method fail (line 101) | def fail(self, error: str = "") -> None: method redirect (line 107) | def redirect(self, new_task: str = "", reason: str = "") -> None: method is_active (line 114) | def is_active(self) -> bool: method _require_status (line 117) | def _require_status( class Coordinator (line 130) | class Coordinator(BaseModel): method create (line 144) | def create(cls, session_id: str, goal: str) -> Coordinator: method delegate (line 151) | def delegate(self, task: str, role: str, parent_worker_id: str = "") -... method fan_out (line 162) | def fan_out(self, tasks: list[dict[str, str]]) -> list[Worker]: method fan_in (line 171) | def fan_in(self) -> list[str]: method complete_worker (line 179) | def complete_worker( method start_worker (line 190) | def start_worker( method fail_worker (line 200) | def fail_worker( method stop_worker (line 211) | def stop_worker(self, worker_id: str, reason: str = "") -> None: method retry (line 220) | def retry(self, worker_id: str, new_task: str = "") -> Worker: method active_workers (line 235) | def active_workers(self) -> list[Worker]: method completed_workers (line 239) | def completed_workers(self) -> list[Worker]: method _get_worker (line 244) | def _get_worker(self, worker_id: str) -> Worker: method _emit (line 251) | def _emit(self, event_type: CoordinatorEventType, payload: dict[str, A... function _worker_event_payload (line 258) | def _worker_event_payload( function _failed_worker_event_payload (line 267) | def _failed_worker_event_payload( FILE: autocontext/src/autocontext/session/living_docs.py class LivingDoc (line 21) | class LivingDoc: method __init__ (line 27) | def __init__(self, path: Path) -> None: method from_path (line 34) | def from_path(cls, path: Path) -> LivingDoc | None: method record_consultation (line 45) | def record_consultation(self) -> None: method read_content (line 48) | def read_content(self) -> str: class DocUpdate (line 54) | class DocUpdate(BaseModel): class DocUpdateResult (line 64) | class DocUpdateResult(BaseModel): class DocMaintainer (line 75) | class DocMaintainer: method __init__ (line 84) | def __init__( method discover (line 92) | def discover(self) -> list[LivingDoc]: method run (line 104) | def run(self, learnings: list[str]) -> DocUpdateResult: FILE: autocontext/src/autocontext/session/memory_consolidation.py class ConsolidationTrigger (line 26) | class ConsolidationTrigger(BaseModel): method should_run (line 36) | def should_run( class ConsolidationResult (line 52) | class ConsolidationResult(BaseModel): method total_promoted (line 63) | def total_promoted(self) -> int: method was_productive (line 71) | def was_productive(self) -> bool: class ConsolidationLock (line 80) | class ConsolidationLock: method __init__ (line 88) | def __init__(self, lock_path: Path) -> None: method acquire (line 93) | def acquire(self) -> bool: method acquire_or_raise (line 105) | def acquire_or_raise(self) -> None: method release (line 111) | def release(self) -> None: method __enter__ (line 121) | def __enter__(self) -> ConsolidationLock: method __exit__ (line 125) | def __exit__(self, *_: Any) -> None: class MemoryConsolidator (line 132) | class MemoryConsolidator: method __init__ (line 139) | def __init__(self, trigger: ConsolidationTrigger | None = None) -> None: method run (line 142) | def run( FILE: autocontext/src/autocontext/session/progress_digest.py class WorkerDigest (line 20) | class WorkerDigest(BaseModel): method from_worker (line 30) | def from_worker(cls, worker: Worker) -> WorkerDigest: class ProgressDigest (line 42) | class ProgressDigest(BaseModel): method from_coordinator (line 60) | def from_coordinator( method from_session (line 108) | def from_session(cls, session: Session) -> ProgressDigest: method empty (line 117) | def empty(cls) -> ProgressDigest: function _compact_payload (line 124) | def _compact_payload(payload: dict[str, Any]) -> str: FILE: autocontext/src/autocontext/session/remote_bridge.py function _now (line 19) | def _now() -> str: class SessionRole (line 23) | class SessionRole(StrEnum): class RemoteSession (line 28) | class RemoteSession(BaseModel): method create (line 38) | def create(cls, session_id: str, operator: str, role: SessionRole) -> ... method can_approve (line 42) | def can_approve(self) -> bool: method can_control (line 46) | def can_control(self) -> bool: class ApprovalRequest (line 50) | class ApprovalRequest(BaseModel): method create (line 63) | def create(cls, action: str, context: str = "") -> ApprovalRequest: method approve (line 66) | def approve(self, by: str) -> None: method deny (line 72) | def deny(self, by: str, reason: str = "") -> None: method timeout (line 79) | def timeout(self) -> None: method cancel (line 84) | def cancel(self) -> None: method _require_pending (line 89) | def _require_pending(self, action: str) -> None: class RemoteBridge (line 95) | class RemoteBridge: method __init__ (line 101) | def __init__(self, mission_id: str) -> None: method connect (line 106) | def connect(self, operator: str, role: SessionRole) -> RemoteSession: method disconnect (line 113) | def disconnect(self, remote_session_id: str) -> None: method connected_sessions (line 117) | def connected_sessions(self) -> list[RemoteSession]: method request_approval (line 120) | def request_approval(self, action: str, context: str = "") -> Approval... method pending_approvals (line 126) | def pending_approvals(self) -> list[ApprovalRequest]: method respond (line 129) | def respond(self, request_id: str, approved: bool, by: str, reason: st... FILE: autocontext/src/autocontext/session/runtime_context.py class RuntimeContextLayerKey (line 16) | class RuntimeContextLayerKey(StrEnum): class RuntimeContextLayer (line 28) | class RuntimeContextLayer: class RepoInstruction (line 38) | class RepoInstruction: class RuntimeContextDiscoveryRequest (line 45) | class RuntimeContextDiscoveryRequest: method for_child_task (line 50) | def for_child_task(self, cwd: str | Path) -> RuntimeContextDiscoveryRe... class RuntimeContextBundleEntry (line 59) | class RuntimeContextBundleEntry: class RuntimeContextLayerBundle (line 68) | class RuntimeContextLayerBundle: class RuntimeContextBundle (line 74) | class RuntimeContextBundle: method get_layer (line 77) | def get_layer(self, key: RuntimeContextLayerKey) -> RuntimeContextLaye... method all_entries (line 83) | def all_entries(self) -> tuple[RuntimeContextBundleEntry, ...]: class RuntimeContextAssemblyRequest (line 88) | class RuntimeContextAssemblyRequest: method for_child_task (line 99) | def for_child_task( function discover_repo_instructions (line 188) | def discover_repo_instructions(request: RuntimeContextDiscoveryRequest) ... function runtime_skill_discovery_roots (line 207) | def runtime_skill_discovery_roots(request: RuntimeContextDiscoveryReques... function discover_runtime_skills (line 222) | def discover_runtime_skills(request: RuntimeContextDiscoveryRequest) -> ... function select_runtime_knowledge_components (line 229) | def select_runtime_knowledge_components( function assemble_runtime_context (line 247) | def assemble_runtime_context(request: RuntimeContextAssemblyRequest) -> ... function _workspace_root (line 285) | def _workspace_root(request: RuntimeContextDiscoveryRequest) -> Path: function _resolve_cwd (line 289) | def _resolve_cwd(root: Path, cwd: str | Path) -> Path: function _resolve_configured_root (line 300) | def _resolve_configured_root(root: Path, skill_root: Path) -> Path: function _ancestor_dirs (line 306) | def _ancestor_dirs(root: Path, cwd: Path, *, nearest_first: bool) -> tup... function _append_existing_unique_dir (line 317) | def _append_existing_unique_dir(roots: list[Path], seen: set[Path], path... function _relative_posix (line 324) | def _relative_posix(path: Path, root: Path) -> str: function _single_text_entry (line 328) | def _single_text_entry( function _repo_instruction_entries (line 347) | def _repo_instruction_entries(request: RuntimeContextDiscoveryRequest) -... function _knowledge_entries (line 363) | def _knowledge_entries(request: RuntimeContextAssemblyRequest) -> tuple[... function _runtime_skill_entries (line 377) | def _runtime_skill_entries(request: RuntimeContextDiscoveryRequest) -> t... function _mapping_entries (line 401) | def _mapping_entries( function _session_history_entries (line 423) | def _session_history_entries(history: Sequence[str]) -> tuple[RuntimeCon... function _relative_to_root (line 443) | def _relative_to_root(path: Path, root: Path) -> str | None: FILE: autocontext/src/autocontext/session/runtime_events.py function _now_iso (line 26) | def _now_iso() -> str: class RuntimeSessionEventType (line 30) | class RuntimeSessionEventType(StrEnum): class RuntimeSessionEvent (line 42) | class RuntimeSessionEvent(BaseModel): method to_dict (line 55) | def to_dict(self) -> dict[str, Any]: method from_dict (line 70) | def from_dict(cls, data: dict[str, Any]) -> Self: class RuntimeSessionEventLog (line 88) | class RuntimeSessionEventLog(BaseModel): method create (line 104) | def create( method append (line 121) | def append( method subscribe (line 141) | def subscribe(self, callback: RuntimeSessionEventLogSubscriber) -> Cal... method to_dict (line 152) | def to_dict(self) -> dict[str, Any]: method from_dict (line 166) | def from_dict(cls, data: dict[str, Any]) -> Self: method _notify (line 184) | def _notify(self, event: RuntimeSessionEvent) -> None: class RuntimeSessionEventStore (line 192) | class RuntimeSessionEventStore: method __init__ (line 195) | def __init__(self, db_path: Path | str) -> None: method save (line 200) | def save(self, log: RuntimeSessionEventLog) -> None: method load (line 274) | def load(self, session_id: str) -> RuntimeSessionEventLog | None: method list (line 322) | def list(self, *, limit: int = 50) -> RuntimeSessionEventLogList: method list_children (line 336) | def list_children(self, parent_session_id: str) -> RuntimeSessionEvent... method close (line 349) | def close(self) -> None: method _connect (line 352) | def _connect(self) -> sqlite3.Connection: method _connection (line 359) | def _connection(self) -> Iterator[sqlite3.Connection]: method _ensure_schema (line 364) | def _ensure_schema(self) -> None: function _read_record (line 403) | def _read_record(value: Any) -> dict[str, Any]: function _read_str (line 407) | def _read_str(value: Any) -> str: function _read_int (line 411) | def _read_int(value: Any) -> int: function _read_event_type (line 415) | def _read_event_type(value: Any) -> RuntimeSessionEventType: function _safe_json_record (line 421) | def _safe_json_record(raw: str) -> dict[str, Any]: function _next_runtime_session_sequence (line 428) | def _next_runtime_session_sequence(used_sequences: set[int], start: int ... FILE: autocontext/src/autocontext/session/runtime_grant_events.py function create_runtime_session_grant_event_sink (line 14) | def create_runtime_session_grant_event_sink( class _RuntimeSessionGrantEventSink (line 21) | class _RuntimeSessionGrantEventSink: method __init__ (line 22) | def __init__( method on_runtime_grant_event (line 30) | def on_runtime_grant_event(self, event: RuntimeGrantEvent) -> None: function _runtime_session_event_type_for_grant (line 37) | def _runtime_session_event_type_for_grant(event: RuntimeGrantEvent) -> R... function _runtime_grant_event_payload (line 41) | def _runtime_grant_event_payload(event: RuntimeGrantEvent) -> dict[str, ... function _resolve_correlation (line 68) | def _resolve_correlation(correlation: RuntimeGrantEventCorrelation) -> d... FILE: autocontext/src/autocontext/session/runtime_session.py class RuntimeSessionEventSink (line 24) | class RuntimeSessionEventSink(Protocol): method on_runtime_session_event (line 27) | def on_runtime_session_event(self, event: RuntimeSessionEvent, log: Ru... class RuntimeSessionPromptHandlerInput (line 32) | class RuntimeSessionPromptHandlerInput: class RuntimeSessionPromptHandlerOutput (line 42) | class RuntimeSessionPromptHandlerOutput: class RuntimeSessionPromptResult (line 54) | class RuntimeSessionPromptResult: class RuntimeSessionCompactionInput (line 65) | class RuntimeSessionCompactionInput: class RuntimeChildTaskHandlerInput (line 75) | class RuntimeChildTaskHandlerInput: class RuntimeChildTaskHandlerOutput (line 90) | class RuntimeChildTaskHandlerOutput: class RuntimeChildTaskResult (line 102) | class RuntimeChildTaskResult: class RuntimeSession (line 117) | class RuntimeSession: method __init__ (line 120) | def __init__( method create (line 143) | def create( method load (line 172) | def load( method session_id (line 198) | def session_id(self) -> str: method submit_prompt (line 201) | def submit_prompt( method run_child_task (line 281) | def run_child_task( method list_child_logs (line 301) | def list_child_logs(self) -> list[RuntimeSessionEventLog]: method record_compaction (line 304) | def record_compaction(self, compaction: RuntimeSessionCompactionInput)... method save (line 310) | def save(self) -> None: method _prompt_result (line 314) | def _prompt_result( class RuntimeChildTaskRunner (line 334) | class RuntimeChildTaskRunner: method __init__ (line 337) | def __init__( method run (line 356) | def run( method _fail_child_task (line 522) | def _fail_child_task( method _result (line 590) | def _result( method _persist (line 619) | def _persist(self, child_log: RuntimeSessionEventLog) -> None: function _observe_runtime_session_log (line 626) | def _observe_runtime_session_log( function _normalize_prompt_output (line 646) | def _normalize_prompt_output(output: RuntimeSessionPromptHandlerOutput |... function _normalize_child_output (line 652) | def _normalize_child_output(output: RuntimeChildTaskHandlerOutput | str)... function _child_task_coordinator_lineage (line 658) | def _child_task_coordinator_lineage( function _json_safe_record (line 679) | def _json_safe_record(value: Mapping[str, Any] | None) -> dict[str, Any]: function _json_safe_value (line 685) | def _json_safe_value(value: Any) -> Any: function _compaction_payload (line 696) | def _compaction_payload(compaction: RuntimeSessionCompactionInput) -> di... function _preview_text (line 732) | def _preview_text(value: str, max_length: int = 500) -> str: function _normalize_depth (line 737) | def _normalize_depth(value: int, name: str) -> int: function _read_str (line 744) | def _read_str(value: Any) -> str: function _read_int (line 748) | def _read_int(value: Any) -> int: FILE: autocontext/src/autocontext/session/runtime_session_ids.py function runtime_session_id_for_run (line 4) | def runtime_session_id_for_run(run_id: str) -> str: FILE: autocontext/src/autocontext/session/runtime_session_read_model.py class RuntimeSessionReadStore (line 12) | class RuntimeSessionReadStore(Protocol): method list (line 13) | def list(self, *, limit: int = 50) -> list[RuntimeSessionEventLog]: ... method load (line 15) | def load(self, session_id: str) -> RuntimeSessionEventLog | None: ... function summarize_runtime_session (line 18) | def summarize_runtime_session(log: RuntimeSessionEventLog) -> RuntimeSes... function read_runtime_session_summaries (line 31) | def read_runtime_session_summaries( function read_runtime_session_by_id (line 39) | def read_runtime_session_by_id( function read_runtime_session_by_run_id (line 48) | def read_runtime_session_by_run_id( function _list_logs (line 55) | def _list_logs( function _metadata_str (line 65) | def _metadata_str(metadata: dict[str, Any], key: str) -> str: FILE: autocontext/src/autocontext/session/runtime_session_recording.py class RuntimeSessionRunRecording (line 17) | class RuntimeSessionRunRecording: method close (line 23) | def close(self) -> None: function create_runtime_session_for_run (line 27) | def create_runtime_session_for_run( function open_runtime_session_for_run (line 55) | def open_runtime_session_for_run( function _runtime_session_goal (line 76) | def _runtime_session_goal(run_id: str, scenario_name: str) -> str: FILE: autocontext/src/autocontext/session/runtime_session_timeline.py function build_runtime_session_timeline (line 14) | def build_runtime_session_timeline(log: RuntimeSessionEventLog) -> Runti... function read_runtime_session_timeline_by_id (line 65) | def read_runtime_session_timeline_by_id( function read_runtime_session_timeline_by_run_id (line 73) | def read_runtime_session_timeline_by_run_id( function _prompt_item_from_event (line 80) | def _prompt_item_from_event(event: RuntimeSessionEvent) -> RuntimeSessio... function _find_prompt_for_response (line 99) | def _find_prompt_for_response( function _complete_prompt_item (line 125) | def _complete_prompt_item(item: RuntimeSessionTimelineItem, event: Runti... function _child_task_item_from_started_event (line 138) | def _child_task_item_from_started_event(event: RuntimeSessionEvent) -> R... function _child_task_correlation_key_from_item (line 158) | def _child_task_correlation_key_from_item(item: RuntimeSessionTimelineIt... function _child_task_correlation_key_from_event (line 162) | def _child_task_correlation_key_from_event(event: RuntimeSessionEvent) -... function _child_task_correlation_key (line 169) | def _child_task_correlation_key(task_id: str, child_session_id: str) -> ... function _complete_child_task_item (line 177) | def _complete_child_task_item(item: RuntimeSessionTimelineItem, event: R... function _generic_item_from_event (line 191) | def _generic_item_from_event(event: RuntimeSessionEvent) -> RuntimeSessi... function _event_title_details (line 205) | def _event_title_details(details: dict[str, str | int | float | bool]) -... function _event_details (line 213) | def _event_details(payload: dict[str, Any]) -> dict[str, str | int | flo... function _is_in_flight_item (line 239) | def _is_in_flight_item(item: RuntimeSessionTimelineItem) -> bool: function _is_error_item (line 245) | def _is_error_item(item: RuntimeSessionTimelineItem) -> bool: function _preview (line 251) | def _preview(value: Any, max_length: int = 240) -> str: function _read_str (line 259) | def _read_str(value: Any) -> str: function _read_bool (line 263) | def _read_bool(value: Any) -> bool: function _read_nullable_number (line 267) | def _read_nullable_number(value: Any) -> int | float | None: FILE: autocontext/src/autocontext/session/skill_registry.py function _normalize_frontmatter_value (line 22) | def _normalize_frontmatter_value(value: str) -> str: function _parse_frontmatter (line 29) | def _parse_frontmatter(text: str) -> dict[str, str]: function _body_after_frontmatter (line 43) | def _body_after_frontmatter(text: str) -> str: class SkillManifest (line 54) | class SkillManifest(BaseModel): method from_skill_dir (line 68) | def from_skill_dir(cls, skill_dir: Path) -> SkillManifest | None: class SkillEntry (line 96) | class SkillEntry: method __init__ (line 102) | def __init__(self, manifest: SkillManifest) -> None: method is_loaded (line 107) | def is_loaded(self) -> bool: method load_body (line 110) | def load_body(self) -> str: class SkillValidationError (line 126) | class SkillValidationError(BaseModel): class SkillRegistry (line 136) | class SkillRegistry: method __init__ (line 143) | def __init__(self) -> None: method discover (line 146) | def discover(self, root: Path) -> int: method all_manifests (line 169) | def all_manifests(self) -> list[SkillManifest]: method get (line 173) | def get(self, name: str) -> SkillEntry | None: method search (line 177) | def search(self, query: str) -> list[SkillManifest]: method validate (line 186) | def validate(self) -> list[SkillValidationError]: FILE: autocontext/src/autocontext/session/store.py class SessionStore (line 16) | class SessionStore: method __init__ (line 19) | def __init__(self, db_path: Path) -> None: method _ensure_schema (line 24) | def _ensure_schema(self) -> None: method _connect (line 37) | def _connect(self) -> sqlite3.Connection: method save (line 43) | def save(self, session: Session) -> None: method load (line 60) | def load(self, session_id: str) -> Session | None: method list (line 71) | def list(self, status: str | None = None, limit: int = 50) -> list[Ses... method delete (line 84) | def delete(self, session_id: str) -> bool: FILE: autocontext/src/autocontext/session/supervisor.py function _now (line 22) | def _now() -> str: class SupervisorState (line 26) | class SupervisorState(StrEnum): class SupervisedEntry (line 46) | class SupervisedEntry(BaseModel): method create (line 64) | def create( method mark_running (line 80) | def mark_running(self) -> None: method mark_waiting (line 92) | def mark_waiting(self, reason: str = "") -> None: method mark_completed (line 104) | def mark_completed(self) -> None: method mark_failed (line 118) | def mark_failed(self, error: str = "") -> None: method request_stop (line 128) | def request_stop(self) -> None: method mark_stopped (line 141) | def mark_stopped(self) -> None: method heartbeat (line 150) | def heartbeat(self) -> None: method is_alive (line 156) | def is_alive(self) -> bool: method _require_state (line 161) | def _require_state( method _touch (line 170) | def _touch(self) -> None: class Supervisor (line 174) | class Supervisor: method __init__ (line 180) | def __init__(self) -> None: method launch (line 183) | def launch( method get (line 204) | def get(self, session_id: str) -> SupervisedEntry | None: method list_active (line 207) | def list_active(self) -> list[SupervisedEntry]: method list_all (line 210) | def list_all(self) -> list[SupervisedEntry]: method stop (line 213) | def stop(self, session_id: str) -> None: method cleanup_stale (line 221) | def cleanup_stale(self, max_idle_seconds: float = 300) -> list[str]: method remove (line 243) | def remove(self, session_id: str) -> bool: class SupervisorStore (line 248) | class SupervisorStore: method __init__ (line 254) | def __init__(self, path: Path) -> None: method save (line 258) | def save(self, supervisor: Supervisor) -> None: method restore (line 266) | def restore(self, supervisor: Supervisor) -> None: FILE: autocontext/src/autocontext/session/types.py class SessionStatus (line 22) | class SessionStatus(StrEnum): class TurnOutcome (line 32) | class TurnOutcome(StrEnum): class SessionEventType (line 42) | class SessionEventType(StrEnum): class SessionEvent (line 60) | class SessionEvent(BaseModel): class Turn (line 69) | class Turn(BaseModel): method succeeded (line 87) | def succeeded(self) -> bool: class Branch (line 91) | class Branch(BaseModel): function _default_branches (line 101) | def _default_branches() -> list[Branch]: class Session (line 105) | class Session(BaseModel): method create (line 125) | def create(cls, goal: str, metadata: dict[str, Any] | None = None) -> ... method submit_turn (line 133) | def submit_turn(self, prompt: str, role: str) -> Turn: method complete_turn (line 157) | def complete_turn(self, turn_id: str, response: str, tokens_used: int ... method interrupt_turn (line 170) | def interrupt_turn(self, turn_id: str, reason: str = "") -> None: method fail_turn (line 182) | def fail_turn(self, turn_id: str, error: str = "") -> None: method pause (line 196) | def pause(self) -> None: method resume (line 202) | def resume(self) -> None: method complete (line 208) | def complete(self, summary: str = "") -> None: method fail (line 215) | def fail(self, error: str = "") -> None: method cancel (line 221) | def cancel(self) -> None: method fork_from_turn (line 229) | def fork_from_turn( method switch_branch (line 260) | def switch_branch(self, branch_id: str) -> None: method summarize_branch (line 271) | def summarize_branch(self, branch_id: str, summary: str) -> None: method total_tokens (line 284) | def total_tokens(self) -> int: method turn_count (line 288) | def turn_count(self) -> int: method branch_path (line 291) | def branch_path(self, branch_id: str | None = None) -> list[Turn]: method _get_turn (line 310) | def _get_turn(self, turn_id: str) -> Turn: method _get_branch (line 317) | def _get_branch(self, branch_id: str) -> Branch: method _branch_leaf_turn_id (line 324) | def _branch_leaf_turn_id(self, branch_id: str) -> str: method _require_status (line 331) | def _require_status(self, expected: SessionStatus, action: str) -> None: method _require_not_terminal (line 336) | def _require_not_terminal(self, action: str) -> None: method _touch (line 345) | def _touch(self) -> None: method _emit (line 348) | def _emit(self, event_type: SessionEventType, payload: dict[str, Any])... FILE: autocontext/src/autocontext/sharing/attestation.py class AttestationRecord (line 14) | class AttestationRecord: method to_dict (line 23) | def to_dict(self) -> dict[str, Any]: function create_attestation (line 33) | def create_attestation( FILE: autocontext/src/autocontext/sharing/bundle.py class ExportBundle (line 22) | class ExportBundle: function create_bundle (line 33) | def create_bundle( FILE: autocontext/src/autocontext/sharing/collector.py class SessionArtifact (line 14) | class SessionArtifact: function collect_session_artifacts (line 37) | def collect_session_artifacts( function _scan_run_dir (line 58) | def _scan_run_dir(run_dir: Path) -> list[SessionArtifact]: function _scan_knowledge_dir (line 83) | def _scan_knowledge_dir(k_dir: Path) -> list[SessionArtifact]: FILE: autocontext/src/autocontext/sharing/pipeline.py class ShareResult (line 19) | class ShareResult: function share_session (line 28) | def share_session( FILE: autocontext/src/autocontext/sharing/publishers/gist.py class GistPublishError (line 13) | class GistPublishError(Exception): function publish_to_gist (line 17) | def publish_to_gist( function _run_gh_command (line 43) | def _run_gh_command( FILE: autocontext/src/autocontext/sharing/publishers/hf.py class HfPublishError (line 14) | class HfPublishError(Exception): function publish_to_hf (line 18) | def publish_to_hf( function _run_hf_command (line 45) | def _run_hf_command( FILE: autocontext/src/autocontext/sharing/redactor.py class Redaction (line 53) | class Redaction: class RedactionReport (line 63) | class RedactionReport: method to_dict (line 69) | def to_dict(self) -> dict[str, Any]: function redact_content (line 84) | def redact_content(text: str) -> str: function redact_content_with_report (line 90) | def redact_content_with_report(text: str) -> tuple[str, RedactionReport]: function _apply_pattern (line 115) | def _apply_pattern( function _redact_env_values (line 137) | def _redact_env_values(text: str, report: RedactionReport) -> str: function _redact_high_risk_context (line 157) | def _redact_high_risk_context(text: str, report: RedactionReport) -> str: FILE: autocontext/src/autocontext/sharing/review.py class SuspiciousPattern (line 14) | class SuspiciousPattern: function find_suspicious_patterns (line 33) | def find_suspicious_patterns(text: str) -> list[SuspiciousPattern]: function generate_review_summary (line 53) | def generate_review_summary( FILE: autocontext/src/autocontext/simulation/engine.py function _generate_id (line 38) | def _generate_id() -> str: function _derive_name (line 42) | def _derive_name(description: str) -> str: class SimulationEngine (line 47) | class SimulationEngine: method __init__ (line 50) | def __init__(self, llm_fn: LlmFn, knowledge_root: Path) -> None: method run (line 58) | def run( method replay (line 154) | def replay( method compare (line 236) | def compare(self, left: str, right: str) -> dict[str, Any]: method _build_spec (line 301) | def _build_spec(self, description: str, family: str) -> dict[str, Any]: method _normalize_spec (line 343) | def _normalize_spec(self, spec: dict[str, Any], family: str = "simulat... method _generate_source (line 350) | def _generate_source(self, spec: dict[str, Any], name: str, family: st... method _persist (line 384) | def _persist( method _execute_single (line 401) | def _execute_single(self, source: str, name: str, seed: int, max_steps... method _execute_operator_loop_single (line 466) | def _execute_operator_loop_single( method _operator_loop_intervene (line 541) | def _operator_loop_intervene( method _execute_sweep (line 565) | def _execute_sweep( method _aggregate_runs (line 591) | def _aggregate_runs(self, results: list[dict[str, Any]]) -> dict[str, ... method _aggregate_sweep (line 609) | def _aggregate_sweep(self, sweep: dict[str, Any]) -> dict[str, Any]: method _build_assumptions (line 626) | def _build_assumptions(self, spec: dict[str, Any], family: str) -> lis... method _build_warnings (line 637) | def _build_warnings(self, family: str) -> list[str]: method _load_report (line 644) | def _load_report(self, name: str) -> dict[str, Any] | None: method _resolve_report (line 651) | def _resolve_report(self, name: str) -> tuple[dict[str, Any], Path] | ... method _load_spec (line 669) | def _load_spec(self, scenario_dir: Path) -> dict[str, Any] | None: method _load_source (line 680) | def _load_source( method _apply_variables (line 695) | def _apply_variables(self, spec: dict[str, Any], variables: dict[str, ... method _resolve_execution_config (line 711) | def _resolve_execution_config(self, report: dict[str, Any]) -> dict[st... method _replay_sweep (line 732) | def _replay_sweep( method _collect_compare_variables (line 765) | def _collect_compare_variables(self, report: dict[str, Any]) -> dict[s... method _values_equal (line 786) | def _values_equal(self, left: Any, right: Any) -> bool: method _cartesian (line 789) | def _cartesian(self, dimensions: list[dict[str, Any]]) -> list[dict[st... FILE: autocontext/src/autocontext/simulation/export.py function export_simulation (line 12) | def export_simulation( function _resolve_simulation_artifact (line 44) | def _resolve_simulation_artifact(knowledge_root: Path, simulation_id: st... function _export_stem (line 63) | def _export_stem(report: dict[str, Any]) -> str: function _collect_dimension_keys (line 69) | def _collect_dimension_keys(report: dict[str, Any]) -> list[str]: function _collect_variable_keys (line 76) | def _collect_variable_keys(report: dict[str, Any]) -> list[str]: function _stringify_csv_value (line 83) | def _stringify_csv_value(value: Any) -> str: function _export_json (line 93) | def _export_json(report: dict[str, Any], spec: dict[str, Any], output_di... function _export_markdown (line 115) | def _export_markdown(report: dict[str, Any], spec: dict[str, Any], outpu... function _export_csv (line 169) | def _export_csv(report: dict[str, Any], output_dir: Path) -> dict[str, A... function _escape_csv (line 204) | def _escape_csv(value: Any) -> str: FILE: autocontext/src/autocontext/simulation/helpers.py function find_scenario_class (line 24) | def find_scenario_class(mod: types.ModuleType) -> type | None: function infer_family (line 56) | def infer_family(description: str) -> str: function aggregate_contract_signal_counts (line 78) | def aggregate_contract_signal_counts(results: list[dict[str, Any]]) -> d... function apply_behavioral_contract (line 87) | def apply_behavioral_contract( FILE: autocontext/src/autocontext/simulation/schema_evolution.py function design_spec (line 24) | def design_spec(description: str, llm_fn: LlmFn) -> dict[str, Any] | None: function normalize_spec (line 32) | def normalize_spec(spec: dict[str, Any]) -> dict[str, Any]: function generate_source (line 38) | def generate_source(spec: dict[str, Any], name: str) -> str: function _spec_to_dict (line 42) | def _spec_to_dict(spec: SchemaEvolutionSpec) -> dict[str, Any]: function _spec_from_dict (line 55) | def _spec_from_dict(spec: dict[str, Any]) -> SchemaEvolutionSpec: function _normalize_mutations (line 78) | def _normalize_mutations(raw: Any) -> list[dict[str, Any]]: function _mutation_to_dict (line 108) | def _mutation_to_dict(mutation: SchemaEvolutionMutationModel) -> dict[st... function _action_to_dict (line 119) | def _action_to_dict(action: SimulationActionSpecModel) -> dict[str, Any]: function _text_list (line 123) | def _text_list(value: Any) -> list[str]: FILE: autocontext/src/autocontext/storage/artifact_hooks.py function emit_artifact_write (line 9) | def emit_artifact_write( function _resolve_hook_path (line 49) | def _resolve_hook_path(original_path: Path, hook_path: Any) -> Path: function _validate_redirect (line 56) | def _validate_redirect(original_path: Path, next_path: Path, managed_roo... function _find_containing_root (line 70) | def _find_containing_root(path: Path, roots: tuple[Path, ...]) -> Path |... FILE: autocontext/src/autocontext/storage/artifact_write_methods.py class _ArtifactWriteHost (line 12) | class _ArtifactWriteHost(Protocol): method _mirror_bytes (line 20) | def _mirror_bytes(self, path: Path, data: bytes) -> None: ... method write_json (line 21) | def write_json(self, path: Path, payload: dict[str, Any]) -> None: ... method write_markdown (line 22) | def write_markdown(self, path: Path, content: str) -> None: ... method write_html (line 23) | def write_html(self, path: Path, content: str) -> None: ... method append_markdown (line 24) | def append_markdown(self, path: Path, content: str, heading: str) -> N... class ArtifactWriteMethods (line 27) | class ArtifactWriteMethods: method write_json (line 33) | def write_json(self: _ArtifactWriteHost, path: Path, payload: dict[str... method write_markdown (line 43) | def write_markdown(self: _ArtifactWriteHost, path: Path, content: str)... method write_html (line 53) | def write_html(self: _ArtifactWriteHost, path: Path, content: str) -> ... method append_markdown (line 63) | def append_markdown(self: _ArtifactWriteHost, path: Path, content: str... method flush_writes (line 82) | def flush_writes(self: _ArtifactWriteHost) -> None: method shutdown_writer (line 86) | def shutdown_writer(self: _ArtifactWriteHost) -> None: method buffered_write_json (line 91) | def buffered_write_json(self: _ArtifactWriteHost, path: Path, payload:... method buffered_write_markdown (line 111) | def buffered_write_markdown(self: _ArtifactWriteHost, path: Path, cont... method buffered_append_markdown (line 132) | def buffered_append_markdown(self: _ArtifactWriteHost, path: Path, con... function _managed_roots (line 158) | def _managed_roots(host: _ArtifactWriteHost) -> tuple[Path, ...]: FILE: autocontext/src/autocontext/storage/artifacts.py class DictSerializable (line 46) | class DictSerializable(Protocol): method to_dict (line 49) | def to_dict(self) -> dict[str, Any]: ... class ArtifactStore (line 54) | class ArtifactStore(ArtifactWriteMethods): method __init__ (line 55) | def __init__( method _mirror_bytes (line 88) | def _mirror_bytes(self, path: Path, data: bytes) -> None: method _mirror_append_bytes (line 99) | def _mirror_append_bytes(self, path: Path, data: bytes) -> None: method mutation_log (line 111) | def mutation_log(self) -> MutationLog: method lesson_store (line 118) | def lesson_store(self) -> LessonStore: method harness_mutation_store (line 128) | def harness_mutation_store(self) -> MutationStore: method _scenario_dir (line 134) | def _scenario_dir(self, scenario_name: str) -> Path: method _playbook_store (line 138) | def _playbook_store(self, scenario_name: str) -> VersionedFileStore: method generation_dir (line 152) | def generation_dir(self, run_id: str, generation_index: int) -> Path: method compaction_ledger_path (line 155) | def compaction_ledger_path(self, run_id: str) -> Path: method compaction_latest_entry_path (line 158) | def compaction_latest_entry_path(self, run_id: str) -> Path: method append_compaction_entries (line 161) | def append_compaction_entries(self, run_id: str, entries: list[Compact... method read_compaction_entries (line 164) | def read_compaction_entries(self, run_id: str, *, limit: int = 20) -> ... method latest_compaction_entry_id (line 167) | def latest_compaction_entry_id(self, run_id: str) -> str: method _append_mutation (line 170) | def _append_mutation( method read_playbook (line 191) | def read_playbook(self, scenario_name: str) -> str: method write_playbook (line 197) | def write_playbook(self, scenario_name: str, content: str) -> None: method append_coach_history (line 211) | def append_coach_history(self, scenario_name: str, generation_index: i... method _skill_dir (line 216) | def _skill_dir(self, scenario_name: str) -> Path: method read_skills (line 220) | def read_skills(self, scenario_name: str) -> str: method write_hints (line 254) | def write_hints(self, scenario_name: str, content: str) -> None: method _hint_state_path (line 258) | def _hint_state_path(self, scenario_name: str) -> Path: method read_hints (line 261) | def read_hints(self, scenario_name: str) -> str: method write_hint_manager (line 271) | def write_hint_manager(self, scenario_name: str, manager: HintManager)... method read_hint_manager (line 279) | def read_hint_manager( method read_dead_ends (line 305) | def read_dead_ends(self, scenario_name: str) -> str: method append_dead_end (line 310) | def append_dead_end(self, scenario_name: str, entry: str) -> None: method replace_dead_ends (line 324) | def replace_dead_ends(self, scenario_name: str, content: str) -> None: method read_research_protocol (line 329) | def read_research_protocol(self, scenario_name: str) -> str: method write_research_protocol (line 334) | def write_research_protocol(self, scenario_name: str, content: str) ->... method write_progress (line 339) | def write_progress(self, scenario_name: str, snapshot_dict: dict[str, ... method read_mutation_replay (line 344) | def read_mutation_replay(self, scenario_name: str, *, max_entries: int... method load_harness_mutations (line 348) | def load_harness_mutations(self, scenario_name: str) -> list[HarnessMu... method save_harness_mutations (line 352) | def save_harness_mutations( method read_progress (line 376) | def read_progress(self, scenario_name: str) -> dict[str, Any] | None: method read_latest_advance_analysis (line 383) | def read_latest_advance_analysis(self, scenario_name: str, current_gen... method write_analyst_rating (line 398) | def write_analyst_rating(self, scenario_name: str, generation_index: i... method read_latest_analyst_rating (line 403) | def read_latest_analyst_rating(self, scenario_name: str, current_gen: ... method write_hint_feedback (line 425) | def write_hint_feedback( method read_latest_hint_feedback (line 435) | def read_latest_hint_feedback( method _credit_assignment_dir (line 461) | def _credit_assignment_dir(self, scenario_name: str) -> Path: method write_credit_assignment (line 464) | def write_credit_assignment( method read_latest_credit_assignment (line 475) | def read_latest_credit_assignment( method list_credit_assignments (line 503) | def list_credit_assignments(self, scenario_name: str) -> list[CreditAs... method harness_dir (line 521) | def harness_dir(self, scenario_name: str) -> Path: method _validate_harness_name (line 526) | def _validate_harness_name(name: str) -> str: method _list_python_modules (line 534) | def _list_python_modules(directory: Path) -> list[str]: method _render_python_context (line 545) | def _render_python_context( method _wrap_generated_module (line 561) | def _wrap_generated_module(header: str, description: str, code: str) -... method _persist_generated_modules (line 564) | def _persist_generated_modules( method persist_harness (line 616) | def persist_harness( method write_harness (line 629) | def write_harness(self, scenario_name: str, name: str, source: str) ->... method read_harness (line 638) | def read_harness(self, scenario_name: str, name: str) -> str | None: method list_harness (line 646) | def list_harness(self, scenario_name: str) -> list[str]: method read_harness_context (line 650) | def read_harness_context(self, scenario_name: str) -> str: method tools_dir (line 657) | def tools_dir(self, scenario_name: str) -> Path: method shared_tools_dir (line 660) | def shared_tools_dir(self) -> Path: method list_tool_names (line 663) | def list_tool_names(self, scenario_name: str) -> list[str]: method _tool_usage_path (line 669) | def _tool_usage_path(self, scenario_name: str) -> Path: method read_tool_usage_tracker (line 672) | def read_tool_usage_tracker(self, scenario_name: str, known_tools: lis... method write_tool_usage_tracker (line 686) | def write_tool_usage_tracker(self, scenario_name: str, tracker: ToolUs... method read_tool_usage_report (line 690) | def read_tool_usage_report( method persist_tools (line 718) | def persist_tools(self, scenario_name: str, generation_index: int, too... method read_tool_context (line 727) | def read_tool_context(self, scenario_name: str) -> str: method persist_generation (line 746) | def persist_generation( method persist_skill_note (line 779) | def persist_skill_note(self, scenario_name: str, generation_index: int... method snapshot_knowledge (line 859) | def snapshot_knowledge(self, scenario_name: str, run_id: str) -> str: method restore_knowledge_snapshot (line 905) | def restore_knowledge_snapshot(self, scenario_name: str, source_run_id... method read_skill_lessons_raw (line 956) | def read_skill_lessons_raw(self, scenario_name: str) -> list[str]: method replace_skill_lessons (line 973) | def replace_skill_lessons(self, scenario_name: str, lessons: list[str]... method sync_skills_to_claude (line 1005) | def sync_skills_to_claude(self) -> None: method write_session_report (line 1022) | def write_session_report(self, scenario_name: str, run_id: str, conten... method write_run_writeup_html (line 1029) | def write_run_writeup_html(self, scenario_name: str, run_id: str, cont... method write_scenario_curation_html (line 1035) | def write_scenario_curation_html(self, scenario_name: str, content: st... method _progress_report_dir (line 1043) | def _progress_report_dir(self, scenario_name: str) -> Path: method write_progress_report (line 1046) | def write_progress_report(self, scenario_name: str, run_id: str, repor... method read_progress_report (line 1053) | def read_progress_report(self, scenario_name: str, run_id: str) -> obj... method read_latest_progress_reports (line 1063) | def read_latest_progress_reports( method read_latest_progress_reports_markdown (line 1079) | def read_latest_progress_reports_markdown(self, scenario_name: str, ma... method _weakness_dir (line 1094) | def _weakness_dir(self, scenario_name: str) -> Path: method write_weakness_report (line 1097) | def write_weakness_report(self, scenario_name: str, run_id: str, repor... method read_weakness_report (line 1104) | def read_weakness_report(self, scenario_name: str, run_id: str) -> obj... method read_latest_weakness_reports (line 1112) | def read_latest_weakness_reports( method read_latest_weakness_reports_markdown (line 1126) | def read_latest_weakness_reports_markdown(self, scenario_name: str, ma... method _deserialize_weakness_report (line 1138) | def _deserialize_weakness_report(self, data: dict[str, Any]) -> object: method read_latest_session_reports (line 1149) | def read_latest_session_reports(self, scenario_name: str, max_reports:... method _harness_store (line 1163) | def _harness_store(self, scenario_name: str) -> VersionedFileStore: method _harness_version_path (line 1176) | def _harness_version_path(self, scenario_name: str) -> Path: method get_harness_version (line 1179) | def get_harness_version(self, scenario_name: str) -> dict[str, Any]: method _update_harness_version (line 1186) | def _update_harness_version( method write_harness_versioned (line 1195) | def write_harness_versioned( method rollback_harness (line 1207) | def rollback_harness(self, scenario_name: str, name: str) -> str | None: method read_tuning (line 1227) | def read_tuning(self, scenario_name: str) -> str: method write_tuning (line 1232) | def write_tuning(self, scenario_name: str, content: str) -> None: method read_notebook (line 1238) | def read_notebook(self, session_id: str) -> dict[str, Any] | None: method write_notebook (line 1245) | def write_notebook(self, session_id: str, notebook: dict[str, Any]) ->... method delete_notebook (line 1258) | def delete_notebook(self, session_id: str) -> None: method persist_pi_session (line 1266) | def persist_pi_session(self, run_id: str, generation: int, trace: Dict... method read_pi_session (line 1293) | def read_pi_session(self, run_id: str, generation: int, *, role: str =... FILE: autocontext/src/autocontext/storage/blob_integration.py class BlobAwareWriter (line 16) | class BlobAwareWriter: method __init__ (line 19) | def __init__( method mirror_write (line 27) | def mirror_write(self, key: str, data: bytes, kind: str) -> BlobRef | ... method mirror_append (line 41) | def mirror_append(self, key: str, data: bytes, kind: str) -> BlobRef |... method mirror_file (line 55) | def mirror_file(self, key: str, path: Path, kind: str) -> BlobRef | None: function classify_artifact_kind (line 74) | def classify_artifact_kind(path: Path) -> str: function blob_key_for_path (line 92) | def blob_key_for_path( function mirror_path_bytes (line 120) | def mirror_path_bytes( function mirror_path_append_bytes (line 147) | def mirror_path_append_bytes( FILE: autocontext/src/autocontext/storage/bootstrap_schema.py function default_migrations_dir (line 28) | def default_migrations_dir() -> Path: function bootstrap_core_schema (line 32) | def bootstrap_core_schema(conn: sqlite3.Connection) -> None: FILE: autocontext/src/autocontext/storage/buffered_writer.py class _WriteItem (line 26) | class _WriteItem: class BufferedWriter (line 32) | class BufferedWriter: method __init__ (line 44) | def __init__(self) -> None: method start (line 49) | def start(self) -> None: method _run (line 57) | def _run(self) -> None: method _execute (line 74) | def _execute(item: _WriteItem) -> None: method write_text (line 83) | def write_text(self, path: Path, content: str) -> None: method write_json (line 91) | def write_json(self, path: Path, payload: dict[str, Any]) -> None: method append_text (line 96) | def append_text(self, path: Path, content: str) -> None: method flush (line 104) | def flush(self) -> None: method shutdown (line 110) | def shutdown(self) -> None: FILE: autocontext/src/autocontext/storage/compaction_ledger.py class CompactionLedgerStore (line 17) | class CompactionLedgerStore: method __init__ (line 20) | def __init__( method ledger_path (line 31) | def ledger_path(self, run_id: str) -> Path: method latest_entry_path (line 34) | def latest_entry_path(self, run_id: str) -> Path: method append_entries (line 37) | def append_entries(self, run_id: str, entries: list[CompactionEntry]) ... method read_entries (line 57) | def read_entries(self, run_id: str, *, limit: int = 20) -> list[Compac... method latest_entry_id (line 74) | def latest_entry_id(self, run_id: str) -> str: method _read_text_for_recent_entries (line 92) | def _read_text_for_recent_entries(path: Path, limit: int) -> tuple[str... method _read_tail_text (line 98) | def _read_tail_text(path: Path, max_bytes: int) -> tuple[str, bool]: method _parse_entry_line (line 110) | def _parse_entry_line(line: str, path: Path) -> CompactionEntry | None: FILE: autocontext/src/autocontext/storage/context_selection_store.py function context_selection_decision_path (line 18) | def context_selection_decision_path( function persist_context_selection_decision (line 30) | def persist_context_selection_decision( function load_context_selection_decisions (line 39) | def load_context_selection_decisions( function _decision_from_payload (line 63) | def _decision_from_payload( function _has_decision_metrics (line 89) | def _has_decision_metrics(value: Any) -> bool: FILE: autocontext/src/autocontext/storage/factory.py function artifact_store_from_settings (line 10) | def artifact_store_from_settings( FILE: autocontext/src/autocontext/storage/migration_ledgers.py function typescript_baselines_for_python_migrations (line 28) | def typescript_baselines_for_python_migrations(applied_python_migrations... FILE: autocontext/src/autocontext/storage/row_types.py class RunRow (line 12) | class RunRow(TypedDict): class GenerationMetricsRow (line 23) | class GenerationMetricsRow(TypedDict): class MatchRow (line 43) | class MatchRow(TypedDict): class KnowledgeSnapshotRow (line 59) | class KnowledgeSnapshotRow(TypedDict): class AgentOutputRow (line 74) | class AgentOutputRow(TypedDict): class HumanFeedbackRow (line 85) | class HumanFeedbackRow(TypedDict): class TaskQueueRow (line 97) | class TaskQueueRow(TypedDict): FILE: autocontext/src/autocontext/storage/run_paths.py function resolve_run_root (line 8) | def resolve_run_root(runs_root: Path, run_id: str) -> Path: FILE: autocontext/src/autocontext/storage/scenario_paths.py function normalize_scenario_name_segment (line 8) | def normalize_scenario_name_segment(scenario_name: str) -> str: function resolve_scenario_root (line 23) | def resolve_scenario_root(knowledge_root: Path, scenario_name: str) -> P... function scenario_skill_dir_name (line 37) | def scenario_skill_dir_name(scenario_name: str) -> str: function resolve_scenario_skill_dir (line 43) | def resolve_scenario_skill_dir(skills_root: Path, scenario_name: str) ->... FILE: autocontext/src/autocontext/storage/sqlite_migrations.py function _iter_sql_statements (line 13) | def _iter_sql_statements(script: str) -> Sequence[str]: function _execute_migration_script (line 28) | def _execute_migration_script(conn: sqlite3.Connection, script: str) -> ... function apply_python_migration_files (line 38) | def apply_python_migration_files(conn: sqlite3.Connection, migrations_di... FILE: autocontext/src/autocontext/storage/sqlite_store.py class SQLiteStore (line 21) | class SQLiteStore: method __init__ (line 22) | def __init__(self, db_path: Path) -> None: method connect (line 26) | def connect(self) -> sqlite3.Connection: method ensure_core_tables (line 34) | def ensure_core_tables(self) -> None: method migrate (line 43) | def migrate(self, migrations_dir: Path) -> None: method create_run (line 51) | def create_run(self, run_id: str, scenario: str, generations: int, exe... method generation_exists (line 61) | def generation_exists(self, run_id: str, generation_index: int) -> bool: method get_generation (line 69) | def get_generation(self, run_id: str, generation_index: int) -> dict[s... method update_generation_status (line 78) | def update_generation_status( method upsert_generation (line 99) | def upsert_generation( method update_generation_duration (line 155) | def update_generation_duration( method insert_match (line 171) | def insert_match( method insert_staged_validation_results (line 200) | def insert_staged_validation_results( method get_staged_validation_results (line 233) | def get_staged_validation_results( method get_staged_validation_results_for_run (line 251) | def get_staged_validation_results_for_run(self, run_id: str) -> list[d... method append_agent_output (line 265) | def append_agent_output(self, run_id: str, generation_index: int, role... method append_agent_outputs (line 273) | def append_agent_outputs( method _append_agent_outputs (line 286) | def _append_agent_outputs( method get_agent_outputs_by_role (line 303) | def get_agent_outputs_by_role(self, run_id: str, role: str) -> list[di... method append_agent_role_metric (line 317) | def append_agent_role_metric( method append_agent_role_metrics (line 344) | def append_agent_role_metrics( method _append_agent_role_metrics (line 357) | def _append_agent_role_metrics( method append_generation_agent_activity (line 388) | def append_generation_agent_activity( method append_recovery_marker (line 401) | def append_recovery_marker( method get_recovery_markers_for_run (line 418) | def get_recovery_markers_for_run(self, run_id: str) -> list[dict[str, ... method get_matches_for_run (line 432) | def get_matches_for_run(self, run_id: str) -> list[dict[str, Any]]: method get_generation_metrics (line 441) | def get_generation_metrics(self, run_id: str) -> list[GenerationMetric... method get_agent_role_metrics (line 450) | def get_agent_role_metrics(self, run_id: str) -> list[dict[str, Any]]: method get_generation_trajectory (line 465) | def get_generation_trajectory(self, run_id: str) -> list[dict[str, Any]]: method get_strategy_score_history (line 502) | def get_strategy_score_history(self, run_id: str) -> list[dict[str, An... method get_self_play_strategy_history (line 525) | def get_self_play_strategy_history(self, run_id: str) -> list[dict[str... method save_knowledge_snapshot (line 548) | def save_knowledge_snapshot( method get_best_knowledge_snapshot (line 581) | def get_best_knowledge_snapshot(self, scenario: str) -> dict[str, Any]... method get_ecosystem_snapshots (line 603) | def get_ecosystem_snapshots(self, scenario: str) -> list[dict[str, Any]]: method get_best_competitor_output (line 627) | def get_best_competitor_output(self, scenario: str) -> str | None: method count_completed_runs (line 652) | def count_completed_runs(self, scenario: str) -> int: method mark_run_completed (line 661) | def mark_run_completed(self, run_id: str) -> None: method mark_run_failed (line 665) | def mark_run_failed(self, run_id: str) -> None: method mark_run_running (line 669) | def mark_run_running(self, run_id: str, target_generations: int | None... method get_run (line 688) | def get_run(self, run_id: str) -> dict[str, Any] | None: method list_runs (line 700) | def list_runs(self, *, limit: int = 50) -> list[RunRow]: method run_status (line 710) | def run_status(self, run_id: str) -> list[dict[str, Any]]: method list_solved (line 724) | def list_solved(self) -> list[dict[str, Any]]: method insert_human_feedback (line 743) | def insert_human_feedback( method get_human_feedback (line 764) | def get_human_feedback(self, scenario_name: str, limit: int = 10) -> l... method get_calibration_examples (line 779) | def get_calibration_examples(self, scenario_name: str, limit: int = 5)... method enqueue_task (line 796) | def enqueue_task( method dequeue_task (line 815) | def dequeue_task(self) -> dict[str, Any] | None: method complete_task (line 858) | def complete_task( method fail_task (line 885) | def fail_task(self, task_id: str, error: str) -> None: method get_task (line 900) | def get_task(self, task_id: str) -> dict[str, Any] | None: method list_tasks (line 908) | def list_tasks( method pending_task_count (line 929) | def pending_task_count(self) -> int: method insert_consultation (line 939) | def insert_consultation( method get_consultations_for_run (line 971) | def get_consultations_for_run(self, run_id: str) -> list[dict[str, Any]]: method get_total_consultation_cost (line 987) | def get_total_consultation_cost(self, run_id: str) -> float: method _parse_json_field (line 1011) | def _parse_json_field(raw: Any, default: Any) -> Any: method _parse_notebook_row (line 1019) | def _parse_notebook_row(self, row: dict[str, Any]) -> dict[str, Any]: method upsert_notebook (line 1028) | def upsert_notebook( method get_notebook (line 1108) | def get_notebook(self, session_id: str) -> dict[str, Any] | None: method list_notebooks (line 1119) | def list_notebooks(self) -> list[dict[str, Any]]: method list_notebooks_for_run (line 1127) | def list_notebooks_for_run(self, run_id: str) -> list[dict[str, Any]]: method delete_notebook (line 1136) | def delete_notebook(self, session_id: str) -> bool: method get_run_best_score (line 1146) | def get_run_best_score(self, run_id: str) -> float | None: method _parse_hub_session_row (line 1163) | def _parse_hub_session_row(self, row: dict[str, Any]) -> dict[str, Any]: method upsert_hub_session (line 1169) | def upsert_hub_session( method get_hub_session (line 1228) | def get_hub_session(self, session_id: str) -> dict[str, Any] | None: method list_hub_sessions (line 1238) | def list_hub_sessions(self) -> list[dict[str, Any]]: method heartbeat_hub_session (line 1245) | def heartbeat_hub_session(self, session_id: str, *, last_heartbeat_at:... method _parse_hub_package_row (line 1265) | def _parse_hub_package_row(self, row: dict[str, Any]) -> dict[str, Any]: method save_hub_package_record (line 1271) | def save_hub_package_record( method get_hub_package_record (line 1334) | def get_hub_package_record(self, package_id: str) -> dict[str, Any] | ... method list_hub_package_records (line 1344) | def list_hub_package_records(self) -> list[dict[str, Any]]: method _parse_hub_result_row (line 1351) | def _parse_hub_result_row(self, row: dict[str, Any]) -> dict[str, Any]: method save_hub_result_record (line 1357) | def save_hub_result_record( method get_hub_result_record (line 1407) | def get_hub_result_record(self, result_id: str) -> dict[str, Any] | None: method list_hub_result_records (line 1417) | def list_hub_result_records(self) -> list[dict[str, Any]]: method _parse_hub_promotion_row (line 1424) | def _parse_hub_promotion_row(self, row: dict[str, Any]) -> dict[str, A... method save_hub_promotion_record (line 1429) | def save_hub_promotion_record( method get_hub_promotion_record (line 1468) | def get_hub_promotion_record(self, event_id: str) -> dict[str, Any] | ... method list_hub_promotion_records (line 1478) | def list_hub_promotion_records(self) -> list[dict[str, Any]]: method insert_monitor_condition (line 1487) | def insert_monitor_condition(self, condition: MonitorCondition) -> str: method list_monitor_conditions (line 1506) | def list_monitor_conditions( method count_monitor_conditions (line 1531) | def count_monitor_conditions( method get_monitor_condition (line 1549) | def get_monitor_condition(self, condition_id: str) -> dict[str, Any] |... method deactivate_monitor_condition (line 1563) | def deactivate_monitor_condition(self, condition_id: str) -> bool: method insert_monitor_alert (line 1573) | def insert_monitor_alert(self, alert: MonitorAlert) -> str: method list_monitor_alerts (line 1595) | def list_monitor_alerts( method get_latest_monitor_alert (line 1627) | def get_latest_monitor_alert(self, condition_id: str) -> dict[str, Any... FILE: autocontext/src/autocontext/strategy_interface.py function is_action_plan_interface (line 4) | def is_action_plan_interface(strategy_interface: str) -> bool: FILE: autocontext/src/autocontext/training/autoresearch/cuda.py function require_torch_cuda (line 17) | def require_torch_cuda() -> Any: function _create_torch_dataloader (line 32) | def _create_torch_dataloader( function _build_torch_model (line 56) | def _build_torch_model(cfg: Any, torch_module: Any) -> Any: function _count_torch_params_million (line 94) | def _count_torch_params_million(model: Any) -> float: function _torch_peak_memory_mb (line 98) | def _torch_peak_memory_mb(torch_module: Any, device: Any) -> float: function _save_torch_checkpoint_bundle (line 106) | def _save_torch_checkpoint_bundle( function _resolve_scenario_name (line 133) | def _resolve_scenario_name(scenario: Any) -> str: function _resolve_scenario_context (line 141) | def _resolve_scenario_context(scenario: Any) -> str: function _extract_strategy_json (line 157) | def _extract_strategy_json(text: str) -> dict[str, Any] | None: function _generate_torch_strategy_text (line 170) | def _generate_torch_strategy_text( function _assess_torch_strategy_quality (line 203) | def _assess_torch_strategy_quality( function run_cuda_training (line 245) | def run_cuda_training( FILE: autocontext/src/autocontext/training/autoresearch/prepare.py function build_special_tokens (line 49) | def build_special_tokens(base_vocab_size: int) -> dict[str, int]: function total_vocab_size (line 57) | def total_vocab_size(base_vocab_size: int) -> int: function serialize_tokenizer (line 63) | def serialize_tokenizer(tokenizer: Any) -> dict[str, Any]: function save_tokenizer_json (line 86) | def save_tokenizer_json(tokenizer: Any, path: Path) -> None: function _extract_strategy_json (line 92) | def _extract_strategy_json(text: str) -> dict[str, Any] | None: function load_jsonl (line 112) | def load_jsonl( function format_example (line 156) | def format_example( function extract_best_opponent (line 171) | def extract_best_opponent(records: list[dict[str, Any]]) -> dict[str, Any]: class AutoresearchTokenizer (line 185) | class AutoresearchTokenizer: method __init__ (line 188) | def __init__(self, encoding: Any, *, base_vocab_size: int) -> None: method end_token_id (line 195) | def end_token_id(self) -> int: method encode (line 198) | def encode(self, text: str) -> list[int]: method decode (line 202) | def decode(self, token_ids: list[int]) -> str: function train_tokenizer (line 206) | def train_tokenizer(corpus_path: Path, vocab_size: int = BASE_VOCAB_SIZE... function create_dataloader (line 248) | def create_dataloader( function assess_strategy_quality (line 289) | def assess_strategy_quality( function _generate_strategy_text (line 354) | def _generate_strategy_text( function _resolve_scenario_name (line 388) | def _resolve_scenario_name(scenario: Any) -> str: function _resolve_scenario_context (line 395) | def _resolve_scenario_context(scenario: Any) -> str: FILE: autocontext/src/autocontext/training/autoresearch/program.py function render_program (line 9) | def render_program( FILE: autocontext/src/autocontext/training/autoresearch/train.py class ModelConfig (line 35) | class ModelConfig: method d_model (line 46) | def d_model(self) -> int: method n_heads (line 50) | def n_heads(self) -> int: method __init__ (line 269) | def __init__( method d_model (line 287) | def d_model(self) -> int: method n_heads (line 291) | def n_heads(self) -> int: class RMSNorm (line 60) | class RMSNorm(nn.Module): # type: ignore[misc] method __init__ (line 63) | def __init__(self, dims: int, eps: float = 1e-6) -> None: method __call__ (line 68) | def __call__(self, x: Any) -> Any: function _rotary_embedding (line 72) | def _rotary_embedding(x: Any, offset: int = 0) -> Any: class Attention (line 88) | class Attention(nn.Module): # type: ignore[misc] method __init__ (line 91) | def __init__(self, cfg: ModelConfig) -> None: method __call__ (line 104) | def __call__(self, x: Any) -> Any: class FeedForward (line 138) | class FeedForward(nn.Module): # type: ignore[misc] method __init__ (line 141) | def __init__(self, d_model: int) -> None: method __call__ (line 148) | def __call__(self, x: Any) -> Any: class TransformerBlock (line 153) | class TransformerBlock(nn.Module): # type: ignore[misc] method __init__ (line 156) | def __init__(self, cfg: ModelConfig) -> None: method __call__ (line 166) | def __call__(self, x: Any) -> Any: class GPTModel (line 171) | class GPTModel(nn.Module): # type: ignore[misc] method __init__ (line 174) | def __init__(self, cfg: ModelConfig) -> None: method __call__ (line 182) | def __call__(self, x: Any) -> Any: method __init__ (line 297) | def __init__(self, cfg: ModelConfig) -> None: function compute_loss (line 189) | def compute_loss(model: GPTModel, x: Any, y: Any) -> Any: function save_checkpoint (line 198) | def save_checkpoint(model: GPTModel, path: Path) -> None: function load_checkpoint (line 210) | def load_checkpoint(model: GPTModel, path: Path) -> None: function _flatten_params (line 221) | def _flatten_params(params: Any, prefix: str, out: dict[str, Any]) -> None: function _unflatten_params (line 234) | def _unflatten_params(flat: dict[str, Any]) -> dict[str, Any]: function _convert_numeric_keys (line 250) | def _convert_numeric_keys(d: dict[str, Any]) -> dict[str, Any] | list[Any]: class ModelConfig (line 266) | class ModelConfig: # type: ignore[no-redef] method d_model (line 46) | def d_model(self) -> int: method n_heads (line 50) | def n_heads(self) -> int: method __init__ (line 269) | def __init__( method d_model (line 287) | def d_model(self) -> int: method n_heads (line 291) | def n_heads(self) -> int: class GPTModel (line 294) | class GPTModel: # type: ignore[no-redef] method __init__ (line 174) | def __init__(self, cfg: ModelConfig) -> None: method __call__ (line 182) | def __call__(self, x: Any) -> Any: method __init__ (line 297) | def __init__(self, cfg: ModelConfig) -> None: function save_checkpoint (line 300) | def save_checkpoint(model: GPTModel, path: Path) -> None: # type: ignor... function load_checkpoint (line 303) | def load_checkpoint(model: GPTModel, path: Path) -> None: # type: ignor... function save_inference_bundle (line 307) | def save_inference_bundle( function format_summary (line 336) | def format_summary( function _peak_memory_mb (line 363) | def _peak_memory_mb() -> float: function _count_params_million (line 376) | def _count_params_million(params: Any) -> float: function _all_records (line 388) | def _all_records(data_path: Path) -> list[dict[str, Any]]: function _build_corpus (line 401) | def _build_corpus(records: list[dict[str, Any]]) -> str: function _run_mlx_training (line 419) | def _run_mlx_training( function run_training (line 518) | def run_training( function _build_parser (line 564) | def _build_parser() -> argparse.ArgumentParser: function main (line 580) | def main(argv: list[str] | None = None) -> int: FILE: autocontext/src/autocontext/training/backends.py class TrainingBackend (line 26) | class TrainingBackend(ABC): method name (line 31) | def name(self) -> str: method is_available (line 35) | def is_available(self) -> bool: method default_checkpoint_dir (line 39) | def default_checkpoint_dir(self, scenario: str) -> Path: method metadata (line 42) | def metadata(self) -> dict[str, Any]: method supported_runtime_types (line 50) | def supported_runtime_types(self) -> list[str]: class MLXBackend (line 55) | class MLXBackend(TrainingBackend): method name (line 59) | def name(self) -> str: method is_available (line 62) | def is_available(self) -> bool: method default_checkpoint_dir (line 73) | def default_checkpoint_dir(self, scenario: str) -> Path: method supported_runtime_types (line 76) | def supported_runtime_types(self) -> list[str]: class CUDABackend (line 80) | class CUDABackend(TrainingBackend): method name (line 84) | def name(self) -> str: method is_available (line 87) | def is_available(self) -> bool: method default_checkpoint_dir (line 103) | def default_checkpoint_dir(self, scenario: str) -> Path: method supported_runtime_types (line 106) | def supported_runtime_types(self) -> list[str]: class BackendRegistry (line 110) | class BackendRegistry: method __init__ (line 113) | def __init__(self) -> None: method register (line 116) | def register(self, backend: TrainingBackend) -> None: method get (line 119) | def get(self, name: str) -> TrainingBackend | None: method list_names (line 122) | def list_names(self) -> list[str]: method list_all (line 125) | def list_all(self) -> list[TrainingBackend]: function default_backend_registry (line 129) | def default_backend_registry() -> BackendRegistry: FILE: autocontext/src/autocontext/training/export.py function export_training_data (line 13) | def export_training_data( function _resolve_run_ids (line 91) | def _resolve_run_ids( function _get_run_scenario (line 110) | def _get_run_scenario(sqlite: SQLiteStore, run_id: str) -> str | None: function _get_competitor_outputs (line 120) | def _get_competitor_outputs(sqlite: SQLiteStore, run_id: str) -> dict[in... function _build_trajectory_snippet (line 131) | def _build_trajectory_snippet( function _iter_matches (line 147) | def _iter_matches( function _extract_states (line 181) | def _extract_states(replay_json: str) -> list[dict[str, Any]]: FILE: autocontext/src/autocontext/training/model_registry.py class DistilledModelRecord (line 30) | class DistilledModelRecord(BaseModel): method model_post_init (line 44) | def model_post_init(self, __context: Any) -> None: method to_dict (line 50) | def to_dict(self) -> dict[str, Any]: method from_dict (line 54) | def from_dict(cls, data: dict[str, Any]) -> DistilledModelRecord: class DistilledModelArtifact (line 58) | class DistilledModelArtifact(BaseModel): method to_dict (line 71) | def to_dict(self) -> dict[str, Any]: method from_dict (line 75) | def from_dict(cls, data: dict[str, Any]) -> DistilledModelArtifact: class TrainingCompletionOutput (line 80) | class TrainingCompletionOutput: function _deterministic_artifact_id (line 96) | def _deterministic_artifact_id(completion: TrainingCompletionOutput) -> ... function _runtime_slots_overlap (line 102) | def _runtime_slots_overlap(left: list[str], right: list[str]) -> bool: function _artifact_dir (line 109) | def _artifact_dir(root: Path) -> Path: function _artifact_path (line 113) | def _artifact_path(root: Path, artifact_id: str) -> Path: class ModelRegistry (line 117) | class ModelRegistry: method __init__ (line 120) | def __init__(self, root: Path) -> None: method register (line 124) | def register(self, record: DistilledModelRecord) -> Path: method load (line 129) | def load(self, artifact_id: str) -> DistilledModelRecord | None: method list_all (line 135) | def list_all(self) -> list[DistilledModelRecord]: method list_for_scenario (line 141) | def list_for_scenario(self, scenario: str) -> list[DistilledModelRecord]: method activate (line 144) | def activate(self, artifact_id: str) -> None: method deactivate (line 165) | def deactivate(self, artifact_id: str) -> None: function resolve_model (line 173) | def resolve_model( function publish_training_output (line 208) | def publish_training_output( FILE: autocontext/src/autocontext/training/runner.py class ExperimentOutcome (line 42) | class ExperimentOutcome(StrEnum): class TrainingConfig (line 49) | class TrainingConfig: class ExperimentResult (line 63) | class ExperimentResult: class TrainingResult (line 78) | class TrainingResult: method kept_ratio (line 92) | def kept_ratio(self) -> float: class TrainingRunner (line 98) | class TrainingRunner: method __init__ (line 101) | def __init__(self, config: TrainingConfig, *, work_dir: Path) -> None: method _resolve_backend (line 108) | def _resolve_backend(self) -> TrainingBackend: method subprocess_timeout (line 115) | def subprocess_timeout(self) -> int: method setup_workspace (line 119) | def setup_workspace(self) -> None: method _try_create_branch (line 143) | def _try_create_branch(self) -> None: method _init_git_repo (line 150) | def _init_git_repo(self) -> None: method _git_commit (line 185) | def _git_commit(self, message: str) -> None: method _git_head_sha (line 195) | def _git_head_sha(self) -> str: method keep_experiment (line 206) | def keep_experiment(self) -> None: method discard_experiment (line 209) | def discard_experiment(self) -> None: method record_result (line 218) | def record_result(self, result: ExperimentResult) -> None: method should_stop (line 232) | def should_stop(self, *, experiment_count: int, started_at: float | No... method needs_convergence_nudge (line 240) | def needs_convergence_nudge(self, *, consecutive_discards: int) -> bool: method parse_summary (line 244) | def parse_summary(self, stdout: str) -> dict[str, float] | None: method _experiment_env (line 271) | def _experiment_env(self) -> dict[str, str]: method _build_agent_client (line 280) | def _build_agent_client(self) -> LanguageModelClient: method _resolve_agent_model (line 284) | def _resolve_agent_model(self) -> str: method _recent_results_tail (line 299) | def _recent_results_tail(self, limit: int = 5) -> str: method _extract_python_source (line 308) | def _extract_python_source(self, response_text: str) -> str: method _deterministic_train_py_variant (line 314) | def _deterministic_train_py_variant(self, current_source: str, experim... method _propose_train_py (line 326) | def _propose_train_py(self, client: LanguageModelClient, *, experiment... method _run_experiment_subprocess (line 353) | def _run_experiment_subprocess(self, experiment_index: int) -> subproc... method _execute_experiment (line 381) | def _execute_experiment(self, experiment_index: int) -> ExperimentResult: method _update_best (line 434) | def _update_best(self, result: ExperimentResult) -> None: method run (line 441) | def run(self) -> TrainingResult: method build_training_result (line 490) | def build_training_result(self, results: list[ExperimentResult]) -> Tr... method _training_run_id (line 509) | def _training_run_id(self) -> str: method _scenario_family_name (line 515) | def _scenario_family_name(self) -> str: method _data_stats (line 529) | def _data_stats(self) -> dict[str, float | str]: method _checkpoint_dir (line 538) | def _checkpoint_dir(self, experiment_index: int) -> Path: method _publish_best_model (line 541) | def _publish_best_model(self, best_result: ExperimentResult | None) ->... FILE: autocontext/src/autocontext/training/types.py class TrainingRecord (line 9) | class TrainingRecord: class MatchRecord (line 22) | class MatchRecord: method to_dict (line 41) | def to_dict(self) -> dict[str, Any]: FILE: autocontext/src/autocontext/util/json_io.py function read_json (line 14) | def read_json(path: Path) -> Any: function write_json (line 25) | def write_json( FILE: autocontext/tests/conftest.py function make_base_dag (line 8) | def make_base_dag() -> RoleDAG: FILE: autocontext/tests/integrations/_shared/test_file_sink.py function _make_trace (line 13) | def _make_trace(n: int = 1) -> dict: function test_file_sink_protocol_membership (line 27) | def test_file_sink_protocol_membership() -> None: function test_adds_a_single_trace_and_flush_writes_it (line 32) | def test_adds_a_single_trace_and_flush_writes_it(tmp_path: Path) -> None: function test_batch_size_triggers_flush (line 43) | def test_batch_size_triggers_flush(tmp_path: Path) -> None: function test_interval_flush (line 54) | def test_interval_flush(tmp_path: Path, monkeypatch: pytest.MonkeyPatch)... function test_close_is_idempotent (line 66) | def test_close_is_idempotent(tmp_path: Path) -> None: function test_no_atexit_registered_by_default (line 73) | def test_no_atexit_registered_by_default(tmp_path: Path) -> None: function test_register_atexit_opt_in (line 83) | def test_register_atexit_opt_in(tmp_path: Path) -> None: function test_on_error_raise_propagates (line 93) | def test_on_error_raise_propagates(tmp_path: Path) -> None: function test_on_error_log_and_drop_does_not_raise (line 107) | def test_on_error_log_and_drop_does_not_raise(tmp_path: Path, caplog: py... function test_parent_directory_created_on_first_write (line 120) | def test_parent_directory_created_on_first_write(tmp_path: Path) -> None: FILE: autocontext/tests/integrations/_shared/test_session.py function test_outside_of_context_returns_empty (line 13) | def test_outside_of_context_returns_empty() -> None: function test_inside_context_returns_values (line 17) | def test_inside_context_returns_values() -> None: function test_nested_context_inner_wins (line 23) | def test_nested_context_inner_wins() -> None: function test_propagates_across_asyncio_to_thread (line 30) | def test_propagates_across_asyncio_to_thread() -> None: function test_does_not_leak_across_raw_threads_without_copy (line 39) | def test_does_not_leak_across_raw_threads_without_copy() -> None: FILE: autocontext/tests/integrations/anthropic/conftest.py function _scratch_cwd (line 16) | def _scratch_cwd(monkeypatch, tmp_path_factory) -> None: function make_anthropic_client (line 23) | def make_anthropic_client() -> Callable: function make_async_anthropic_client (line 32) | def make_async_anthropic_client() -> Callable: function canned_messages_response (line 40) | def canned_messages_response( function canned_anthropic_sse_chunks (line 67) | def canned_anthropic_sse_chunks( FILE: autocontext/tests/integrations/anthropic/property/test_trace_shape_invariants.py function _init_salt (line 14) | def _init_salt(tmp_path, monkeypatch) -> None: function test_build_success_trace_always_has_required_keys (line 32) | def test_build_success_trace_always_has_required_keys(messages: list[dic... function test_cache_aware_usage_tokensIn_always_sums_correctly (line 67) | def test_cache_aware_usage_tokensIn_always_sums_correctly( FILE: autocontext/tests/integrations/anthropic/test_content.py function test_string_content_passthrough (line 10) | def test_string_content_passthrough() -> None: function test_empty_list_content_flattens_to_empty_string (line 15) | def test_empty_list_content_flattens_to_empty_string() -> None: function test_single_text_block_flattens_to_text (line 20) | def test_single_text_block_flattens_to_text() -> None: function test_multiple_text_blocks_concatenated_in_order (line 26) | def test_multiple_text_blocks_concatenated_in_order() -> None: function test_image_blocks_dropped_from_content (line 36) | def test_image_blocks_dropped_from_content() -> None: function test_tool_use_blocks_dropped_from_content (line 46) | def test_tool_use_blocks_dropped_from_content() -> None: function test_tool_result_blocks_dropped_from_content (line 55) | def test_tool_result_blocks_dropped_from_content() -> None: function test_extract_tool_uses_from_response_content (line 64) | def test_extract_tool_uses_from_response_content() -> None: function test_extract_tool_uses_from_string_returns_none (line 79) | def test_extract_tool_uses_from_string_returns_none() -> None: function test_extract_tool_uses_empty_when_no_tool_use_blocks (line 84) | def test_extract_tool_uses_empty_when_no_tool_use_blocks() -> None: FILE: autocontext/tests/integrations/anthropic/test_exception_taxonomy_integration.py function _error_handler (line 13) | def _error_handler(status_code: int, error_type: str, error_message: str): function test_rate_limit_exception_maps_to_rate_limited_in_trace (line 23) | def test_rate_limit_exception_maps_to_rate_limited_in_trace(tmp_path, ma... function test_overloaded_exception_maps_to_overloaded_in_trace (line 42) | def test_overloaded_exception_maps_to_overloaded_in_trace(tmp_path, make... function test_timeout_exception_maps_to_timeout_in_trace (line 62) | def test_timeout_exception_maps_to_timeout_in_trace(tmp_path, make_anthr... FILE: autocontext/tests/integrations/anthropic/test_instrument_client_factory.py function _canned_handler (line 10) | def _canned_handler(req: httpx.Request) -> httpx.Response: function test_instrument_client_wraps_sync_client (line 17) | def test_instrument_client_wraps_sync_client(tmp_path, make_anthropic_cl... function test_double_wrap_raises (line 26) | def test_double_wrap_raises(tmp_path, make_anthropic_client) -> None: function test_missing_app_id_raises (line 36) | def test_missing_app_id_raises(tmp_path, make_anthropic_client, monkeypa... FILE: autocontext/tests/integrations/anthropic/test_proxy_async.py function _handler_returning (line 14) | def _handler_returning(payload): function test_async_messages_create_captures_one_trace (line 21) | async def test_async_messages_create_captures_one_trace(tmp_path, make_a... function _sse_handler (line 43) | def _sse_handler(chunks: list[bytes]): function test_async_messages_stream_preserves_helper_final_message (line 55) | async def test_async_messages_stream_preserves_helper_final_message( FILE: autocontext/tests/integrations/anthropic/test_proxy_non_streaming.py function _handler_returning (line 17) | def _handler_returning(payload: dict[str, Any]) -> Any: function test_sync_messages_create_captures_one_trace (line 23) | def test_sync_messages_create_captures_one_trace(tmp_path, make_anthropi... function test_delegates_unintercepted_attributes (line 45) | def test_delegates_unintercepted_attributes(tmp_path, make_anthropic_cli... function test_content_flattened_in_trace_messages (line 54) | def test_content_flattened_in_trace_messages(tmp_path, make_anthropic_cl... function test_usage_correctly_mapped (line 75) | def test_usage_correctly_mapped(tmp_path, make_anthropic_client) -> None: function test_error_emits_failure_trace (line 95) | def test_error_emits_failure_trace(tmp_path, make_anthropic_client) -> N... function test_strips_autocontext_kwarg_before_forwarding (line 123) | def test_strips_autocontext_kwarg_before_forwarding(tmp_path, make_anthr... function test_skips_identity_when_install_salt_is_missing (line 146) | def test_skips_identity_when_install_salt_is_missing(tmp_path, make_anth... FILE: autocontext/tests/integrations/anthropic/test_proxy_streaming.py function _sse_handler (line 14) | def _sse_handler(chunks: list[bytes]): function test_streaming_normal_finalize_on_message_stop (line 24) | def test_streaming_normal_finalize_on_message_stop(tmp_path, make_anthro... function test_streaming_captures_tool_use_block (line 57) | def test_streaming_captures_tool_use_block(tmp_path, make_anthropic_clie... function test_streaming_abandoned_emits_partial (line 90) | def test_streaming_abandoned_emits_partial(tmp_path, make_anthropic_clie... function test_streaming_malformed_tool_input_preserved_as_raw_error (line 121) | def test_streaming_malformed_tool_input_preserved_as_raw_error(tmp_path,... function test_messages_stream_preserves_helper_final_message_and_emits_trace (line 136) | def test_messages_stream_preserves_helper_final_message_and_emits_trace( FILE: autocontext/tests/integrations/anthropic/test_taxonomy.py function test_maps_rate_limit_error (line 29) | def test_maps_rate_limit_error() -> None: function test_maps_overloaded_error (line 40) | def test_maps_overloaded_error() -> None: function test_maps_api_timeout_error (line 51) | def test_maps_api_timeout_error() -> None: function test_maps_authentication_error (line 58) | def test_maps_authentication_error() -> None: function test_maps_internal_server_error (line 69) | def test_maps_internal_server_error() -> None: function test_unknown_exception_maps_to_uncategorized (line 80) | def test_unknown_exception_maps_to_uncategorized() -> None: function test_is_mapped_class_present_known_class (line 86) | def test_is_mapped_class_present_known_class() -> None: function test_is_mapped_class_present_overloaded_error (line 91) | def test_is_mapped_class_present_overloaded_error() -> None: function test_is_mapped_class_present_fake_class (line 96) | def test_is_mapped_class_present_fake_class() -> None: function test_parametrized_all_13_classes (line 102) | def test_parametrized_all_13_classes(class_name: str, expected_reason: s... function _get_anthropic_class (line 112) | def _get_anthropic_class(class_name: str): function _stub_response (line 125) | def _stub_response(status_code: int): function _stub_request (line 134) | def _stub_request(): function _build_exc (line 139) | def _build_exc(class_name: str, cls): FILE: autocontext/tests/integrations/anthropic/test_trace_builder.py function _init_salt (line 10) | def _init_salt(tmp_path, monkeypatch) -> None: function test_build_success_trace_has_required_keys (line 15) | def test_build_success_trace_has_required_keys() -> None: function test_build_success_trace_flattens_content (line 41) | def test_build_success_trace_flattens_content() -> None: function test_build_success_trace_cache_aware_usage (line 68) | def test_build_success_trace_cache_aware_usage() -> None: function test_build_success_trace_stop_reason_in_metadata (line 98) | def test_build_success_trace_stop_reason_in_metadata() -> None: function test_build_failure_trace_has_error_outcome (line 120) | def test_build_failure_trace_has_error_outcome() -> None: function test_finalize_streaming_trace_assembles_blocks (line 145) | def test_finalize_streaming_trace_assembles_blocks() -> None: FILE: autocontext/tests/integrations/openai/conftest.py function _scratch_cwd (line 20) | def _scratch_cwd(monkeypatch, tmp_path_factory) -> None: function mock_transport_factory (line 28) | def mock_transport_factory() -> Callable[[Callable[[httpx.Request], http... function make_openai_client (line 35) | def make_openai_client() -> Callable[..., OpenAI]: function make_async_openai_client (line 44) | def make_async_openai_client() -> Callable[..., AsyncOpenAI]: function canned_chat_completion (line 52) | def canned_chat_completion( function canned_sse_chunks (line 72) | def canned_sse_chunks( FILE: autocontext/tests/integrations/openai/property/test_trace_shape_invariants.py function test_success_trace_always_validates (line 19) | def test_success_trace_always_validates(model, prompt, prompt_tokens, co... FILE: autocontext/tests/integrations/openai/test_exception_taxonomy_integration.py function test_rate_limit_maps_and_reraises (line 11) | def test_rate_limit_maps_and_reraises(tmp_path, make_openai_client): function test_401_maps_authentication (line 27) | def test_401_maps_authentication(tmp_path, make_openai_client): FILE: autocontext/tests/integrations/openai/test_instrument_client_factory.py function test_app_id_from_env (line 11) | def test_app_id_from_env(monkeypatch, tmp_path, make_openai_client): function test_missing_app_id_raises (line 19) | def test_missing_app_id_raises(monkeypatch, tmp_path, make_openai_client): function test_arg_wins_over_env (line 27) | def test_arg_wins_over_env(monkeypatch, tmp_path, make_openai_client): FILE: autocontext/tests/integrations/openai/test_proxy_async.py function _handler_returning (line 15) | def _handler_returning(payload: dict[str, Any]) -> Any: function test_async_chat_completion (line 22) | async def test_async_chat_completion(tmp_path, make_async_openai_client)... FILE: autocontext/tests/integrations/openai/test_proxy_non_streaming.py function _handler_returning (line 16) | def _handler_returning(payload: dict[str, Any]) -> Any: function test_sync_chat_completion_captures_one_trace (line 22) | def test_sync_chat_completion_captures_one_trace(tmp_path, make_openai_c... function test_delegates_unintercepted_attributes (line 43) | def test_delegates_unintercepted_attributes(tmp_path, make_openai_client... function test_double_wrap_raises (line 52) | def test_double_wrap_raises(tmp_path, make_openai_client) -> None: function test_wrapped_sentinel_present (line 61) | def test_wrapped_sentinel_present(tmp_path, make_openai_client) -> None: function test_strips_autocontext_kwarg_before_forwarding (line 69) | def test_strips_autocontext_kwarg_before_forwarding(tmp_path, make_opena... function test_skips_identity_when_install_salt_is_missing (line 90) | def test_skips_identity_when_install_salt_is_missing(tmp_path, make_open... function test_per_call_kwarg_wins_over_ambient_context (line 107) | def test_per_call_kwarg_wins_over_ambient_context(tmp_path, make_openai_... FILE: autocontext/tests/integrations/openai/test_proxy_streaming.py function _sse_handler (line 16) | def _sse_handler(chunks: list[bytes]) -> Any: function test_streaming_normal_finalize_on_end (line 26) | def test_streaming_normal_finalize_on_end(tmp_path, make_openai_client) ... function test_streaming_include_usage_auto_injected (line 52) | def test_streaming_include_usage_auto_injected(tmp_path, make_openai_cli... function test_streaming_customer_include_usage_preserved (line 76) | def test_streaming_customer_include_usage_preserved(tmp_path, make_opena... function test_streaming_abandoned_emits_partial (line 103) | def test_streaming_abandoned_emits_partial(tmp_path, make_openai_client)... function test_async_streaming_normal_finalize (line 127) | async def test_async_streaming_normal_finalize(tmp_path, make_async_open... FILE: autocontext/tests/integrations/openai/test_responses_api.py function _responses_handler (line 10) | def _responses_handler(): function test_sync_responses_create (line 32) | def test_sync_responses_create(tmp_path, make_openai_client): function test_async_responses_create (line 44) | async def test_async_responses_create(tmp_path, make_async_openai_client): FILE: autocontext/tests/integrations/openai/test_taxonomy.py function _make_httpx_response (line 11) | def _make_httpx_response(status: int) -> httpx.Response: function _make_exc (line 17) | def _make_exc(exc_cls: type) -> Exception: function test_mapped_classes (line 53) | def test_mapped_classes(exc_cls: type[Exception], expected: str) -> None: function test_missing_class_falls_through_to_uncategorized (line 58) | def test_missing_class_falls_through_to_uncategorized() -> None: function test_content_filter_presence_guard (line 64) | def test_content_filter_presence_guard() -> None: FILE: autocontext/tests/integrations/openai/test_trace_builder.py function test_build_request_snapshot_basic (line 12) | def test_build_request_snapshot_basic() -> None: function test_build_success_trace_minimal (line 27) | def test_build_success_trace_minimal() -> None: function test_build_success_trace_with_tool_calls (line 48) | def test_build_success_trace_with_tool_calls() -> None: function test_build_failure_trace (line 65) | def test_build_failure_trace() -> None: function test_finalize_streaming_trace_partial_abandoned (line 82) | def test_finalize_streaming_trace_partial_abandoned() -> None: function test_build_failure_trace_redacts_secret_in_message (line 98) | def test_build_failure_trace_redacts_secret_in_message() -> None: FILE: autocontext/tests/integrations/test_shared_identity.py function test_resolve_identity_skips_hashing_without_install_salt (line 10) | def test_resolve_identity_skips_hashing_without_install_salt(tmp_path: P... function test_resolve_identity_hashes_when_install_salt_exists (line 16) | def test_resolve_identity_hashes_when_install_salt_exists(tmp_path: Path... function test_resolve_identity_prefers_per_call_identity (line 25) | def test_resolve_identity_prefers_per_call_identity(tmp_path: Path) -> N... FILE: autocontext/tests/production_traces/taxonomy/test_anthropic_error_reasons.py function test_table_has_all_locked_keys (line 12) | def test_table_has_all_locked_keys() -> None: function test_classes_map_to_locked_keys (line 21) | def test_classes_map_to_locked_keys() -> None: function test_table_is_frozen (line 40) | def test_table_is_frozen() -> None: FILE: autocontext/tests/production_traces/taxonomy/test_openai_error_reasons.py function test_table_has_all_locked_keys (line 13) | def test_table_has_all_locked_keys() -> None: function test_classes_map_to_locked_keys (line 30) | def test_classes_map_to_locked_keys() -> None: function test_table_is_frozen (line 48) | def test_table_is_frozen() -> None: FILE: autocontext/tests/production_traces/taxonomy/test_outcome_reason_key.py function test_shared_outcome_reason_keys_includes_all_provider_keys (line 9) | def test_shared_outcome_reason_keys_includes_all_provider_keys() -> None: function test_openai_keys_are_subset_of_shared (line 18) | def test_openai_keys_are_subset_of_shared() -> None: FILE: autocontext/tests/test_ab_runner.py function test_ab_config_fields (line 7) | def test_ab_config_fields() -> None: function test_ab_result_computes_delta (line 19) | def test_ab_result_computes_delta() -> None: function test_ab_result_empty_returns_zero (line 29) | def test_ab_result_empty_returns_zero() -> None: function test_ab_result_ties (line 36) | def test_ab_result_ties() -> None: FILE: autocontext/tests/test_ab_stats.py function test_significant_improvement (line 7) | def test_significant_improvement() -> None: function test_no_difference (line 17) | def test_no_difference() -> None: function test_report_markdown (line 26) | def test_report_markdown() -> None: function test_mismatched_lengths_raises (line 36) | def test_mismatched_lengths_raises() -> None: function test_all_concordant (line 43) | def test_all_concordant() -> None: FILE: autocontext/tests/test_ac628_classifier.py class TestFieldRenames (line 32) | class TestFieldRenames: method test_llm_classifier_used_field_exists (line 33) | def test_llm_classifier_used_field_exists(self) -> None: method test_llm_classifier_used_defaults_false (line 42) | def test_llm_classifier_used_defaults_false(self) -> None: method test_llm_classifier_attempted_field_exists (line 46) | def test_llm_classifier_attempted_field_exists(self) -> None: method test_llm_classifier_attempted_defaults_false (line 55) | def test_llm_classifier_attempted_defaults_false(self) -> None: method test_old_field_names_do_not_exist (line 59) | def test_old_field_names_do_not_exist(self) -> None: class TestFastPathThresholdConfig (line 70) | class TestFastPathThresholdConfig: method test_default_threshold_is_0_65 (line 71) | def test_default_threshold_is_0_65(self) -> None: method test_threshold_from_env (line 76) | def test_threshold_from_env(self, monkeypatch: pytest.MonkeyPatch) -> ... method test_threshold_must_be_in_range (line 83) | def test_threshold_must_be_in_range(self, monkeypatch: pytest.MonkeyPa... class TestFastPathSkipsLlm (line 95) | class TestFastPathSkipsLlm: method test_clear_description_does_not_call_llm (line 96) | def test_clear_description_does_not_call_llm(self) -> None: method test_fast_path_result_has_no_classifier_used_flag (line 103) | def test_fast_path_result_has_no_classifier_used_flag(self) -> None: class TestAmbiguousInvokesLlm (line 114) | class TestAmbiguousInvokesLlm: method test_ambiguous_description_calls_llm_when_provided (line 115) | def test_ambiguous_description_calls_llm_when_provided(self) -> None: method test_ambiguous_description_no_llm_returns_keyword_result (line 127) | def test_ambiguous_description_no_llm_returns_keyword_result(self) -> ... method test_ambiguous_llm_failure_returns_keyword_result (line 132) | def test_ambiguous_llm_failure_returns_keyword_result(self) -> None: class TestZeroSignalBehaviour (line 147) | class TestZeroSignalBehaviour: method test_zero_signal_with_good_llm_returns_result (line 148) | def test_zero_signal_with_good_llm_returns_result(self) -> None: method test_zero_signal_no_llm_raises (line 157) | def test_zero_signal_no_llm_raises(self) -> None: method test_zero_signal_failed_llm_raises_with_attempted_flag (line 163) | def test_zero_signal_failed_llm_raises_with_attempted_flag(self) -> None: method test_zero_signal_error_message_mentions_failed_llm (line 173) | def test_zero_signal_error_message_mentions_failed_llm(self) -> None: method test_zero_signal_no_llm_message_suggests_rephrasing_only (line 181) | def test_zero_signal_no_llm_message_suggests_rephrasing_only(self) -> ... FILE: autocontext/tests/test_action_filter.py class _MockScenario (line 16) | class _MockScenario(ScenarioInterface): method describe_rules (line 21) | def describe_rules(self) -> str: method describe_strategy_interface (line 24) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 27) | def describe_evaluation_criteria(self) -> str: method initial_state (line 30) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 33) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 36) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 41) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 44) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 47) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 50) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 53) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: method enumerate_legal_actions (line 56) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... class _NoEnumerateScenario (line 66) | class _NoEnumerateScenario(_MockScenario): method enumerate_legal_actions (line 71) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... function _harness (line 75) | def _harness() -> ActionFilterHarness: class TestGetLegalActions (line 83) | class TestGetLegalActions: method test_returns_scenario_actions (line 84) | def test_returns_scenario_actions(self) -> None: method test_terminal_returns_empty (line 91) | def test_terminal_returns_empty(self) -> None: method test_none_when_not_supported (line 96) | def test_none_when_not_supported(self) -> None: method test_falls_back_to_harness_loader (line 100) | def test_falls_back_to_harness_loader(self) -> None: method test_scenario_preferred_over_harness (line 110) | def test_scenario_preferred_over_harness(self) -> None: method test_harness_exception_returns_none (line 120) | def test_harness_exception_returns_none(self) -> None: class TestFormatActionPrompt (line 133) | class TestFormatActionPrompt: method test_numbered_list (line 134) | def test_numbered_list(self) -> None: method test_includes_description (line 144) | def test_includes_description(self) -> None: method test_includes_row_col (line 151) | def test_includes_row_col(self) -> None: method test_continuous_type_formatting (line 159) | def test_continuous_type_formatting(self) -> None: method test_empty_actions (line 168) | def test_empty_actions(self) -> None: class TestParseActionSelection (line 178) | class TestParseActionSelection: method test_numeric_index (line 179) | def test_numeric_index(self) -> None: method test_numeric_with_text (line 187) | def test_numeric_with_text(self) -> None: method test_numeric_with_whitespace (line 195) | def test_numeric_with_whitespace(self) -> None: method test_out_of_range_index (line 203) | def test_out_of_range_index(self) -> None: method test_action_name_match (line 211) | def test_action_name_match(self) -> None: method test_no_match_returns_none (line 219) | def test_no_match_returns_none(self) -> None: method test_empty_actions_returns_none (line 226) | def test_empty_actions_returns_none(self) -> None: method test_empty_response (line 230) | def test_empty_response(self) -> None: method test_continuous_json_parse (line 236) | def test_continuous_json_parse(self) -> None: method test_continuous_json_missing_key_returns_none (line 245) | def test_continuous_json_missing_key_returns_none(self) -> None: method test_continuous_json_out_of_range_returns_none (line 253) | def test_continuous_json_out_of_range_returns_none(self) -> None: class TestVerifyAction (line 266) | class TestVerifyAction: method test_valid_action (line 267) | def test_valid_action(self) -> None: method test_invalid_action (line 273) | def test_invalid_action(self) -> None: method test_get_verify_feedback_includes_reason (line 279) | def test_get_verify_feedback_includes_reason(self) -> None: method test_get_verify_feedback_includes_legal_actions (line 285) | def test_get_verify_feedback_includes_legal_actions(self) -> None: method test_get_verify_feedback_no_enumeration (line 291) | def test_get_verify_feedback_no_enumeration(self) -> None: class TestExport (line 303) | class TestExport: method test_importable_from_package (line 304) | def test_importable_from_package(self) -> None: FILE: autocontext/tests/test_action_filter_integration.py class _RetryScenario (line 23) | class _RetryScenario(ScenarioInterface): method describe_rules (line 29) | def describe_rules(self) -> str: method describe_strategy_interface (line 32) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 35) | def describe_evaluation_criteria(self) -> str: method initial_state (line 38) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 41) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 44) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 50) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 53) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 56) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 59) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 62) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: method enumerate_legal_actions (line 65) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... class TestHarnessModeIntegration (line 77) | class TestHarnessModeIntegration: method test_mode_none_skips_harness (line 78) | def test_mode_none_skips_harness(self) -> None: method test_mode_filter_requires_validators (line 86) | def test_mode_filter_requires_validators(self) -> None: method test_mode_verify_requires_validators (line 98) | def test_mode_verify_requires_validators(self) -> None: method test_mode_filter_with_validators (line 110) | def test_mode_filter_with_validators(self) -> None: method test_mode_policy_enables_code_strategies (line 122) | def test_mode_policy_enables_code_strategies(self) -> None: class TestGridCtfEndToEnd (line 139) | class TestGridCtfEndToEnd: method test_filter_mode_enumerate_and_format (line 140) | def test_filter_mode_enumerate_and_format(self) -> None: method test_filter_mode_action_name_parse (line 162) | def test_filter_mode_action_name_parse(self) -> None: method test_verify_mode_valid_strategy (line 177) | def test_verify_mode_valid_strategy(self) -> None: method test_verify_mode_invalid_strategy (line 188) | def test_verify_mode_invalid_strategy(self) -> None: method test_terminal_state_no_actions (line 200) | def test_terminal_state_no_actions(self) -> None: class TestOthelloEndToEnd (line 214) | class TestOthelloEndToEnd: method test_filter_mode_enumerate_and_format (line 215) | def test_filter_mode_enumerate_and_format(self) -> None: method test_verify_mode_valid_strategy (line 237) | def test_verify_mode_valid_strategy(self) -> None: class TestRetryLogic (line 253) | class TestRetryLogic: method test_verify_retry_produces_feedback (line 254) | def test_verify_retry_produces_feedback(self) -> None: method test_verify_eventually_passes (line 266) | def test_verify_eventually_passes(self) -> None: method test_parse_invalid_then_valid (line 282) | def test_parse_invalid_then_valid(self) -> None: class TestHarnessLoaderFallback (line 303) | class TestHarnessLoaderFallback: method test_loader_with_enumerate (line 304) | def test_loader_with_enumerate(self) -> None: method test_no_loader_returns_none (line 321) | def test_no_loader_returns_none(self) -> None: FILE: autocontext/tests/test_action_labels.py class TestActionLabel (line 10) | class TestActionLabel: method test_create_from_text (line 13) | def test_create_from_text(self) -> None: method test_truncates_long_text (line 20) | def test_truncates_long_text(self) -> None: method test_category_tagging (line 27) | def test_category_tagging(self) -> None: method test_noop_label (line 33) | def test_noop_label(self) -> None: class TestLabelFromEvent (line 40) | class TestLabelFromEvent: method test_from_coordinator_event (line 43) | def test_from_coordinator_event(self) -> None: method test_from_session_event (line 55) | def test_from_session_event(self) -> None: method test_failure_event_gets_failure_category (line 67) | def test_failure_event_gets_failure_category(self) -> None: class TestLabelBatch (line 79) | class TestLabelBatch: method test_label_batch_from_coordinator (line 82) | def test_label_batch_from_coordinator(self) -> None: method test_max_labels_respected (line 101) | def test_max_labels_respected(self) -> None: FILE: autocontext/tests/test_advancement_contract.py class TestAdvancementMetrics (line 14) | class TestAdvancementMetrics: method test_construction (line 15) | def test_construction(self) -> None: method test_delta_computed (line 37) | def test_delta_computed(self) -> None: method test_roundtrip (line 46) | def test_roundtrip(self) -> None: class TestAdvancementRationale (line 69) | class TestAdvancementRationale: method test_construction (line 70) | def test_construction(self) -> None: method test_roundtrip (line 88) | def test_roundtrip(self) -> None: class TestEvaluateAdvancement (line 110) | class TestEvaluateAdvancement: method test_advance_on_clear_improvement (line 111) | def test_advance_on_clear_improvement(self) -> None: method test_rollback_on_regression (line 125) | def test_rollback_on_regression(self) -> None: method test_retry_on_marginal_improvement (line 138) | def test_retry_on_marginal_improvement(self) -> None: method test_rollback_on_high_error_rate (line 151) | def test_rollback_on_high_error_rate(self) -> None: method test_risk_flag_on_low_confidence (line 166) | def test_risk_flag_on_low_confidence(self) -> None: method test_truth_score_overrides_proxy (line 180) | def test_truth_score_overrides_proxy(self) -> None: method test_truth_score_without_prior_truth_baseline_uses_explicit_fallback (line 198) | def test_truth_score_without_prior_truth_baseline_uses_explicit_fallba... method test_rationale_has_component_scores (line 214) | def test_rationale_has_component_scores(self) -> None: FILE: autocontext/tests/test_agent_e2e.py function make_judge_response (line 34) | def make_judge_response(score: float) -> str: class _CallCounter (line 45) | class _CallCounter: method __init__ (line 48) | def __init__(self) -> None: method next (line 51) | def next(self) -> int: function _make_mock_fn (line 57) | def _make_mock_fn( function _make_store (line 88) | def _make_store() -> tuple[SQLiteStore, Path]: class TestAgentSelfImprovementE2E (line 102) | class TestAgentSelfImprovementE2E: method test_create_task_and_evaluate (line 105) | def test_create_task_and_evaluate(self) -> None: method test_improvement_loop_improves_score (line 125) | def test_improvement_loop_improves_score(self) -> None: method test_full_pipeline_create_to_export (line 148) | def test_full_pipeline_create_to_export(self) -> None: method test_human_feedback_calibrates_future_runs (line 174) | def test_human_feedback_calibrates_future_runs(self) -> None: method test_task_runner_with_notifications (line 222) | def test_task_runner_with_notifications(self) -> None: class TestMCPToolsAgentFlow (line 255) | class TestMCPToolsAgentFlow: method _make_ctx (line 262) | def _make_ctx(self) -> tuple[Any, Path]: method test_mcp_create_evaluate_flow (line 279) | def test_mcp_create_evaluate_flow(self) -> None: method test_mcp_improvement_loop (line 314) | def test_mcp_improvement_loop(self) -> None: method test_mcp_queue_and_process (line 348) | def test_mcp_queue_and_process(self) -> None: method test_mcp_list_and_get_tasks (line 388) | def test_mcp_list_and_get_tasks(self) -> None: class TestAgentRuntimeE2E (line 432) | class TestAgentRuntimeE2E: method test_generate_and_revise_with_feedback (line 435) | def test_generate_and_revise_with_feedback(self) -> None: method test_runtime_feeds_into_improvement_loop (line 474) | def test_runtime_feeds_into_improvement_loop(self) -> None: FILE: autocontext/tests/test_agent_live_e2e.py function _make_provider (line 31) | def _make_provider(): function _make_store (line 35) | def _make_store(): class TestLiveAgentImprovement (line 43) | class TestLiveAgentImprovement: method test_live_judge_evaluates_output (line 46) | def test_live_judge_evaluates_output(self): method test_live_generate_and_judge (line 79) | def test_live_generate_and_judge(self): method test_live_improvement_loop_2_rounds (line 107) | def test_live_improvement_loop_2_rounds(self): method test_live_full_pipeline_with_task_runner (line 137) | def test_live_full_pipeline_with_task_runner(self): method test_live_human_feedback_round_trip (line 174) | def test_live_human_feedback_round_trip(self): FILE: autocontext/tests/test_agent_sdk_client.py function test_role_tool_config_complete (line 10) | def test_role_tool_config_complete() -> None: function test_analyst_has_bash (line 16) | def test_analyst_has_bash() -> None: function test_translator_no_tools (line 21) | def test_translator_no_tools() -> None: function test_generate_calls_query (line 26) | def test_generate_calls_query() -> None: function test_generate_passes_role_tools (line 42) | def test_generate_passes_role_tools() -> None: function test_generate_multiturn_uses_system_prompt (line 64) | def test_generate_multiturn_uses_system_prompt() -> None: function test_usage_estimated (line 91) | def test_usage_estimated() -> None: function test_unknown_role_defaults_to_competitor (line 108) | def test_unknown_role_defaults_to_competitor() -> None: function test_resolve_model_full_ids (line 113) | def test_resolve_model_full_ids() -> None: function test_resolve_model_short_names (line 120) | def test_resolve_model_short_names() -> None: FILE: autocontext/tests/test_agent_sdk_integration.py function test_orchestrator_creates_agent_sdk_client (line 12) | def test_orchestrator_creates_agent_sdk_client() -> None: function test_role_parameter_threaded (line 21) | def test_role_parameter_threaded() -> None: function test_existing_providers_unchanged (line 43) | def test_existing_providers_unchanged() -> None: function test_rlm_skipped_with_agent_sdk (line 50) | def test_rlm_skipped_with_agent_sdk() -> None: FILE: autocontext/tests/test_agent_task.py class ConcreteAgentTask (line 7) | class ConcreteAgentTask(AgentTaskInterface): method get_task_prompt (line 8) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 11) | def evaluate_output( method get_rubric (line 22) | def get_rubric(self) -> str: method initial_state (line 25) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 28) | def describe_task(self) -> str: class TestAgentTaskInterface (line 32) | class TestAgentTaskInterface: method test_subclass_and_use (line 33) | def test_subclass_and_use(self) -> None: method test_describe_and_rubric (line 44) | def test_describe_and_rubric(self) -> None: class TestAgentTaskResult (line 50) | class TestAgentTaskResult: method test_creation (line 51) | def test_creation(self) -> None: method test_default_dimensions (line 57) | def test_default_dimensions(self) -> None: class TestAgentTaskSpec (line 62) | class TestAgentTaskSpec: method test_creation (line 63) | def test_creation(self) -> None: method test_reference_context_fields (line 70) | def test_reference_context_fields(self) -> None: method test_reference_context_defaults_none (line 82) | def test_reference_context_defaults_none(self) -> None: method test_with_options (line 88) | def test_with_options(self) -> None: FILE: autocontext/tests/test_agent_task_creator_retry.py function _spec_response (line 27) | def _spec_response(spec: AgentTaskSpec) -> str: function _scripted_llm_fn (line 37) | def _scripted_llm_fn(responses: list[str]) -> Callable[[str, str], str]: class TestAgentTaskCreatorRetry (line 50) | class TestAgentTaskCreatorRetry: method test_creator_retries_on_intent_drift_and_succeeds (line 51) | def test_creator_retries_on_intent_drift_and_succeeds( method test_creator_retries_on_unparseable_designer_response (line 81) | def test_creator_retries_on_unparseable_designer_response( FILE: autocontext/tests/test_agent_task_designer_retry.py function _spec_response (line 36) | def _spec_response(spec: AgentTaskSpec) -> str: function _scripted_llm_fn (line 47) | def _scripted_llm_fn( class TestDesignValidatedAgentTask (line 69) | class TestDesignValidatedAgentTask: method test_happy_path_no_retry_on_valid_spec (line 70) | def test_happy_path_no_retry_on_valid_spec(self) -> None: method test_retries_once_then_succeeds (line 79) | def test_retries_once_then_succeeds( method test_retries_after_unparseable_designer_response (line 104) | def test_retries_after_unparseable_designer_response(self) -> None: method test_retries_after_unparseable_intent_correction_response (line 119) | def test_retries_after_unparseable_intent_correction_response(self) ->... method test_raises_after_max_retries_exhausted (line 135) | def test_raises_after_max_retries_exhausted(self) -> None: method test_raises_after_parse_retries_exhausted (line 151) | def test_raises_after_parse_retries_exhausted(self) -> None: method test_retry_correction_prompt_contains_validator_errors (line 166) | def test_retry_correction_prompt_contains_validator_errors(self) -> None: method test_max_retries_zero_makes_exactly_one_attempt (line 185) | def test_max_retries_zero_makes_exactly_one_attempt(self) -> None: method test_max_retries_three_allows_four_total_attempts (line 196) | def test_max_retries_three_allows_four_total_attempts(self) -> None: FILE: autocontext/tests/test_agent_task_export.py function _make_example_outputs (line 8) | def _make_example_outputs() -> list[dict]: function _make_agent_task_package (line 16) | def _make_agent_task_package(**overrides) -> SkillPackage: class TestSkillPackageAgentTaskMarkdown (line 36) | class TestSkillPackageAgentTaskMarkdown: method test_includes_task_section (line 37) | def test_includes_task_section(self) -> None: method test_includes_evaluation_criteria (line 43) | def test_includes_evaluation_criteria(self) -> None: method test_includes_example_outputs (line 49) | def test_includes_example_outputs(self) -> None: method test_example_outputs_use_details_blocks (line 57) | def test_example_outputs_use_details_blocks(self) -> None: method test_example_outputs_include_reasoning (line 65) | def test_example_outputs_include_reasoning(self) -> None: method test_best_strategy_as_text_block (line 71) | def test_best_strategy_as_text_block(self) -> None: method test_limits_to_three_examples (line 78) | def test_limits_to_three_examples(self) -> None: method test_includes_lessons (line 87) | def test_includes_lessons(self) -> None: method test_includes_playbook (line 93) | def test_includes_playbook(self) -> None: class TestSkillPackageBackwardCompat (line 100) | class TestSkillPackageBackwardCompat: method test_no_agent_task_fields_renders_normally (line 101) | def test_no_agent_task_fields_renders_normally(self) -> None: method test_to_dict_without_agent_fields (line 118) | def test_to_dict_without_agent_fields(self) -> None: method test_to_dict_with_agent_fields (line 134) | def test_to_dict_with_agent_fields(self) -> None: class TestExportAgentTaskSkill (line 143) | class TestExportAgentTaskSkill: method test_creates_proper_package (line 144) | def test_creates_proper_package(self) -> None: method test_empty_outputs (line 165) | def test_empty_outputs(self) -> None: method test_renders_valid_markdown (line 178) | def test_renders_valid_markdown(self) -> None: class TestReferenceContextExport (line 196) | class TestReferenceContextExport: method test_reference_context_in_markdown (line 197) | def test_reference_context_in_markdown(self) -> None: method test_reference_context_in_dict (line 203) | def test_reference_context_in_dict(self) -> None: method test_no_reference_context_not_in_dict (line 208) | def test_no_reference_context_not_in_dict(self) -> None: method test_export_agent_task_skill_with_reference_context (line 213) | def test_export_agent_task_skill_with_reference_context(self) -> None: class TestSearchIndexAgentTaskFields (line 229) | class TestSearchIndexAgentTaskFields: method test_keyword_score_includes_task_fields (line 230) | def test_keyword_score_includes_task_fields(self) -> None: method test_empty_task_fields_no_error (line 250) | def test_empty_task_fields_no_error(self) -> None: class TestHarnessInSkillPackage (line 269) | class TestHarnessInSkillPackage: method test_to_dict_includes_harness (line 272) | def test_to_dict_includes_harness(self) -> None: method test_to_dict_empty_harness (line 289) | def test_to_dict_empty_harness(self) -> None: method test_skill_markdown_includes_harness_section (line 304) | def test_skill_markdown_includes_harness_section(self) -> None: method test_skill_markdown_no_harness_section_when_empty (line 322) | def test_skill_markdown_no_harness_section_when_empty(self) -> None: FILE: autocontext/tests/test_agent_task_multi_gen.py function _make_judge_result (line 16) | def _make_judge_result( class TestAgentTaskGenerationState (line 35) | class TestAgentTaskGenerationState: method test_construction (line 36) | def test_construction(self) -> None: method test_roundtrip (line 51) | def test_roundtrip(self) -> None: class TestAccumulateLessons (line 74) | class TestAccumulateLessons: method test_extracts_lesson_from_judge_feedback (line 75) | def test_extracts_lesson_from_judge_feedback(self) -> None: method test_includes_weak_dimensions (line 87) | def test_includes_weak_dimensions(self) -> None: method test_empty_reasoning_still_produces_lesson (line 98) | def test_empty_reasoning_still_produces_lesson(self) -> None: method test_high_score_produces_positive_lesson (line 105) | def test_high_score_produces_positive_lesson(self) -> None: class TestBuildEnrichedPrompt (line 121) | class TestBuildEnrichedPrompt: method test_includes_task_prompt (line 122) | def test_includes_task_prompt(self) -> None: method test_includes_playbook_when_present (line 134) | def test_includes_playbook_when_present(self) -> None: method test_includes_best_output_reference (line 147) | def test_includes_best_output_reference(self) -> None: method test_empty_playbook_omits_section (line 159) | def test_empty_playbook_omits_section(self) -> None: method test_includes_generation_number (line 171) | def test_includes_generation_number(self) -> None: method test_compacts_verbose_playbook_and_best_output (line 183) | def test_compacts_verbose_playbook_and_best_output(self) -> None: method test_compacts_plain_text_best_output_without_losing_tail (line 210) | def test_compacts_plain_text_best_output_without_losing_tail(self) -> ... class TestAgentTaskTrajectory (line 238) | class TestAgentTaskTrajectory: method test_construction (line 239) | def test_construction(self) -> None: method test_roundtrip (line 254) | def test_roundtrip(self) -> None: class TestAgentTaskGenerationEvaluationDefaults (line 272) | class TestAgentTaskGenerationEvaluationDefaults: method test_defaults_are_real_containers (line 273) | def test_defaults_are_real_containers(self) -> None: method test_cold_vs_warm_comparison (line 285) | def test_cold_vs_warm_comparison(self) -> None: class TestScenarioFamilyGuide (line 307) | class TestScenarioFamilyGuide: method test_construction (line 308) | def test_construction(self) -> None: method test_includes_agent_task (line 314) | def test_includes_agent_task(self) -> None: method test_includes_simulation (line 320) | def test_includes_simulation(self) -> None: method test_each_family_has_when_to_use (line 326) | def test_each_family_has_when_to_use(self) -> None: method test_to_markdown (line 334) | def test_to_markdown(self) -> None: class TestAgentTaskEvolutionRunner (line 348) | class TestAgentTaskEvolutionRunner: method test_single_generation (line 349) | def test_single_generation(self) -> None: method test_single_generation_with_minimal_evaluation_result (line 386) | def test_single_generation_with_minimal_evaluation_result(self) -> None: method test_multi_generation_accumulates_lessons (line 412) | def test_multi_generation_accumulates_lessons(self) -> None: method test_trajectory_shows_improvement (line 468) | def test_trajectory_shows_improvement(self) -> None: FILE: autocontext/tests/test_agent_task_pipeline.py function _mock_llm_response (line 56) | def _mock_llm_response(spec: AgentTaskSpec) -> str: function _mock_simulation_response (line 73) | def _mock_simulation_response() -> str: function _mock_artifact_editing_response (line 101) | def _mock_artifact_editing_response() -> str: function _mock_investigation_response (line 121) | def _mock_investigation_response() -> str: function _mock_workflow_response (line 163) | def _mock_workflow_response() -> str: class TestDesignAgentTask (line 226) | class TestDesignAgentTask: method test_parse_spec_from_response (line 227) | def test_parse_spec_from_response(self) -> None: method test_parse_spec_missing_delimiters (line 234) | def test_parse_spec_missing_delimiters(self) -> None: method test_parse_spec_serializes_structured_judge_rubric (line 238) | def test_parse_spec_serializes_structured_judge_rubric(self) -> None: method test_design_agent_task_with_mock (line 258) | def test_design_agent_task_with_mock(self) -> None: class TestGenerateAgentTaskClass (line 269) | class TestGenerateAgentTaskClass: method test_produces_valid_python (line 270) | def test_produces_valid_python(self) -> None: method test_generates_with_reference_context (line 275) | def test_generates_with_reference_context(self) -> None: method test_contains_class_and_methods (line 289) | def test_contains_class_and_methods(self) -> None: class TestValidateSpec (line 299) | class TestValidateSpec: method test_valid_spec (line 300) | def test_valid_spec(self) -> None: method test_empty_rubric (line 304) | def test_empty_rubric(self) -> None: method test_empty_task_prompt (line 314) | def test_empty_task_prompt(self) -> None: method test_invalid_output_format (line 324) | def test_invalid_output_format(self) -> None: method test_empty_reference_context (line 334) | def test_empty_reference_context(self) -> None: method test_valid_reference_context (line 343) | def test_valid_reference_context(self) -> None: method test_empty_required_concepts_list (line 353) | def test_empty_required_concepts_list(self) -> None: method test_required_concepts_with_empty_string (line 362) | def test_required_concepts_with_empty_string(self) -> None: method test_empty_reference_sources_list (line 371) | def test_empty_reference_sources_list(self) -> None: method test_reference_sources_with_empty_string (line 380) | def test_reference_sources_with_empty_string(self) -> None: method test_valid_reference_sources (line 389) | def test_valid_reference_sources(self) -> None: method test_family_pipeline_normalizes_structured_runtime_fields (line 398) | def test_family_pipeline_normalizes_structured_runtime_fields(self) ->... method test_empty_judge_model_is_valid (line 412) | def test_empty_judge_model_is_valid(self) -> None: class TestValidateSyntax (line 424) | class TestValidateSyntax: method test_valid_code (line 425) | def test_valid_code(self) -> None: method test_bad_code (line 429) | def test_bad_code(self) -> None: class TestValidateExecution (line 435) | class TestValidateExecution: method test_generated_code_passes (line 436) | def test_generated_code_passes(self) -> None: class TestDeriveName (line 442) | class TestDeriveName: method _creator (line 443) | def _creator(self) -> AgentTaskCreator: method test_uses_shared_improved_naming_logic (line 449) | def test_uses_shared_improved_naming_logic(self) -> None: method test_filters_stop_words (line 458) | def test_filters_stop_words(self) -> None: method test_api_documentation (line 467) | def test_api_documentation(self) -> None: method test_simple_case (line 472) | def test_simple_case(self) -> None: method test_empty_string (line 476) | def test_empty_string(self) -> None: method test_all_stop_words (line 480) | def test_all_stop_words(self) -> None: method test_deduplicates_words (line 484) | def test_deduplicates_words(self) -> None: class TestSampleInput (line 490) | class TestSampleInput: method test_parse_sample_input (line 491) | def test_parse_sample_input(self) -> None: method test_parse_structured_sample_input_serializes_json (line 501) | def test_parse_structured_sample_input_serializes_json(self) -> None: method test_sample_input_defaults_to_none (line 517) | def test_sample_input_defaults_to_none(self) -> None: method test_spec_dataclass_has_sample_input (line 526) | def test_spec_dataclass_has_sample_input(self) -> None: class TestAgentTaskCreator (line 535) | class TestAgentTaskCreator: method test_end_to_end (line 536) | def test_end_to_end(self) -> None: method test_end_to_end_with_structured_sample_input (line 568) | def test_end_to_end_with_structured_sample_input(self) -> None: method test_retries_agent_task_design_after_timeout (line 624) | def test_retries_agent_task_design_after_timeout(self) -> None: method test_retries_agent_task_design_after_parse_failure (line 651) | def test_retries_agent_task_design_after_parse_failure(self) -> None: method test_routes_simulation_like_requests_to_simulation_creator (line 679) | def test_routes_simulation_like_requests_to_simulation_creator(self) -... method test_rejects_classified_but_unsupported_game_families (line 713) | def test_rejects_classified_but_unsupported_game_families(self) -> None: method test_routes_artifact_editing_requests_to_artifact_creator (line 727) | def test_routes_artifact_editing_requests_to_artifact_creator(self) ->... method test_routes_investigation_requests_to_investigation_creator (line 754) | def test_routes_investigation_requests_to_investigation_creator(self) ... method test_routes_workflow_requests_to_workflow_creator (line 783) | def test_routes_workflow_requests_to_workflow_creator(self) -> None: method test_end_to_end_with_reference_context (line 823) | def test_end_to_end_with_reference_context(self) -> None: method test_agent_task_creation_uses_family_pipeline_spec_validation (line 858) | def test_agent_task_creation_uses_family_pipeline_spec_validation(self... method test_simulation_creation_uses_family_pipeline_source_validation (line 877) | def test_simulation_creation_uses_family_pipeline_source_validation(se... class TestSampleInputWiring (line 897) | class TestSampleInputWiring: method test_sample_input_embedded_in_prompt (line 898) | def test_sample_input_embedded_in_prompt(self) -> None: method test_structured_sample_input_survives_execution_validation (line 916) | def test_structured_sample_input_survives_execution_validation(self) -... method test_sample_input_in_initial_state (line 933) | def test_sample_input_in_initial_state(self) -> None: method test_no_sample_input_unchanged (line 950) | def test_no_sample_input_unchanged(self) -> None: class TestValidatorExternalDataReference (line 969) | class TestValidatorExternalDataReference: method test_warns_when_prompt_references_data_without_sample_input (line 970) | def test_warns_when_prompt_references_data_without_sample_input(self) ... method test_no_warning_when_sample_input_provided (line 981) | def test_no_warning_when_sample_input_provided(self) -> None: method test_inline_data_after_analyze_the_following_passes (line 993) | def test_inline_data_after_analyze_the_following_passes(self) -> None: method test_inline_json_data_passes (line 1012) | def test_inline_json_data_passes(self) -> None: method test_inline_bullet_data_passes (line 1030) | def test_inline_bullet_data_passes(self) -> None: method test_truly_external_data_still_fails (line 1049) | def test_truly_external_data_still_fails(self) -> None: method test_using_the_provided_still_fails (line 1061) | def test_using_the_provided_still_fails(self) -> None: method test_using_the_provided_with_inline_data_passes (line 1073) | def test_using_the_provided_with_inline_data_passes(self) -> None: method test_long_plain_prose_still_requires_sample_input (line 1091) | def test_long_plain_prose_still_requires_sample_input(self) -> None: class TestInternalRetriesSurfacing (line 1107) | class TestInternalRetriesSurfacing: method test_agent_task_result_has_internal_retries (line 1108) | def test_agent_task_result_has_internal_retries(self) -> None: method test_agent_task_result_defaults_to_zero (line 1114) | def test_agent_task_result_defaults_to_zero(self) -> None: class TestImprovementResultRetries (line 1121) | class TestImprovementResultRetries: method test_improvement_result_has_total_internal_retries (line 1122) | def test_improvement_result_has_total_internal_retries(self) -> None: method test_improvement_result_defaults_to_zero (line 1136) | def test_improvement_result_defaults_to_zero(self) -> None: FILE: autocontext/tests/test_agentos_adapter.py class TestAgentOsPermissions (line 11) | class TestAgentOsPermissions: method test_defaults (line 12) | def test_defaults(self) -> None: method test_overrides (line 20) | def test_overrides(self) -> None: class TestAgentOsConfig (line 28) | class TestAgentOsConfig: method test_defaults (line 29) | def test_defaults(self) -> None: method test_enabled_config (line 37) | def test_enabled_config(self) -> None: method test_sandbox_escalation_defaults (line 50) | def test_sandbox_escalation_defaults(self) -> None: method test_needs_sandbox (line 57) | def test_needs_sandbox(self) -> None: class TestAgentOsRuntimePort (line 66) | class TestAgentOsRuntimePort: method test_protocol_structural_check (line 67) | def test_protocol_structural_check(self) -> None: class TestAgentOsConfigSerde (line 87) | class TestAgentOsConfigSerde: method test_round_trip (line 88) | def test_round_trip(self) -> None: FILE: autocontext/tests/test_aggregate_facets.py class TestRunEvent (line 24) | class TestRunEvent: method test_construction (line 25) | def test_construction(self) -> None: method test_roundtrip (line 43) | def test_roundtrip(self) -> None: method test_defaults (line 62) | def test_defaults(self) -> None: class TestFrictionSignal (line 82) | class TestFrictionSignal: method test_construction (line 83) | def test_construction(self) -> None: method test_roundtrip (line 98) | def test_roundtrip(self) -> None: class TestDelightSignal (line 120) | class TestDelightSignal: method test_construction (line 121) | def test_construction(self) -> None: method test_roundtrip (line 133) | def test_roundtrip(self) -> None: class TestRunFacet (line 153) | class TestRunFacet: method test_construction (line 154) | def test_construction(self) -> None: method test_roundtrip (line 203) | def test_roundtrip(self) -> None: class TestFacetExtractor (line 244) | class TestFacetExtractor: method _make_run_data (line 245) | def _make_run_data(self) -> dict[str, Any]: method test_extract_basic_facet (line 321) | def test_extract_basic_facet(self) -> None: method test_extract_token_totals (line 337) | def test_extract_token_totals(self) -> None: method test_extract_friction_signals (line 347) | def test_extract_friction_signals(self) -> None: method test_extract_delight_signals (line 358) | def test_extract_delight_signals(self) -> None: method test_extract_duration (line 369) | def test_extract_duration(self) -> None: method test_extract_consultation_count (line 379) | def test_extract_consultation_count(self) -> None: method test_extract_empty_run (line 389) | def test_extract_empty_run(self) -> None: method test_extract_none_duration_seconds (line 414) | def test_extract_none_duration_seconds(self) -> None: method test_missing_best_score_does_not_create_strong_improvement (line 459) | def test_missing_best_score_does_not_create_strong_improvement(self) -... class TestFacetStore (line 499) | class TestFacetStore: method _make_facet (line 500) | def _make_facet(self, run_id: str = "run-1", scenario: str = "grid_ctf... method test_persist_and_load (line 529) | def test_persist_and_load(self, tmp_path: Path) -> None: method test_load_missing_returns_none (line 542) | def test_load_missing_returns_none(self, tmp_path: Path) -> None: method test_list_facets_all (line 549) | def test_list_facets_all(self, tmp_path: Path) -> None: method test_list_facets_by_scenario (line 560) | def test_list_facets_by_scenario(self, tmp_path: Path) -> None: method test_query_by_provider (line 572) | def test_query_by_provider(self, tmp_path: Path) -> None: class TestEventPattern (line 607) | class TestEventPattern: method test_construction (line 608) | def test_construction(self) -> None: method test_roundtrip (line 625) | def test_roundtrip(self) -> None: class TestFacetCluster (line 649) | class TestFacetCluster: method test_construction (line 650) | def test_construction(self) -> None: method test_roundtrip (line 670) | def test_roundtrip(self) -> None: class TestTaxonomyEntry (line 697) | class TestTaxonomyEntry: method test_construction (line 698) | def test_construction(self) -> None: method test_roundtrip (line 716) | def test_roundtrip(self) -> None: class TestPatternClusterer (line 742) | class TestPatternClusterer: method _make_facets (line 743) | def _make_facets(self) -> list[Any]: method test_cluster_friction (line 850) | def test_cluster_friction(self) -> None: method test_cluster_delight (line 866) | def test_cluster_delight(self) -> None: method test_cluster_recurrence_rate (line 881) | def test_cluster_recurrence_rate(self) -> None: method test_query_clusters_by_scenario (line 895) | def test_query_clusters_by_scenario(self) -> None: method test_query_clusters_by_provider (line 912) | def test_query_clusters_by_provider(self) -> None: method test_query_clusters_by_scenario_family (line 925) | def test_query_clusters_by_scenario_family(self) -> None: method test_empty_facets (line 939) | def test_empty_facets(self) -> None: class TestFacetTaxonomy (line 952) | class TestFacetTaxonomy: method test_builtin_entries (line 953) | def test_builtin_entries(self) -> None: method test_add_entry (line 964) | def test_add_entry(self) -> None: method test_propose_from_cluster (line 984) | def test_propose_from_cluster(self) -> None: method test_propose_low_confidence_returns_none (line 1009) | def test_propose_low_confidence_returns_none(self) -> None: method test_evolve_adds_new_categories (line 1031) | def test_evolve_adds_new_categories(self) -> None: method test_evolve_skips_existing (line 1057) | def test_evolve_skips_existing(self) -> None: method test_persist_and_load (line 1084) | def test_persist_and_load(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_analysis_injection.py function test_latest_analysis_injected_gen2 (line 11) | def test_latest_analysis_injected_gen2(tmp_path: Path) -> None: function test_no_analysis_for_gen1 (line 23) | def test_no_analysis_for_gen1(tmp_path: Path) -> None: function test_analysis_picks_highest_gen (line 31) | def test_analysis_picks_highest_gen(tmp_path: Path) -> None: function test_analysis_in_prompt_bundle (line 44) | def test_analysis_in_prompt_bundle(tmp_path: Path) -> None: function test_analysis_suppressed_by_ablation (line 59) | def test_analysis_suppressed_by_ablation(tmp_path: Path) -> None: FILE: autocontext/tests/test_anthropic_client_retry.py class FakeAnthropicAPIError (line 9) | class FakeAnthropicAPIError(Exception): function _fake_response (line 13) | def _fake_response(text: str = "success") -> SimpleNamespace: function test_build_client_from_settings_retries_transient_anthropic_errors (line 20) | def test_build_client_from_settings_retries_transient_anthropic_errors()... function test_per_role_anthropic_client_retries_transient_errors (line 48) | def test_per_role_anthropic_client_retries_transient_errors() -> None: function test_anthropic_client_retries_multiturn_requests (line 77) | def test_anthropic_client_retries_multiturn_requests() -> None: FILE: autocontext/tests/test_api_key_fallback.py class TestApiKeyFallback (line 13) | class TestApiKeyFallback: method test_uses_autocontext_key_when_set (line 14) | def test_uses_autocontext_key_when_set(self) -> None: method test_falls_back_to_anthropic_api_key_env (line 25) | def test_falls_back_to_anthropic_api_key_env(self) -> None: method test_load_settings_reads_anthropic_api_key_alias (line 39) | def test_load_settings_reads_anthropic_api_key_alias(self) -> None: method test_load_settings_prefers_standard_anthropic_api_key (line 47) | def test_load_settings_prefers_standard_anthropic_api_key(self) -> None: method test_raises_when_no_key_at_all (line 62) | def test_raises_when_no_key_at_all(self) -> None: method test_deterministic_doesnt_need_key (line 86) | def test_deterministic_doesnt_need_key(self) -> None: FILE: autocontext/tests/test_app_settings_contract.py function _contract (line 14) | def _contract() -> dict[str, Any]: function _contract_value (line 19) | def _contract_value(value: object) -> object: function _field_env (line 27) | def _field_env(field: dict[str, Any], runtime: str) -> list[str]: function test_python_app_settings_contract_covers_live_shared_fields (line 34) | def test_python_app_settings_contract_covers_live_shared_fields() -> None: function test_python_app_settings_defaults_and_env_aliases_match_shared_contract (line 48) | def test_python_app_settings_defaults_and_env_aliases_match_shared_contr... function test_python_app_settings_ignores_unknown_fields_like_shared_contract (line 57) | def test_python_app_settings_ignores_unknown_fields_like_shared_contract... function test_python_load_settings_consumes_contract_aliases (line 65) | def test_python_load_settings_consumes_contract_aliases(monkeypatch: pyt... function test_python_app_settings_rejects_representative_invalid_shared_values (line 72) | def test_python_app_settings_rejects_representative_invalid_shared_value... FILE: autocontext/tests/test_architect_dag_changes.py function test_parse_no_markers_returns_empty (line 7) | def test_parse_no_markers_returns_empty() -> None: function test_parse_add_role (line 12) | def test_parse_add_role() -> None: function test_parse_remove_role (line 27) | def test_parse_remove_role() -> None: function test_parse_multiple_changes (line 39) | def test_parse_multiple_changes() -> None: function test_parse_malformed_json_returns_empty (line 52) | def test_parse_malformed_json_returns_empty() -> None: function test_parse_invalid_action_skipped (line 61) | def test_parse_invalid_action_skipped() -> None: FILE: autocontext/tests/test_architect_tool_updates.py function _make_store (line 11) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_new_tool_creates_file (line 20) | def test_new_tool_creates_file(tmp_path: Path) -> None: function test_update_overwrites_file (line 28) | def test_update_overwrites_file(tmp_path: Path) -> None: function test_update_archives_old (line 39) | def test_update_archives_old(tmp_path: Path) -> None: function test_archive_filename_includes_gen (line 51) | def test_archive_filename_includes_gen(tmp_path: Path) -> None: function test_update_tagged_in_list (line 63) | def test_update_tagged_in_list(tmp_path: Path) -> None: function test_prompt_mentions_update (line 72) | def test_prompt_mentions_update(tmp_path: Path) -> None: FILE: autocontext/tests/test_architect_tools.py function test_parse_architect_tool_specs_extracts_valid_entries (line 4) | def test_parse_architect_tool_specs_extracts_valid_entries() -> None: FILE: autocontext/tests/test_artifact_contracts.py class TestArtifactProvenance (line 26) | class TestArtifactProvenance: method test_basic_provenance (line 27) | def test_basic_provenance(self) -> None: method test_provenance_with_settings (line 38) | def test_provenance_with_settings(self) -> None: method test_provenance_rejects_empty_run_id (line 47) | def test_provenance_rejects_empty_run_id(self) -> None: method test_provenance_rejects_negative_generation (line 51) | def test_provenance_rejects_negative_generation(self) -> None: class TestHarnessArtifact (line 61) | class TestHarnessArtifact: method test_minimal_harness (line 62) | def test_minimal_harness(self) -> None: method test_harness_with_all_fields (line 80) | def test_harness_with_all_fields(self) -> None: method test_harness_json_roundtrip (line 97) | def test_harness_json_roundtrip(self) -> None: method test_harness_rejects_empty_source (line 114) | def test_harness_rejects_empty_source(self) -> None: method test_harness_rejects_zero_version (line 124) | def test_harness_rejects_zero_version(self) -> None: method test_harness_accuracy_range (line 134) | def test_harness_accuracy_range(self) -> None: method test_harness_rejects_mismatched_artifact_type (line 145) | def test_harness_rejects_mismatched_artifact_type(self) -> None: class TestPolicyArtifact (line 162) | class TestPolicyArtifact: method test_minimal_policy (line 163) | def test_minimal_policy(self) -> None: method test_policy_with_match_results (line 176) | def test_policy_with_match_results(self) -> None: method test_policy_json_roundtrip (line 192) | def test_policy_json_roundtrip(self) -> None: method test_policy_rejects_empty_source (line 207) | def test_policy_rejects_empty_source(self) -> None: method test_policy_rejects_mismatched_artifact_type (line 217) | def test_policy_rejects_mismatched_artifact_type(self) -> None: class TestDistilledModelArtifact (line 234) | class TestDistilledModelArtifact: method test_minimal_model (line 235) | def test_minimal_model(self) -> None: method test_model_with_training_stats (line 252) | def test_model_with_training_stats(self) -> None: method test_model_json_roundtrip (line 265) | def test_model_json_roundtrip(self) -> None: method test_model_rejects_zero_params (line 282) | def test_model_rejects_zero_params(self) -> None: method test_model_rejects_empty_checkpoint (line 294) | def test_model_rejects_empty_checkpoint(self) -> None: method test_model_rejects_mismatched_artifact_type (line 306) | def test_model_rejects_mismatched_artifact_type(self) -> None: class TestArtifactManifest (line 325) | class TestArtifactManifest: method test_empty_manifest (line 326) | def test_empty_manifest(self) -> None: method test_manifest_with_artifacts (line 333) | def test_manifest_with_artifacts(self) -> None: method test_manifest_json_roundtrip (line 342) | def test_manifest_json_roundtrip(self) -> None: method test_manifest_to_dict (line 360) | def test_manifest_to_dict(self) -> None: method test_manifest_all_artifacts_property (line 369) | def test_manifest_all_artifacts_property(self) -> None: class TestCrossTypeValidation (line 383) | class TestCrossTypeValidation: method test_all_have_id_version_created_at (line 386) | def test_all_have_id_version_created_at(self) -> None: method test_json_dict_roundtrip_all_types (line 401) | def test_json_dict_roundtrip_all_types(self) -> None: FILE: autocontext/tests/test_artifact_editing.py class TestArtifact (line 27) | class TestArtifact: method test_construction (line 28) | def test_construction(self) -> None: method test_with_metadata (line 39) | def test_with_metadata(self) -> None: method test_to_dict_from_dict (line 48) | def test_to_dict_from_dict(self) -> None: class TestArtifactDiff (line 63) | class TestArtifactDiff: method test_modify_operation (line 64) | def test_modify_operation(self) -> None: method test_create_operation (line 75) | def test_create_operation(self) -> None: method test_delete_operation (line 85) | def test_delete_operation(self) -> None: method test_to_dict_from_dict (line 95) | def test_to_dict_from_dict(self) -> None: class TestArtifactValidationResult (line 105) | class TestArtifactValidationResult: method test_valid (line 106) | def test_valid(self) -> None: method test_invalid (line 111) | def test_invalid(self) -> None: class TestArtifactEditingResult (line 122) | class TestArtifactEditingResult: method test_construction (line 123) | def test_construction(self) -> None: method test_to_dict_from_dict (line 137) | def test_to_dict_from_dict(self) -> None: class _MockArtifactEditor (line 164) | class _MockArtifactEditor(ArtifactEditingInterface): method describe_task (line 169) | def describe_task(self) -> str: method get_rubric (line 172) | def get_rubric(self) -> str: method initial_artifacts (line 175) | def initial_artifacts(self, seed: int | None = None) -> list[Artifact]: method get_edit_prompt (line 184) | def get_edit_prompt(self, artifacts: list[Artifact]) -> str: method validate_artifact (line 188) | def validate_artifact(self, artifact: Artifact) -> ArtifactValidationR... method evaluate_edits (line 198) | def evaluate_edits( method initial_state (line 227) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: class TestArtifactEditingInterfaceABC (line 232) | class TestArtifactEditingInterfaceABC: method test_cannot_instantiate_abc (line 233) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 237) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_task (line 241) | def test_describe_task(self) -> None: method test_get_rubric (line 245) | def test_get_rubric(self) -> None: method test_initial_artifacts (line 250) | def test_initial_artifacts(self) -> None: method test_get_edit_prompt (line 257) | def test_get_edit_prompt(self) -> None: method test_validate_artifact_invalid (line 264) | def test_validate_artifact_invalid(self) -> None: method test_validate_artifact_valid (line 271) | def test_validate_artifact_valid(self) -> None: method test_initial_state (line 281) | def test_initial_state(self) -> None: class TestComputeDiffs (line 293) | class TestComputeDiffs: method test_modification_detected (line 294) | def test_modification_detected(self) -> None: method test_no_change_produces_no_diff (line 304) | def test_no_change_produces_no_diff(self) -> None: method test_create_detected (line 311) | def test_create_detected(self) -> None: method test_delete_detected (line 323) | def test_delete_detected(self) -> None: class TestEndToEndEvaluation (line 341) | class TestEndToEndEvaluation: method test_correct_edit (line 342) | def test_correct_edit(self) -> None: method test_wrong_edit (line 358) | def test_wrong_edit(self) -> None: method test_invalid_artifact_state (line 374) | def test_invalid_artifact_state(self) -> None: class TestFamilyRegistration (line 395) | class TestFamilyRegistration: method test_artifact_editing_family_registered (line 396) | def test_artifact_editing_family_registered(self) -> None: method test_artifact_editing_scenario_type_marker (line 403) | def test_artifact_editing_scenario_type_marker(self) -> None: method test_detect_family_for_instance (line 409) | def test_detect_family_for_instance(self) -> None: class TestPipelineRegistration (line 423) | class TestPipelineRegistration: method test_pipeline_registered (line 424) | def test_pipeline_registered(self) -> None: method test_pipeline_spec_validation_valid (line 429) | def test_pipeline_spec_validation_valid(self) -> None: method test_pipeline_spec_validation_missing_fields (line 443) | def test_pipeline_spec_validation_missing_fields(self) -> None: method test_pipeline_source_validation (line 451) | def test_pipeline_source_validation(self) -> None: method test_pipeline_source_wrong_base_class (line 469) | def test_pipeline_source_wrong_base_class(self) -> None: FILE: autocontext/tests/test_artifact_harness.py function _make_store (line 11) | def _make_store(tmp_path: Path) -> ArtifactStore: class TestHarnessDir (line 25) | class TestHarnessDir: method test_harness_dir_path (line 26) | def test_harness_dir_path(self, tmp_path: Path) -> None: class TestWriteHarness (line 36) | class TestWriteHarness: method test_write_creates_file (line 37) | def test_write_creates_file(self, tmp_path: Path) -> None: method test_write_creates_directory_lazily (line 44) | def test_write_creates_directory_lazily(self, tmp_path: Path) -> None: method test_write_overwrites_existing (line 51) | def test_write_overwrites_existing(self, tmp_path: Path) -> None: method test_write_returns_path (line 58) | def test_write_returns_path(self, tmp_path: Path) -> None: method test_write_rejects_invalid_name (line 64) | def test_write_rejects_invalid_name(self, tmp_path: Path) -> None: class TestReadHarness (line 75) | class TestReadHarness: method test_read_existing (line 76) | def test_read_existing(self, tmp_path: Path) -> None: method test_read_missing_returns_none (line 82) | def test_read_missing_returns_none(self, tmp_path: Path) -> None: method test_read_missing_scenario_returns_none (line 86) | def test_read_missing_scenario_returns_none(self, tmp_path: Path) -> N... method test_read_rejects_invalid_name (line 90) | def test_read_rejects_invalid_name(self, tmp_path: Path) -> None: class TestListHarness (line 101) | class TestListHarness: method test_list_empty_scenario (line 102) | def test_list_empty_scenario(self, tmp_path: Path) -> None: method test_list_returns_sorted_names (line 106) | def test_list_returns_sorted_names(self, tmp_path: Path) -> None: method test_list_excludes_archive_files (line 114) | def test_list_excludes_archive_files(self, tmp_path: Path) -> None: method test_list_excludes_non_py_files (line 125) | def test_list_excludes_non_py_files(self, tmp_path: Path) -> None: method test_list_multiple_scenarios_isolated (line 133) | def test_list_multiple_scenarios_isolated(self, tmp_path: Path) -> None: class TestReadHarnessContext (line 146) | class TestReadHarnessContext: method test_context_no_harness (line 147) | def test_context_no_harness(self, tmp_path: Path) -> None: method test_context_combines_files (line 152) | def test_context_combines_files(self, tmp_path: Path) -> None: method test_context_files_in_python_blocks (line 162) | def test_context_files_in_python_blocks(self, tmp_path: Path) -> None: class TestHarnessRoundtrip (line 175) | class TestHarnessRoundtrip: method test_write_read_roundtrip (line 176) | def test_write_read_roundtrip(self, tmp_path: Path) -> None: method test_list_reflects_writes (line 182) | def test_list_reflects_writes(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_artifact_rendering.py function _finding (line 10) | def _finding(title: str = "Validation ") -> Any: function test_trace_writeup_markdown_is_rendered_from_shared_view_model (line 24) | def test_trace_writeup_markdown_is_rendered_from_shared_view_model() -> ... function test_trace_writeup_html_escapes_model_content_and_links_evidence (line 66) | def test_trace_writeup_html_escapes_model_content_and_links_evidence() -... function test_weakness_report_html_uses_same_domain_view (line 89) | def test_weakness_report_html_uses_same_domain_view() -> None: function _trace_for_timeline (line 116) | def _trace_for_timeline() -> Any: function test_persist_run_inspection_writes_json_and_html (line 180) | def test_persist_run_inspection_writes_json_and_html(tmp_path: Path) -> ... function test_timeline_inspection_view_exposes_per_generation_summaries (line 203) | def test_timeline_inspection_view_exposes_per_generation_summaries() -> ... function test_render_timeline_inspection_html_includes_generation_section (line 225) | def test_render_timeline_inspection_html_includes_generation_section() -... function test_analytics_render_timeline_writes_html_from_stored_trace (line 255) | def test_analytics_render_timeline_writes_html_from_stored_trace(tmp_pat... function test_analytics_render_timeline_rejects_trace_id_path_traversal (line 309) | def test_analytics_render_timeline_rejects_trace_id_path_traversal(tmp_p... function test_analytics_render_timeline_default_output_uses_validated_trace_id (line 361) | def test_analytics_render_timeline_default_output_uses_validated_trace_i... function _settings_for_cli (line 402) | def _settings_for_cli(tmp_path: Path) -> Any: function test_analytics_trace_findings_emits_markdown_writeup (line 414) | def test_analytics_trace_findings_emits_markdown_writeup(tmp_path: Path)... function test_analytics_trace_findings_json_emits_machine_readable_payload (line 444) | def test_analytics_trace_findings_json_emits_machine_readable_payload(tm... function test_analytics_trace_findings_kind_weakness_emits_recommendations (line 473) | def test_analytics_trace_findings_kind_weakness_emits_recommendations(tm... function test_analytics_trace_findings_missing_trace_exits_with_error (line 502) | def test_analytics_trace_findings_missing_trace_exits_with_error(tmp_pat... function test_analytics_trace_findings_json_missing_trace_emits_parseable_error (line 523) | def test_analytics_trace_findings_json_missing_trace_emits_parseable_err... function test_analytics_trace_findings_rejects_trace_id_path_traversal (line 547) | def test_analytics_trace_findings_rejects_trace_id_path_traversal(tmp_pa... function test_scenario_curation_html_is_read_only_and_exportable (line 570) | def test_scenario_curation_html_is_read_only_and_exportable() -> None: FILE: autocontext/tests/test_ast_safety.py class TestCheckAstSafetyClean (line 9) | class TestCheckAstSafetyClean: method test_clean_function (line 10) | def test_clean_function(self) -> None: method test_arithmetic_and_builtins (line 19) | def test_arithmetic_and_builtins(self) -> None: method test_class_definition (line 27) | def test_class_definition(self) -> None: method test_list_comprehension (line 35) | def test_list_comprehension(self) -> None: class TestCheckAstSafetyImports (line 40) | class TestCheckAstSafetyImports: method test_import_blocked (line 41) | def test_import_blocked(self) -> None: method test_from_import_blocked (line 46) | def test_from_import_blocked(self) -> None: method test_multiple_imports_blocked (line 51) | def test_multiple_imports_blocked(self) -> None: class TestCheckAstSafetyDunderAttributes (line 57) | class TestCheckAstSafetyDunderAttributes: method test_class_dunder (line 58) | def test_class_dunder(self) -> None: method test_bases_dunder (line 62) | def test_bases_dunder(self) -> None: method test_subclasses_dunder (line 66) | def test_subclasses_dunder(self) -> None: method test_globals_dunder (line 70) | def test_globals_dunder(self) -> None: method test_builtins_dunder (line 74) | def test_builtins_dunder(self) -> None: method test_code_dunder (line 78) | def test_code_dunder(self) -> None: method test_dict_dunder (line 82) | def test_dict_dunder(self) -> None: method test_mro_dunder (line 86) | def test_mro_dunder(self) -> None: class TestCheckAstSafetyDeniedNames (line 91) | class TestCheckAstSafetyDeniedNames: method test_eval_blocked (line 92) | def test_eval_blocked(self) -> None: method test_compile_blocked (line 97) | def test_compile_blocked(self) -> None: method test_getattr_blocked (line 101) | def test_getattr_blocked(self) -> None: method test_setattr_blocked (line 105) | def test_setattr_blocked(self) -> None: method test_delattr_blocked (line 109) | def test_delattr_blocked(self) -> None: method test_open_blocked (line 113) | def test_open_blocked(self) -> None: method test_breakpoint_blocked (line 117) | def test_breakpoint_blocked(self) -> None: method test_globals_name_blocked (line 121) | def test_globals_name_blocked(self) -> None: method test_locals_name_blocked (line 125) | def test_locals_name_blocked(self) -> None: method test_vars_blocked (line 129) | def test_vars_blocked(self) -> None: method test_dir_blocked (line 133) | def test_dir_blocked(self) -> None: method test_exec_name_blocked (line 137) | def test_exec_name_blocked(self) -> None: class TestCheckAstSafetyNested (line 143) | class TestCheckAstSafetyNested: method test_nested_violation_in_function (line 144) | def test_nested_violation_in_function(self) -> None: method test_nested_violation_in_class (line 154) | def test_nested_violation_in_class(self) -> None: method test_multiple_violations (line 164) | def test_multiple_violations(self) -> None: class TestCheckAstSafetySyntaxError (line 174) | class TestCheckAstSafetySyntaxError: method test_syntax_error_returns_violation (line 175) | def test_syntax_error_returns_violation(self) -> None: class TestCheckAstSafetyClassHierarchyTraversal (line 181) | class TestCheckAstSafetyClassHierarchyTraversal: method test_full_traversal_chain (line 182) | def test_full_traversal_chain(self) -> None: FILE: autocontext/tests/test_auto_sample_input.py class TestNeedsSampleInput (line 13) | class TestNeedsSampleInput: method test_detects_external_data_reference (line 14) | def test_detects_external_data_reference(self) -> None: method test_no_reference_no_need (line 24) | def test_no_reference_no_need(self) -> None: method test_already_has_sample_input (line 34) | def test_already_has_sample_input(self) -> None: method test_inline_data_no_need (line 45) | def test_inline_data_no_need(self) -> None: method test_using_the_provided_with_inline_data_no_need (line 59) | def test_using_the_provided_with_inline_data_no_need(self) -> None: method test_long_plain_prose_still_needs_heal (line 74) | def test_long_plain_prose_still_needs_heal(self) -> None: class TestGenerateSyntheticSampleInput (line 92) | class TestGenerateSyntheticSampleInput: method test_generates_from_description (line 93) | def test_generates_from_description(self) -> None: method test_generates_without_description (line 105) | def test_generates_without_description(self) -> None: method test_generates_json_shaped_input (line 115) | def test_generates_json_shaped_input(self) -> None: class TestHealSpecSampleInput (line 132) | class TestHealSpecSampleInput: method test_heals_missing_sample_input (line 133) | def test_heals_missing_sample_input(self) -> None: method test_drops_unreachable_runtime_context_requirements (line 145) | def test_drops_unreachable_runtime_context_requirements(self) -> None: method test_preserves_runtime_supported_context_requirements (line 166) | def test_preserves_runtime_supported_context_requirements(self) -> None: method test_does_not_overwrite_existing (line 183) | def test_does_not_overwrite_existing(self) -> None: method test_does_not_modify_non_data_tasks (line 195) | def test_does_not_modify_non_data_tasks(self) -> None: method test_does_not_modify_inline_data_task (line 206) | def test_does_not_modify_inline_data_task(self) -> None: method test_healed_spec_passes_validation (line 222) | def test_healed_spec_passes_validation(self) -> None: FILE: autocontext/tests/test_backpressure.py function test_backpressure_is_deterministic (line 4) | def test_backpressure_is_deterministic() -> None: FILE: autocontext/tests/test_backpressure_trend.py function test_trend_gate_delegates_for_single_gen (line 7) | def test_trend_gate_delegates_for_single_gen() -> None: function test_trend_gate_detects_plateau (line 25) | def test_trend_gate_detects_plateau() -> None: function test_trend_gate_consistent_improvement (line 38) | def test_trend_gate_consistent_improvement() -> None: function test_trend_gate_custom_metrics_in_decision (line 50) | def test_trend_gate_custom_metrics_in_decision() -> None: function test_trend_gate_consecutive_rollbacks (line 58) | def test_trend_gate_consecutive_rollbacks() -> None: function test_gate_decision_metadata_field (line 74) | def test_gate_decision_metadata_field() -> None: function test_simple_gate_unchanged (line 85) | def test_simple_gate_unchanged() -> None: FILE: autocontext/tests/test_banner_sync.py function _extract_synced_block (line 24) | def _extract_synced_block(path: Path, start_marker: str, end_marker: str... function test_root_readme_banner_stays_synced (line 31) | def test_root_readme_banner_stays_synced() -> None: function test_root_readme_whats_new_stays_synced (line 39) | def test_root_readme_whats_new_stays_synced() -> None: function test_banner_svg_stays_synced (line 50) | def test_banner_svg_stays_synced() -> None: function test_banner_falls_back_when_assets_are_missing (line 54) | def test_banner_falls_back_when_assets_are_missing(monkeypatch, tmp_path... function test_no_args_cli_does_not_traceback_when_banner_assets_are_missing (line 69) | def test_no_args_cli_does_not_traceback_when_banner_assets_are_missing(m... function test_wheel_packages_banner_assets (line 85) | def test_wheel_packages_banner_assets() -> None: FILE: autocontext/tests/test_blob_store.py class TestBlobRef (line 21) | class TestBlobRef: method test_create_and_serialize (line 22) | def test_create_and_serialize(self) -> None: method test_roundtrip (line 38) | def test_roundtrip(self) -> None: method test_is_hydrated (line 47) | def test_is_hydrated(self) -> None: method test_not_hydrated_when_no_local_path (line 55) | def test_not_hydrated_when_no_local_path(self) -> None: class TestLocalBlobStore (line 67) | class TestLocalBlobStore: method test_put_and_get (line 68) | def test_put_and_get(self) -> None: method test_put_returns_digest (line 80) | def test_put_returns_digest(self) -> None: method test_append_extends_existing_key (line 90) | def test_append_extends_existing_key(self) -> None: method test_get_returns_none_for_missing (line 102) | def test_get_returns_none_for_missing(self) -> None: method test_head (line 109) | def test_head(self) -> None: method test_head_returns_none_for_missing (line 120) | def test_head_returns_none_for_missing(self) -> None: method test_list_prefix (line 127) | def test_list_prefix(self) -> None: method test_delete (line 138) | def test_delete(self) -> None: method test_put_file_and_get_file (line 148) | def test_put_file_and_get_file(self) -> None: method test_content_addressed_dedup (line 161) | def test_content_addressed_dedup(self) -> None: method test_put_rejects_directory_escape (line 171) | def test_put_rejects_directory_escape(self) -> None: class TestHfBucketStore (line 185) | class TestHfBucketStore: method _fake_hf (line 187) | def _fake_hf(remote: dict[str, bytes]): method test_put_calls_hf_upload (line 210) | def test_put_calls_hf_upload(self) -> None: method test_get_calls_hf_download (line 220) | def test_get_calls_hf_download(self) -> None: method test_list_prefix_returns_empty_on_error (line 232) | def test_list_prefix_returns_empty_on_error(self) -> None: method test_head_uses_remote_index_for_fresh_instance (line 241) | def test_head_uses_remote_index_for_fresh_instance(self) -> None: method test_delete_uses_remote_index_for_uncached_key (line 257) | def test_delete_uses_remote_index_for_uncached_key(self) -> None: class TestBlobRegistry (line 278) | class TestBlobRegistry: method test_register_and_lookup (line 279) | def test_register_and_lookup(self) -> None: method test_lookup_missing_returns_none (line 290) | def test_lookup_missing_returns_none(self) -> None: method test_list_for_run (line 296) | def test_list_for_run(self) -> None: method test_save_and_load (line 307) | def test_save_and_load(self) -> None: class TestFactory (line 326) | class TestFactory: method test_creates_local_backend (line 327) | def test_creates_local_backend(self) -> None: method test_creates_hf_backend (line 335) | def test_creates_hf_backend(self) -> None: method test_raises_for_unknown_backend (line 343) | def test_raises_for_unknown_backend(self) -> None: FILE: autocontext/tests/test_blob_store_phase2.py class TestBlobStoreSettings (line 24) | class TestBlobStoreSettings: method test_settings_have_blob_store_fields (line 25) | def test_settings_have_blob_store_fields(self) -> None: class TestHydrationCache (line 41) | class TestHydrationCache: method test_put_and_get (line 44) | def test_put_and_get(self) -> None: method test_get_returns_none_for_missing (line 54) | def test_get_returns_none_for_missing(self) -> None: method test_verify_digest_on_get (line 59) | def test_verify_digest_on_get(self) -> None: method test_eviction_when_over_budget (line 72) | def test_eviction_when_over_budget(self) -> None: method test_total_size (line 87) | def test_total_size(self) -> None: method test_clear (line 94) | def test_clear(self) -> None: method test_put_rejects_escaping_key (line 102) | def test_put_rejects_escaping_key(self) -> None: class TestBlobMirror (line 123) | class TestBlobMirror: method test_mirror_write_sends_to_blob_store (line 126) | def test_mirror_write_sends_to_blob_store(self) -> None: method test_mirror_skips_small_artifacts (line 146) | def test_mirror_skips_small_artifacts(self) -> None: method test_mirror_file (line 158) | def test_mirror_file(self) -> None: method test_mirror_registers_in_registry (line 174) | def test_mirror_registers_in_registry(self) -> None: class TestSyncManager (line 197) | class TestSyncManager: method test_sync_run_copies_artifacts (line 198) | def test_sync_run_copies_artifacts(self) -> None: method test_sync_run_returns_zero_for_missing (line 216) | def test_sync_run_returns_zero_for_missing(self) -> None: method test_sync_run_updates_changed_artifacts (line 223) | def test_sync_run_updates_changed_artifacts(self) -> None: method test_status_shows_counts (line 242) | def test_status_shows_counts(self) -> None: FILE: autocontext/tests/test_blob_store_phase3.py class TestArtifactStoreBlobIntegration (line 23) | class TestArtifactStoreBlobIntegration: method test_artifact_store_write_json_mirrors_when_enabled (line 26) | def test_artifact_store_write_json_mirrors_when_enabled(self) -> None: method test_artifact_store_from_settings_enables_blob_writer (line 45) | def test_artifact_store_from_settings_enables_blob_writer(self) -> None: method test_classify_artifact_kind (line 63) | def test_classify_artifact_kind(self) -> None: class TestBlobCli (line 77) | class TestBlobCli: method test_sync_command_syncs_run (line 80) | def test_sync_command_syncs_run(self) -> None: method test_hydrate_retrieves_from_store (line 99) | def test_hydrate_retrieves_from_store(self) -> None: method test_status_reports_backend_info (line 120) | def test_status_reports_backend_info(self) -> None: class TestTsParity (line 138) | class TestTsParity: method test_ts_blobstore_modules_exist (line 141) | def test_ts_blobstore_modules_exist(self) -> None: FILE: autocontext/tests/test_bootstrap_snapshot.py function _make_snapshot (line 16) | def _make_snapshot(**overrides: object) -> EnvironmentSnapshot: class TestCollector (line 51) | class TestCollector: method test_collect_snapshot_returns_environment_snapshot (line 52) | def test_collect_snapshot_returns_environment_snapshot(self) -> None: method test_collect_core_includes_working_directory (line 56) | def test_collect_core_includes_working_directory(self) -> None: method test_collect_core_includes_os_info (line 61) | def test_collect_core_includes_os_info(self) -> None: method test_collect_runtimes_finds_python (line 66) | def test_collect_runtimes_finds_python(self) -> None: method test_collect_packages_finds_installed (line 71) | def test_collect_packages_finds_installed(self) -> None: method test_collect_filesystem_caps_at_50_files (line 76) | def test_collect_filesystem_caps_at_50_files(self) -> None: method test_collect_git_returns_none_for_non_repo (line 84) | def test_collect_git_returns_none_for_non_repo(self) -> None: method test_collect_git_returns_branch_in_repo (line 92) | def test_collect_git_returns_branch_in_repo(self) -> None: method test_collect_system_returns_positive_values (line 97) | def test_collect_system_returns_positive_values(self) -> None: method test_collector_never_raises (line 102) | def test_collector_never_raises(self) -> None: class TestRedactor (line 121) | class TestRedactor: method test_redact_hostname_replaces_with_redacted (line 122) | def test_redact_hostname_replaces_with_redacted(self) -> None: method test_redact_username_replaces_with_redacted (line 127) | def test_redact_username_replaces_with_redacted(self) -> None: method test_redact_paths_strips_absolute_prefix (line 132) | def test_redact_paths_strips_absolute_prefix(self) -> None: method test_redact_paths_strips_absolute_shell_path (line 137) | def test_redact_paths_strips_absolute_shell_path(self) -> None: method test_redact_records_redacted_fields (line 143) | def test_redact_records_redacted_fields(self) -> None: method test_no_redaction_when_all_disabled (line 150) | def test_no_redaction_when_all_disabled(self) -> None: class TestRenderer (line 163) | class TestRenderer: method test_render_prompt_section_is_compact (line 164) | def test_render_prompt_section_is_compact(self) -> None: method test_render_prompt_section_includes_python_version (line 169) | def test_render_prompt_section_includes_python_version(self) -> None: method test_render_prompt_section_includes_git_info (line 174) | def test_render_prompt_section_includes_git_info(self) -> None: method test_render_prompt_section_handles_missing_git (line 180) | def test_render_prompt_section_handles_missing_git(self) -> None: method test_render_full_json_is_valid_json (line 185) | def test_render_full_json_is_valid_json(self) -> None: method test_render_full_json_roundtrips (line 191) | def test_render_full_json_roundtrips(self) -> None: class TestSerialization (line 206) | class TestSerialization: method test_snapshot_to_dict_roundtrip (line 207) | def test_snapshot_to_dict_roundtrip(self) -> None: method test_snapshot_to_dict_serializes_packages (line 215) | def test_snapshot_to_dict_serializes_packages(self) -> None: FILE: autocontext/tests/test_browser_chrome_cdp.py class FakeTransport (line 12) | class FakeTransport: method __init__ (line 13) | def __init__(self, responses: list[dict]) -> None: method send (line 18) | async def send(self, method: str, params: dict | None = None) -> dict: method close (line 24) | async def close(self) -> None: function test_navigate_blocks_disallowed_domain_before_transport (line 29) | async def test_navigate_blocks_disallowed_domain_before_transport(tmp_pa... function test_snapshot_persists_artifacts_and_click_uses_ref_mapping (line 45) | async def test_snapshot_persists_artifacts_and_click_uses_ref_mapping(tm... function test_snapshot_normalizes_null_ref_fields (line 94) | async def test_snapshot_normalizes_null_ref_fields(tmp_path: Path) -> None: function test_click_records_blocked_when_interaction_leaves_allowlist (line 136) | async def test_click_records_blocked_when_interaction_leaves_allowlist(t... function test_fill_password_denied_when_auth_disabled (line 173) | async def test_fill_password_denied_when_auth_disabled(tmp_path: Path) -... FILE: autocontext/tests/test_browser_context_capture.py class _BlockedSession (line 11) | class _BlockedSession: method navigate (line 14) | async def navigate(self, _url: str): method snapshot (line 17) | async def snapshot(self): method close (line 20) | async def close(self) -> None: class _Runtime (line 24) | class _Runtime: method __init__ (line 25) | def __init__(self, session: _BlockedSession) -> None: method create_session (line 28) | async def create_session(self, _config): function test_capture_browser_context_fails_closed_on_blocked_navigation (line 33) | async def test_capture_browser_context_fails_closed_on_blocked_navigatio... FILE: autocontext/tests/test_browser_contract_fixtures.py function _all_fixtures (line 26) | def _all_fixtures() -> list[Path]: function _validator_for_fixture_name (line 31) | def _validator_for_fixture_name(name: str): function _dict_validator_for_fixture_name (line 43) | def _dict_validator_for_fixture_name(name: str): function test_valid_browser_fixtures_accepted (line 56) | def test_valid_browser_fixtures_accepted(fixture: Path) -> None: function test_valid_browser_fixtures_accepted_by_dict_helpers (line 64) | def test_valid_browser_fixtures_accepted_by_dict_helpers(fixture: Path) ... function test_invalid_browser_fixtures_rejected (line 73) | def test_invalid_browser_fixtures_rejected(fixture: Path) -> None: function test_invalid_browser_fixtures_rejected_by_dict_helpers (line 81) | def test_invalid_browser_fixtures_rejected_by_dict_helpers(fixture: Path... function test_browser_fixture_directory_contains_expected_set (line 89) | def test_browser_fixture_directory_contains_expected_set() -> None: FILE: autocontext/tests/test_browser_discovery.py function test_select_target_prefers_exact_allowed_match (line 14) | def test_select_target_prefers_exact_allowed_match() -> None: function test_select_target_rejects_when_allowlist_does_not_match (line 42) | def test_select_target_rejects_when_allowlist_does_not_match() -> None: function test_target_discovery_fetches_json_list_and_resolves_websocket_url (line 59) | async def test_target_discovery_fetches_json_list_and_resolves_websocket... FILE: autocontext/tests/test_browser_evidence.py function test_append_audit_event_writes_jsonl (line 9) | def test_append_audit_event_writes_jsonl(tmp_path: Path) -> None: function test_persist_snapshot_artifacts_writes_html_and_png (line 39) | def test_persist_snapshot_artifacts_writes_html_and_png(tmp_path: Path) ... function test_persist_snapshot_artifacts_contains_traversal_names (line 57) | def test_persist_snapshot_artifacts_contains_traversal_names(tmp_path: P... FILE: autocontext/tests/test_browser_factory.py function test_browser_runtime_from_settings_returns_none_when_disabled (line 15) | def test_browser_runtime_from_settings_returns_none_when_disabled(tmp_pa... function test_browser_runtime_from_settings_builds_chrome_cdp_runtime (line 24) | def test_browser_runtime_from_settings_builds_chrome_cdp_runtime(tmp_pat... function test_browser_runtime_from_settings_rejects_unknown_backend (line 44) | def test_browser_runtime_from_settings_rejects_unknown_backend(tmp_path:... FILE: autocontext/tests/test_browser_policy.py function test_navigation_requires_allowlisted_domain (line 10) | def test_navigation_requires_allowlisted_domain() -> None: function test_navigation_accepts_exact_and_wildcard_domains (line 27) | def test_navigation_accepts_exact_and_wildcard_domains() -> None: function test_password_fill_requires_auth_opt_in (line 51) | def test_password_fill_requires_auth_opt_in() -> None: function test_session_config_dict_validator_applies_cross_field_policy (line 72) | def test_session_config_dict_validator_applies_cross_field_policy() -> N... function test_session_config_dict_validator_rejects_user_profile_without_auth (line 90) | def test_session_config_dict_validator_rejects_user_profile_without_auth... FILE: autocontext/tests/test_browser_runtime.py class FakeTransport (line 12) | class FakeTransport: method send (line 13) | async def send(self, method: str, params: dict | None = None) -> dict: method close (line 16) | async def close(self) -> None: class FakeDiscovery (line 20) | class FakeDiscovery: method __init__ (line 21) | def __init__(self, websocket_url: str) -> None: method resolve_websocket_url (line 25) | async def resolve_websocket_url(self, config: object, *, preferred_url... function test_runtime_creates_session_with_transport_and_evidence (line 31) | async def test_runtime_creates_session_with_transport_and_evidence(tmp_p... function test_runtime_resolves_transport_url_from_discovery (line 54) | async def test_runtime_resolves_transport_url_from_discovery(tmp_path: P... FILE: autocontext/tests/test_browser_settings.py function test_browser_settings_defaults_are_secure (line 9) | def test_browser_settings_defaults_are_secure() -> None: function test_load_settings_reads_browser_env_vars (line 25) | def test_load_settings_reads_browser_env_vars() -> None: function test_resolve_browser_session_config_normalizes_domains (line 44) | def test_resolve_browser_session_config_normalizes_domains() -> None: FILE: autocontext/tests/test_browser_transport.py function test_websocket_transport_round_trips_cdp_commands (line 15) | async def test_websocket_transport_round_trips_cdp_commands() -> None: function test_websocket_transport_raises_on_cdp_error (line 55) | async def test_websocket_transport_raises_on_cdp_error() -> None: FILE: autocontext/tests/test_buffered_artifacts.py function test_persist_generation_creates_files_with_buffer (line 9) | def test_persist_generation_creates_files_with_buffer(tmp_path: Path) ->... function test_persist_generation_without_buffer (line 37) | def test_persist_generation_without_buffer(tmp_path: Path) -> None: function test_flush_and_shutdown (line 59) | def test_flush_and_shutdown(tmp_path: Path) -> None: function test_playbook_write_stays_synchronous (line 72) | def test_playbook_write_stays_synchronous(tmp_path: Path) -> None: FILE: autocontext/tests/test_buffered_writer.py function test_write_text (line 10) | def test_write_text(tmp_path: Path) -> None: function test_write_json (line 21) | def test_write_json(tmp_path: Path) -> None: function test_append_text (line 33) | def test_append_text(tmp_path: Path) -> None: function test_creates_parent_dirs (line 45) | def test_creates_parent_dirs(tmp_path: Path) -> None: function test_flush_blocks_until_empty (line 56) | def test_flush_blocks_until_empty(tmp_path: Path) -> None: function test_shutdown_flushes_remaining (line 68) | def test_shutdown_flushes_remaining(tmp_path: Path) -> None: function test_no_start_writes_directly (line 77) | def test_no_start_writes_directly(tmp_path: Path) -> None: FILE: autocontext/tests/test_build_prompt_bundle_semantic_compaction.py function test_build_prompt_bundle_accepts_role_specific_evidence_manifests (line 8) | def test_build_prompt_bundle_accepts_role_specific_evidence_manifests() ... function test_build_prompt_bundle_preserves_shared_evidence_when_budgeted (line 30) | def test_build_prompt_bundle_preserves_shared_evidence_when_budgeted() -... function test_build_prompt_bundle_compacts_history_before_budget_fallback (line 52) | def test_build_prompt_bundle_compacts_history_before_budget_fallback() -... function test_build_prompt_bundle_records_compaction_entries (line 83) | def test_build_prompt_bundle_records_compaction_entries() -> None: function test_compaction_entry_uses_final_hook_mutated_summary (line 114) | def test_compaction_entry_uses_final_hook_mutated_summary() -> None: FILE: autocontext/tests/test_classifier_cache.py function _classification (line 19) | def _classification(family: str = "simulation", confidence: float = 0.82... class TestClassifierCacheGetPut (line 31) | class TestClassifierCacheGetPut: method test_get_returns_none_when_file_missing (line 32) | def test_get_returns_none_when_file_missing(self, tmp_path) -> None: method test_put_creates_file_and_get_returns_classification (line 37) | def test_put_creates_file_and_get_returns_classification(self, tmp_pat... method test_get_miss_on_different_description (line 48) | def test_get_miss_on_different_description(self, tmp_path) -> None: method test_multiple_entries_coexist (line 53) | def test_multiple_entries_coexist(self, tmp_path) -> None: class TestClassifierCacheSchemaInvalidation (line 62) | class TestClassifierCacheSchemaInvalidation: method test_get_returns_none_when_registry_changed (line 65) | def test_get_returns_none_when_registry_changed(self, tmp_path) -> None: method test_put_with_new_schema_overwrites_stale_entries (line 72) | def test_put_with_new_schema_overwrites_stale_entries(self, tmp_path) ... method test_registered_family_order_does_not_affect_schema_version (line 86) | def test_registered_family_order_does_not_affect_schema_version(self, ... class TestClassifierCacheRobustness (line 95) | class TestClassifierCacheRobustness: method test_corrupt_json_returns_none_without_raising (line 96) | def test_corrupt_json_returns_none_without_raising(self, tmp_path) -> ... method test_corrupt_file_is_overwritten_by_put (line 103) | def test_corrupt_file_is_overwritten_by_put(self, tmp_path) -> None: method test_put_creates_parent_directory (line 112) | def test_put_creates_parent_directory(self, tmp_path) -> None: method test_file_format_is_json_with_schema_version_and_entries (line 120) | def test_file_format_is_json_with_schema_version_and_entries(self, tmp... class TestLlmFallbackCacheIntegration (line 133) | class TestLlmFallbackCacheIntegration: method _gibberish (line 137) | def _gibberish() -> str: method test_cache_miss_invokes_llm_and_writes_cache (line 140) | def test_cache_miss_invokes_llm_and_writes_cache(self, tmp_path) -> None: method test_cache_none_means_no_caching (line 160) | def test_cache_none_means_no_caching(self, tmp_path) -> None: method test_llm_failure_is_not_cached (line 175) | def test_llm_failure_is_not_cached(self, tmp_path) -> None: method test_cache_hit_preserves_all_fields (line 197) | def test_cache_hit_preserves_all_fields(self, tmp_path) -> None: method test_solve_and_new_scenario_share_live_classifier_cache (line 217) | def test_solve_and_new_scenario_share_live_classifier_cache(self, tmp_... FILE: autocontext/tests/test_classifier_observability.py class TestFamilyClassificationFlag (line 40) | class TestFamilyClassificationFlag: method test_defaults_no_signals_matched_false (line 41) | def test_defaults_no_signals_matched_false(self) -> None: method test_classify_sets_no_signals_matched_true_when_no_keywords_match (line 49) | def test_classify_sets_no_signals_matched_true_when_no_keywords_match(... method test_classify_sets_no_signals_matched_false_when_any_keyword_matches (line 57) | def test_classify_sets_no_signals_matched_false_when_any_keyword_match... class TestLowConfidenceErrorMessage (line 63) | class TestLowConfidenceErrorMessage: method test_message_for_no_signals_fallback (line 64) | def test_message_for_no_signals_fallback(self) -> None: method test_message_for_tied_alternatives (line 81) | def test_message_for_tied_alternatives(self) -> None: method test_message_degrades_cleanly_with_zero_alternatives (line 101) | def test_message_degrades_cleanly_with_zero_alternatives(self) -> None: class TestVocabularyExpansion (line 117) | class TestVocabularyExpansion: method test_ac277_portfolio_prompt_classifies_above_threshold (line 118) | def test_ac277_portfolio_prompt_classifies_above_threshold(self) -> None: method test_each_new_keyword_individually_triggers_non_fallback (line 125) | def test_each_new_keyword_individually_triggers_non_fallback( class TestRouteToFamilyWarningLog (line 135) | class TestRouteToFamilyWarningLog: method test_emits_warning_before_raising (line 136) | def test_emits_warning_before_raising( method test_emits_no_warning_on_happy_path (line 161) | def test_emits_no_warning_on_happy_path( FILE: autocontext/tests/test_claude_cli_retry_budget_sleep.py class _RecordingSleep (line 22) | class _RecordingSleep: method __init__ (line 25) | def __init__(self) -> None: method __call__ (line 28) | def __call__(self, seconds: float) -> None: function _runtime_with_budget (line 32) | def _runtime_with_budget(*, budget_seconds: float, retries: int, backoff... class TestRetrySleepRespectsAttachedBudget (line 46) | class TestRetrySleepRespectsAttachedBudget: method test_retry_skipped_when_external_budget_cannot_cover_backoff (line 47) | def test_retry_skipped_when_external_budget_cannot_cover_backoff(self)... method test_retry_proceeds_when_external_budget_can_cover_backoff (line 74) | def test_retry_proceeds_when_external_budget_can_cover_backoff(self) -... class TestNoBudgetUnchangedBehavior (line 98) | class TestNoBudgetUnchangedBehavior: method test_no_budget_still_sleeps_before_retry (line 101) | def test_no_budget_still_sleeps_before_retry(self) -> None: FILE: autocontext/tests/test_claude_cli_runtime_budget.py class _FakeRun (line 28) | class _FakeRun: method __init__ (line 40) | def __init__(self) -> None: method __call__ (line 44) | def __call__(self, args, **kwargs): # noqa: ANN001 function fake_run (line 54) | def fake_run(monkeypatch): function runtime (line 63) | def runtime() -> ClaudeCLIRuntime: class TestUnbounded (line 74) | class TestUnbounded: method test_passes_per_call_timeout_when_no_budget (line 75) | def test_passes_per_call_timeout_when_no_budget(self, runtime, fake_run): method test_no_budget_means_no_short_circuit (line 80) | def test_no_budget_means_no_short_circuit(self, runtime, fake_run): class TestWithBudget (line 90) | class TestWithBudget: method test_attaching_budget_caps_per_call_timeout (line 91) | def test_attaching_budget_caps_per_call_timeout(self, runtime, fake_run): method test_per_call_timeout_used_when_smaller_than_remaining (line 100) | def test_per_call_timeout_used_when_smaller_than_remaining(self, runti... method test_expired_budget_short_circuits_without_subprocess (line 106) | def test_expired_budget_short_circuits_without_subprocess(self, runtim... method test_budget_message_carries_total_and_elapsed (line 123) | def test_budget_message_carries_total_and_elapsed(self, runtime, fake_... method test_revise_also_respects_budget (line 138) | def test_revise_also_respects_budget(self, runtime, fake_run): class TestDryEnforcement (line 158) | class TestDryEnforcement: method test_budget_check_lives_in_invoke_not_in_each_caller (line 159) | def test_budget_check_lives_in_invoke_not_in_each_caller(self, runtime... FILE: autocontext/tests/test_claude_cli_runtime_factory.py class TestBuildClaudeCliRuntime (line 21) | class TestBuildClaudeCliRuntime: method test_returns_runtime_with_no_budget_when_setting_is_zero (line 24) | def test_returns_runtime_with_no_budget_when_setting_is_zero(self) -> ... method test_returns_runtime_with_budget_when_setting_is_positive (line 31) | def test_returns_runtime_with_budget_when_setting_is_positive(self) ->... method test_propagates_retry_settings_into_config (line 39) | def test_propagates_retry_settings_into_config(self) -> None: method test_model_override_takes_precedence_over_settings (line 54) | def test_model_override_takes_precedence_over_settings(self) -> None: method test_no_model_override_uses_settings (line 61) | def test_no_model_override_uses_settings(self) -> None: class TestRoleClientWiresBudget (line 69) | class TestRoleClientWiresBudget: method test_role_client_runtime_has_budget (line 72) | def test_role_client_runtime_has_budget(self) -> None: method test_role_client_runtime_has_no_budget_when_disabled (line 81) | def test_role_client_runtime_has_no_budget_when_disabled(self) -> None: class TestProviderRegistryWiresBudget (line 90) | class TestProviderRegistryWiresBudget: method test_provider_runtime_has_budget (line 93) | def test_provider_runtime_has_budget(self) -> None: method test_provider_runtime_has_no_budget_when_disabled (line 101) | def test_provider_runtime_has_no_budget_when_disabled(self) -> None: class TestBuildClientFromSettingsStillWiresBudget (line 109) | class TestBuildClientFromSettingsStillWiresBudget: method test_build_client_from_settings_attaches_budget (line 112) | def test_build_client_from_settings_attaches_budget(self) -> None: method test_build_client_from_settings_skips_budget_when_disabled (line 121) | def test_build_client_from_settings_skips_budget_when_disabled(self, s... FILE: autocontext/tests/test_claude_cli_timeout.py class TestClaudeTimeoutDefaults (line 20) | class TestClaudeTimeoutDefaults: method test_app_settings_claude_timeout_default_is_600s (line 21) | def test_app_settings_claude_timeout_default_is_600s(self) -> None: method test_claude_cli_config_default_is_600s (line 27) | def test_claude_cli_config_default_is_600s(self) -> None: method test_env_var_overrides_default (line 31) | def test_env_var_overrides_default(self, monkeypatch: pytest.MonkeyPat... method test_cli_timeout_flag_overrides_default_for_claude_cli (line 39) | def test_cli_timeout_flag_overrides_default_for_claude_cli(self) -> None: class TestClaudeCLIHardKillOnTimeout (line 50) | class TestClaudeCLIHardKillOnTimeout: method _stuck_popen_factory (line 64) | def _stuck_popen_factory(self, recorded: dict): method test_runtime_kills_process_group_on_timeout (line 121) | def test_runtime_kills_process_group_on_timeout(self) -> None: method test_runtime_bounded_when_subprocess_ignores_terminate (line 157) | def test_runtime_bounded_when_subprocess_ignores_terminate(self) -> None: method test_helper_kills_process_group_on_keyboard_interrupt (line 189) | def test_helper_kills_process_group_on_keyboard_interrupt(self) -> None: class TestClaudeCLIRuntimeObservabilityViaHelper (line 259) | class TestClaudeCLIRuntimeObservabilityViaHelper: method test_runtime_logs_invoke_via_helper_patch (line 266) | def test_runtime_logs_invoke_via_helper_patch( FILE: autocontext/tests/test_claude_cli_tools_arg.py function _build_argv (line 17) | def _build_argv(*, tools: str | None) -> list[str]: class TestToolsRendering (line 24) | class TestToolsRendering: method test_none_omits_tools_flag_entirely (line 25) | def test_none_omits_tools_flag_entirely(self): method test_empty_string_uses_equals_form (line 31) | def test_empty_string_uses_equals_form(self): method test_non_empty_tools_uses_equals_form (line 42) | def test_non_empty_tools_uses_equals_form(self): class TestNoRegressionOfOtherFlags (line 51) | class TestNoRegressionOfOtherFlags: method test_other_flags_unchanged (line 52) | def test_other_flags_unchanged(self): FILE: autocontext/tests/test_claude_max_total_seconds.py class TestClaudeMaxTotalSecondsDefaults (line 17) | class TestClaudeMaxTotalSecondsDefaults: method test_default_disabled (line 18) | def test_default_disabled(self) -> None: method test_env_var_sets_budget (line 22) | def test_env_var_sets_budget(self, monkeypatch: pytest.MonkeyPatch) ->... method test_negative_budget_is_rejected (line 29) | def test_negative_budget_is_rejected(self) -> None: class TestClaudeRuntimeWiring (line 38) | class TestClaudeRuntimeWiring: method _build_provider (line 39) | def _build_provider(self, settings: AppSettings): method test_runtime_has_no_budget_when_disabled (line 45) | def test_runtime_has_no_budget_when_disabled(self) -> None: method test_runtime_has_budget_when_set (line 55) | def test_runtime_has_budget_when_set(self) -> None: FILE: autocontext/tests/test_cli_ab_test.py function test_ab_test_command_exists (line 12) | def test_ab_test_command_exists() -> None: function test_ab_test_help_shows_options (line 18) | def test_ab_test_help_shows_options() -> None: FILE: autocontext/tests/test_cli_agent_task.py class _MockAgentTask (line 19) | class _MockAgentTask(AgentTaskInterface): method get_task_prompt (line 20) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 23) | def evaluate_output( method get_rubric (line 34) | def get_rubric(self) -> str: method initial_state (line 37) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 40) | def describe_task(self) -> str: method revise_output (line 43) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class _ContextTask (line 47) | class _ContextTask(_MockAgentTask): method prepare_context (line 48) | def prepare_context(self, state: dict) -> dict: method validate_context (line 53) | def validate_context(self, state: dict) -> list[str]: class _InvalidContextTask (line 57) | class _InvalidContextTask(_MockAgentTask): method validate_context (line 58) | def validate_context(self, state: dict) -> list[str]: class _FakeProvider (line 62) | class _FakeProvider: method __init__ (line 63) | def __init__(self, text: str = "initial output") -> None: method complete (line 66) | def complete(self, system_prompt: str, user_prompt: str, model: str | ... class _FakeLoopResult (line 70) | class _FakeLoopResult: method __init__ (line 71) | def __init__(self) -> None: function _settings (line 86) | def _settings(tmp_path: Path) -> AppSettings: class TestAgentTaskDetection (line 99) | class TestAgentTaskDetection: method test_run_detects_agent_task_and_skips_generation_runner (line 100) | def test_run_detects_agent_task_and_skips_generation_runner(self, tmp_... method test_run_accepts_positional_scenario_and_iterations_alias (line 115) | def test_run_accepts_positional_scenario_and_iterations_alias(self, tm... class TestAgentTaskPersistence (line 131) | class TestAgentTaskPersistence: method test_run_persists_agent_task_as_canonical_run_state (line 132) | def test_run_persists_agent_task_as_canonical_run_state(self, tmp_path... method test_failure_marks_generation_failed (line 174) | def test_failure_marks_generation_failed(self, tmp_path: Path) -> None: class TestAgentTaskRuntimeSelection (line 200) | class TestAgentTaskRuntimeSelection: method test_run_uses_resolved_runtime_not_judge_provider (line 201) | def test_run_uses_resolved_runtime_not_judge_provider(self, tmp_path: ... class TestAgentTaskJsonOutput (line 216) | class TestAgentTaskJsonOutput: method test_json_output_is_structured (line 217) | def test_json_output_is_structured(self, tmp_path: Path) -> None: class TestAgentTaskContextValidation (line 238) | class TestAgentTaskContextValidation: method test_invalid_context_fails_cleanly (line 239) | def test_invalid_context_fails_cleanly(self, tmp_path: Path) -> None: class TestAgentTaskServeRejection (line 253) | class TestAgentTaskServeRejection: method test_serve_mode_rejected_for_agent_tasks (line 254) | def test_serve_mode_rejected_for_agent_tasks(self, tmp_path: Path) -> ... class TestAgentTaskRunSummary (line 265) | class TestAgentTaskRunSummary: method test_summary_json_serializable (line 266) | def test_summary_json_serializable(self) -> None: FILE: autocontext/tests/test_cli_backport.py function strip_ansi (line 22) | def strip_ansi(text: str) -> str: class _FakeProvider (line 26) | class _FakeProvider: method __init__ (line 27) | def __init__(self, outputs: list[str]) -> None: method complete (line 31) | def complete(self, system_prompt: str, user_prompt: str, model: str) -... method default_model (line 41) | def default_model(self) -> str: class TestJudgeCommand (line 45) | class TestJudgeCommand: method test_judge_help (line 46) | def test_judge_help(self) -> None: method test_judge_requires_args (line 53) | def test_judge_requires_args(self) -> None: method test_judge_missing_provider_gives_clear_error (line 57) | def test_judge_missing_provider_gives_clear_error(self) -> None: class TestImproveCommand (line 75) | class TestImproveCommand: method test_improve_help (line 76) | def test_improve_help(self) -> None: method test_improve_requires_args (line 82) | def test_improve_requires_args(self) -> None: method test_improve_generates_initial_output_and_revises (line 86) | def test_improve_generates_initial_output_and_revises(self) -> None: class TestQueueCommand (line 134) | class TestQueueCommand: method test_queue_help (line 135) | def test_queue_help(self) -> None: method test_queue_requires_spec_or_task_prompt (line 144) | def test_queue_requires_spec_or_task_prompt(self) -> None: method test_queue_uses_task_runner_helper_for_saved_spec (line 148) | def test_queue_uses_task_runner_helper_for_saved_spec(self) -> None: method test_queue_add_accepts_direct_task_prompt_aliases (line 167) | def test_queue_add_accepts_direct_task_prompt_aliases(self) -> None: method test_queue_passes_browser_url_through_to_the_runner (line 210) | def test_queue_passes_browser_url_through_to_the_runner(self) -> None: class TestWorkerCommand (line 245) | class TestWorkerCommand: method test_worker_help (line 246) | def test_worker_help(self) -> None: method test_worker_once_wires_task_runner_factory (line 255) | def test_worker_once_wires_task_runner_factory(self) -> None: method test_worker_forces_single_concurrency_for_stateful_provider (line 308) | def test_worker_forces_single_concurrency_for_stateful_provider(self) ... FILE: autocontext/tests/test_cli_error_output.py class TestCliErrorOutput (line 18) | class TestCliErrorOutput: method test_run_error_printed_in_non_json_mode (line 19) | def test_run_error_printed_in_non_json_mode(self) -> None: method test_run_interrupt_printed_in_non_json_mode (line 40) | def test_run_interrupt_printed_in_non_json_mode(self) -> None: method test_json_mode_still_writes_to_stderr (line 60) | def test_json_mode_still_writes_to_stderr(self) -> None: FILE: autocontext/tests/test_cli_family_name.py class TestFromUserInput (line 20) | class TestFromUserInput: method test_known_family_is_accepted (line 21) | def test_known_family_is_accepted(self): method test_empty_string_returns_none (line 30) | def test_empty_string_returns_none(self): method test_unknown_family_raises (line 36) | def test_unknown_family_raises(self): method test_typo_suggests_closest_match (line 42) | def test_typo_suggests_closest_match(self): method test_close_typo_with_underscore_swap (line 52) | def test_close_typo_with_underscore_swap(self): method test_far_input_lists_all_families (line 58) | def test_far_input_lists_all_families(self): class TestImmutability (line 71) | class TestImmutability: method test_name_is_read_only (line 72) | def test_name_is_read_only(self): class TestValueSemantics (line 82) | class TestValueSemantics: method test_two_instances_with_same_name_are_equal (line 83) | def test_two_instances_with_same_name_are_equal(self): method test_hashable (line 88) | def test_hashable(self): class TestCliFriendly (line 99) | class TestCliFriendly: method test_exception_inherits_from_value_error (line 100) | def test_exception_inherits_from_value_error(self): class TestDidYouMean (line 108) | class TestDidYouMean: method test_suggestion_for_known_typos (line 117) | def test_suggestion_for_known_typos(self, user_input, expected_suggest... FILE: autocontext/tests/test_cli_investigate.py function _strip_ansi (line 16) | def _strip_ansi(text: str) -> str: function _make_settings (line 20) | def _make_settings(tmp_path: Path): function _completed_payload (line 33) | def _completed_payload() -> dict[str, object]: class _FakeInvestigationEngine (line 70) | class _FakeInvestigationEngine: method __init__ (line 71) | def __init__(self, **_: object) -> None: method run (line 74) | def run(self, _request): # noqa: ANN001 class _FailingInvestigationEngine (line 80) | class _FailingInvestigationEngine: method __init__ (line 81) | def __init__(self, **_: object) -> None: method run (line 84) | def run(self, _request): # noqa: ANN001 class _CapturingInvestigationEngine (line 92) | class _CapturingInvestigationEngine: method __init__ (line 95) | def __init__(self, **_: object) -> None: method run (line 98) | def run(self, request): # noqa: ANN001 class TestInvestigateCli (line 105) | class TestInvestigateCli: method test_help_exists (line 106) | def test_help_exists(self) -> None: method test_json_success (line 117) | def test_json_success(self, tmp_path: Path) -> None: method test_json_failure_writes_to_stderr (line 133) | def test_json_failure_writes_to_stderr(self, tmp_path: Path) -> None: method test_browser_url_attaches_browser_context_to_the_investigation_request (line 148) | def test_browser_url_attaches_browser_context_to_the_investigation_req... method test_mode_is_forwarded_to_investigation_request (line 188) | def test_mode_is_forwarded_to_investigation_request(self, tmp_path: Pa... method test_iterative_mode_does_not_resolve_architect_runtime (line 206) | def test_iterative_mode_does_not_resolve_architect_runtime(self, tmp_p... FILE: autocontext/tests/test_cli_json.py function _strip_ansi (line 18) | def _strip_ansi(text: str) -> str: function _make_settings (line 22) | def _make_settings(tmp_path: Path): function _setup_db (line 36) | def _setup_db(tmp_path: Path) -> tuple[SQLiteStore, Path]: class TestRunJson (line 51) | class TestRunJson: method test_run_json_success (line 52) | def test_run_json_success(self, tmp_path: Path) -> None: method test_run_json_has_all_fields (line 74) | def test_run_json_has_all_fields(self, tmp_path: Path) -> None: method test_run_json_error_writes_to_stderr (line 99) | def test_run_json_error_writes_to_stderr(self) -> None: method test_run_json_rejects_serve_mode (line 111) | def test_run_json_rejects_serve_mode(self) -> None: class TestResumeJson (line 125) | class TestResumeJson: method test_resume_json_success (line 126) | def test_resume_json_success(self) -> None: method test_resume_json_error_writes_to_stderr (line 149) | def test_resume_json_error_writes_to_stderr(self) -> None: class TestListJson (line 167) | class TestListJson: method test_list_json_empty (line 168) | def test_list_json_empty(self, tmp_path: Path) -> None: method test_list_json_bootstraps_fresh_workspace (line 180) | def test_list_json_bootstraps_fresh_workspace(self, tmp_path: Path) ->... method test_list_json_populated (line 191) | def test_list_json_populated(self, tmp_path: Path) -> None: method test_list_json_is_valid_json (line 211) | def test_list_json_is_valid_json(self, tmp_path: Path) -> None: class TestStatusJson (line 229) | class TestStatusJson: method test_status_json_success (line 230) | def test_status_json_success(self, tmp_path: Path) -> None: method test_status_json_no_generations (line 260) | def test_status_json_no_generations(self, tmp_path: Path) -> None: method test_status_json_bootstraps_fresh_workspace (line 274) | def test_status_json_bootstraps_fresh_workspace(self, tmp_path: Path) ... method test_status_json_is_valid_json (line 285) | def test_status_json_is_valid_json(self, tmp_path: Path) -> None: class TestTrainJson (line 303) | class TestTrainJson: method test_train_json_success (line 304) | def test_train_json_success(self) -> None: method test_train_json_error (line 330) | def test_train_json_error(self) -> None: class TestExportJson (line 343) | class TestExportJson: method test_export_json_success (line 344) | def test_export_json_success(self, tmp_path: Path) -> None: method test_export_json_missing_scenario (line 380) | def test_export_json_missing_scenario(self, tmp_path: Path) -> None: class TestSolveJson (line 402) | class TestSolveJson: method test_solve_json_success (line 403) | def test_solve_json_success(self, tmp_path: Path) -> None: method test_solve_json_writes_output_file (line 447) | def test_solve_json_writes_output_file(self, tmp_path: Path) -> None: method test_solve_json_failure_writes_to_stderr (line 502) | def test_solve_json_failure_writes_to_stderr(self, tmp_path: Path) -> ... class TestImportPackageJson (line 532) | class TestImportPackageJson: method test_import_json_success (line 533) | def test_import_json_success(self, tmp_path: Path) -> None: method test_import_json_missing_file (line 564) | def test_import_json_missing_file(self, tmp_path: Path) -> None: class TestEcosystemJson (line 578) | class TestEcosystemJson: method test_ecosystem_json_success (line 579) | def test_ecosystem_json_success(self) -> None: class TestWaitJson (line 619) | class TestWaitJson: method test_wait_json_timeout (line 620) | def test_wait_json_timeout(self, tmp_path: Path) -> None: method test_wait_json_fired (line 643) | def test_wait_json_fired(self, tmp_path: Path) -> None: method test_wait_json_unknown_condition (line 673) | def test_wait_json_unknown_condition(self, tmp_path: Path) -> None: method test_wait_human_timeout_message (line 689) | def test_wait_human_timeout_message(self, tmp_path: Path) -> None: method test_wait_human_fired_message (line 708) | def test_wait_human_fired_message(self, tmp_path: Path) -> None: class TestErrorStderr (line 739) | class TestErrorStderr: method test_train_json_error_writes_to_stderr (line 740) | def test_train_json_error_writes_to_stderr(self) -> None: method test_import_json_missing_file_writes_to_stderr (line 750) | def test_import_json_missing_file_writes_to_stderr(self, tmp_path: Pat... class TestFlagPresence (line 769) | class TestFlagPresence: method test_json_flag_in_run_help (line 770) | def test_json_flag_in_run_help(self) -> None: method test_json_flag_in_list_help (line 775) | def test_json_flag_in_list_help(self) -> None: FILE: autocontext/tests/test_cli_preset.py function _normalize_help_output (line 18) | def _normalize_help_output(output: str) -> str: function test_cli_preset_rapid_applies_values (line 24) | def test_cli_preset_rapid_applies_values() -> None: function test_cli_preset_overrides_env_var (line 36) | def test_cli_preset_overrides_env_var() -> None: function test_cli_run_help_documents_presets (line 58) | def test_cli_run_help_documents_presets() -> None: FILE: autocontext/tests/test_cli_runtime_timeout_overrides.py class _RecordingProvider (line 19) | class _RecordingProvider: method __init__ (line 20) | def __init__(self, text: str = "generated output") -> None: method complete (line 24) | def complete( method default_model (line 40) | def default_model(self) -> str: class _TimeoutProvider (line 44) | class _TimeoutProvider: method complete (line 45) | def complete( method default_model (line 55) | def default_model(self) -> str: class _FakeLoopResult (line 59) | class _FakeLoopResult: method __init__ (line 60) | def __init__(self) -> None: class _FakeJudge (line 68) | class _FakeJudge: method __init__ (line 69) | def __init__(self, *, provider, model: str, rubric: str, **_: object) ... method evaluate (line 74) | def evaluate(self, *, task_prompt: str, agent_output: str, **_: object... function _settings (line 82) | def _settings(tmp_path: Path) -> AppSettings: class TestJudgeRuntimeTimeoutOverrides (line 96) | class TestJudgeRuntimeTimeoutOverrides: method test_judge_applies_timeout_override_to_claude_cli_provider (line 97) | def test_judge_applies_timeout_override_to_claude_cli_provider(self, t... class TestImproveRuntimeTimeoutOverrides (line 135) | class TestImproveRuntimeTimeoutOverrides: method test_improve_applies_timeout_override_to_claude_cli_provider (line 136) | def test_improve_applies_timeout_override_to_claude_cli_provider(self,... method test_improve_accepts_checkpoint_command_options (line 174) | def test_improve_accepts_checkpoint_command_options(self, tmp_path: Pa... method test_improve_timeout_error_mentions_timeout_override (line 207) | def test_improve_timeout_error_mentions_timeout_override(self, tmp_pat... method test_improve_applies_claude_max_total_seconds_override (line 234) | def test_improve_applies_claude_max_total_seconds_override(self, tmp_p... method test_improve_claude_max_total_seconds_ignored_for_non_claude_provider (line 272) | def test_improve_claude_max_total_seconds_ignored_for_non_claude_provi... method test_improve_applies_claude_max_total_seconds_under_auto_judge_provider (line 309) | def test_improve_applies_claude_max_total_seconds_under_auto_judge_pro... method test_improve_timeout_help_mentions_provider_setting (line 347) | def test_improve_timeout_help_mentions_provider_setting(self) -> None: class TestPiRpcRuntimeTimeoutOverrides (line 359) | class TestPiRpcRuntimeTimeoutOverrides: method test_pi_rpc_provider_uses_runtime_timeout_override (line 360) | def test_pi_rpc_provider_uses_runtime_timeout_override(self, tmp_path:... FILE: autocontext/tests/test_cli_simulate_runtime.py class _RecordingClient (line 16) | class _RecordingClient: method __init__ (line 17) | def __init__(self, text: str) -> None: method generate (line 21) | def generate( class _FakeSimulationEngine (line 40) | class _FakeSimulationEngine: method __init__ (line 41) | def __init__(self, llm_fn, knowledge_root: Path) -> None: # noqa: ANN001 method run (line 45) | def run(self, **_: object) -> dict[str, object]: class _FakeOrchestrator (line 53) | class _FakeOrchestrator: method __init__ (line 54) | def __init__(self, client: _RecordingClient, model: str) -> None: method resolve_role_execution (line 59) | def resolve_role_execution( function _settings (line 78) | def _settings(tmp_path: Path, **overrides: object) -> AppSettings: class TestSimulateRuntimeResolution (line 94) | class TestSimulateRuntimeResolution: method test_simulate_uses_architect_role_runtime_instead_of_judge_provider (line 95) | def test_simulate_uses_architect_role_runtime_instead_of_judge_provide... method test_simulate_provider_flag_overrides_architect_runtime (line 136) | def test_simulate_provider_flag_overrides_architect_runtime(self, tmp_... method test_simulate_uses_resolved_architect_model (line 165) | def test_simulate_uses_resolved_architect_model(self, tmp_path: Path) ... FILE: autocontext/tests/test_cli_solve_runtime.py class _CapturingSolveManager (line 16) | class _CapturingSolveManager: method __init__ (line 22) | def __init__(self, settings: AppSettings) -> None: method solve_sync (line 25) | def solve_sync( class _FailingSolveManager (line 59) | class _FailingSolveManager: method __init__ (line 60) | def __init__(self, settings: AppSettings) -> None: method solve_sync (line 63) | def solve_sync( class _BudgetedFailingSolveManager (line 81) | class _BudgetedFailingSolveManager: method __init__ (line 82) | def __init__(self, settings: AppSettings) -> None: method solve_sync (line 85) | def solve_sync( class _FallbackSolveManager (line 103) | class _FallbackSolveManager: method __init__ (line 104) | def __init__(self, settings: AppSettings) -> None: method solve_sync (line 107) | def solve_sync( function _settings (line 139) | def _settings(tmp_path: Path, **overrides: object) -> AppSettings: class TestSolveRuntimeOverrides (line 155) | class TestSolveRuntimeOverrides: method test_solve_accepts_plain_language_positional_description (line 156) | def test_solve_accepts_plain_language_positional_description(self, tmp... method test_solve_accepts_iterations_alias (line 180) | def test_solve_accepts_iterations_alias(self, tmp_path: Path) -> None: method test_solve_prefers_description_option_over_positional_description (line 203) | def test_solve_prefers_description_option_over_positional_description(... method test_solve_timeout_override_updates_runtime_settings (line 226) | def test_solve_timeout_override_updates_runtime_settings(self, tmp_pat... method test_solve_generation_time_budget_override_updates_settings (line 251) | def test_solve_generation_time_budget_override_updates_settings(self, ... method test_solve_timeout_error_mentions_timeout_override (line 276) | def test_solve_timeout_error_mentions_timeout_override(self, tmp_path:... method test_solve_json_timeout_error_reports_effective_budgeted_role_timeout (line 303) | def test_solve_json_timeout_error_reports_effective_budgeted_role_time... method test_solve_json_output_surfaces_classifier_fallback_flag (line 335) | def test_solve_json_output_surfaces_classifier_fallback_flag(self, tmp... FILE: autocontext/tests/test_coach_competitor_hints.py function test_coach_prompt_requests_hints (line 9) | def test_coach_prompt_requests_hints() -> None: function test_parse_coach_hints (line 24) | def test_parse_coach_hints() -> None: function test_hints_included_in_next_gen_competitor_prompt (line 37) | def test_hints_included_in_next_gen_competitor_prompt() -> None: function test_missing_hints_defaults_empty (line 54) | def test_missing_hints_defaults_empty() -> None: FILE: autocontext/tests/test_cockpit.py function _make_store (line 23) | def _make_store(tmp_path: Path) -> SQLiteStore: function _make_artifacts (line 29) | def _make_artifacts(tmp_path: Path) -> ArtifactStore: function _seed_run (line 38) | def _seed_run(store: SQLiteStore, run_id: str = "run1", scenario: str = ... function _seed_agent_outputs (line 47) | def _seed_agent_outputs(store: SQLiteStore, run_id: str = "run1") -> None: function cockpit_env (line 57) | def cockpit_env(tmp_path: Path) -> Generator[dict[str, Any], None, None]: class TestWriteup (line 84) | class TestWriteup: method test_generates_markdown (line 85) | def test_generates_markdown(self, tmp_path: Path) -> None: method test_includes_score_trajectory (line 94) | def test_includes_score_trajectory(self, tmp_path: Path) -> None: method test_includes_gate_decisions (line 102) | def test_includes_gate_decisions(self, tmp_path: Path) -> None: method test_includes_playbook_excerpt (line 109) | def test_includes_playbook_excerpt(self, tmp_path: Path) -> None: method test_empty_run (line 120) | def test_empty_run(self, tmp_path: Path) -> None: method test_includes_best_strategy (line 127) | def test_includes_best_strategy(self, tmp_path: Path) -> None: method test_prefers_persisted_trace_grounded_writeup (line 135) | def test_prefers_persisted_trace_grounded_writeup(self, tmp_path: Path... method test_generates_html_from_persisted_trace_grounded_writeup (line 159) | def test_generates_html_from_persisted_trace_grounded_writeup(self, tm... method test_cockpit_writeup_endpoint_returns_html_additively (line 195) | def test_cockpit_writeup_endpoint_returns_html_additively(self, cockpi... method test_scenario_curation_endpoint_persists_read_only_html (line 210) | def test_scenario_curation_endpoint_persists_read_only_html(self, cock... method test_scenario_curation_endpoint_rejects_dot_segments (line 234) | def test_scenario_curation_endpoint_rejects_dot_segments(self, cockpit... method test_scenario_curation_writer_rejects_path_escape (line 244) | def test_scenario_curation_writer_rejects_path_escape(self, tmp_path: ... class TestChangelog (line 258) | class TestChangelog: method test_builds_changelog (line 259) | def test_builds_changelog(self, tmp_path: Path) -> None: method test_score_deltas (line 268) | def test_score_deltas(self, tmp_path: Path) -> None: method test_elo_deltas (line 277) | def test_elo_deltas(self, tmp_path: Path) -> None: method test_gate_decision_included (line 286) | def test_gate_decision_included(self, tmp_path: Path) -> None: method test_empty_run (line 294) | def test_empty_run(self, tmp_path: Path) -> None: method test_new_tools_detected (line 302) | def test_new_tools_detected(self, tmp_path: Path) -> None: method test_duration_included (line 311) | def test_duration_included(self, tmp_path: Path) -> None: method test_playbook_changed_tracks_real_coach_outputs (line 319) | def test_playbook_changed_tracks_real_coach_outputs(self, tmp_path: Pa... class TestCockpitRunsEndpoint (line 343) | class TestCockpitRunsEndpoint: method test_list_runs (line 344) | def test_list_runs(self, cockpit_env: dict[str, Any]) -> None: method test_list_runs_empty (line 358) | def test_list_runs_empty(self, cockpit_env: dict[str, Any]) -> None: class TestCockpitRunStatus (line 364) | class TestCockpitRunStatus: method test_run_status (line 365) | def test_run_status(self, cockpit_env: dict[str, Any]) -> None: method test_run_context_selection_report (line 381) | def test_run_context_selection_report(self, cockpit_env: dict[str, Any... method test_run_context_selection_report_missing (line 428) | def test_run_context_selection_report_missing(self, cockpit_env: dict[... class TestCockpitChangelog (line 435) | class TestCockpitChangelog: method test_changelog_endpoint (line 436) | def test_changelog_endpoint(self, cockpit_env: dict[str, Any]) -> None: class TestCockpitCompare (line 445) | class TestCockpitCompare: method test_compare_generations (line 446) | def test_compare_generations(self, cockpit_env: dict[str, Any]) -> None: method test_compare_nonexistent_generation (line 456) | def test_compare_nonexistent_generation(self, cockpit_env: dict[str, A... class TestCockpitResume (line 462) | class TestCockpitResume: method test_resume_completed_run (line 463) | def test_resume_completed_run(self, cockpit_env: dict[str, Any]) -> None: method test_resume_running_run (line 473) | def test_resume_running_run(self, cockpit_env: dict[str, Any]) -> None: method test_resume_nonexistent_run (line 486) | def test_resume_nonexistent_run(self, cockpit_env: dict[str, Any]) -> ... class TestCockpitWriteup (line 491) | class TestCockpitWriteup: method test_writeup_endpoint (line 492) | def test_writeup_endpoint(self, cockpit_env: dict[str, Any]) -> None: method test_writeup_nonexistent_run (line 502) | def test_writeup_nonexistent_run(self, cockpit_env: dict[str, Any]) ->... FILE: autocontext/tests/test_cockpit_consultation_integration.py function _make_store (line 35) | def _make_store(tmp_path: Path) -> SQLiteStore: function _make_artifacts (line 41) | def _make_artifacts(tmp_path: Path) -> ArtifactStore: function _seed_run (line 50) | def _seed_run(store: SQLiteStore, run_id: str = "test-run", gens: int = ... function _make_settings (line 58) | def _make_settings(tmp_path: Path, **overrides: Any) -> AppSettings: function cockpit_consultation_env (line 78) | def cockpit_consultation_env(tmp_path: Path) -> Generator[dict[str, Any]... function _mock_create_provider (line 100) | def _mock_create_provider() -> MagicMock: class TestConsultEndpointSuccess (line 117) | class TestConsultEndpointSuccess: method test_successful_consultation (line 120) | def test_successful_consultation(self, cockpit_consultation_env: dict[... method test_response_includes_advisory_markdown (line 141) | def test_response_includes_advisory_markdown(self, cockpit_consultatio... class TestConsultEndpointDisabled (line 156) | class TestConsultEndpointDisabled: method test_consultation_disabled (line 159) | def test_consultation_disabled(self, tmp_path: Path) -> None: class TestConsultEndpointNotFound (line 175) | class TestConsultEndpointNotFound: method test_nonexistent_run (line 178) | def test_nonexistent_run(self, cockpit_consultation_env: dict[str, Any... class TestConsultEndpointBudgetExceeded (line 185) | class TestConsultEndpointBudgetExceeded: method test_budget_exceeded (line 188) | def test_budget_exceeded(self, tmp_path: Path) -> None: class TestConsultEndpointNoApiKey (line 219) | class TestConsultEndpointNoApiKey: method test_no_api_key (line 222) | def test_no_api_key(self, tmp_path: Path) -> None: class TestConsultEndpointSpecificGeneration (line 238) | class TestConsultEndpointSpecificGeneration: method test_specific_generation (line 241) | def test_specific_generation(self, cockpit_consultation_env: dict[str,... method test_missing_generation_returns_404 (line 253) | def test_missing_generation_returns_404(self, cockpit_consultation_env... class TestConsultEndpointDefaultGeneration (line 265) | class TestConsultEndpointDefaultGeneration: method test_defaults_to_latest_generation (line 268) | def test_defaults_to_latest_generation(self, cockpit_consultation_env:... method test_no_generations_returns_400 (line 280) | def test_no_generations_returns_400(self, cockpit_consultation_env: di... class TestConsultEndpointContextSummary (line 292) | class TestConsultEndpointContextSummary: method test_custom_context_summary (line 295) | def test_custom_context_summary(self, cockpit_consultation_env: dict[s... method test_uses_latest_competitor_output_for_strategy_summary (line 312) | def test_uses_latest_competitor_output_for_strategy_summary(self, cock... class TestConsultEndpointPersistence (line 328) | class TestConsultEndpointPersistence: method test_consultation_persisted (line 331) | def test_consultation_persisted(self, cockpit_consultation_env: dict[s... class TestConsultEndpointArtifact (line 351) | class TestConsultEndpointArtifact: method test_advisory_artifact_written (line 354) | def test_advisory_artifact_written(self, cockpit_consultation_env: dic... method test_existing_consultation_artifact_is_appended (line 373) | def test_existing_consultation_artifact_is_appended(self, cockpit_cons... class TestConsultEndpointProviderFailure (line 390) | class TestConsultEndpointProviderFailure: method test_provider_failure (line 393) | def test_provider_failure(self, cockpit_consultation_env: dict[str, An... class TestConsultEndpointNoSettings (line 407) | class TestConsultEndpointNoSettings: method test_missing_settings (line 410) | def test_missing_settings(self, tmp_path: Path) -> None: class TestListConsultations (line 430) | class TestListConsultations: method test_list_consultations_after_creating (line 433) | def test_list_consultations_after_creating(self, cockpit_consultation_... method test_list_consultations_empty (line 451) | def test_list_consultations_empty(self, cockpit_consultation_env: dict... FILE: autocontext/tests/test_cockpit_notebook_integration.py function _make_store (line 31) | def _make_store(tmp_path: Path) -> SQLiteStore: function _make_artifacts (line 37) | def _make_artifacts(tmp_path: Path) -> ArtifactStore: function _seed_run (line 46) | def _seed_run(store: SQLiteStore, run_id: str = "run1", scenario: str = ... function cockpit_env (line 56) | def cockpit_env(tmp_path: Path) -> Generator[dict[str, Any], None, None]: class TestCockpitCreateNotebook (line 83) | class TestCockpitCreateNotebook: method test_create_notebook (line 84) | def test_create_notebook(self, cockpit_env: dict[str, Any]) -> None: method test_create_without_scenario_name_400 (line 96) | def test_create_without_scenario_name_400(self, cockpit_env: dict[str,... method test_create_with_all_fields (line 105) | def test_create_with_all_fields(self, cockpit_env: dict[str, Any]) -> ... class TestCockpitGetNotebook (line 138) | class TestCockpitGetNotebook: method test_get_existing_notebook (line 139) | def test_get_existing_notebook(self, cockpit_env: dict[str, Any]) -> N... method test_get_nonexistent_notebook_404 (line 151) | def test_get_nonexistent_notebook_404(self, cockpit_env: dict[str, Any... method test_get_effective_context_preview (line 157) | def test_get_effective_context_preview(self, cockpit_env: dict[str, An... class TestCockpitListNotebooks (line 185) | class TestCockpitListNotebooks: method test_list_empty (line 186) | def test_list_empty(self, cockpit_env: dict[str, Any]) -> None: method test_list_multiple (line 192) | def test_list_multiple(self, cockpit_env: dict[str, Any]) -> None: class TestCockpitUpdateNotebook (line 215) | class TestCockpitUpdateNotebook: method test_update_existing_notebook (line 216) | def test_update_existing_notebook(self, cockpit_env: dict[str, Any]) -... method test_update_score_fields (line 231) | def test_update_score_fields(self, cockpit_env: dict[str, Any]) -> None: class TestCockpitDeleteNotebook (line 253) | class TestCockpitDeleteNotebook: method test_delete_existing_notebook (line 254) | def test_delete_existing_notebook(self, cockpit_env: dict[str, Any]) -... method test_delete_nonexistent_notebook_404 (line 270) | def test_delete_nonexistent_notebook_404(self, cockpit_env: dict[str, ... class TestCockpitNotebookIsolation (line 282) | class TestCockpitNotebookIsolation: method test_session_isolation (line 283) | def test_session_isolation(self, cockpit_env: dict[str, Any]) -> None: method test_delete_does_not_affect_other_sessions (line 302) | def test_delete_does_not_affect_other_sessions(self, cockpit_env: dict... class TestCockpitNotebookFilesystemSync (line 327) | class TestCockpitNotebookFilesystemSync: method test_put_creates_notebook_json (line 328) | def test_put_creates_notebook_json(self, cockpit_env: dict[str, Any]) ... method test_delete_removes_notebook_json (line 340) | def test_delete_removes_notebook_json(self, cockpit_env: dict[str, Any... class TestCockpitReadOnlyEndpointsUnchanged (line 358) | class TestCockpitReadOnlyEndpointsUnchanged: method test_list_runs_still_works (line 359) | def test_list_runs_still_works(self, cockpit_env: dict[str, Any]) -> N... method test_run_status_still_works (line 368) | def test_run_status_still_works(self, cockpit_env: dict[str, Any]) -> ... method test_resume_still_works (line 377) | def test_resume_still_works(self, cockpit_env: dict[str, Any]) -> None: method test_resume_includes_effective_notebook_context_when_available (line 384) | def test_resume_includes_effective_notebook_context_when_available(sel... method test_compare_still_works (line 403) | def test_compare_still_works(self, cockpit_env: dict[str, Any]) -> None: method test_writeup_still_works (line 409) | def test_writeup_still_works(self, cockpit_env: dict[str, Any]) -> None: class TestCockpitNotebookEventEmission (line 422) | class TestCockpitNotebookEventEmission: method test_put_emits_event (line 423) | def test_put_emits_event(self, cockpit_env: dict[str, Any]) -> None: method test_delete_emits_event (line 440) | def test_delete_emits_event(self, cockpit_env: dict[str, Any]) -> None: FILE: autocontext/tests/test_code_strategies.py class TestTranslateCode (line 12) | class TestTranslateCode: method _make_translator (line 15) | def _make_translator(self) -> StrategyTranslator: method test_extracts_python_from_fenced_block (line 20) | def test_extracts_python_from_fenced_block(self) -> None: method test_extracts_from_plain_fenced_block (line 27) | def test_extracts_from_plain_fenced_block(self) -> None: method test_extracts_from_plain_text_without_fences (line 33) | def test_extracts_from_plain_text_without_fences(self) -> None: method test_returns_code_key_dict (line 39) | def test_returns_code_key_dict(self) -> None: method test_strips_leading_trailing_whitespace (line 45) | def test_strips_leading_trailing_whitespace(self) -> None: method test_raises_on_empty_code (line 51) | def test_raises_on_empty_code(self) -> None: method test_raises_on_blank_input (line 57) | def test_raises_on_blank_input(self) -> None: method test_execution_has_translator_role (line 62) | def test_execution_has_translator_role(self) -> None: class TestCodeStrategySetting (line 70) | class TestCodeStrategySetting: method test_default_is_false (line 71) | def test_default_is_false(self) -> None: method test_can_enable (line 75) | def test_can_enable(self) -> None: class TestCodeStrategyPromptSuffix (line 80) | class TestCodeStrategyPromptSuffix: method test_suffix_contains_code_strategy_mode (line 81) | def test_suffix_contains_code_strategy_mode(self) -> None: method test_suffix_includes_strategy_interface (line 88) | def test_suffix_includes_strategy_interface(self) -> None: method test_suffix_mentions_get_observation (line 94) | def test_suffix_mentions_get_observation(self) -> None: class TestDeterministicCodeStrategy (line 101) | class TestDeterministicCodeStrategy: method test_code_strategy_response_contains_python_fence (line 102) | def test_code_strategy_response_contains_python_fence(self) -> None: method test_code_strategy_response_for_othello (line 115) | def test_code_strategy_response_for_othello(self) -> None: method test_code_strategy_extractable_by_translator (line 128) | def test_code_strategy_extractable_by_translator(self) -> None: class TestMontyCodeStrategyScript (line 145) | class TestMontyCodeStrategyScript: method test_code_strategy_script_is_valid_python (line 146) | def test_code_strategy_script_is_valid_python(self) -> None: method test_code_strategy_script_references_extended_externals (line 152) | def test_code_strategy_script_references_extended_externals(self) -> N... method test_code_strategy_script_embeds_agent_code (line 163) | def test_code_strategy_script_embeds_agent_code(self) -> None: class TestMontyCodeStrategyDispatch (line 171) | class TestMontyCodeStrategyDispatch: method _make_scenario (line 172) | def _make_scenario(self) -> MagicMock: method test_dispatch_get_observation (line 192) | def test_dispatch_get_observation(self) -> None: method test_dispatch_initial_state_in_code_mode (line 203) | def test_dispatch_initial_state_in_code_mode(self) -> None: method test_dispatch_validate_actions_in_code_mode (line 212) | def test_dispatch_validate_actions_in_code_mode(self) -> None: method test_dispatch_unknown_raises (line 221) | def test_dispatch_unknown_raises(self) -> None: class TestMontyCodeStrategyExecute (line 231) | class TestMontyCodeStrategyExecute: method _make_scenario (line 232) | def _make_scenario(self) -> MagicMock: method _build_success_mock (line 251) | def _build_success_mock(self) -> MagicMock: method test_execute_code_strategy_success (line 278) | def test_execute_code_strategy_success(self) -> None: method test_execute_code_strategy_via_code_key (line 298) | def test_execute_code_strategy_via_code_key(self) -> None: method test_execute_code_strategy_runtime_error_returns_zero (line 318) | def test_execute_code_strategy_runtime_error_returns_zero(self) -> None: method test_local_executor_detects_code_key (line 341) | def test_local_executor_detects_code_key(self) -> None: method test_regular_strategy_unchanged (line 361) | def test_regular_strategy_unchanged(self) -> None: class TestOrchestratorCodeRouting (line 404) | class TestOrchestratorCodeRouting: method test_code_strategies_calls_translate_code (line 405) | def test_code_strategies_calls_translate_code(self) -> None: method test_normal_mode_calls_translate (line 435) | def test_normal_mode_calls_translate(self) -> None: method test_code_strategy_appends_suffix_to_prompt (line 463) | def test_code_strategy_appends_suffix_to_prompt(self) -> None: class TestStageValidationSkip (line 499) | class TestStageValidationSkip: method test_code_strategy_skips_validation_in_stage (line 500) | def test_code_strategy_skips_validation_in_stage(self) -> None: FILE: autocontext/tests/test_code_strategies_e2e.py class FakeCodeScenario (line 12) | class FakeCodeScenario: method initial_state (line 17) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 20) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 27) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 35) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 47) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 50) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 61) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: function _simulate_code_execution (line 65) | def _simulate_code_execution( function _build_code_monty_mock (line 88) | def _build_code_monty_mock(scenario: FakeCodeScenario, seed: int) -> Mag... function _build_error_monty_mock (line 124) | def _build_error_monty_mock() -> MagicMock: class TestCodeStrategyE2EValid (line 131) | class TestCodeStrategyE2EValid: method test_code_strategy_through_monty_executor (line 132) | def test_code_strategy_through_monty_executor(self) -> None: method test_code_strategy_through_local_executor (line 149) | def test_code_strategy_through_local_executor(self) -> None: method test_code_strategy_via_execute_code_key (line 167) | def test_code_strategy_via_execute_code_key(self) -> None: class TestCodeStrategyE2EInvalid (line 183) | class TestCodeStrategyE2EInvalid: method test_runtime_error_returns_zero (line 184) | def test_runtime_error_returns_zero(self) -> None: method test_runtime_error_via_code_key (line 201) | def test_runtime_error_via_code_key(self) -> None: class TestCodeStrategyE2EWithSupervisor (line 218) | class TestCodeStrategyE2EWithSupervisor: method test_code_strategy_through_execution_supervisor (line 219) | def test_code_strategy_through_execution_supervisor(self) -> None: method test_code_strategy_through_scenario_evaluator (line 239) | def test_code_strategy_through_scenario_evaluator(self) -> None: FILE: autocontext/tests/test_codex_cli_runtime.py class TestCodexCLIConfig (line 16) | class TestCodexCLIConfig: method test_defaults (line 17) | def test_defaults(self) -> None: method test_custom (line 25) | def test_custom(self) -> None: class TestCodexCLIRuntime (line 38) | class TestCodexCLIRuntime: method test_name (line 39) | def test_name(self) -> None: method test_build_args_basic (line 45) | def test_build_args_basic(self) -> None: method test_build_args_with_schema (line 57) | def test_build_args_with_schema(self) -> None: method test_build_args_quiet_mode (line 67) | def test_build_args_quiet_mode(self) -> None: method test_parse_jsonl_output (line 76) | def test_parse_jsonl_output(self) -> None: method test_parse_plain_text_fallback (line 92) | def test_parse_plain_text_fallback(self) -> None: method test_generate_invokes_subprocess (line 99) | def test_generate_invokes_subprocess(self) -> None: method test_revise_builds_revision_prompt (line 117) | def test_revise_builds_revision_prompt(self) -> None: method test_timeout_handled (line 137) | def test_timeout_handled(self) -> None: class TestCodexProviderRouting (line 157) | class TestCodexProviderRouting: method test_codex_is_recognized_provider_type (line 158) | def test_codex_is_recognized_provider_type(self) -> None: method test_cli_runtimes_listed (line 164) | def test_cli_runtimes_listed(self) -> None: FILE: autocontext/tests/test_concept_model_parity.py function test_concept_model_matches_shared_artifact (line 9) | def test_concept_model_matches_shared_artifact() -> None: FILE: autocontext/tests/test_config_adaptive.py class TestConfigAdaptiveSettings (line 25) | class TestConfigAdaptiveSettings: method test_config_adaptive_enabled_defaults_false (line 26) | def test_config_adaptive_enabled_defaults_false(self) -> None: method test_load_settings_reads_config_adaptive_env (line 30) | def test_load_settings_reads_config_adaptive_env(self, monkeypatch: py... class TestHarnessInheritanceSetting (line 37) | class TestHarnessInheritanceSetting: method test_default_is_true (line 38) | def test_default_is_true(self) -> None: method test_env_var_override (line 42) | def test_env_var_override(self, monkeypatch: pytest.MonkeyPatch) -> None: method test_env_var_true (line 48) | def test_env_var_true(self, monkeypatch: pytest.MonkeyPatch) -> None: class TestTreeSearchSettings (line 60) | class TestTreeSearchSettings: method test_tree_max_hypotheses_defaults_to_8 (line 61) | def test_tree_max_hypotheses_defaults_to_8(self) -> None: method test_tree_sampling_temperature_defaults_to_1 (line 65) | def test_tree_sampling_temperature_defaults_to_1(self) -> None: method test_load_settings_reads_tree_search_env (line 69) | def test_load_settings_reads_tree_search_env(self, monkeypatch: pytest... method test_tree_max_hypotheses_minimum_1 (line 77) | def test_tree_max_hypotheses_minimum_1(self) -> None: method test_tree_sampling_temperature_must_be_positive (line 81) | def test_tree_sampling_temperature_must_be_positive(self) -> None: class TestTuningConfig (line 91) | class TestTuningConfig: method test_tuning_config_to_json (line 92) | def test_tuning_config_to_json(self) -> None: method test_tuning_config_from_json (line 106) | def test_tuning_config_from_json(self) -> None: method test_tuning_config_roundtrip (line 119) | def test_tuning_config_roundtrip(self) -> None: class TestValidateTuningBounds (line 138) | class TestValidateTuningBounds: method test_valid_params_accepted (line 139) | def test_valid_params_accepted(self) -> None: method test_unknown_keys_dropped (line 150) | def test_unknown_keys_dropped(self) -> None: method test_out_of_range_dropped (line 161) | def test_out_of_range_dropped(self) -> None: class TestComputeMetaStats (line 178) | class TestComputeMetaStats: method test_compute_stats_with_data (line 179) | def test_compute_stats_with_data(self) -> None: method test_compute_stats_empty (line 191) | def test_compute_stats_empty(self) -> None: class TestParseTuningProposal (line 203) | class TestParseTuningProposal: method test_parse_proposal_from_architect (line 204) | def test_parse_proposal_from_architect(self) -> None: method test_parse_proposal_no_markers (line 218) | def test_parse_proposal_no_markers(self) -> None: class TestArtifactStoreTuning (line 229) | class TestArtifactStoreTuning: method test_read_tuning_empty (line 230) | def test_read_tuning_empty(self, tmp_path: Path) -> None: method test_write_read_tuning_roundtrip (line 240) | def test_write_read_tuning_roundtrip(self, tmp_path: Path) -> None: class TestFormatMetaStats (line 258) | class TestFormatMetaStats: method test_format_meta_stats (line 259) | def test_format_meta_stats(self) -> None: class TestCanonicalTuningBounds (line 279) | class TestCanonicalTuningBounds: method test_tuning_bounds_matches_architect_bounds (line 282) | def test_tuning_bounds_matches_architect_bounds(self) -> None: method test_protocol_and_architect_share_same_keys (line 285) | def test_protocol_and_architect_share_same_keys(self) -> None: method test_architect_bounds_within_protocol_bounds (line 288) | def test_architect_bounds_within_protocol_bounds(self) -> None: method test_all_tuning_params_have_valid_ranges (line 298) | def test_all_tuning_params_have_valid_ranges(self) -> None: method test_architect_every_n_gens_in_protocol_bounds (line 303) | def test_architect_every_n_gens_in_protocol_bounds(self) -> None: FILE: autocontext/tests/test_constraint_prompts.py function _make_observation (line 35) | def _make_observation() -> Observation: function _make_bundle (line 43) | def _make_bundle(constraint_mode: bool = False) -> object: class TestConstraintSuffixConstants (line 59) | class TestConstraintSuffixConstants: method test_competitor_constraint_contains_do_not (line 60) | def test_competitor_constraint_contains_do_not(self) -> None: method test_analyst_constraint_contains_do_not (line 63) | def test_analyst_constraint_contains_do_not(self) -> None: method test_coach_constraint_contains_do_not (line 66) | def test_coach_constraint_contains_do_not(self) -> None: method test_architect_constraint_contains_do_not (line 69) | def test_architect_constraint_contains_do_not(self) -> None: class TestBuildPromptBundleConstraints (line 76) | class TestBuildPromptBundleConstraints: method test_constraint_mode_true_injects_competitor_constraint (line 77) | def test_constraint_mode_true_injects_competitor_constraint(self) -> N... method test_constraint_mode_true_injects_analyst_constraint (line 81) | def test_constraint_mode_true_injects_analyst_constraint(self) -> None: method test_constraint_mode_true_injects_coach_constraint (line 85) | def test_constraint_mode_true_injects_coach_constraint(self) -> None: method test_constraint_mode_true_injects_architect_constraint (line 89) | def test_constraint_mode_true_injects_architect_constraint(self) -> None: method test_constraint_mode_false_no_constraint_text (line 93) | def test_constraint_mode_false_no_constraint_text(self) -> None: method test_constraint_mode_default_is_false (line 100) | def test_constraint_mode_default_is_false(self) -> None: method test_coach_constraint_preserves_structural_markers (line 112) | def test_coach_constraint_preserves_structural_markers(self) -> None: method test_constraint_before_role_instruction (line 121) | def test_constraint_before_role_instruction(self) -> None: method test_constraint_mode_false_matches_no_arg (line 132) | def test_constraint_mode_false_matches_no_arg(self) -> None: class TestRlmConstrainedPrompts (line 152) | class TestRlmConstrainedPrompts: method test_rlm_analyst_constrained_contains_constraint (line 153) | def test_rlm_analyst_constrained_contains_constraint(self) -> None: method test_rlm_architect_constrained_contains_constraint (line 156) | def test_rlm_architect_constrained_contains_constraint(self) -> None: method test_monty_analyst_constrained_contains_constraint (line 159) | def test_monty_analyst_constrained_contains_constraint(self) -> None: method test_monty_architect_constrained_contains_constraint (line 162) | def test_monty_architect_constrained_contains_constraint(self) -> None: method test_unconstrained_does_not_have_constraint (line 165) | def test_unconstrained_does_not_have_constraint(self) -> None: method test_constrained_still_has_important_rules (line 171) | def test_constrained_still_has_important_rules(self) -> None: method test_constraint_before_important_rules (line 175) | def test_constraint_before_important_rules(self) -> None: method test_rlm_constraint_constants (line 180) | def test_rlm_constraint_constants(self) -> None: class TestCuratorConstraints (line 188) | class TestCuratorConstraints: method test_assess_playbook_quality_with_constraints (line 189) | def test_assess_playbook_quality_with_constraints(self) -> None: method test_assess_playbook_quality_without_constraints (line 207) | def test_assess_playbook_quality_without_constraints(self) -> None: method test_consolidate_lessons_with_constraints (line 225) | def test_consolidate_lessons_with_constraints(self) -> None: method test_consolidate_lessons_without_constraints (line 245) | def test_consolidate_lessons_without_constraints(self) -> None: method test_curator_constraint_constants (line 265) | def test_curator_constraint_constants(self) -> None: class TestConstraintSettings (line 273) | class TestConstraintSettings: method test_default_constraint_prompts_enabled (line 274) | def test_default_constraint_prompts_enabled(self) -> None: method test_constraint_prompts_disabled (line 278) | def test_constraint_prompts_disabled(self) -> None: FILE: autocontext/tests/test_consultation.py function sqlite_store (line 36) | def sqlite_store(tmp_path: Path) -> SQLiteStore: function artifact_store (line 47) | def artifact_store(tmp_path: Path) -> ArtifactStore: function mock_provider (line 57) | def mock_provider() -> CallableProvider: class TestConsultationTypes (line 73) | class TestConsultationTypes: method test_trigger_enum_values (line 74) | def test_trigger_enum_values(self) -> None: method test_request_construction (line 82) | def test_request_construction(self) -> None: method test_request_defaults (line 99) | def test_request_defaults(self) -> None: method test_result_defaults (line 112) | def test_result_defaults(self) -> None: method test_result_to_advisory_markdown (line 124) | def test_result_to_advisory_markdown(self) -> None: method test_result_to_advisory_markdown_empty (line 141) | def test_result_to_advisory_markdown_empty(self) -> None: class TestTriggerDetection (line 154) | class TestTriggerDetection: method test_no_triggers_healthy_run (line 155) | def test_no_triggers_healthy_run(self) -> None: method test_stagnation_three_rollbacks (line 165) | def test_stagnation_three_rollbacks(self) -> None: method test_stagnation_custom_threshold (line 176) | def test_stagnation_custom_threshold(self) -> None: method test_stagnation_retry_counts (line 188) | def test_stagnation_retry_counts(self) -> None: method test_stagnation_mixed_rollback_retry (line 200) | def test_stagnation_mixed_rollback_retry(self) -> None: method test_judge_uncertainty_low_variance_no_advance (line 211) | def test_judge_uncertainty_low_variance_no_advance(self) -> None: method test_no_judge_uncertainty_with_advance (line 223) | def test_no_judge_uncertainty_with_advance(self) -> None: method test_no_triggers_short_history (line 235) | def test_no_triggers_short_history(self) -> None: class TestConsultationRunner (line 250) | class TestConsultationRunner: method test_consult_returns_result (line 251) | def test_consult_returns_result(self, mock_provider: CallableProvider)... method test_consult_parses_sections (line 271) | def test_consult_parses_sections(self, mock_provider: CallableProvider... method test_consult_with_cost_tracking (line 289) | def test_consult_with_cost_tracking(self) -> None: method test_consult_handles_empty_response (line 308) | def test_consult_handles_empty_response(self) -> None: method test_system_prompt_includes_trigger (line 325) | def test_system_prompt_includes_trigger(self) -> None: method test_user_prompt_includes_context (line 348) | def test_user_prompt_includes_context(self) -> None: method test_user_prompt_compacts_verbose_context (line 374) | def test_user_prompt_compacts_verbose_context(self) -> None: method test_user_prompt_keeps_tail_of_plain_text_operator_context (line 407) | def test_user_prompt_keeps_tail_of_plain_text_operator_context(self) -... class TestConsultationStorage (line 447) | class TestConsultationStorage: method test_consultation_log_table_exists (line 448) | def test_consultation_log_table_exists(self, sqlite_store: SQLiteStore... method test_insert_consultation (line 455) | def test_insert_consultation(self, sqlite_store: SQLiteStore) -> None: method test_get_consultations_for_run (line 471) | def test_get_consultations_for_run(self, sqlite_store: SQLiteStore) ->... method test_get_consultations_empty (line 504) | def test_get_consultations_empty(self, sqlite_store: SQLiteStore) -> N... method test_get_total_consultation_cost (line 508) | def test_get_total_consultation_cost(self, sqlite_store: SQLiteStore) ... method test_get_total_consultation_cost_no_consultations (line 524) | def test_get_total_consultation_cost_no_consultations(self, sqlite_sto... method test_get_total_consultation_cost_with_null_costs (line 528) | def test_get_total_consultation_cost_with_null_costs(self, sqlite_stor... method test_consultation_index_exists (line 544) | def test_consultation_index_exists(self, sqlite_store: SQLiteStore) ->... class TestStageConsultation (line 556) | class TestStageConsultation: method _make_ctx (line 557) | def _make_ctx( method test_disabled_returns_ctx_unchanged (line 589) | def test_disabled_returns_ctx_unchanged( method test_no_triggers_returns_ctx_unchanged (line 602) | def test_no_triggers_returns_ctx_unchanged( method test_triggers_run_consultation (line 617) | def test_triggers_run_consultation( method test_budget_exceeded_skips_consultation (line 644) | def test_budget_exceeded_skips_consultation( method test_budget_zero_means_unlimited (line 668) | def test_budget_zero_means_unlimited( method test_unconfigured_provider_skips_without_persisting (line 697) | def test_unconfigured_provider_skips_without_persisting( class TestConsultationSettings (line 719) | class TestConsultationSettings: method test_defaults (line 720) | def test_defaults(self) -> None: method test_env_var_loading (line 730) | def test_env_var_loading(self, monkeypatch: pytest.MonkeyPatch) -> None: method test_stagnation_threshold_min_2 (line 746) | def test_stagnation_threshold_min_2(self) -> None: method test_cost_budget_non_negative (line 750) | def test_cost_budget_non_negative(self) -> None: class TestGenerationContextField (line 759) | class TestGenerationContextField: method test_consultation_result_field_exists (line 760) | def test_consultation_result_field_exists(self) -> None: method test_consultation_result_can_be_set (line 780) | def test_consultation_result_can_be_set(self) -> None: FILE: autocontext/tests/test_context_budget.py function test_estimate_tokens_basic (line 8) | def test_estimate_tokens_basic() -> None: function test_estimate_tokens_empty (line 12) | def test_estimate_tokens_empty() -> None: function test_budget_no_trimming_when_under (line 16) | def test_budget_no_trimming_when_under() -> None: function test_budget_trims_trajectory_first (line 30) | def test_budget_trims_trajectory_first() -> None: function test_budget_cascade_order (line 44) | def test_budget_cascade_order() -> None: function test_budget_preserves_hints (line 59) | def test_budget_preserves_hints() -> None: function test_budget_deduplicates_equivalent_components_by_policy (line 74) | def test_budget_deduplicates_equivalent_components_by_policy() -> None: function test_budget_does_not_deduplicate_role_scoped_components (line 92) | def test_budget_does_not_deduplicate_role_scoped_components() -> None: function test_budget_applies_component_caps_before_global_trim (line 108) | def test_budget_applies_component_caps_before_global_trim() -> None: function test_budget_policy_overrides_trim_order_and_protected_components (line 126) | def test_budget_policy_overrides_trim_order_and_protected_components() -... function test_budget_apply_with_telemetry_records_dedupe_caps_and_trims (line 147) | def test_budget_apply_with_telemetry_records_dedupe_caps_and_trims() -> ... FILE: autocontext/tests/test_context_preparation.py class TestAgentTaskSpecContextFields (line 15) | class TestAgentTaskSpecContextFields: method test_defaults_are_none (line 16) | def test_defaults_are_none(self): method test_fields_set (line 21) | def test_fields_set(self): class ConcreteTask (line 34) | class ConcreteTask(AgentTaskInterface): method get_task_prompt (line 37) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 40) | def evaluate_output( method get_rubric (line 51) | def get_rubric(self) -> str: method initial_state (line 54) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 57) | def describe_task(self) -> str: class TestInterfaceDefaults (line 61) | class TestInterfaceDefaults: method test_prepare_context_is_noop (line 62) | def test_prepare_context_is_noop(self): method test_validate_context_returns_empty (line 68) | def test_validate_context_returns_empty(self): class TestCodegenContextPreparation (line 76) | class TestCodegenContextPreparation: method test_generated_class_has_prepare_context (line 77) | def test_generated_class_has_prepare_context(self): method test_generated_prepare_context_adds_to_state (line 90) | def test_generated_prepare_context_adds_to_state(self): method test_generated_validate_context_catches_missing_keys (line 108) | def test_generated_validate_context_catches_missing_keys(self): method test_generated_validate_context_passes_with_keys (line 124) | def test_generated_validate_context_passes_with_keys(self): method test_no_context_prep_is_noop (line 138) | def test_no_context_prep_is_noop(self): class TestValidatorContextFields (line 156) | class TestValidatorContextFields: method test_empty_context_preparation_rejected (line 157) | def test_empty_context_preparation_rejected(self): method test_empty_required_context_keys_rejected (line 166) | def test_empty_required_context_keys_rejected(self): method test_non_string_required_context_keys_rejected (line 175) | def test_non_string_required_context_keys_rejected(self): method test_valid_context_fields_pass (line 184) | def test_valid_context_fields_pass(self): method test_execution_validates_prepare_and_validate_context (line 194) | def test_execution_validates_prepare_and_validate_context(self): class TestDesignerContextFields (line 209) | class TestDesignerContextFields: method test_parse_with_context_preparation (line 210) | def test_parse_with_context_preparation(self): method test_parse_without_context_preparation (line 227) | def test_parse_without_context_preparation(self): class TaskWithRequiredContext (line 243) | class TaskWithRequiredContext(AgentTaskInterface): method get_task_prompt (line 246) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 249) | def evaluate_output(self, output, state, reference_context=None, method get_rubric (line 253) | def get_rubric(self) -> str: method initial_state (line 256) | def initial_state(self, seed=None) -> dict: method describe_task (line 259) | def describe_task(self) -> str: method validate_context (line 262) | def validate_context(self, state: dict) -> list[str]: class TestJudgeExecutorContextValidation (line 269) | class TestJudgeExecutorContextValidation: method test_executor_fails_on_missing_context (line 270) | def test_executor_fails_on_missing_context(self): method test_executor_passes_with_context (line 278) | def test_executor_passes_with_context(self): class TestExportContextPreparation (line 287) | class TestExportContextPreparation: method test_skill_package_has_context_preparation (line 288) | def test_skill_package_has_context_preparation(self): method test_export_agent_task_skill_with_context_preparation (line 310) | def test_export_agent_task_skill_with_context_preparation(self): method test_no_context_preparation_not_in_dict (line 325) | def test_no_context_preparation_not_in_dict(self): FILE: autocontext/tests/test_context_pressure.py class TestContextPressure (line 13) | class TestContextPressure: method test_healthy_pressure (line 16) | def test_healthy_pressure(self) -> None: method test_warning_pressure (line 27) | def test_warning_pressure(self) -> None: method test_compact_soon_pressure (line 37) | def test_compact_soon_pressure(self) -> None: method test_blocking_pressure (line 47) | def test_blocking_pressure(self) -> None: method test_custom_thresholds (line 57) | def test_custom_thresholds(self) -> None: method test_utilization_snapshot_stays_consistent_with_threshold_level (line 76) | def test_utilization_snapshot_stays_consistent_with_threshold_level(se... class TestEffectiveWindow (line 95) | class TestEffectiveWindow: method test_effective_window_reserves_headroom (line 98) | def test_effective_window_reserves_headroom(self) -> None: method test_effective_window_minimum_floor (line 105) | def test_effective_window_minimum_floor(self) -> None: class TestCompactionPolicy (line 113) | class TestCompactionPolicy: method test_default_policy (line 116) | def test_default_policy(self) -> None: method test_context_class_categories (line 124) | def test_context_class_categories(self) -> None: method test_invalid_threshold_order_rejected (line 133) | def test_invalid_threshold_order_rejected(self) -> None: class TestCompactionResult (line 144) | class TestCompactionResult: method test_compaction_result_tracks_savings (line 147) | def test_compaction_result_tracks_savings(self) -> None: method test_failed_compaction (line 161) | def test_failed_compaction(self) -> None: class TestCircuitBreaker (line 177) | class TestCircuitBreaker: method test_circuit_breaker_trips_after_max_failures (line 180) | def test_circuit_breaker_trips_after_max_failures(self) -> None: method test_circuit_breaker_resets_on_success (line 193) | def test_circuit_breaker_resets_on_success(self) -> None: FILE: autocontext/tests/test_context_selection.py function _artifact_store (line 17) | def _artifact_store(tmp_path: Path) -> ArtifactStore: function _generation_context (line 26) | def _generation_context(tmp_path: Path, *, hook_bus: HookBus | None = No... function _prepare_generation_prompts (line 50) | def _prepare_generation_prompts( function _context_selection_payload (line 95) | def _context_selection_payload(artifacts: ArtifactStore) -> dict[str, Any]: function test_context_selection_decision_calculates_selection_quality_metrics (line 99) | def test_context_selection_decision_calculates_selection_quality_metrics... function test_context_selection_decision_round_trips_without_prompt_content (line 166) | def test_context_selection_decision_round_trips_without_prompt_content()... function test_context_selection_decision_metrics_include_budget_and_compaction_telemetry (line 199) | def test_context_selection_decision_metrics_include_budget_and_compactio... function test_persist_context_selection_decision_writes_under_run_root (line 250) | def test_persist_context_selection_decision_writes_under_run_root(tmp_pa... function test_persist_context_selection_decision_rejects_unsafe_names (line 282) | def test_persist_context_selection_decision_rejects_unsafe_names(tmp_pat... function test_context_selection_report_aggregates_decision_metrics (line 309) | def test_context_selection_report_aggregates_decision_metrics() -> None: function test_context_selection_report_emits_actionable_diagnostics (line 394) | def test_context_selection_report_emits_actionable_diagnostics() -> None: function test_context_selection_report_summarizes_budget_and_cache_regression_gates (line 464) | def test_context_selection_report_summarizes_budget_and_cache_regression... function test_context_selection_report_exposes_budget_cache_visibility_cards_and_markdown (line 519) | def test_context_selection_report_exposes_budget_cache_visibility_cards_... function _diagnostic_by_code (line 577) | def _diagnostic_by_code(payload: dict[str, Any], code: str) -> dict[str,... function test_context_selection_store_loads_decisions_in_generation_order (line 581) | def test_context_selection_store_loads_decisions_in_generation_order(tmp... function test_context_selection_store_ignores_non_decision_json (line 623) | def test_context_selection_store_ignores_non_decision_json(tmp_path: Pat... function test_context_selection_store_rejects_run_id_escape (line 697) | def test_context_selection_store_rejects_run_id_escape(tmp_path: Path) -... function test_prepare_generation_prompts_persists_context_selection_artifact (line 705) | def test_prepare_generation_prompts_persists_context_selection_artifact(... function test_prepare_generation_prompts_persists_budget_and_compaction_telemetry (line 719) | def test_prepare_generation_prompts_persists_budget_and_compaction_telem... function test_context_selection_candidates_reflect_context_components_hook (line 742) | def test_context_selection_candidates_reflect_context_components_hook(tm... function test_context_selection_selected_components_reflect_final_context_hook (line 761) | def test_context_selection_selected_components_reflect_final_context_hoo... FILE: autocontext/tests/test_coordinator.py class TestWorker (line 7) | class TestWorker: method test_create_worker (line 10) | def test_create_worker(self) -> None: method test_worker_lifecycle (line 19) | def test_worker_lifecycle(self) -> None: method test_worker_failure (line 30) | def test_worker_failure(self) -> None: method test_worker_redirect (line 39) | def test_worker_redirect(self) -> None: method test_worker_lineage (line 48) | def test_worker_lineage(self) -> None: method test_worker_cannot_complete_before_running (line 55) | def test_worker_cannot_complete_before_running(self) -> None: class TestCoordinator (line 67) | class TestCoordinator: method test_create_coordinator (line 70) | def test_create_coordinator(self) -> None: method test_delegate_creates_worker (line 78) | def test_delegate_creates_worker(self) -> None: method test_fan_out (line 86) | def test_fan_out(self) -> None: method test_fan_in_collects_completed_results (line 98) | def test_fan_in_collects_completed_results(self) -> None: method test_fan_in_skips_incomplete (line 114) | def test_fan_in_skips_incomplete(self) -> None: method test_active_workers (line 129) | def test_active_workers(self) -> None: method test_stop_worker (line 143) | def test_stop_worker(self) -> None: method test_stop_worker_rejects_non_running_worker (line 153) | def test_stop_worker_rejects_non_running_worker(self) -> None: method test_retry_creates_continuation (line 166) | def test_retry_creates_continuation(self) -> None: method test_retry_rejects_completed_worker (line 179) | def test_retry_rejects_completed_worker(self) -> None: class TestCoordinatorEvents (line 195) | class TestCoordinatorEvents: method test_delegate_emits_event (line 198) | def test_delegate_emits_event(self) -> None: method test_completion_emits_event (line 208) | def test_completion_emits_event(self) -> None: FILE: autocontext/tests/test_correlation_issues.py function _make_test_facets (line 23) | def _make_test_facets() -> list[Any]: function _make_test_clusters (line 149) | def _make_test_clusters() -> list[Any]: class TestReleaseContext (line 162) | class TestReleaseContext: method test_construction (line 163) | def test_construction(self) -> None: method test_roundtrip (line 175) | def test_roundtrip(self) -> None: class TestCorrelationDimension (line 193) | class TestCorrelationDimension: method test_construction (line 194) | def test_construction(self) -> None: method test_roundtrip (line 209) | def test_roundtrip(self) -> None: class TestCorrelationResult (line 232) | class TestCorrelationResult: method test_construction (line 233) | def test_construction(self) -> None: method test_roundtrip (line 251) | def test_roundtrip(self) -> None: class TestSignalCorrelator (line 287) | class TestSignalCorrelator: method test_correlate_basic (line 288) | def test_correlate_basic(self) -> None: method test_dimension_by_provider (line 310) | def test_dimension_by_provider(self) -> None: class TestPatternClustererMetadata (line 324) | class TestPatternClustererMetadata: method test_cluster_metadata_includes_release_scope (line 325) | def test_cluster_metadata_includes_release_scope(self) -> None: method test_dimension_by_scenario (line 335) | def test_dimension_by_scenario(self) -> None: method test_release_regression_detection (line 346) | def test_release_regression_detection(self) -> None: method test_no_releases (line 368) | def test_no_releases(self) -> None: method test_empty_facets (line 380) | def test_empty_facets(self) -> None: class TestCorrelationStore (line 395) | class TestCorrelationStore: method test_persist_and_load (line 396) | def test_persist_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 421) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_all (line 427) | def test_list_all(self, tmp_path: Path) -> None: class TestThresholdConfig (line 452) | class TestThresholdConfig: method test_defaults (line 453) | def test_defaults(self) -> None: method test_custom (line 462) | def test_custom(self) -> None: class TestIssueCandidate (line 479) | class TestIssueCandidate: method test_construction (line 480) | def test_construction(self) -> None: method test_roundtrip (line 504) | def test_roundtrip(self) -> None: class TestProbeCandidate (line 535) | class TestProbeCandidate: method test_construction (line 536) | def test_construction(self) -> None: method test_roundtrip (line 558) | def test_roundtrip(self) -> None: class TestIssueGenerator (line 588) | class TestIssueGenerator: method test_generate_above_threshold (line 589) | def test_generate_above_threshold(self) -> None: method test_below_threshold_no_issues (line 619) | def test_below_threshold_no_issues(self) -> None: method test_require_correlation_blocks_raw_counts (line 643) | def test_require_correlation_blocks_raw_counts(self) -> None: method test_attribution_includes_evidence (line 691) | def test_attribution_includes_evidence(self) -> None: method test_probe_generation (line 719) | def test_probe_generation(self) -> None: class TestIssueStore (line 753) | class TestIssueStore: method test_persist_and_load_issue (line 754) | def test_persist_and_load_issue(self, tmp_path: Path) -> None: method test_persist_and_load_probe (line 781) | def test_persist_and_load_probe(self, tmp_path: Path) -> None: method test_load_missing (line 807) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_issues (line 814) | def test_list_issues(self, tmp_path: Path) -> None: method test_dedup_same_evidence (line 836) | def test_dedup_same_evidence(self, tmp_path: Path) -> None: class TestAggregateRunner (line 871) | class TestAggregateRunner: method test_end_to_end (line 872) | def test_end_to_end(self, tmp_path: Path) -> None: method test_idempotent_rerun (line 923) | def test_idempotent_rerun(self, tmp_path: Path) -> None: method test_derives_release_context_from_facets (line 957) | def test_derives_release_context_from_facets(self, tmp_path: Path) -> ... method test_dedup_allows_same_signal_for_distinct_release_windows (line 986) | def test_dedup_allows_same_signal_for_distinct_release_windows(self, t... method test_generated_candidates_use_cluster_release_scope (line 1024) | def test_generated_candidates_use_cluster_release_scope(self, tmp_path... method test_empty_store (line 1058) | def test_empty_store(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_cost_control_and_presets.py class TestCostBudget (line 14) | class TestCostBudget: method test_defaults (line 15) | def test_defaults(self) -> None: method test_custom (line 22) | def test_custom(self) -> None: class TestCostTracker (line 34) | class TestCostTracker: method test_record_and_total (line 35) | def test_record_and_total(self) -> None: method test_generation_cost (line 46) | def test_generation_cost(self) -> None: class TestCostPolicy (line 60) | class TestCostPolicy: method test_defaults (line 61) | def test_defaults(self) -> None: method test_custom (line 67) | def test_custom(self) -> None: class TestEvaluateCostEffectiveness (line 74) | class TestEvaluateCostEffectiveness: method test_good_efficiency (line 75) | def test_good_efficiency(self) -> None: method test_poor_efficiency (line 84) | def test_poor_efficiency(self) -> None: method test_zero_delta (line 93) | def test_zero_delta(self) -> None: class TestShouldThrottle (line 101) | class TestShouldThrottle: method test_under_budget_no_throttle (line 102) | def test_under_budget_no_throttle(self) -> None: method test_over_total_budget (line 111) | def test_over_total_budget(self) -> None: method test_over_per_generation_budget (line 121) | def test_over_per_generation_budget(self) -> None: method test_policy_total_threshold (line 131) | def test_policy_total_threshold(self) -> None: method test_unlimited_budget_never_throttles (line 145) | def test_unlimited_budget_never_throttles(self) -> None: class TestRunPreset (line 160) | class TestRunPreset: method test_construction (line 161) | def test_construction(self) -> None: method test_roundtrip (line 175) | def test_roundtrip(self) -> None: class TestBuiltinPresets (line 185) | class TestBuiltinPresets: method test_long_run_preset_exists (line 186) | def test_long_run_preset_exists(self) -> None: method test_short_run_preset_exists (line 192) | def test_short_run_preset_exists(self) -> None: method test_long_run_has_safeguards (line 197) | def test_long_run_has_safeguards(self) -> None: method test_presets_are_distinct (line 206) | def test_presets_are_distinct(self) -> None: class TestApplyPreset (line 212) | class TestApplyPreset: method test_applies_settings (line 213) | def test_applies_settings(self) -> None: method test_none_preset_returns_original (line 228) | def test_none_preset_returns_original(self) -> None: method test_get_preset_by_name (line 235) | def test_get_preset_by_name(self) -> None: method test_get_unknown_preset (line 242) | def test_get_unknown_preset(self) -> None: class TestPresetLoaderIntegration (line 248) | class TestPresetLoaderIntegration: method test_long_run_preset_loads_through_live_settings_path (line 249) | def test_long_run_preset_loads_through_live_settings_path(self, monkey... method test_short_run_preset_loads_through_live_settings_path (line 260) | def test_short_run_preset_loads_through_live_settings_path(self, monke... FILE: autocontext/tests/test_credit_assignment.py class TestComponentChange (line 15) | class TestComponentChange: method test_construction (line 16) | def test_construction(self) -> None: method test_roundtrip (line 27) | def test_roundtrip(self) -> None: class TestGenerationChangeVector (line 42) | class TestGenerationChangeVector: method test_construction (line 43) | def test_construction(self) -> None: method test_total_change (line 61) | def test_total_change(self) -> None: method test_roundtrip (line 77) | def test_roundtrip(self) -> None: class TestComputeChangeVector (line 98) | class TestComputeChangeVector: method test_detects_playbook_change (line 99) | def test_detects_playbook_change(self) -> None: method test_detects_tool_addition (line 115) | def test_detects_tool_addition(self) -> None: method test_no_changes_zero_magnitude (line 126) | def test_no_changes_zero_magnitude(self) -> None: method test_detects_analysis_change (line 133) | def test_detects_analysis_change(self) -> None: class TestAttributeCredit (line 150) | class TestAttributeCredit: method test_proportional_attribution (line 151) | def test_proportional_attribution(self) -> None: method test_zero_delta_zero_credit (line 171) | def test_zero_delta_zero_credit(self) -> None: method test_empty_changes (line 185) | def test_empty_changes(self) -> None: method test_roundtrip (line 195) | def test_roundtrip(self) -> None: class TestCreditAssignmentRecord (line 210) | class TestCreditAssignmentRecord: method test_roundtrip (line 211) | def test_roundtrip(self) -> None: class TestFormatAttributionForAgent (line 245) | class TestFormatAttributionForAgent: method test_formats_for_analyst (line 246) | def test_formats_for_analyst(self) -> None: method test_empty_credits_returns_empty (line 262) | def test_empty_credits_returns_empty(self) -> None: method test_role_specific_output_differs (line 272) | def test_role_specific_output_differs(self) -> None: class TestSummarizeCreditPatterns (line 290) | class TestSummarizeCreditPatterns: method test_rolls_up_component_patterns (line 291) | def test_rolls_up_component_patterns(self) -> None: FILE: autocontext/tests/test_cross_run_inheritance.py function _make_settings (line 11) | def _make_settings(tmp_path: Path, **overrides: object) -> AppSettings: function _run (line 27) | def _run(tmp_path: Path, run_id: str, gens: int = 1, **overrides: object... function test_snapshot_on_completion (line 36) | def test_snapshot_on_completion(tmp_path: Path) -> None: function test_best_snapshot_query (line 43) | def test_best_snapshot_query(tmp_path: Path) -> None: function test_no_snapshot_returns_none (line 59) | def test_no_snapshot_returns_none(tmp_path: Path) -> None: function test_restore_on_fresh_run (line 67) | def test_restore_on_fresh_run(tmp_path: Path) -> None: function test_no_restore_when_playbook_exists (line 79) | def test_no_restore_when_playbook_exists(tmp_path: Path) -> None: function test_disabled_by_config (line 89) | def test_disabled_by_config(tmp_path: Path) -> None: function test_disabled_by_ablation (line 95) | def test_disabled_by_ablation(tmp_path: Path) -> None: function test_snapshot_includes_hints (line 101) | def test_snapshot_includes_hints(tmp_path: Path) -> None: function test_snapshot_includes_structured_hint_state (line 113) | def test_snapshot_includes_structured_hint_state(tmp_path: Path) -> None: function test_snapshot_includes_skills (line 133) | def test_snapshot_includes_skills(tmp_path: Path) -> None: FILE: autocontext/tests/test_cross_runtime_migration_ledgers.py function _apply_typescript_migrations (line 15) | def _apply_typescript_migrations(db_path: Path) -> None: function _ledger_values (line 30) | def _ledger_values(db_path: Path, table: str, column: str) -> set[str]: function test_python_migrations_can_follow_typescript_migrations (line 35) | def test_python_migrations_can_follow_typescript_migrations(tmp_path: Pa... function test_bootstrap_schema_seeds_typescript_ledger (line 49) | def test_bootstrap_schema_seeds_typescript_ledger(tmp_path: Path) -> None: FILE: autocontext/tests/test_cross_runtime_trace_findings.py function _load_fixture (line 35) | def _load_fixture() -> dict: function test_shared_fixture_parses_under_pydantic_schema (line 39) | def test_shared_fixture_parses_under_pydantic_schema() -> None: function test_shared_fixture_round_trips_with_camelcase_field_names (line 53) | def test_shared_fixture_round_trips_with_camelcase_field_names() -> None: function test_taxonomy_is_in_lockstep_with_ts (line 72) | def test_taxonomy_is_in_lockstep_with_ts() -> None: function test_unknown_category_is_rejected (line 84) | def test_unknown_category_is_rejected() -> None: function test_non_positive_occurrence_count_is_rejected (line 91) | def test_non_positive_occurrence_count_is_rejected() -> None: function test_missing_required_field_is_rejected (line 98) | def test_missing_required_field_is_rejected() -> None: function test_negative_evidence_message_index_is_rejected (line 105) | def test_negative_evidence_message_index_is_rejected() -> None: function test_finding_severity_is_constrained_to_taxonomy (line 112) | def test_finding_severity_is_constrained_to_taxonomy() -> None: function test_cross_runtime_trace_finding_constructible_via_snake_case_kwargs (line 122) | def test_cross_runtime_trace_finding_constructible_via_snake_case_kwargs... FILE: autocontext/tests/test_curator.py function test_parse_playbook_accept (line 11) | def test_parse_playbook_accept() -> None: function test_parse_playbook_reject (line 18) | def test_parse_playbook_reject() -> None: function test_parse_playbook_merge (line 24) | def test_parse_playbook_merge() -> None: function test_parse_score (line 36) | def test_parse_score() -> None: function test_parse_lesson_consolidation (line 42) | def test_parse_lesson_consolidation() -> None: function test_curator_rejects_low_quality (line 58) | def test_curator_rejects_low_quality() -> None: function test_curator_accepts_good_playbook (line 65) | def test_curator_accepts_good_playbook() -> None: function test_curator_merges (line 72) | def test_curator_merges() -> None: function test_curator_disabled_skips (line 85) | def test_curator_disabled_skips() -> None: function test_deterministic_curator_branches (line 93) | def test_deterministic_curator_branches() -> None: FILE: autocontext/tests/test_curator_integration.py function _make_settings (line 10) | def _make_settings(tmp_path: Path, **overrides) -> AppSettings: function test_curator_runs_after_tournament (line 26) | def test_curator_runs_after_tournament(tmp_path: Path) -> None: function test_playbook_quality_gate_e2e (line 39) | def test_playbook_quality_gate_e2e(tmp_path: Path) -> None: function test_curator_and_coach_coexist (line 52) | def test_curator_and_coach_coexist(tmp_path: Path) -> None: FILE: autocontext/tests/test_custom_registry_isolation.py function _write_valid_parametric_spec (line 23) | def _write_valid_parametric_spec(knowledge_root: Path, name: str = "good... function _write_unknown_marker_scenario (line 73) | def _write_unknown_marker_scenario(knowledge_root: Path, name: str = "ba... function _write_spec_only_agent_task (line 84) | def _write_spec_only_agent_task(knowledge_root: Path, name: str = "spec_... function _write_agent_task_with_import_file_not_found (line 106) | def _write_agent_task_with_import_file_not_found( function _write_ts_simulation_spec (line 125) | def _write_ts_simulation_spec(knowledge_root: Path, name: str = "ts_simu... function _write_ts_investigation_spec (line 167) | def _write_ts_investigation_spec(knowledge_root: Path, name: str = "ts_i... function _write_malformed_spec (line 204) | def _write_malformed_spec(knowledge_root: Path, name: str = "regression_... class TestRegistryIsolation (line 225) | class TestRegistryIsolation: method test_malformed_spec_does_not_prevent_other_scenarios_from_loading (line 226) | def test_malformed_spec_does_not_prevent_other_scenarios_from_loading( method test_warning_logged_at_warning_level_without_traceback (line 239) | def test_warning_logged_at_warning_level_without_traceback( method test_reason_summarizes_pydantic_validation_error (line 262) | def test_reason_summarizes_pydantic_validation_error( method test_traceback_available_at_debug_level (line 278) | def test_traceback_available_at_debug_level( method test_reason_identifies_unknown_marker (line 294) | def test_reason_identifies_unknown_marker( method test_malformed_spec_is_reported_in_detailed_result (line 312) | def test_malformed_spec_is_reported_in_detailed_result( method test_skipped_tuple_is_immutable (line 335) | def test_skipped_tuple_is_immutable( method test_empty_knowledge_root_returns_empty_result (line 351) | def test_empty_knowledge_root_returns_empty_result( method test_file_not_found_is_not_reported_as_skipped (line 365) | def test_file_not_found_is_not_reported_as_skipped( method test_non_directory_entries_are_ignored (line 390) | def test_non_directory_entries_are_ignored( method test_spec_only_dir_reported_in_skipped (line 405) | def test_spec_only_dir_reported_in_skipped( method test_spec_only_dir_emits_warning (line 421) | def test_spec_only_dir_emits_warning( method test_truly_empty_dir_remains_silent (line 441) | def test_truly_empty_dir_remains_silent( method test_import_file_not_found_uses_real_failure_reason (line 457) | def test_import_file_not_found_uses_real_failure_reason( method test_ts_created_simulation_auto_materializes (line 482) | def test_ts_created_simulation_auto_materializes( method test_ts_created_investigation_auto_materializes (line 496) | def test_ts_created_investigation_auto_materializes( method test_auto_materialize_falls_back_on_bad_family_spec (line 508) | def test_auto_materialize_falls_back_on_bad_family_spec( method test_parametric_auto_materialize_still_works (line 535) | def test_parametric_auto_materialize_still_works( method test_reconstruct_handles_nested_pydantic_models (line 550) | def test_reconstruct_handles_nested_pydantic_models(self) -> None: method test_reconstruct_handles_missing_optional_fields (line 579) | def test_reconstruct_handles_missing_optional_fields(self) -> None: FILE: autocontext/tests/test_custom_scenario_name_resolution.py function _settings (line 12) | def _settings(tmp_path: Path, knowledge_root: Path) -> AppSettings: function _write_parametric_custom_spec (line 25) | def _write_parametric_custom_spec(knowledge_root: Path, name: str = "lin... class TestCustomScenarioNameResolution (line 95) | class TestCustomScenarioNameResolution: method test_load_all_custom_scenarios_materializes_spec_only_parametric_scenario (line 96) | def test_load_all_custom_scenarios_materializes_spec_only_parametric_s... method test_generation_runner_reload_resolves_saved_parametric_scenario_by_name (line 122) | def test_generation_runner_reload_resolves_saved_parametric_scenario_b... FILE: autocontext/tests/test_custom_scenario_spec.py function _make_spec (line 22) | def _make_spec(**overrides: object) -> ScenarioSpec: class TestScenarioSpecSerialization (line 57) | class TestScenarioSpecSerialization: method test_scoring_component_defaults_are_real_containers (line 58) | def test_scoring_component_defaults_are_real_containers(self) -> None: method test_round_trip (line 64) | def test_round_trip(self) -> None: method test_json_round_trip (line 75) | def test_json_round_trip(self) -> None: method test_save_and_load (line 82) | def test_save_and_load(self, tmp_path: Path) -> None: class TestValidateSpec (line 91) | class TestValidateSpec: method test_valid_spec (line 92) | def test_valid_spec(self) -> None: method test_bad_name (line 97) | def test_bad_name(self) -> None: method test_empty_name (line 102) | def test_empty_name(self) -> None: method test_duplicate_params (line 107) | def test_duplicate_params(self) -> None: method test_no_params (line 115) | def test_no_params(self) -> None: method test_constraint_refs_unknown_param (line 120) | def test_constraint_refs_unknown_param(self) -> None: method test_scoring_refs_unknown_param (line 127) | def test_scoring_refs_unknown_param(self) -> None: method test_default_scoring_component_does_not_crash_validation (line 134) | def test_default_scoring_component_does_not_crash_validation(self) -> ... method test_weights_dont_sum_to_one (line 144) | def test_weights_dont_sum_to_one(self) -> None: method test_weights_ref_unknown_component (line 149) | def test_weights_ref_unknown_component(self) -> None: method test_param_min_gte_max (line 154) | def test_param_min_gte_max(self) -> None: class TestCodegen (line 163) | class TestCodegen: method test_produces_parseable_python (line 164) | def test_produces_parseable_python(self) -> None: method test_validate_generated_code (line 169) | def test_validate_generated_code(self) -> None: method test_bad_code_detected (line 175) | def test_bad_code_detected(self) -> None: method test_class_name_correct (line 179) | def test_class_name_correct(self) -> None: method test_imports_present (line 184) | def test_imports_present(self) -> None: class TestGeneratedScenarioExecution (line 191) | class TestGeneratedScenarioExecution: method _load_class (line 192) | def _load_class(self, spec: ScenarioSpec, tmp_path: Path) -> type: method test_execute_match (line 199) | def test_execute_match(self, tmp_path: Path) -> None: method test_deterministic (line 207) | def test_deterministic(self, tmp_path: Path) -> None: method test_validation_errors (line 215) | def test_validation_errors(self, tmp_path: Path) -> None: method test_invalid_strategy_rejected (line 221) | def test_invalid_strategy_rejected(self, tmp_path: Path) -> None: method test_missing_param_rejected (line 228) | def test_missing_param_rejected(self, tmp_path: Path) -> None: class TestDynamicLoader (line 236) | class TestDynamicLoader: method test_loads_and_registers_in_sys_modules (line 237) | def test_loads_and_registers_in_sys_modules(self, tmp_path: Path) -> N... method test_scenario_registry_insertion (line 252) | def test_scenario_registry_insertion(self, tmp_path: Path) -> None: method test_local_executor_runs_dynamic_custom_scenario_in_subprocess (line 268) | def test_local_executor_runs_dynamic_custom_scenario_in_subprocess(sel... FILE: autocontext/tests/test_dag_apply.py function test_apply_add_role (line 7) | def test_apply_add_role() -> None: function test_apply_remove_role (line 19) | def test_apply_remove_role() -> None: function test_apply_invalid_change_skipped (line 30) | def test_apply_invalid_change_skipped() -> None: function test_apply_multiple_changes (line 42) | def test_apply_multiple_changes() -> None: FILE: autocontext/tests/test_dag_mutation.py function test_add_role_appends (line 12) | def test_add_role_appends() -> None: function test_add_role_duplicate_raises (line 19) | def test_add_role_duplicate_raises() -> None: function test_add_role_cycle_detected_on_construction (line 25) | def test_add_role_cycle_detected_on_construction() -> None: function test_add_role_self_dep_raises (line 36) | def test_add_role_self_dep_raises() -> None: function test_add_role_missing_dep_raises (line 43) | def test_add_role_missing_dep_raises() -> None: function test_remove_role (line 49) | def test_remove_role() -> None: function test_remove_role_unknown_raises (line 56) | def test_remove_role_unknown_raises() -> None: function test_remove_role_with_dependents_raises (line 62) | def test_remove_role_with_dependents_raises() -> None: function test_execution_batches_after_mutation (line 68) | def test_execution_batches_after_mutation() -> None: FILE: autocontext/tests/test_dead_end_registry.py class TestDeadEndSettings (line 31) | class TestDeadEndSettings: method test_dead_end_tracking_enabled_defaults_false (line 32) | def test_dead_end_tracking_enabled_defaults_false(self) -> None: method test_dead_end_max_entries_defaults_20 (line 36) | def test_dead_end_max_entries_defaults_20(self) -> None: method test_load_settings_reads_dead_end_env (line 40) | def test_load_settings_reads_dead_end_env(self, monkeypatch: pytest.Mo... function _make_store (line 53) | def _make_store(tmp_path: Path) -> ArtifactStore: class TestArtifactStoreDeadEnds (line 62) | class TestArtifactStoreDeadEnds: method test_read_dead_ends_empty (line 63) | def test_read_dead_ends_empty(self, tmp_path: Path) -> None: method test_append_dead_end_creates_file (line 68) | def test_append_dead_end_creates_file(self, tmp_path: Path) -> None: method test_append_dead_end_appends (line 77) | def test_append_dead_end_appends(self, tmp_path: Path) -> None: method test_replace_dead_ends (line 86) | def test_replace_dead_ends(self, tmp_path: Path) -> None: class TestDeadEndEntry (line 100) | class TestDeadEndEntry: method test_dead_end_entry_to_markdown (line 101) | def test_dead_end_entry_to_markdown(self) -> None: method test_dead_end_entry_from_rollback (line 114) | def test_dead_end_entry_from_rollback(self) -> None: method test_dead_end_entry_from_rollback_truncates (line 121) | def test_dead_end_entry_from_rollback_truncates(self) -> None: class TestConsolidateDeadEnds (line 133) | class TestConsolidateDeadEnds: method test_consolidate_dead_ends_under_limit (line 134) | def test_consolidate_dead_ends_under_limit(self) -> None: method test_consolidate_dead_ends_over_limit (line 143) | def test_consolidate_dead_ends_over_limit(self) -> None: method test_consolidate_dead_ends_empty (line 154) | def test_consolidate_dead_ends_empty(self) -> None: function _minimal_observation (line 164) | def _minimal_observation() -> Observation: class TestPromptBundleDeadEnds (line 168) | class TestPromptBundleDeadEnds: method test_prompt_bundle_includes_dead_ends (line 169) | def test_prompt_bundle_includes_dead_ends(self) -> None: method test_prompt_bundle_empty_dead_ends_omitted (line 184) | def test_prompt_bundle_empty_dead_ends_omitted(self) -> None: FILE: autocontext/tests/test_dead_end_wiring.py function _make_persistence_ctx (line 24) | def _make_persistence_ctx( function _run_stage_persistence (line 111) | def _run_stage_persistence( class TestDeadEndOnRollback (line 138) | class TestDeadEndOnRollback: method test_dead_end_entry_created_on_rollback_when_enabled (line 141) | def test_dead_end_entry_created_on_rollback_when_enabled(self) -> None: method test_dead_end_not_created_when_tracking_disabled (line 161) | def test_dead_end_not_created_when_tracking_disabled(self) -> None: method test_dead_end_not_created_on_advance (line 174) | def test_dead_end_not_created_on_advance(self) -> None: method test_dead_end_not_created_on_retry (line 187) | def test_dead_end_not_created_on_retry(self) -> None: method test_dead_end_entry_contains_strategy_summary (line 201) | def test_dead_end_entry_contains_strategy_summary(self) -> None: method test_dead_end_entry_contains_score (line 217) | def test_dead_end_entry_contains_score(self) -> None: method test_dead_end_strategy_summary_truncated_for_long_strategy (line 232) | def test_dead_end_strategy_summary_truncated_for_long_strategy(self) -... class TestDeadEndConsolidation (line 256) | class TestDeadEndConsolidation: method test_dead_ends_consolidated_during_curator_consolidation (line 259) | def test_dead_ends_consolidated_during_curator_consolidation(self) -> ... method test_dead_end_consolidation_respects_max_entries (line 316) | def test_dead_end_consolidation_respects_max_entries(self) -> None: method test_dead_end_consolidation_skipped_when_tracking_disabled (line 371) | def test_dead_end_consolidation_skipped_when_tracking_disabled(self) -... method test_dead_end_consolidation_skipped_when_no_curator_consolidation (line 415) | def test_dead_end_consolidation_skipped_when_no_curator_consolidation(... method test_dead_end_consolidation_with_empty_registry (line 445) | def test_dead_end_consolidation_with_empty_registry(self) -> None: FILE: autocontext/tests/test_derive_name.py class TestDeriveName (line 15) | class TestDeriveName: method test_domain_nouns_preferred_over_adjectives (line 16) | def test_domain_nouns_preferred_over_adjectives(self) -> None: method test_clinical_trial_example (line 25) | def test_clinical_trial_example(self) -> None: method test_wargame_example (line 35) | def test_wargame_example(self) -> None: method test_deterministic (line 42) | def test_deterministic(self) -> None: method test_different_inputs_different_names (line 49) | def test_different_inputs_different_names(self) -> None: method test_empty_description (line 56) | def test_empty_description(self) -> None: method test_only_stop_words (line 62) | def test_only_stop_words(self) -> None: method test_short_description (line 67) | def test_short_description(self) -> None: method test_max_three_words (line 73) | def test_max_three_words(self) -> None: method test_valid_identifier (line 80) | def test_valid_identifier(self) -> None: class TestDeriveNameLegacy (line 93) | class TestDeriveNameLegacy: method test_matches_current_behavior (line 94) | def test_matches_current_behavior(self) -> None: method test_deterministic (line 108) | def test_deterministic(self) -> None: class TestResolveAlias (line 120) | class TestResolveAlias: method test_alias_found (line 121) | def test_alias_found(self) -> None: method test_no_alias_returns_original (line 127) | def test_no_alias_returns_original(self) -> None: method test_empty_aliases (line 133) | def test_empty_aliases(self) -> None: class TestBuildAliasMap (line 144) | class TestBuildAliasMap: method test_builds_mapping_when_names_differ (line 145) | def test_builds_mapping_when_names_differ(self) -> None: method test_no_aliases_when_names_match (line 165) | def test_no_aliases_when_names_match(self) -> None: method test_empty_descriptions (line 172) | def test_empty_descriptions(self) -> None: method test_raises_on_legacy_name_collision (line 181) | def test_raises_on_legacy_name_collision(self) -> None: FILE: autocontext/tests/test_designer_calibration.py function test_example_spec_has_calibration_examples (line 11) | def test_example_spec_has_calibration_examples() -> None: function test_prompt_requires_calibration (line 18) | def test_prompt_requires_calibration() -> None: function test_calibration_examples_have_required_fields (line 23) | def test_calibration_examples_have_required_fields() -> None: FILE: autocontext/tests/test_designer_parse_retry.py function _scripted_llm_fn (line 15) | def _scripted_llm_fn(responses: list[str]) -> Callable[[str, str], str]: function _strict_dict_parser (line 36) | def _strict_dict_parser(text: str) -> dict[str, Any]: function _required_field_parser (line 50) | def _required_field_parser(text: str) -> dict[str, Any]: class TestDesignWithParseRetry (line 59) | class TestDesignWithParseRetry: method test_happy_path_returns_parser_value_on_first_attempt (line 60) | def test_happy_path_returns_parser_value_on_first_attempt(self) -> None: method test_retries_once_on_json_decode_error_then_succeeds (line 74) | def test_retries_once_on_json_decode_error_then_succeeds( method test_retries_once_on_value_error_then_succeeds (line 100) | def test_retries_once_on_value_error_then_succeeds(self) -> None: method test_retries_once_on_missing_required_field_then_succeeds (line 119) | def test_retries_once_on_missing_required_field_then_succeeds(self) ->... method test_raises_after_max_retries_exhausted (line 138) | def test_raises_after_max_retries_exhausted(self) -> None: method test_correction_prompt_contains_delimiter_hint_and_original_user_prompt (line 156) | def test_correction_prompt_contains_delimiter_hint_and_original_user_p... method test_max_retries_zero_makes_exactly_one_attempt (line 174) | def test_max_retries_zero_makes_exactly_one_attempt(self) -> None: FILE: autocontext/tests/test_designer_parse_retry_integration.py function _scripted_llm_fn (line 19) | def _scripted_llm_fn(responses: list[str]) -> Callable[[str, str], str]: function _empty_sim_response (line 65) | def _empty_sim_response() -> str: function _missing_required_sim_response (line 69) | def _missing_required_sim_response() -> str: function _valid_sim_response (line 77) | def _valid_sim_response() -> str: function _empty_artifact_response (line 83) | def _empty_artifact_response() -> str: function _valid_artifact_response (line 87) | def _valid_artifact_response() -> str: class TestDesignerParseRetryIntegration (line 93) | class TestDesignerParseRetryIntegration: method test_design_simulation_retries_on_empty_spec_block (line 94) | def test_design_simulation_retries_on_empty_spec_block(self) -> None: method test_design_simulation_retries_on_missing_required_schema_fields (line 104) | def test_design_simulation_retries_on_missing_required_schema_fields(s... method test_design_artifact_editing_retries_on_empty_spec_block (line 116) | def test_design_artifact_editing_retries_on_empty_spec_block(self) -> ... FILE: autocontext/tests/test_detect_family_prefers_explicit.py class MockGameScenario (line 21) | class MockGameScenario: class MockOperatorLoopViaAttribute (line 28) | class MockOperatorLoopViaAttribute: class MockSimulationViaAttribute (line 36) | class MockSimulationViaAttribute: class MockBogusFamily (line 42) | class MockBogusFamily: class TestDetectFamilyExplicitAttribute (line 53) | class TestDetectFamilyExplicitAttribute: method test_returns_operator_loop_family_from_attribute (line 56) | def test_returns_operator_loop_family_from_attribute(self) -> None: method test_returns_simulation_family_from_attribute (line 65) | def test_returns_simulation_family_from_attribute(self) -> None: method test_falls_back_to_structural_when_no_attribute (line 72) | def test_falls_back_to_structural_when_no_attribute(self) -> None: method test_falls_back_to_structural_when_family_attribute_not_registered (line 114) | def test_falls_back_to_structural_when_family_attribute_not_registered... method test_attribute_takes_precedence_over_structural (line 123) | def test_attribute_takes_precedence_over_structural(self) -> None: class TestCodegenEmitsFamilyAttribute (line 169) | class TestCodegenEmitsFamilyAttribute: method test_generic_codegen_includes_family_attribute_when_set (line 173) | def test_generic_codegen_includes_family_attribute_when_set(self) -> N... method test_generic_codegen_omits_family_attribute_when_not_set (line 191) | def test_generic_codegen_omits_family_attribute_when_not_set(self) -> ... FILE: autocontext/tests/test_dict_type_consistency.py function _iter_python_files (line 18) | def _iter_python_files() -> list[Path]: function _annotation_texts (line 29) | def _annotation_texts(source: str, tree: ast.AST) -> list[str]: function _cast_target_texts (line 60) | def _cast_target_texts(source: str, tree: ast.AST) -> list[str]: class TestNoDictStrObjectInSource (line 76) | class TestNoDictStrObjectInSource: method test_no_dict_str_object_in_annotations (line 79) | def test_no_dict_str_object_in_annotations(self) -> None: method test_no_mixed_dict_conventions_in_same_file (line 101) | def test_no_mixed_dict_conventions_in_same_file(self) -> None: class TestMcpToolReturnTypesAreSerializable (line 120) | class TestMcpToolReturnTypesAreSerializable: method test_mcp_tool_functions_annotated_with_dict_str_any (line 123) | def test_mcp_tool_functions_annotated_with_dict_str_any(self) -> None: class TestCastCallsMinimized (line 144) | class TestCastCallsMinimized: method test_no_cast_to_dict_str_object (line 147) | def test_no_cast_to_dict_str_object(self) -> None: FILE: autocontext/tests/test_dimension_pinning.py function make_mock_llm (line 27) | def make_mock_llm(response: str = JUDGE_RESPONSE_WITH_DIMS): class PinningCapture (line 34) | class PinningCapture(AgentTaskInterface): method __init__ (line 37) | def __init__(self, scores: list[float] | None = None) -> None: method get_task_prompt (line 42) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 45) | def evaluate_output( method get_rubric (line 64) | def get_rubric(self) -> str: method initial_state (line 67) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 70) | def describe_task(self) -> str: method revise_output (line 73) | def revise_output( class TestPinnedDimensionsInJudgePrompt (line 84) | class TestPinnedDimensionsInJudgePrompt: method test_pinned_dimensions_in_judge_prompt (line 87) | def test_pinned_dimensions_in_judge_prompt(self) -> None: method test_no_pinned_dimensions_section_when_none (line 103) | def test_no_pinned_dimensions_section_when_none(self) -> None: method test_pinned_dimensions_passed_to_evaluate (line 112) | def test_pinned_dimensions_passed_to_evaluate(self) -> None: class TestImprovementLoopPinning (line 140) | class TestImprovementLoopPinning: method test_improvement_loop_pins_after_first_round (line 143) | def test_improvement_loop_pins_after_first_round(self) -> None: method test_no_pinning_when_no_dimension_scores (line 155) | def test_no_pinning_when_no_dimension_scores(self) -> None: class TestNoPinningWhenDimensionsExplicit (line 205) | class TestNoPinningWhenDimensionsExplicit: method test_no_pinning_when_dimensions_explicit (line 208) | def test_no_pinning_when_dimensions_explicit(self) -> None: class TestSimpleAgentTaskPinnedDimensions (line 225) | class TestSimpleAgentTaskPinnedDimensions: method test_pinned_dimensions_forwarded (line 228) | def test_pinned_dimensions_forwarded(self) -> None: FILE: autocontext/tests/test_dimension_threshold.py class ProgrammableTask (line 9) | class ProgrammableTask(AgentTaskInterface): method __init__ (line 12) | def __init__(self, results: list[AgentTaskResult]) -> None: method get_task_prompt (line 16) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 19) | def evaluate_output( method get_rubric (line 30) | def get_rubric(self) -> str: method initial_state (line 33) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 36) | def describe_task(self) -> str: method revise_output (line 39) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class TestOverallMetButDimFailsContinues (line 43) | class TestOverallMetButDimFailsContinues: method test_overall_met_but_dim_fails_continues (line 46) | def test_overall_met_but_dim_fails_continues(self) -> None: class TestWorstDimensionTracked (line 75) | class TestWorstDimensionTracked: method test_worst_dimension_tracked (line 78) | def test_worst_dimension_tracked(self) -> None: method test_worst_dimension_none_without_dimensions (line 100) | def test_worst_dimension_none_without_dimensions(self) -> None: class TestNoDimThresholdBehavesNormally (line 110) | class TestNoDimThresholdBehavesNormally: method test_no_dim_threshold_stops_early (line 113) | def test_no_dim_threshold_stops_early(self) -> None: method test_with_dim_threshold_continues_past_overall (line 134) | def test_with_dim_threshold_continues_past_overall(self) -> None: FILE: autocontext/tests/test_dimensional_scoring.py class TestScoringDimension (line 14) | class TestScoringDimension: method test_construction (line 15) | def test_construction(self) -> None: method test_roundtrip (line 26) | def test_roundtrip(self) -> None: class TestDimensionalScore (line 41) | class TestDimensionalScore: method test_construction (line 42) | def test_construction(self) -> None: method test_weighted_aggregate (line 57) | def test_weighted_aggregate(self) -> None: method test_roundtrip (line 75) | def test_roundtrip(self) -> None: class TestDetectDimensionRegression (line 93) | class TestDetectDimensionRegression: method test_no_regression (line 94) | def test_no_regression(self) -> None: method test_detects_regression (line 104) | def test_detects_regression(self) -> None: method test_threshold_sensitivity (line 116) | def test_threshold_sensitivity(self) -> None: method test_missing_dimensions_ignored (line 128) | def test_missing_dimensions_ignored(self) -> None: class TestFormatDimensionTrajectory (line 144) | class TestFormatDimensionTrajectory: method test_formats_history (line 145) | def test_formats_history(self) -> None: method test_empty_history (line 160) | def test_empty_history(self) -> None: class TestScenarioScoringDimensions (line 174) | class TestScenarioScoringDimensions: method test_default_returns_none (line 175) | def test_default_returns_none(self) -> None: method test_grid_ctf_defines_weighted_dimensions (line 225) | def test_grid_ctf_defines_weighted_dimensions(self) -> None: method test_othello_defines_weighted_dimensions (line 237) | def test_othello_defines_weighted_dimensions(self) -> None: FILE: autocontext/tests/test_disagreement.py class TestDisagreementMetricsDefaults (line 11) | class TestDisagreementMetricsDefaults: method test_disagreement_metrics_defaults (line 14) | def test_disagreement_metrics_defaults(self) -> None: class TestDisagreementMetricsFromSamples (line 26) | class TestDisagreementMetricsFromSamples: method test_disagreement_metrics_from_samples (line 29) | def test_disagreement_metrics_from_samples(self) -> None: class TestJudgeResultDisagreementNoneSingleSample (line 57) | class TestJudgeResultDisagreementNoneSingleSample: method test_judge_result_disagreement_none_single_sample (line 60) | def test_judge_result_disagreement_none_single_sample(self) -> None: class TestJudgeResultDisagreementComputedMultiSample (line 73) | class TestJudgeResultDisagreementComputedMultiSample: method test_judge_result_disagreement_computed_multi_sample (line 76) | def test_judge_result_disagreement_computed_multi_sample(self) -> None: class TestJudgeDisagreementStdDevCorrect (line 101) | class TestJudgeDisagreementStdDevCorrect: method test_judge_disagreement_std_dev_correct (line 104) | def test_judge_disagreement_std_dev_correct(self) -> None: class TestJudgeDisagreementRangeCorrect (line 130) | class TestJudgeDisagreementRangeCorrect: method test_judge_disagreement_range_correct (line 133) | def test_judge_disagreement_range_correct(self) -> None: class TestJudgeDisagreementHighFlag (line 159) | class TestJudgeDisagreementHighFlag: method test_judge_disagreement_high_flag (line 162) | def test_judge_disagreement_high_flag(self) -> None: class TestJudgeDisagreementLowFlag (line 187) | class TestJudgeDisagreementLowFlag: method test_judge_disagreement_low_flag (line 190) | def test_judge_disagreement_low_flag(self) -> None: class TestJudgeDisagreementDimensionStdDevs (line 215) | class TestJudgeDisagreementDimensionStdDevs: method test_judge_disagreement_dimension_std_devs (line 218) | def test_judge_disagreement_dimension_std_devs(self) -> None: class TestJudgeDisagreementCustomThreshold (line 247) | class TestJudgeDisagreementCustomThreshold: method test_judge_disagreement_custom_threshold (line 250) | def test_judge_disagreement_custom_threshold(self) -> None: method test_judge_disagreement_custom_threshold_not_exceeded (line 277) | def test_judge_disagreement_custom_threshold_not_exceeded(self) -> None: class TestPositionBiasProbeNoBias (line 309) | class TestPositionBiasProbeNoBias: method test_position_bias_probe_no_bias (line 312) | def test_position_bias_probe_no_bias(self) -> None: class TestPositionBiasProbeDetected (line 352) | class TestPositionBiasProbeDetected: method test_position_bias_probe_detected (line 355) | def test_position_bias_probe_detected(self) -> None: class TestBiasReportAggregation (line 394) | class TestBiasReportAggregation: method test_bias_report_aggregation (line 397) | def test_bias_report_aggregation(self) -> None: class TestBiasReportTypesDetected (line 415) | class TestBiasReportTypesDetected: method test_bias_report_types_detected (line 418) | def test_bias_report_types_detected(self) -> None: method test_bias_report_to_dict_includes_detected_types (line 436) | def test_bias_report_to_dict_includes_detected_types(self) -> None: class TestJudgeResultDefaults (line 453) | class TestJudgeResultDefaults: method test_defaults_are_real_containers (line 454) | def test_defaults_are_real_containers(self) -> None: class TestDisagreementSettingsDefaults (line 467) | class TestDisagreementSettingsDefaults: method test_disagreement_settings_defaults (line 470) | def test_disagreement_settings_defaults(self) -> None: class TestDisagreementSettingsFromEnv (line 478) | class TestDisagreementSettingsFromEnv: method test_disagreement_settings_from_env (line 481) | def test_disagreement_settings_from_env(self, monkeypatch: pytest.Monk... class TestExistingMultiSampleCompatibility (line 495) | class TestExistingMultiSampleCompatibility: method test_existing_multi_sample_with_disagreement (line 498) | def test_existing_multi_sample_with_disagreement(self) -> None: class TestSingleSampleReturnsNoneDisagreement (line 530) | class TestSingleSampleReturnsNoneDisagreement: method test_single_sample_returns_none_disagreement (line 533) | def test_single_sample_returns_none_disagreement(self) -> None: FILE: autocontext/tests/test_discovery_scenario_type.py class _MockGameScenario (line 18) | class _MockGameScenario(ScenarioInterface): method describe_rules (line 21) | def describe_rules(self) -> str: method describe_strategy_interface (line 24) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 27) | def describe_evaluation_criteria(self) -> str: method initial_state (line 30) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 33) | def get_observation(self, state: Any, player_id: str) -> Any: method validate_actions (line 36) | def validate_actions(self, state: Any, player_id: str, actions: Any) -... method step (line 39) | def step(self, state: Any, actions: Any) -> dict[str, Any]: method is_terminal (line 42) | def is_terminal(self, state: Any) -> bool: method get_result (line 45) | def get_result(self, state: Any) -> Any: method replay_to_narrative (line 48) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 51) | def render_frame(self, state: Any) -> dict[str, Any]: class _MockAgentTask (line 55) | class _MockAgentTask(AgentTaskInterface): method get_task_prompt (line 56) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 59) | def evaluate_output(self, output: str, state: dict, **kwargs: Any) -> ... method get_rubric (line 62) | def get_rubric(self) -> str: method initial_state (line 65) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 68) | def describe_task(self) -> str: class _MockSimulation (line 72) | class _MockSimulation(SimulationInterface): method describe_scenario (line 75) | def describe_scenario(self) -> str: method describe_environment (line 78) | def describe_environment(self): # type: ignore[override] method initial_state (line 88) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 91) | def get_available_actions(self, state: dict[str, Any]) -> list[Any]: method execute_action (line 94) | def execute_action(self, state: dict[str, Any], action: Any): # type:... method is_terminal (line 99) | def is_terminal(self, state: Any) -> bool: method evaluate_trace (line 102) | def evaluate_trace(self, trace: Any, final_state: dict[str, Any]) -> S... method get_rubric (line 112) | def get_rubric(self) -> str: class TestDiscoveryScenarioType (line 116) | class TestDiscoveryScenarioType: method test_negotiation_scenario_type (line 117) | def test_negotiation_scenario_type(self) -> None: method test_build_scenario_info_uses_family_marker_for_multiple_families (line 186) | def test_build_scenario_info_uses_family_marker_for_multiple_families(... method test_family_markers_are_unique_and_round_trip (line 210) | def test_family_markers_are_unique_and_round_trip(self) -> None: FILE: autocontext/tests/test_distill_jobs.py function _settings (line 18) | def _settings(tmp_path: Path) -> AppSettings: function _ctx (line 26) | def _ctx(tmp_path: Path) -> Any: class _FakeSidecar (line 32) | class _FakeSidecar: method __init__ (line 33) | def __init__(self) -> None: method launch (line 37) | def launch(self, job_id: str, scenario: str, config: dict[str, Any]) -... method poll (line 40) | def poll(self, job_id: str) -> dict[str, Any]: function fake_sidecar (line 45) | def fake_sidecar(monkeypatch: pytest.MonkeyPatch) -> _FakeSidecar: class TestDistillJobModel (line 58) | class TestDistillJobModel: method test_create_pending_job (line 59) | def test_create_pending_job(self) -> None: method test_job_with_source_artifacts (line 73) | def test_job_with_source_artifacts(self) -> None: method test_job_roundtrip_json (line 79) | def test_job_roundtrip_json(self) -> None: method test_job_status_values (line 89) | def test_job_status_values(self) -> None: method test_job_rejects_bad_status (line 96) | def test_job_rejects_bad_status(self) -> None: method test_job_training_config_and_metrics (line 102) | def test_job_training_config_and_metrics(self) -> None: class TestDistillJobManager (line 119) | class TestDistillJobManager: method test_create_job (line 120) | def test_create_job(self, tmp_path: Path) -> None: method test_get_job (line 133) | def test_get_job(self, tmp_path: Path) -> None: method test_get_job_not_found (line 144) | def test_get_job_not_found(self, tmp_path: Path) -> None: method test_list_jobs (line 150) | def test_list_jobs(self, tmp_path: Path) -> None: method test_list_jobs_empty (line 162) | def test_list_jobs_empty(self, tmp_path: Path) -> None: method test_transition_to_running (line 168) | def test_transition_to_running(self, tmp_path: Path) -> None: method test_transition_to_completed (line 183) | def test_transition_to_completed(self, tmp_path: Path) -> None: method test_transition_to_failed (line 202) | def test_transition_to_failed(self, tmp_path: Path) -> None: method test_transition_invalid_job (line 215) | def test_transition_invalid_job(self, tmp_path: Path) -> None: method test_transition_invalid_state (line 221) | def test_transition_invalid_state(self, tmp_path: Path) -> None: method test_completed_requires_result_artifact (line 230) | def test_completed_requires_result_artifact(self, tmp_path: Path) -> N... method test_failed_requires_error_message (line 240) | def test_failed_requires_error_message(self, tmp_path: Path) -> None: method test_transition_from_terminal_state (line 249) | def test_transition_from_terminal_state(self, tmp_path: Path) -> None: method test_active_job_count (line 260) | def test_active_job_count(self, tmp_path: Path) -> None: class TestDistillSidecarProtocol (line 279) | class TestDistillSidecarProtocol: method test_callable_sidecar_satisfies_protocol (line 280) | def test_callable_sidecar_satisfies_protocol(self) -> None: class TestUpdatedToolFunctions (line 299) | class TestUpdatedToolFunctions: method test_trigger_distillation_launches_sidecar (line 300) | def test_trigger_distillation_launches_sidecar(self, tmp_path: Path, f... method test_trigger_distillation_with_training_config (line 318) | def test_trigger_distillation_with_training_config(self, tmp_path: Pat... method test_trigger_distillation_errors_without_sidecar (line 334) | def test_trigger_distillation_errors_without_sidecar(self, tmp_path: P... method test_distill_status_returns_full_jobs (line 343) | def test_distill_status_returns_full_jobs(self, tmp_path: Path, fake_s... method test_distill_status_filters_by_scenario (line 359) | def test_distill_status_filters_by_scenario(self, tmp_path: Path, fake... method test_distill_status_polls_sidecar_updates (line 370) | def test_distill_status_polls_sidecar_updates(self, tmp_path: Path, fa... class TestJobLifecycleIntegration (line 393) | class TestJobLifecycleIntegration: method test_full_lifecycle_running_to_completed (line 394) | def test_full_lifecycle_running_to_completed(self, tmp_path: Path, fak... method test_full_lifecycle_running_to_failed (line 422) | def test_full_lifecycle_running_to_failed(self, tmp_path: Path, fake_s... method test_get_distill_job_endpoint (line 438) | def test_get_distill_job_endpoint(self, tmp_path: Path, fake_sidecar: ... method test_get_distill_job_not_found (line 450) | def test_get_distill_job_not_found(self, tmp_path: Path) -> None: method test_update_distill_job_invalid_transition (line 457) | def test_update_distill_job_invalid_transition(self, tmp_path: Path, f... class TestMCPServerWrappers (line 482) | class TestMCPServerWrappers: method test_mts_trigger_distillation_exists (line 483) | def test_mts_trigger_distillation_exists(self) -> None: method test_mts_update_distill_job_exists (line 489) | def test_mts_update_distill_job_exists(self) -> None: method test_mts_get_distill_job_exists (line 495) | def test_mts_get_distill_job_exists(self) -> None: class TestRESTEndpoints (line 507) | class TestRESTEndpoints: method test_update_distill_job_endpoint_exists (line 508) | def test_update_distill_job_endpoint_exists(self) -> None: method test_get_distill_job_endpoint_exists (line 515) | def test_get_distill_job_endpoint_exists(self) -> None: FILE: autocontext/tests/test_ecosystem_convergence.py function test_divergence_identical (line 7) | def test_divergence_identical() -> None: function test_divergence_completely_different (line 12) | def test_divergence_completely_different() -> None: function test_divergence_empty_strings (line 18) | def test_divergence_empty_strings() -> None: function test_divergence_one_empty (line 23) | def test_divergence_one_empty() -> None: function test_oscillation_detected (line 28) | def test_oscillation_detected() -> None: function test_oscillation_not_detected_below_threshold (line 34) | def test_oscillation_not_detected_below_threshold() -> None: function test_oscillation_not_detected_insufficient_history (line 40) | def test_oscillation_not_detected_insufficient_history() -> None: function test_oscillation_empty_history (line 46) | def test_oscillation_empty_history() -> None: FILE: autocontext/tests/test_ecosystem_integration.py function _migrations_dir (line 14) | def _migrations_dir() -> Path: function _make_settings (line 18) | def _make_settings(tmp_path: Path, **overrides: object) -> AppSettings: function test_full_ecosystem_two_cycles (line 34) | def test_full_ecosystem_two_cycles(tmp_path: Path) -> None: function test_ecosystem_with_rlm_phase (line 61) | def test_ecosystem_with_rlm_phase(tmp_path: Path) -> None: function test_ecosystem_knowledge_snapshots_have_provider (line 79) | def test_ecosystem_knowledge_snapshots_have_provider(tmp_path: Path) -> ... function test_ecosystem_score_trajectory (line 98) | def test_ecosystem_score_trajectory(tmp_path: Path) -> None: function test_ecosystem_othello_scenario (line 116) | def test_ecosystem_othello_scenario(tmp_path: Path) -> None: function test_ecosystem_cli_command_exists (line 132) | def test_ecosystem_cli_command_exists() -> None: function test_ecosystem_cli_runs_deterministic (line 148) | def test_ecosystem_cli_runs_deterministic(tmp_path: Path, monkeypatch: o... FILE: autocontext/tests/test_ecosystem_runner.py function _migrations_dir (line 11) | def _migrations_dir() -> Path: function _make_settings (line 15) | def _make_settings(tmp_path: Path, **overrides: object) -> AppSettings: function test_migration_005_adds_agent_provider_to_runs (line 34) | def test_migration_005_adds_agent_provider_to_runs(tmp_path: Path) -> None: function test_migration_005_adds_provider_to_knowledge_snapshots (line 49) | def test_migration_005_adds_provider_to_knowledge_snapshots(tmp_path: Pa... function test_migration_005_defaults_for_existing_rows (line 71) | def test_migration_005_defaults_for_existing_rows(tmp_path: Path) -> None: function test_create_run_stores_agent_provider (line 89) | def test_create_run_stores_agent_provider(tmp_path: Path) -> None: function test_create_run_default_agent_provider (line 100) | def test_create_run_default_agent_provider(tmp_path: Path) -> None: function test_save_knowledge_snapshot_with_provider (line 111) | def test_save_knowledge_snapshot_with_provider(tmp_path: Path) -> None: function test_get_ecosystem_snapshots (line 129) | def test_get_ecosystem_snapshots(tmp_path: Path) -> None: function test_generation_runner_stores_provider_in_run (line 153) | def test_generation_runner_stores_provider_in_run(tmp_path: Path) -> None: function test_generation_runner_stores_provider_in_snapshot (line 164) | def test_generation_runner_stores_provider_in_snapshot(tmp_path: Path) -... function test_ecosystem_phase_dataclass (line 181) | def test_ecosystem_phase_dataclass() -> None: function test_ecosystem_config_default_phases (line 190) | def test_ecosystem_config_default_phases() -> None: function test_ecosystem_config_custom_phases (line 201) | def test_ecosystem_config_custom_phases() -> None: function test_ecosystem_run_id_pattern (line 214) | def test_ecosystem_run_id_pattern() -> None: function test_ecosystem_runner_creates_modified_settings (line 227) | def test_ecosystem_runner_creates_modified_settings(tmp_path: Path) -> N... function test_ecosystem_single_cycle_deterministic (line 243) | def test_ecosystem_single_cycle_deterministic(tmp_path: Path) -> None: function test_ecosystem_multi_cycle_deterministic (line 260) | def test_ecosystem_multi_cycle_deterministic(tmp_path: Path) -> None: function test_ecosystem_phases_share_knowledge_directory (line 276) | def test_ecosystem_phases_share_knowledge_directory(tmp_path: Path) -> N... function test_ecosystem_provider_tracked_in_db (line 293) | def test_ecosystem_provider_tracked_in_db(tmp_path: Path) -> None: function test_ecosystem_emits_lifecycle_events (line 313) | def test_ecosystem_emits_lifecycle_events(tmp_path: Path) -> None: function test_ecosystem_summary_has_score_trajectory (line 337) | def test_ecosystem_summary_has_score_trajectory(tmp_path: Path) -> None: FILE: autocontext/tests/test_elo.py function test_elo_update_rewards_win (line 4) | def test_elo_update_rewards_win() -> None: function test_expected_score_balanced_at_equal_ratings (line 10) | def test_expected_score_balanced_at_equal_ratings() -> None: FILE: autocontext/tests/test_enumerate_grid_ctf.py function _scenario (line 8) | def _scenario() -> GridCtfScenario: class TestGridCtfEnumerateLegalActions (line 12) | class TestGridCtfEnumerateLegalActions: method test_returns_list_not_none (line 13) | def test_returns_list_not_none(self) -> None: method test_returns_three_parameters (line 19) | def test_returns_three_parameters(self) -> None: method test_action_names_match_strategy (line 26) | def test_action_names_match_strategy(self) -> None: method test_each_action_has_required_fields (line 34) | def test_each_action_has_required_fields(self) -> None: method test_continuous_type_and_range (line 45) | def test_continuous_type_and_range(self) -> None: method test_terminal_state_returns_empty (line 54) | def test_terminal_state_returns_empty(self) -> None: method test_deterministic_across_seeds (line 61) | def test_deterministic_across_seeds(self) -> None: method test_descriptions_are_nonempty (line 67) | def test_descriptions_are_nonempty(self) -> None: FILE: autocontext/tests/test_enumerate_legal_actions.py class _MinimalScenario (line 14) | class _MinimalScenario(ScenarioInterface): method describe_rules (line 19) | def describe_rules(self) -> str: method describe_strategy_interface (line 22) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 25) | def describe_evaluation_criteria(self) -> str: method initial_state (line 28) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 31) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 34) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 37) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 40) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 43) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 46) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 49) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: class _EnumeratingScenario (line 53) | class _EnumeratingScenario(_MinimalScenario): method enumerate_legal_actions (line 58) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... class TestEnumerateLegalActions (line 70) | class TestEnumerateLegalActions: method test_default_returns_none (line 71) | def test_default_returns_none(self) -> None: method test_override_returns_actions (line 76) | def test_override_returns_actions(self) -> None: method test_none_vs_empty_list (line 85) | def test_none_vs_empty_list(self) -> None: method test_existing_scenarios_have_method (line 101) | def test_existing_scenarios_have_method(self) -> None: FILE: autocontext/tests/test_enumerate_othello.py function _scenario (line 8) | def _scenario() -> OthelloScenario: class TestOthelloEnumerateLegalActions (line 12) | class TestOthelloEnumerateLegalActions: method test_returns_list_not_none (line 13) | def test_returns_list_not_none(self) -> None: method test_returns_three_parameters (line 19) | def test_returns_three_parameters(self) -> None: method test_action_names_match_strategy (line 26) | def test_action_names_match_strategy(self) -> None: method test_each_action_has_required_fields (line 34) | def test_each_action_has_required_fields(self) -> None: method test_continuous_type_and_range (line 45) | def test_continuous_type_and_range(self) -> None: method test_terminal_state_returns_empty (line 54) | def test_terminal_state_returns_empty(self) -> None: method test_deterministic_across_seeds (line 61) | def test_deterministic_across_seeds(self) -> None: method test_descriptions_are_nonempty (line 67) | def test_descriptions_are_nonempty(self) -> None: FILE: autocontext/tests/test_escalation_sweep_summary.py function _load_summary_module (line 8) | def _load_summary_module(): function test_summarize_tallies_llm_classifier_fallback_from_structured_solve_output (line 18) | def test_summarize_tallies_llm_classifier_fallback_from_structured_solve... function test_summarize_tallies_llm_classifier_fallback_when_stderr_chatter_is_merged (line 63) | def test_summarize_tallies_llm_classifier_fallback_when_stderr_chatter_i... function test_classify_error_buckets_common_browser_cdp_failures_before_generic_timeouts (line 109) | def test_classify_error_buckets_common_browser_cdp_failures_before_gener... FILE: autocontext/tests/test_eval_provider_wiring.py class TestCodegenNoPlaceholder (line 26) | class TestCodegenNoPlaceholder: method test_generated_code_does_not_contain_llm_fn_placeholder (line 27) | def test_generated_code_does_not_contain_llm_fn_placeholder(self) -> N... method test_generated_code_uses_provider (line 32) | def test_generated_code_uses_provider(self) -> None: method test_generated_code_passes_provider_to_judge (line 38) | def test_generated_code_passes_provider_to_judge(self) -> None: method test_generated_code_resolves_model_from_settings_when_empty (line 44) | def test_generated_code_resolves_model_from_settings_when_empty(self) ... method test_generated_code_syntax_valid (line 50) | def test_generated_code_syntax_valid(self) -> None: method test_generated_code_execution_valid (line 55) | def test_generated_code_execution_valid(self) -> None: class TestGeneratedEvaluateOutput (line 65) | class TestGeneratedEvaluateOutput: method _build_instance (line 66) | def _build_instance(self, spec: AgentTaskSpec | None = None, name: str... method test_evaluate_output_calls_provider (line 75) | def test_evaluate_output_calls_provider(self) -> None: method test_evaluate_output_no_not_implemented_error (line 105) | def test_evaluate_output_no_not_implemented_error(self) -> None: method test_evaluate_output_uses_runtime_judge_model_when_spec_model_empty (line 125) | def test_evaluate_output_uses_runtime_judge_model_when_spec_model_empt... method test_evaluate_output_passes_reference_context (line 147) | def test_evaluate_output_passes_reference_context(self) -> None: method test_evaluate_output_falls_back_to_class_defaults (line 179) | def test_evaluate_output_falls_back_to_class_defaults(self) -> None: class TestValidatorCatchesPlaceholder (line 211) | class TestValidatorCatchesPlaceholder: method test_validator_rejects_llm_fn_placeholder (line 212) | def test_validator_rejects_llm_fn_placeholder(self) -> None: class TestReviseOutputCleaned (line 255) | class TestReviseOutputCleaned: method test_revise_output_no_llm_fn_comment (line 256) | def test_revise_output_no_llm_fn_comment(self) -> None: FILE: autocontext/tests/test_event_subscribers.py function test_subscriber_receives_events (line 8) | def test_subscriber_receives_events(tmp_path: Path) -> None: function test_unsubscribe_stops_delivery (line 18) | def test_unsubscribe_stops_delivery(tmp_path: Path) -> None: function test_subscriber_error_does_not_crash_emit (line 34) | def test_subscriber_error_does_not_crash_emit(tmp_path: Path) -> None: function test_multiple_subscribers (line 54) | def test_multiple_subscribers(tmp_path: Path) -> None: FILE: autocontext/tests/test_events_to_trace.py function _write_events (line 13) | def _write_events(path: Path, rows: list[dict]) -> None: function _event (line 18) | def _event(seq: int, event: str, payload: dict) -> dict: function _settings (line 29) | def _settings(tmp_path: Path, events_path: Path) -> AppSettings: function test_events_to_trace_maps_runner_event_contract (line 41) | def test_events_to_trace_maps_runner_event_contract(tmp_path: Path) -> N... function test_analytics_rebuild_traces_cli_writes_run_local_trace (line 89) | def test_analytics_rebuild_traces_cli_writes_run_local_trace(tmp_path: P... function test_analytics_rebuild_traces_cli_rejects_missing_run_id (line 111) | def test_analytics_rebuild_traces_cli_rejects_missing_run_id(tmp_path: P... function test_analytics_rebuild_traces_cli_rejects_run_id_escape (line 130) | def test_analytics_rebuild_traces_cli_rejects_run_id_escape(tmp_path: Pa... function test_analytics_context_selection_cli_reports_run_summary (line 149) | def test_analytics_context_selection_cli_reports_run_summary(tmp_path: P... function test_analytics_context_selection_cli_rejects_missing_artifacts (line 198) | def test_analytics_context_selection_cli_rejects_missing_artifacts(tmp_p... FILE: autocontext/tests/test_evidence_workspace.py function _make_artifact (line 17) | def _make_artifact( function _make_workspace (line 35) | def _make_workspace(artifacts: list[EvidenceArtifact] | None = None, **o... function evidence_tmpdir (line 48) | def evidence_tmpdir(): class TestWorkspaceModel (line 81) | class TestWorkspaceModel: method test_get_artifact_by_id (line 82) | def test_get_artifact_by_id(self) -> None: method test_get_artifact_returns_none_for_missing (line 87) | def test_get_artifact_returns_none_for_missing(self) -> None: method test_list_by_kind_filters_correctly (line 91) | def test_list_by_kind_filters_correctly(self) -> None: method test_workspace_to_dict_roundtrip (line 102) | def test_workspace_to_dict_roundtrip(self) -> None: method test_artifact_to_dict (line 110) | def test_artifact_to_dict(self) -> None: class TestMaterializer (line 123) | class TestMaterializer: method test_creates_workspace_dir (line 124) | def test_creates_workspace_dir(self, evidence_tmpdir: Path) -> None: method test_copies_artifacts (line 135) | def test_copies_artifacts(self, evidence_tmpdir: Path) -> None: method test_respects_budget (line 148) | def test_respects_budget(self, evidence_tmpdir: Path) -> None: method test_prioritizes_gate_decisions (line 161) | def test_prioritizes_gate_decisions(self, evidence_tmpdir: Path) -> None: method test_handles_empty_runs (line 178) | def test_handles_empty_runs(self, evidence_tmpdir: Path) -> None: method test_writes_manifest_json (line 189) | def test_writes_manifest_json(self, evidence_tmpdir: Path) -> None: method test_rematerialization_removes_stale_workspace_files (line 203) | def test_rematerialization_removes_stale_workspace_files(self, evidenc... method test_scan_knowledge_finds_playbook_and_tools (line 226) | def test_scan_knowledge_finds_playbook_and_tools(self, evidence_tmpdir... method test_reuses_cached_workspace_when_sources_are_unchanged (line 239) | def test_reuses_cached_workspace_when_sources_are_unchanged(self, evid... method test_cached_workspace_rescans_for_secrets_when_enabled (line 259) | def test_cached_workspace_rescans_for_secrets_when_enabled( class TestManifest (line 321) | class TestManifest: method test_includes_artifact_counts (line 322) | def test_includes_artifact_counts(self) -> None: method test_includes_total_size (line 334) | def test_includes_total_size(self) -> None: method test_includes_source_run_count (line 340) | def test_includes_source_run_count(self) -> None: method test_renders_evidence_cards_with_provenance (line 345) | def test_renders_evidence_cards_with_provenance(self) -> None: method test_render_artifact_detail_reads_content (line 363) | def test_render_artifact_detail_reads_content(self) -> None: method test_render_artifact_detail_supports_excerpt_windows (line 371) | def test_render_artifact_detail_supports_excerpt_windows(self) -> None: method test_render_artifact_detail_rejects_workspace_escape (line 384) | def test_render_artifact_detail_rejects_workspace_escape(self) -> None: method test_render_artifact_detail_handles_missing (line 397) | def test_render_artifact_detail_handles_missing(self) -> None: class TestTracker (line 408) | class TestTracker: method test_record_access_adds_to_list (line 409) | def test_record_access_adds_to_list(self) -> None: method test_record_access_deduplicates (line 414) | def test_record_access_deduplicates(self) -> None: method test_save_and_load_roundtrips (line 420) | def test_save_and_load_roundtrips(self) -> None: method test_utilization_counts_correctly (line 429) | def test_utilization_counts_correctly(self) -> None: method test_utilization_zero_when_nothing_accessed (line 444) | def test_utilization_zero_when_nothing_accessed(self) -> None: FILE: autocontext/tests/test_exploration_mechanisms.py class TestNoveltyConfig (line 15) | class TestNoveltyConfig: method test_defaults (line 16) | def test_defaults(self) -> None: method test_custom (line 23) | def test_custom(self) -> None: class TestComputeNoveltyScore (line 36) | class TestComputeNoveltyScore: method test_identical_strategies_zero_novelty (line 37) | def test_identical_strategies_zero_novelty(self) -> None: method test_different_strategy_high_novelty (line 45) | def test_different_strategy_high_novelty(self) -> None: method test_empty_recent_max_novelty (line 56) | def test_empty_recent_max_novelty(self) -> None: method test_non_numeric_values_ignored (line 62) | def test_non_numeric_values_ignored(self) -> None: class TestApplyNoveltyBonus (line 76) | class TestApplyNoveltyBonus: method test_bonus_applied (line 77) | def test_bonus_applied(self) -> None: method test_disabled_no_bonus (line 89) | def test_disabled_no_bonus(self) -> None: method test_capped_at_one (line 96) | def test_capped_at_one(self) -> None: class TestDivergentCompetitor (line 109) | class TestDivergentCompetitor: method test_should_spawn_after_threshold (line 110) | def test_should_spawn_after_threshold(self) -> None: method test_should_not_spawn_below_threshold (line 120) | def test_should_not_spawn_below_threshold(self) -> None: method test_disabled (line 130) | def test_disabled(self) -> None: class TestMultiBasinConfig (line 146) | class TestMultiBasinConfig: method test_defaults (line 147) | def test_defaults(self) -> None: method test_custom (line 155) | def test_custom(self) -> None: class TestShouldTriggerMultiBasin (line 163) | class TestShouldTriggerMultiBasin: method test_triggers_after_consecutive_non_advances (line 164) | def test_triggers_after_consecutive_non_advances(self) -> None: method test_triggers_periodically (line 171) | def test_triggers_periodically(self) -> None: method test_disabled_returns_false (line 177) | def test_disabled_returns_false(self) -> None: class TestBasinCandidates (line 189) | class TestBasinCandidates: method test_generate_candidates (line 190) | def test_generate_candidates(self) -> None: method test_conservative_has_full_playbook (line 208) | def test_conservative_has_full_playbook(self) -> None: method test_divergent_has_no_playbook (line 221) | def test_divergent_has_no_playbook(self) -> None: method test_experimental_retains_high_level_playbook_context (line 235) | def test_experimental_retains_high_level_playbook_context(self) -> None: method test_disabled_returns_empty (line 252) | def test_disabled_returns_empty(self) -> None: class TestBranchRecord (line 267) | class TestBranchRecord: method test_construction (line 268) | def test_construction(self) -> None: method test_roundtrip (line 280) | def test_roundtrip(self) -> None: FILE: autocontext/tests/test_export_cli.py function _setup_db (line 16) | def _setup_db(tmp_path: Path) -> tuple[SQLiteStore, ArtifactStore, Path]: function test_cli_export_with_run_id (line 38) | def test_cli_export_with_run_id(tmp_path: Path) -> None: function test_cli_export_with_scenario_all_runs (line 60) | def test_cli_export_with_scenario_all_runs(tmp_path: Path) -> None: function test_cli_output_is_valid_jsonl (line 84) | def test_cli_output_is_valid_jsonl(tmp_path: Path) -> None: function test_cli_db_override_uses_matching_artifact_roots (line 108) | def test_cli_db_override_uses_matching_artifact_roots(tmp_path: Path) ->... function test_cli_error_when_no_run_id_or_scenario (line 130) | def test_cli_error_when_no_run_id_or_scenario(tmp_path: Path) -> None: function test_cli_kept_only_flag (line 145) | def test_cli_kept_only_flag(tmp_path: Path) -> None: function test_cli_include_matches_flag (line 167) | def test_cli_include_matches_flag(tmp_path: Path) -> None: FILE: autocontext/tests/test_export_skill_md.py class TestSkillMarkdownRendering (line 18) | class TestSkillMarkdownRendering: method test_renders_game_scenario_markdown (line 19) | def test_renders_game_scenario_markdown(self) -> None: method test_renders_agent_task_markdown (line 41) | def test_renders_agent_task_markdown(self) -> None: class TestExportSkillIncludesMarkdown (line 66) | class TestExportSkillIncludesMarkdown: method test_export_skill_returns_skill_markdown_key (line 67) | def test_export_skill_returns_skill_markdown_key(self) -> None: method test_export_skill_backward_compatible (line 92) | def test_export_skill_backward_compatible(self) -> None: method test_export_skill_includes_suggested_filename (line 119) | def test_export_skill_includes_suggested_filename(self) -> None: class TestRestApiExportSkill (line 148) | class TestRestApiExportSkill: method test_rest_export_includes_skill_markdown (line 149) | def test_rest_export_includes_skill_markdown(self) -> None: FILE: autocontext/tests/test_extension_hooks.py class _Provider (line 20) | class _Provider(LLMProvider): method __init__ (line 21) | def __init__(self, response: str) -> None: method complete (line 25) | def complete( method default_model (line 44) | def default_model(self) -> str: class _Client (line 48) | class _Client(LanguageModelClient): method __init__ (line 49) | def __init__(self) -> None: method generate (line 52) | def generate( function _judge_response (line 77) | def _judge_response(score: float = 0.7, reasoning: str = "ok") -> str: function _artifact_store (line 82) | def _artifact_store(tmp_path: Path, hook_bus: Any | None = None) -> Arti... function test_hook_bus_dispatches_in_order_and_collects_handler_errors (line 92) | def test_hook_bus_dispatches_in_order_and_collects_handler_errors() -> N... function test_hook_bus_can_fail_fast (line 122) | def test_hook_bus_can_fail_fast() -> None: function test_extension_loader_registers_module_factory (line 136) | def test_extension_loader_registers_module_factory(tmp_path: Path) -> None: function test_extension_api_supports_decorator_registration (line 159) | def test_extension_api_supports_decorator_registration(tmp_path: Path) -... function test_language_model_client_hooks_can_transform_request_and_response (line 181) | def test_language_model_client_hooks_can_transform_request_and_response(... function test_prompt_hooks_transform_components_prompts_and_compaction (line 206) | def test_prompt_hooks_transform_components_prompts_and_compaction() -> N... function test_judge_hooks_transform_prompt_and_response (line 240) | def test_judge_hooks_transform_prompt_and_response() -> None: function test_judge_uses_active_hook_bus_when_not_passed_directly (line 263) | def test_judge_uses_active_hook_bus_when_not_passed_directly() -> None: function test_scenario_evaluator_sets_active_hook_bus_for_internal_judges (line 287) | def test_scenario_evaluator_sets_active_hook_bus_for_internal_judges() -... function test_artifact_write_hooks_can_modify_and_block_writes (line 327) | def test_artifact_write_hooks_can_modify_and_block_writes(tmp_path: Path... function test_artifact_write_hooks_cannot_redirect_outside_managed_root (line 351) | def test_artifact_write_hooks_cannot_redirect_outside_managed_root(tmp_p... FILE: autocontext/tests/test_factual_confidence.py function _make_judge (line 9) | def _make_judge(rubric: str = "Evaluate quality.") -> LLMJudge: function _make_judge_without_confidence (line 24) | def _make_judge_without_confidence(rubric: str = "Evaluate quality.") ->... function test_factual_confidence_returned_when_judge_provides_it (line 39) | def test_factual_confidence_returned_when_judge_provides_it() -> None: function test_factual_confidence_defaulted_when_missing (line 51) | def test_factual_confidence_defaulted_when_missing() -> None: function test_no_factual_confidence_without_reference_context (line 64) | def test_no_factual_confidence_without_reference_context() -> None: function test_system_prompt_includes_confidence_instruction (line 85) | def test_system_prompt_includes_confidence_instruction() -> None: FILE: autocontext/tests/test_failure_recovery_lessons.py function test_rollback_lesson_includes_score_details (line 10) | def test_rollback_lesson_includes_score_details(tmp_path: Path) -> None: function test_rollback_lesson_includes_strategy_summary (line 39) | def test_rollback_lesson_includes_strategy_summary(tmp_path: Path) -> None: function test_advance_lesson_unchanged (line 65) | def test_advance_lesson_unchanged(tmp_path: Path) -> None: function test_retry_then_rollback_lesson_mentions_retries (line 91) | def test_retry_then_rollback_lesson_mentions_retries(tmp_path: Path) -> ... FILE: autocontext/tests/test_failure_report.py function test_build_from_tournament (line 8) | def test_build_from_tournament() -> None: function test_report_to_prompt_context (line 24) | def test_report_to_prompt_context() -> None: function test_empty_errors_still_produces_report (line 55) | def test_empty_errors_still_produces_report() -> None: function test_strategy_summary_truncated (line 68) | def test_strategy_summary_truncated() -> None: FILE: autocontext/tests/test_family_aware_strategy_prompts.py function _build_bundle (line 18) | def _build_bundle(strategy_interface: str): class TestFamilyAwareCompetitorPrompt (line 30) | class TestFamilyAwareCompetitorPrompt: method test_uses_action_plan_language_for_simulation_style_interfaces (line 31) | def test_uses_action_plan_language_for_simulation_style_interfaces(sel... method test_keeps_parameter_language_for_numeric_interfaces (line 38) | def test_keeps_parameter_language_for_numeric_interfaces(self) -> None: FILE: autocontext/tests/test_family_classifier.py class TestFamilyCandidate (line 29) | class TestFamilyCandidate: method test_construction (line 30) | def test_construction(self) -> None: class TestFamilyClassification (line 41) | class TestFamilyClassification: method test_construction (line 42) | def test_construction(self) -> None: method test_to_dict_roundtrip (line 55) | def test_to_dict_roundtrip(self) -> None: method test_empty_alternatives (line 76) | def test_empty_alternatives(self) -> None: class TestClassifySimulation (line 92) | class TestClassifySimulation: method test_api_orchestration (line 93) | def test_api_orchestration(self) -> None: method test_deployment_workflow (line 100) | def test_deployment_workflow(self) -> None: method test_debugging_with_state (line 107) | def test_debugging_with_state(self) -> None: method test_incident_response (line 114) | def test_incident_response(self) -> None: method test_geopolitical_crisis_routes_to_simulation (line 121) | def test_geopolitical_crisis_routes_to_simulation(self) -> None: class TestClassifyArtifactEditing (line 132) | class TestClassifyArtifactEditing: method test_config_editing (line 133) | def test_config_editing(self) -> None: method test_schema_migration (line 139) | def test_schema_migration(self) -> None: class TestClassifyInvestigation (line 146) | class TestClassifyInvestigation: method test_root_cause_investigation (line 147) | def test_root_cause_investigation(self) -> None: class TestClassifyWorkflow (line 155) | class TestClassifyWorkflow: method test_transactional_workflow (line 156) | def test_transactional_workflow(self) -> None: class TestClassifySchemaEvolution (line 164) | class TestClassifySchemaEvolution: method test_schema_evolution_stress_prompt_confidently_routes_to_schema_evolution (line 165) | def test_schema_evolution_stress_prompt_confidently_routes_to_schema_e... class TestClassifyAgentTask (line 188) | class TestClassifyAgentTask: method test_essay_writing (line 189) | def test_essay_writing(self) -> None: method test_code_generation (line 193) | def test_code_generation(self) -> None: method test_content_summarization (line 197) | def test_content_summarization(self) -> None: method test_data_analysis_report (line 201) | def test_data_analysis_report(self) -> None: class TestClassifyGame (line 211) | class TestClassifyGame: method test_board_game (line 212) | def test_board_game(self) -> None: method test_strategy_tournament (line 216) | def test_strategy_tournament(self) -> None: method test_capture_the_flag (line 223) | def test_capture_the_flag(self) -> None: class TestClassificationAlternatives (line 233) | class TestClassificationAlternatives: method test_alternatives_are_ranked_by_confidence (line 234) | def test_alternatives_are_ranked_by_confidence(self) -> None: method test_alternatives_cover_other_families (line 240) | def test_alternatives_cover_other_families(self) -> None: method test_all_families_represented (line 246) | def test_all_families_represented(self) -> None: method test_registered_families_drive_low_signal_alternatives (line 252) | def test_registered_families_drive_low_signal_alternatives(self) -> None: class TestClassifyEdgeCases (line 280) | class TestClassifyEdgeCases: method test_empty_description_raises (line 281) | def test_empty_description_raises(self) -> None: method test_whitespace_only_raises (line 285) | def test_whitespace_only_raises(self) -> None: method test_very_short_description (line 289) | def test_very_short_description(self) -> None: method test_ambiguous_description_has_lower_confidence (line 295) | def test_ambiguous_description_has_lower_confidence(self) -> None: class TestRouteToFamily (line 308) | class TestRouteToFamily: method test_route_high_confidence (line 309) | def test_route_high_confidence(self) -> None: method test_route_low_confidence_raises (line 320) | def test_route_low_confidence_raises(self) -> None: method test_route_custom_threshold (line 331) | def test_route_custom_threshold(self) -> None: method test_route_unknown_family_raises (line 346) | def test_route_unknown_family_raises(self) -> None: class TestLowConfidenceError (line 362) | class TestLowConfidenceError: method test_carries_classification (line 363) | def test_carries_classification(self) -> None: class TestEndToEnd (line 384) | class TestEndToEnd: method test_simulation_request_routes_correctly (line 385) | def test_simulation_request_routes_correctly(self) -> None: method test_agent_task_request_routes_correctly (line 394) | def test_agent_task_request_routes_correctly(self) -> None: method test_game_request_routes_correctly (line 400) | def test_game_request_routes_correctly(self) -> None: method test_previously_collapsed_request_no_longer_defaults_to_task (line 406) | def test_previously_collapsed_request_no_longer_defaults_to_task(self)... class TestFallbackAttemptedFlag (line 429) | class TestFallbackAttemptedFlag: method test_flag_false_by_default (line 430) | def test_flag_false_by_default(self) -> None: method test_flag_set_when_classifier_tried_but_returns_non_json (line 439) | def test_flag_set_when_classifier_tried_but_returns_non_json(self) -> ... method test_flag_not_set_when_no_llm_fn_provided (line 448) | def test_flag_not_set_when_no_llm_fn_provided(self) -> None: method test_flag_not_set_on_successful_llm_classifier (line 454) | def test_flag_not_set_on_successful_llm_classifier(self) -> None: class TestLowConfidenceErrorMentionsFallback (line 463) | class TestLowConfidenceErrorMentionsFallback: method test_message_mentions_fallback_when_attempted (line 464) | def test_message_mentions_fallback_when_attempted(self) -> None: method test_message_does_not_mention_fallback_when_not_attempted (line 476) | def test_message_does_not_mention_fallback_when_not_attempted(self) ->... method test_message_still_suggests_rephrasing (line 485) | def test_message_still_suggests_rephrasing(self) -> None: FILE: autocontext/tests/test_family_pipeline.py class TestFamilyPipelineABC (line 31) | class TestFamilyPipelineABC: method test_cannot_instantiate (line 32) | def test_cannot_instantiate(self) -> None: method test_concrete_subclass (line 36) | def test_concrete_subclass(self) -> None: class TestPipelineRegistry (line 64) | class TestPipelineRegistry: method test_has_pipeline_for_agent_task (line 65) | def test_has_pipeline_for_agent_task(self) -> None: method test_has_pipeline_for_simulation (line 68) | def test_has_pipeline_for_simulation(self) -> None: method test_has_pipeline_returns_false_for_unknown (line 71) | def test_has_pipeline_returns_false_for_unknown(self) -> None: method test_get_pipeline_agent_task (line 74) | def test_get_pipeline_agent_task(self) -> None: method test_get_pipeline_simulation (line 78) | def test_get_pipeline_simulation(self) -> None: method test_get_pipeline_unknown_raises (line 82) | def test_get_pipeline_unknown_raises(self) -> None: method test_register_custom_pipeline (line 90) | def test_register_custom_pipeline(self) -> None: method test_register_duplicate_raises (line 116) | def test_register_duplicate_raises(self) -> None: class TestUnsupportedFamilyError (line 148) | class TestUnsupportedFamilyError: method test_carries_family_name (line 149) | def test_carries_family_name(self) -> None: method test_no_silent_collapse (line 156) | def test_no_silent_collapse(self) -> None: class TestAgentTaskSpecValidation (line 167) | class TestAgentTaskSpecValidation: method test_valid_spec_passes (line 168) | def test_valid_spec_passes(self) -> None: method test_missing_task_prompt (line 176) | def test_missing_task_prompt(self) -> None: method test_missing_judge_rubric (line 181) | def test_missing_judge_rubric(self) -> None: method test_empty_prompt_fails (line 186) | def test_empty_prompt_fails(self) -> None: method test_invalid_output_format (line 191) | def test_invalid_output_format(self) -> None: method test_valid_output_formats_accepted (line 200) | def test_valid_output_formats_accepted(self) -> None: method test_required_spec_fields (line 210) | def test_required_spec_fields(self) -> None: method test_out_of_range_quality_threshold_is_auto_healed (line 216) | def test_out_of_range_quality_threshold_is_auto_healed(self) -> None: method test_quoted_quality_threshold_is_auto_healed (line 227) | def test_quoted_quality_threshold_is_auto_healed(self) -> None: class TestSimulationSpecValidation (line 244) | class TestSimulationSpecValidation: method test_valid_spec_passes (line 245) | def test_valid_spec_passes(self) -> None: method test_missing_description (line 260) | def test_missing_description(self) -> None: method test_missing_actions (line 270) | def test_missing_actions(self) -> None: method test_empty_actions_list (line 280) | def test_empty_actions_list(self) -> None: method test_action_missing_name (line 291) | def test_action_missing_name(self) -> None: method test_missing_success_criteria (line 302) | def test_missing_success_criteria(self) -> None: method test_invalid_max_steps (line 312) | def test_invalid_max_steps(self) -> None: method test_required_spec_fields (line 324) | def test_required_spec_fields(self) -> None: class TestCrossFamilyMismatch (line 338) | class TestCrossFamilyMismatch: method test_agent_task_spec_through_simulation_pipeline (line 339) | def test_agent_task_spec_through_simulation_pipeline(self) -> None: method test_simulation_spec_through_agent_task_pipeline (line 348) | def test_simulation_spec_through_agent_task_pipeline(self) -> None: class TestAgentTaskSourceValidation (line 366) | class TestAgentTaskSourceValidation: method test_valid_source (line 367) | def test_valid_source(self) -> None: method test_missing_interface_subclass (line 386) | def test_missing_interface_subclass(self) -> None: method test_syntax_error (line 394) | def test_syntax_error(self) -> None: method test_missing_required_methods (line 399) | def test_missing_required_methods(self) -> None: class TestSimulationSourceValidation (line 411) | class TestSimulationSourceValidation: method test_valid_source (line 412) | def test_valid_source(self) -> None: method test_missing_interface_subclass (line 459) | def test_missing_interface_subclass(self) -> None: method test_missing_required_methods (line 467) | def test_missing_required_methods(self) -> None: class TestFamilyContractError (line 485) | class TestFamilyContractError: method test_construction (line 486) | def test_construction(self) -> None: class TestValidateRouting (line 501) | class TestValidateRouting: method test_validate_unsupported_family_raises (line 502) | def test_validate_unsupported_family_raises(self) -> None: method test_validate_source_unsupported_family_raises (line 506) | def test_validate_source_unsupported_family_raises(self) -> None: FILE: autocontext/tests/test_feedback_loops.py class TestAnalystRating (line 14) | class TestAnalystRating: method test_construction (line 15) | def test_construction(self) -> None: method test_overall_score (line 28) | def test_overall_score(self) -> None: method test_roundtrip (line 37) | def test_roundtrip(self) -> None: method test_from_dict_coerces_structured_rationale_to_string (line 47) | def test_from_dict_coerces_structured_rationale_to_string(self) -> None: class TestFormatAnalystFeedback (line 72) | class TestFormatAnalystFeedback: method test_formats_rating (line 73) | def test_formats_rating(self) -> None: method test_high_rating_still_formats (line 88) | def test_high_rating_still_formats(self) -> None: method test_none_rating_returns_empty (line 101) | def test_none_rating_returns_empty(self) -> None: class TestToolUsageRecord (line 113) | class TestToolUsageRecord: method test_construction (line 114) | def test_construction(self) -> None: method test_roundtrip (line 126) | def test_roundtrip(self) -> None: class TestToolUsageTracker (line 140) | class TestToolUsageTracker: method test_scan_strategy_text (line 141) | def test_scan_strategy_text(self) -> None: method test_multiple_generations (line 155) | def test_multiple_generations(self) -> None: method test_empty_strategy (line 168) | def test_empty_strategy(self) -> None: class TestFormatUtilizationReport (line 181) | class TestFormatUtilizationReport: method test_formats_report (line 182) | def test_formats_report(self) -> None: method test_empty_tracker (line 195) | def test_empty_tracker(self) -> None: method test_report_ages_out_old_uses (line 202) | def test_report_ages_out_old_uses(self) -> None: class TestIdentifyStaleTools (line 218) | class TestIdentifyStaleTools: method test_finds_stale (line 219) | def test_finds_stale(self) -> None: method test_no_stale_when_recently_used (line 232) | def test_no_stale_when_recently_used(self) -> None: method test_never_used_is_stale (line 241) | def test_never_used_is_stale(self) -> None: FILE: autocontext/tests/test_fixture_loader.py function _sha256 (line 37) | def _sha256(data: bytes) -> str: class StubFetcher (line 44) | class StubFetcher: method __init__ (line 47) | def __init__(self, responses: dict[str, bytes]) -> None: method fetch (line 51) | def fetch(self, source: str) -> bytes: class TestFixtureManifest (line 61) | class TestFixtureManifest: method test_load_from_json (line 62) | def test_load_from_json(self, tmp_path: Path) -> None: method test_missing_file_is_empty_manifest (line 87) | def test_missing_file_is_empty_manifest(self, tmp_path: Path) -> None: method test_malformed_json_raises (line 92) | def test_malformed_json_raises(self, tmp_path: Path) -> None: class TestFixtureCache (line 102) | class TestFixtureCache: method test_put_and_get_roundtrip (line 103) | def test_put_and_get_roundtrip(self, tmp_path: Path) -> None: method test_get_missing_returns_none (line 115) | def test_get_missing_returns_none(self, tmp_path: Path) -> None: method test_scenarios_are_isolated (line 118) | def test_scenarios_are_isolated(self, tmp_path: Path) -> None: class TestLoadFixtures (line 129) | class TestLoadFixtures: method test_empty_manifest_returns_empty (line 130) | def test_empty_manifest_returns_empty(self, tmp_path: Path) -> None: method test_fetches_and_caches_on_miss (line 139) | def test_fetches_and_caches_on_miss(self, tmp_path: Path) -> None: method test_cache_hit_skips_fetch (line 159) | def test_cache_hit_skips_fetch(self, tmp_path: Path) -> None: method test_stale_cache_sha_mismatch_refetches (line 177) | def test_stale_cache_sha_mismatch_refetches(self, tmp_path: Path) -> N... method test_fetcher_returns_wrong_sha_raises (line 195) | def test_fetcher_returns_wrong_sha_raises(self, tmp_path: Path) -> None: method test_fetcher_failure_raises (line 209) | def test_fetcher_failure_raises(self, tmp_path: Path) -> None: method test_no_expected_sha_skips_checksum_verify (line 223) | def test_no_expected_sha_skips_checksum_verify(self, tmp_path: Path) -... class TestLoadScenarioFixtures (line 237) | class TestLoadScenarioFixtures: method test_no_manifest_means_empty_no_op (line 238) | def test_no_manifest_means_empty_no_op(self, tmp_path: Path) -> None: method test_reads_manifest_at_knowledge_path (line 251) | def test_reads_manifest_at_knowledge_path(self, tmp_path: Path) -> None: class TestUrlFetcher (line 286) | class TestUrlFetcher: method test_fetches_via_urlopen (line 287) | def test_fetches_via_urlopen(self) -> None: method test_urlopen_failure_raises_fixture_fetch_error (line 294) | def test_urlopen_failure_raises_fixture_fetch_error(self) -> None: class TestRender (line 304) | class TestRender: method test_empty_list (line 305) | def test_empty_list(self) -> None: method test_renders_compact_block (line 308) | def test_renders_compact_block(self) -> None: class TestApplyToContext (line 325) | class TestApplyToContext: method test_writes_fixtures_dict_onto_context (line 326) | def test_writes_fixtures_dict_onto_context(self) -> None: method test_idempotent_merge_preserves_existing (line 337) | def test_idempotent_merge_preserves_existing(self) -> None: class TestLocalFilePaths (line 352) | class TestLocalFilePaths: method test_file_uri_is_read_from_disk (line 356) | def test_file_uri_is_read_from_disk(self, tmp_path: Path) -> None: method test_bare_path_is_read_from_disk (line 362) | def test_bare_path_is_read_from_disk(self, tmp_path: Path) -> None: method test_missing_local_file_raises_fixture_fetch_error (line 368) | def test_missing_local_file_raises_fixture_fetch_error(self, tmp_path:... class TestCachePathTraversal (line 374) | class TestCachePathTraversal: method test_rejects_dotdot_in_scenario (line 378) | def test_rejects_dotdot_in_scenario(self, tmp_path: Path) -> None: method test_rejects_dotdot_in_key (line 385) | def test_rejects_dotdot_in_key(self, tmp_path: Path) -> None: method test_rejects_absolute_path_components (line 392) | def test_rejects_absolute_path_components(self, tmp_path: Path) -> None: method test_rejects_path_separator_in_key (line 399) | def test_rejects_path_separator_in_key(self, tmp_path: Path) -> None: method test_get_also_rejects_dotdot (line 406) | def test_get_also_rejects_dotdot(self, tmp_path: Path) -> None: class TestCacheIntegrity (line 412) | class TestCacheIntegrity: method test_cached_bin_tampered_with_intact_provenance_is_refetched (line 416) | def test_cached_bin_tampered_with_intact_provenance_is_refetched(self,... FILE: autocontext/tests/test_freshness_and_fixtures.py class TestEvidenceFreshness (line 18) | class TestEvidenceFreshness: method test_construction (line 19) | def test_construction(self) -> None: method test_age (line 32) | def test_age(self) -> None: method test_roundtrip (line 38) | def test_roundtrip(self) -> None: class TestFreshnessPolicy (line 53) | class TestFreshnessPolicy: method test_defaults (line 54) | def test_defaults(self) -> None: method test_custom (line 61) | def test_custom(self) -> None: class TestApplyFreshnessDecay (line 68) | class TestApplyFreshnessDecay: method test_fresh_items_kept (line 69) | def test_fresh_items_kept(self) -> None: method test_old_items_decayed (line 85) | def test_old_items_decayed(self) -> None: method test_low_support_decayed (line 102) | def test_low_support_decayed(self) -> None: class TestDetectStaleContext (line 117) | class TestDetectStaleContext: method test_detects_stale (line 118) | def test_detects_stale(self) -> None: method test_no_warnings_for_fresh (line 132) | def test_no_warnings_for_fresh(self) -> None: class TestRegressionFixture (line 151) | class TestRegressionFixture: method test_construction (line 152) | def test_construction(self) -> None: method test_roundtrip (line 168) | def test_roundtrip(self) -> None: class TestGenerateFixturesFromFriction (line 190) | class TestGenerateFixturesFromFriction: method test_generates_from_clusters (line 191) | def test_generates_from_clusters(self) -> None: method test_filters_low_count (line 214) | def test_filters_low_count(self) -> None: method test_empty_clusters (line 223) | def test_empty_clusters(self) -> None: method test_fixture_ids_are_stable_for_same_pattern (line 228) | def test_fixture_ids_are_stable_for_same_pattern(self) -> None: class TestFixtureStore (line 244) | class TestFixtureStore: method test_persist_and_load (line 245) | def test_persist_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 260) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_for_scenario (line 266) | def test_list_for_scenario(self, tmp_path: Path) -> None: method test_replace_for_scenario_replaces_stale_fixture_set (line 310) | def test_replace_for_scenario_replaces_stale_fixture_set(self, tmp_pat... class TestGenerationRunnerFixtureWiring (line 347) | class TestGenerationRunnerFixtureWiring: method test_generate_aggregate_analytics_persists_regression_fixtures (line 348) | def test_generate_aggregate_analytics_persists_regression_fixtures(sel... method test_generate_aggregate_analytics_persists_credit_assignment_patterns (line 444) | def test_generate_aggregate_analytics_persists_credit_assignment_patte... FILE: autocontext/tests/test_gate_taxonomy.py function _iter_python_files (line 23) | def _iter_python_files(root: Path) -> list[Path]: function _module_name (line 31) | def _module_name(path: Path) -> str: function _resolve_import_from (line 36) | def _resolve_import_from(path: Path, node: ast.ImportFrom) -> str | None: function _collect_imported_modules (line 52) | def _collect_imported_modules(path: Path) -> set[str]: class TestNoDeadGateModules (line 75) | class TestNoDeadGateModules: method test_no_dead_gate_modules (line 78) | def test_no_dead_gate_modules(self) -> None: class TestGateTaxonomyIsClean (line 86) | class TestGateTaxonomyIsClean: method test_all_gate_files_are_imported (line 89) | def test_all_gate_files_are_imported(self) -> None: FILE: autocontext/tests/test_generation_pipeline.py class TestGenerationPipelineIntegration (line 11) | class TestGenerationPipelineIntegration: method test_pipeline_runs_one_generation (line 12) | def test_pipeline_runs_one_generation(self, tmp_path: Path) -> None: method test_pipeline_multi_generation (line 29) | def test_pipeline_multi_generation(self, tmp_path: Path) -> None: class TestPipelineMetaOptimizer (line 46) | class TestPipelineMetaOptimizer: method test_pipeline_accepts_meta_optimizer (line 47) | def test_pipeline_accepts_meta_optimizer(self) -> None: method test_pipeline_meta_optimizer_defaults_none (line 65) | def test_pipeline_meta_optimizer_defaults_none(self) -> None: class TestPipelineControllerCheckpoints (line 82) | class TestPipelineControllerCheckpoints: method test_pipeline_accepts_controller (line 83) | def test_pipeline_accepts_controller(self) -> None: method test_pipeline_gate_override_applied (line 102) | def test_pipeline_gate_override_applied(self, tmp_path: Path) -> None: class TestPipelineMetaHookCalls (line 125) | class TestPipelineMetaHookCalls: method test_pipeline_records_llm_calls (line 126) | def test_pipeline_records_llm_calls(self, tmp_path: Path) -> None: method test_pipeline_records_gate_decision (line 144) | def test_pipeline_records_gate_decision(self, tmp_path: Path) -> None: method test_pipeline_records_generation (line 166) | def test_pipeline_records_generation(self, tmp_path: Path) -> None: method test_pipeline_meta_error_does_not_crash (line 189) | def test_pipeline_meta_error_does_not_crash(self, tmp_path: Path) -> N... class TestPipelineMetaIntegration (line 211) | class TestPipelineMetaIntegration: method test_full_generation_with_meta_enabled (line 212) | def test_full_generation_with_meta_enabled(self, tmp_path: Path) -> None: method test_meta_disabled_no_side_effects (line 253) | def test_meta_disabled_no_side_effects(self, tmp_path: Path) -> None: method test_multi_gen_accumulates_metrics (line 283) | def test_multi_gen_accumulates_metrics(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_generation_stages.py function _make_context (line 40) | def _make_context(**overrides: object) -> GenerationContext: class TestGenerationContext (line 62) | class TestGenerationContext: method test_construction_with_required_fields (line 63) | def test_construction_with_required_fields(self) -> None: method test_optional_fields_default_none (line 92) | def test_optional_fields_default_none(self) -> None: method test_mutable_fields_independent (line 105) | def test_mutable_fields_independent(self) -> None: class TestStageResult (line 128) | class TestStageResult: method test_success_construction (line 129) | def test_success_construction(self) -> None: method test_failure_with_error (line 136) | def test_failure_with_error(self) -> None: function _make_settings (line 147) | def _make_settings() -> AppSettings: function _make_scenario_mock (line 151) | def _make_scenario_mock() -> MagicMock: function _make_ctx (line 167) | def _make_ctx(settings: AppSettings | None = None, scenario: MagicMock |... class TestStageKnowledgeSetup (line 186) | class TestStageKnowledgeSetup: method test_populates_prompts (line 187) | def test_populates_prompts(self) -> None: method test_sets_strategy_interface (line 205) | def test_sets_strategy_interface(self) -> None: method test_lean_harness_profile_caps_prompt_budget (line 222) | def test_lean_harness_profile_caps_prompt_budget(self) -> None: method test_lean_harness_profile_enforces_tool_allowlist (line 264) | def test_lean_harness_profile_enforces_tool_allowlist(self) -> None: method test_ablation_skips_knowledge (line 296) | def test_ablation_skips_knowledge(self) -> None: method test_includes_mutation_replay_in_prompt_context (line 306) | def test_includes_mutation_replay_in_prompt_context(self) -> None: method test_includes_recent_weakness_reports_in_prompt_context (line 327) | def test_includes_recent_weakness_reports_in_prompt_context(self) -> N... method test_includes_recent_progress_reports_in_prompt_context (line 351) | def test_includes_recent_progress_reports_in_prompt_context(self) -> N... method test_includes_recent_session_reports_in_prompt_context (line 375) | def test_includes_recent_session_reports_in_prompt_context(self) -> None: method test_skips_session_reports_when_disabled (line 400) | def test_skips_session_reports_when_disabled(self) -> None: method test_applies_active_harness_mutations_to_live_prompts (line 423) | def test_applies_active_harness_mutations_to_live_prompts(self) -> None: method test_includes_role_specific_notebook_context_in_live_prompt_bundle (line 473) | def test_includes_role_specific_notebook_context_in_live_prompt_bundle... method test_includes_environment_snapshot_in_prompt_context (line 507) | def test_includes_environment_snapshot_in_prompt_context(self) -> None: method test_materializes_evidence_workspace_and_injects_manifest (line 530) | def test_materializes_evidence_workspace_and_injects_manifest(self, tm... method test_writes_semantic_compaction_benchmark_report (line 571) | def test_writes_semantic_compaction_benchmark_report(self, tmp_path) -... method test_benchmark_report_records_evidence_cache_hits_on_repeat (line 638) | def test_benchmark_report_records_evidence_cache_hits_on_repeat(self, ... method test_includes_prior_analyst_feedback_in_analyst_prompt (line 683) | def test_includes_prior_analyst_feedback_in_analyst_prompt(self) -> None: method test_includes_tool_usage_report_in_architect_prompt (line 715) | def test_includes_tool_usage_report_in_architect_prompt(self) -> None: method test_includes_prior_hint_feedback_in_coach_prompt_only (line 741) | def test_includes_prior_hint_feedback_in_coach_prompt_only(self) -> None: method test_includes_credit_attribution_in_role_specific_prompts (line 774) | def test_includes_credit_attribution_in_role_specific_prompts(self) ->... method test_freshness_decay_omits_stale_hints_from_prompt_context (line 830) | def test_freshness_decay_omits_stale_hints_from_prompt_context(self) -... method test_freshness_decay_filters_stale_notebook_context (line 871) | def test_freshness_decay_filters_stale_notebook_context(self) -> None: class TestStageAgentGeneration (line 917) | class TestStageAgentGeneration: method test_populates_outputs_and_strategy (line 918) | def test_populates_outputs_and_strategy(self) -> None: method test_raises_on_invalid_strategy (line 949) | def test_raises_on_invalid_strategy(self) -> None: method test_persists_agent_outputs (line 976) | def test_persists_agent_outputs(self) -> None: method test_updates_tool_usage_feedback_from_competitor_raw_text (line 1007) | def test_updates_tool_usage_feedback_from_competitor_raw_text(self) ->... method test_persists_approved_harness_mutations_from_architect_output (line 1064) | def test_persists_approved_harness_mutations_from_architect_output(sel... method test_multi_basin_branching_selects_best_candidate_in_live_path (line 1117) | def test_multi_basin_branching_selects_best_candidate_in_live_path(sel... class _FakeScenario (line 1205) | class _FakeScenario(ScenarioInterface): method describe_rules (line 1210) | def describe_rules(self) -> str: method describe_strategy_interface (line 1213) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 1216) | def describe_evaluation_criteria(self) -> str: method initial_state (line 1219) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 1222) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 1225) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 1228) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 1234) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 1237) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 1241) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 1244) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: function _make_inline_supervisor (line 1248) | def _make_inline_supervisor() -> ExecutionSupervisor: function _make_tournament_ctx (line 1271) | def _make_tournament_ctx( class TestStageTournament (line 1300) | class TestStageTournament: method _run (line 1301) | def _run( method test_populates_tournament_and_gate (line 1324) | def test_populates_tournament_and_gate(self) -> None: method test_uses_configured_scoring_backend (line 1332) | def test_uses_configured_scoring_backend(self) -> None: method test_advance_updates_previous_best (line 1340) | def test_advance_updates_previous_best(self) -> None: method test_rollback_does_not_update_best (line 1347) | def test_rollback_does_not_update_best(self) -> None: method test_accumulates_score_history (line 1354) | def test_accumulates_score_history(self) -> None: method test_builds_replay_narrative (line 1364) | def test_builds_replay_narrative(self) -> None: method test_uses_resolve_gate_decision_and_apply_tournament_outcome_helpers (line 1371) | def test_uses_resolve_gate_decision_and_apply_tournament_outcome_helpe... method test_emits_dimension_metadata_for_dimensional_game_scenarios (line 1419) | def test_emits_dimension_metadata_for_dimensional_game_scenarios(self)... method test_self_play_pool_is_used_in_live_tournament_path (line 1474) | def test_self_play_pool_is_used_in_live_tournament_path(self) -> None: method test_holdout_failure_blocks_advance_in_live_stage (line 1522) | def test_holdout_failure_blocks_advance_in_live_stage(self) -> None: method test_cost_throttle_converts_retry_to_rollback_in_live_stage (line 1563) | def test_cost_throttle_converts_retry_to_rollback_in_live_stage(self) ... method test_novelty_bonus_can_change_live_gate_decision (line 1605) | def test_novelty_bonus_can_change_live_gate_decision(self) -> None: method test_family_override_can_disable_holdout (line 1673) | def test_family_override_can_disable_holdout(self) -> None: function _make_curator_ctx (line 1712) | def _make_curator_ctx( class TestStageCuratorGate (line 1738) | class TestStageCuratorGate: method test_noop_when_no_curator (line 1739) | def test_noop_when_no_curator(self) -> None: method test_noop_when_not_advance (line 1753) | def test_noop_when_not_advance(self) -> None: method test_noop_when_no_coach_playbook (line 1767) | def test_noop_when_no_coach_playbook(self) -> None: method test_noop_when_ablation (line 1781) | def test_noop_when_ablation(self) -> None: method test_curator_receives_skeptic_review_section (line 1795) | def test_curator_receives_skeptic_review_section(self) -> None: method test_persists_analyst_rating_feedback (line 1835) | def test_persists_analyst_rating_feedback(self) -> None: function _make_persistence_ctx (line 1892) | def _make_persistence_ctx( class TestStagePersistence (line 1978) | class TestStagePersistence: method test_upserts_generation_and_persists_artifacts (line 1979) | def test_upserts_generation_and_persists_artifacts(self) -> None: method test_advance_passes_coach_playbook (line 2005) | def test_advance_passes_coach_playbook(self) -> None: method test_persists_pi_traces_by_role (line 2026) | def test_persists_pi_traces_by_role(self) -> None: method test_rollback_generates_rollback_lesson (line 2060) | def test_rollback_generates_rollback_lesson(self) -> None: method test_advance_writes_hints (line 2082) | def test_advance_writes_hints(self) -> None: method test_inserts_matches (line 2109) | def test_inserts_matches(self) -> None: method test_skips_non_json_match_replay_but_persists_replay_payload (line 2130) | def test_skips_non_json_match_replay_but_persists_replay_payload(self)... method test_emits_generation_completed (line 2158) | def test_emits_generation_completed(self) -> None: method test_persistence_surfaces_holdout_metrics (line 2181) | def test_persistence_surfaces_holdout_metrics(self) -> None: method test_persists_credit_assignment_and_emits_it (line 2213) | def test_persists_credit_assignment_and_emits_it(self) -> None: method test_carries_forward_coach_hints (line 2245) | def test_carries_forward_coach_hints(self) -> None: method test_collects_and_persists_competitor_hint_feedback (line 2265) | def test_collects_and_persists_competitor_hint_feedback(self) -> None: method test_hint_volume_control_caps_and_rotates_live_hints (line 2318) | def test_hint_volume_control_caps_and_rotates_live_hints(self) -> None: class TestStageTournamentAttempt (line 2368) | class TestStageTournamentAttempt: method test_stage_tournament_stores_attempt_on_context (line 2369) | def test_stage_tournament_stores_attempt_on_context(self) -> None: method test_stage_tournament_persists_revised_competitor_output (line 2391) | def test_stage_tournament_persists_revised_competitor_output(self) -> ... method test_stage_tournament_uses_retry_prompt_helper (line 2427) | def test_stage_tournament_uses_retry_prompt_helper(self) -> None: class TestStageAgentGenerationEvents (line 2463) | class TestStageAgentGenerationEvents: method _make_stage2_ctx (line 2464) | def _make_stage2_ctx(self) -> tuple[GenerationContext, AgentOrchestrat... method test_stage_agent_generation_emits_agents_started (line 2485) | def test_stage_agent_generation_emits_agents_started(self) -> None: method test_stage_agent_generation_emits_role_completed (line 2506) | def test_stage_agent_generation_emits_role_completed(self) -> None: class TestStagePersistenceCreatedTools (line 2532) | class TestStagePersistenceCreatedTools: method test_stage_persistence_emits_created_tools (line 2533) | def test_stage_persistence_emits_created_tools(self) -> None: class TestStagePersistenceRollbackRetryNote (line 2562) | class TestStagePersistenceRollbackRetryNote: method test_stage_persistence_rollback_includes_retry_note (line 2563) | def test_stage_persistence_rollback_includes_retry_note(self) -> None: method test_stage_persistence_rollback_no_retry_note_when_zero (line 2586) | def test_stage_persistence_rollback_no_retry_note_when_zero(self) -> N... FILE: autocontext/tests/test_generic_creator.py class TestGenericCreatorExists (line 9) | class TestGenericCreatorExists: method test_generic_creator_importable (line 12) | def test_generic_creator_importable(self) -> None: method test_generic_creator_has_create_method (line 17) | def test_generic_creator_has_create_method(self) -> None: class TestPerFamilyCreatorCompatibility (line 23) | class TestPerFamilyCreatorCompatibility: method test_creator_modules_remain_importable (line 38) | def test_creator_modules_remain_importable(self) -> None: method test_creator_classes_keep_constructor_shape (line 45) | def test_creator_classes_keep_constructor_shape(self, tmp_path: Path) ... method test_compatibility_helpers_remain_available (line 57) | def test_compatibility_helpers_remain_available(self) -> None: FILE: autocontext/tests/test_gondolin_contract.py class _FakeGondolinBackend (line 12) | class _FakeGondolinBackend: method execute (line 13) | def execute(self, request: GondolinExecutionRequest) -> GondolinExecut... function test_gondolin_contract_defaults_are_deny_by_default (line 21) | def test_gondolin_contract_defaults_are_deny_by_default() -> None: function test_gondolin_contract_uses_secret_references_not_secret_values (line 29) | def test_gondolin_contract_uses_secret_references_not_secret_values() ->... function test_gondolin_backend_protocol_can_be_implemented_out_of_tree (line 39) | def test_gondolin_backend_protocol_can_be_implemented_out_of_tree() -> N... FILE: autocontext/tests/test_harness/test_harness_adapt_applicator.py function _make_rec (line 15) | def _make_rec( function _enabled_policy (line 33) | def _enabled_policy(**overrides: object) -> AdaptationPolicy: class TestDisabledPolicy (line 44) | class TestDisabledPolicy: method test_disabled_policy_skips_all (line 45) | def test_disabled_policy_skips_all(self) -> None: class TestModelApplication (line 59) | class TestModelApplication: method test_applies_model_recommendation (line 60) | def test_applies_model_recommendation(self) -> None: method test_model_field_mapping_per_role (line 72) | def test_model_field_mapping_per_role(self) -> None: method test_multiple_roles_applied (line 91) | def test_multiple_roles_applied(self) -> None: class TestCadenceApplication (line 108) | class TestCadenceApplication: method test_applies_cadence_recommendation (line 109) | def test_applies_cadence_recommendation(self) -> None: method test_cadence_parsing_extracts_upper_bound (line 127) | def test_cadence_parsing_extracts_upper_bound(self) -> None: class TestPolicyGuardrails (line 145) | class TestPolicyGuardrails: method test_skips_low_confidence (line 146) | def test_skips_low_confidence(self) -> None: method test_caps_max_changes (line 158) | def test_caps_max_changes(self) -> None: method test_dry_run_does_not_mutate (line 175) | def test_dry_run_does_not_mutate(self) -> None: class TestImmutability (line 189) | class TestImmutability: method test_never_mutates_original_settings (line 190) | def test_never_mutates_original_settings(self) -> None: class TestAudit (line 205) | class TestAudit: method test_audit_trail_written (line 206) | def test_audit_trail_written(self, tmp_path: Path) -> None: method test_no_audit_writer_ok (line 222) | def test_no_audit_writer_ok(self) -> None: class TestEdgeCases (line 234) | class TestEdgeCases: method test_empty_recommendations (line 235) | def test_empty_recommendations(self) -> None: method test_unknown_parameter_skipped (line 245) | def test_unknown_parameter_skipped(self) -> None: FILE: autocontext/tests/test_harness/test_harness_adapt_types.py function test_adaptation_status_values (line 11) | def test_adaptation_status_values() -> None: function test_adaptation_result_construction (line 19) | def test_adaptation_result_construction() -> None: function test_adaptation_result_frozen (line 40) | def test_adaptation_result_frozen() -> None: function test_adaptation_result_to_dict (line 59) | def test_adaptation_result_to_dict() -> None: function test_adaptation_result_to_dict_roundtrip (line 83) | def test_adaptation_result_to_dict_roundtrip() -> None: function test_adaptation_result_from_dict (line 99) | def test_adaptation_result_from_dict() -> None: function test_adaptation_result_now_returns_iso_timestamp (line 121) | def test_adaptation_result_now_returns_iso_timestamp() -> None: function test_adaptation_policy_defaults (line 128) | def test_adaptation_policy_defaults() -> None: function test_adaptation_policy_custom_values (line 137) | def test_adaptation_policy_custom_values() -> None: function test_adaptation_policy_frozen (line 152) | def test_adaptation_policy_frozen() -> None: function test_adaptation_policy_allowed_parameters_is_frozenset (line 162) | def test_adaptation_policy_allowed_parameters_is_frozenset() -> None: FILE: autocontext/tests/test_harness/test_harness_audit_types.py function test_audit_category_values (line 11) | def test_audit_category_values() -> None: function test_audit_entry_construction (line 20) | def test_audit_entry_construction() -> None: function test_audit_entry_frozen (line 37) | def test_audit_entry_frozen() -> None: function test_audit_entry_defaults (line 52) | def test_audit_entry_defaults() -> None: function test_audit_entry_to_dict (line 63) | def test_audit_entry_to_dict() -> None: function test_audit_entry_from_dict (line 83) | def test_audit_entry_from_dict() -> None: function test_audit_entry_now_returns_iso_timestamp (line 101) | def test_audit_entry_now_returns_iso_timestamp() -> None: FILE: autocontext/tests/test_harness/test_harness_audit_writer.py function _make_entry (line 13) | def _make_entry( function test_writer_creates_file_on_first_append (line 32) | def test_writer_creates_file_on_first_append(tmp_path: Path) -> None: function test_writer_appends_ndjson_lines (line 40) | def test_writer_appends_ndjson_lines(tmp_path: Path) -> None: function test_writer_thread_safe (line 50) | def test_writer_thread_safe(tmp_path: Path) -> None: function test_writer_entries_are_valid_json (line 69) | def test_writer_entries_are_valid_json(tmp_path: Path) -> None: function test_writer_preserves_all_fields (line 79) | def test_writer_preserves_all_fields(tmp_path: Path) -> None: function test_writer_sequence_numbers_monotonic (line 102) | def test_writer_sequence_numbers_monotonic(tmp_path: Path) -> None: function test_writer_read_all (line 112) | def test_writer_read_all(tmp_path: Path) -> None: function test_writer_read_by_category (line 123) | def test_writer_read_by_category(tmp_path: Path) -> None: function test_writer_read_by_actor (line 136) | def test_writer_read_by_actor(tmp_path: Path) -> None: function test_writer_read_by_time_range (line 147) | def test_writer_read_by_time_range(tmp_path: Path) -> None: function test_writer_count (line 170) | def test_writer_count(tmp_path: Path) -> None: FILE: autocontext/tests/test_harness/test_harness_controller.py function test_controller_starts_unpaused (line 10) | def test_controller_starts_unpaused() -> None: function test_pause_resume_cycle (line 15) | def test_pause_resume_cycle() -> None: function test_is_paused_reflects_state (line 23) | def test_is_paused_reflects_state() -> None: function test_gate_override_set_and_take (line 30) | def test_gate_override_set_and_take() -> None: function test_gate_override_take_clears (line 36) | def test_gate_override_take_clears() -> None: function test_hint_inject_and_take (line 43) | def test_hint_inject_and_take() -> None: function test_hint_take_clears (line 49) | def test_hint_take_clears() -> None: function test_chat_submit_and_respond (line 56) | def test_chat_submit_and_respond() -> None: function test_poll_chat_empty_returns_none (line 73) | def test_poll_chat_empty_returns_none() -> None: FILE: autocontext/tests/test_harness/test_harness_cost_calculator.py function test_calculator_known_model (line 10) | def test_calculator_known_model() -> None: function test_calculator_unknown_model_uses_default (line 22) | def test_calculator_unknown_model_uses_default() -> None: function test_calculator_zero_tokens (line 31) | def test_calculator_zero_tokens() -> None: function test_calculator_from_usage (line 39) | def test_calculator_from_usage() -> None: function test_calculator_batch (line 49) | def test_calculator_batch() -> None: function test_calculator_default_pricing_includes_claude_models (line 61) | def test_calculator_default_pricing_includes_claude_models() -> None: function test_calculator_custom_pricing (line 68) | def test_calculator_custom_pricing() -> None: function test_calculator_cost_precision (line 76) | def test_calculator_cost_precision() -> None: FILE: autocontext/tests/test_harness/test_harness_cost_tracker.py function _usage (line 13) | def _usage(model: str = "claude-sonnet-4-5-20250929", input_tokens: int ... function test_tracker_record_adds_to_total (line 17) | def test_tracker_record_adds_to_total() -> None: function test_tracker_cost_by_role (line 26) | def test_tracker_cost_by_role() -> None: function test_tracker_cost_by_model (line 38) | def test_tracker_cost_by_model() -> None: function test_tracker_generation_cost (line 48) | def test_tracker_generation_cost() -> None: function test_tracker_summary (line 61) | def test_tracker_summary() -> None: function test_tracker_budget_alert_callback (line 74) | def test_tracker_budget_alert_callback() -> None: function test_tracker_no_alert_below_threshold (line 86) | def test_tracker_no_alert_below_threshold() -> None: function test_tracker_thread_safe (line 95) | def test_tracker_thread_safe() -> None: function test_tracker_reset (line 116) | def test_tracker_reset() -> None: function test_tracker_cost_per_generation (line 133) | def test_tracker_cost_per_generation() -> None: FILE: autocontext/tests/test_harness/test_harness_cost_types.py function test_model_pricing_construction (line 10) | def test_model_pricing_construction() -> None: function test_model_pricing_frozen (line 17) | def test_model_pricing_frozen() -> None: function test_cost_record_construction (line 26) | def test_cost_record_construction() -> None: function test_cost_record_frozen (line 43) | def test_cost_record_frozen() -> None: function test_cost_record_to_dict (line 52) | def test_cost_record_to_dict() -> None: function test_cost_summary_construction (line 72) | def test_cost_summary_construction() -> None: function test_cost_summary_from_records (line 87) | def test_cost_summary_from_records() -> None: function test_cost_summary_from_records_empty (line 102) | def test_cost_summary_from_records_empty() -> None: FILE: autocontext/tests/test_harness/test_harness_elo.py class TestExpectedScore (line 10) | class TestExpectedScore: method test_expected_score_equal_ratings (line 11) | def test_expected_score_equal_ratings(self) -> None: method test_expected_score_higher_player (line 14) | def test_expected_score_higher_player(self) -> None: method test_expected_score_lower_player (line 18) | def test_expected_score_lower_player(self) -> None: class TestUpdateElo (line 23) | class TestUpdateElo: method test_update_elo_win (line 24) | def test_update_elo_win(self) -> None: method test_update_elo_loss (line 28) | def test_update_elo_loss(self) -> None: method test_update_elo_custom_k_factor (line 32) | def test_update_elo_custom_k_factor(self) -> None: method test_update_elo_expected_defeats_no_change (line 37) | def test_update_elo_expected_defeats_no_change(self) -> None: FILE: autocontext/tests/test_harness/test_harness_eval_runner.py class _FixedEvaluator (line 14) | class _FixedEvaluator: method __init__ (line 17) | def __init__(self, score: float) -> None: method evaluate (line 20) | def evaluate( class _SeedEvaluator (line 29) | class _SeedEvaluator: method evaluate (line 32) | def evaluate( class _ErrorEvaluator (line 41) | class _ErrorEvaluator: method evaluate (line 44) | def evaluate( class _DimensionalEvaluator (line 53) | class _DimensionalEvaluator: method __init__ (line 54) | def __init__(self) -> None: method evaluate (line 68) | def evaluate( class _StrategyEvaluator (line 77) | class _StrategyEvaluator: method evaluate (line 78) | def evaluate( class TestEvaluationRunner (line 87) | class TestEvaluationRunner: method test_runner_single_trial (line 88) | def test_runner_single_trial(self) -> None: method test_runner_multiple_trials (line 101) | def test_runner_multiple_trials(self) -> None: method test_runner_elo_updates_on_win (line 110) | def test_runner_elo_updates_on_win(self) -> None: method test_runner_elo_updates_on_loss (line 117) | def test_runner_elo_updates_on_loss(self) -> None: method test_runner_custom_win_threshold (line 124) | def test_runner_custom_win_threshold(self) -> None: method test_runner_mean_score_calculated (line 133) | def test_runner_mean_score_calculated(self) -> None: method test_runner_best_score_is_max (line 142) | def test_runner_best_score_is_max(self) -> None: method test_runner_on_result_callback (line 150) | def test_runner_on_result_callback(self) -> None: method test_runner_collects_all_results (line 169) | def test_runner_collects_all_results(self) -> None: method test_runner_handles_evaluator_error (line 177) | def test_runner_handles_evaluator_error(self) -> None: method test_runner_summarizes_dimension_scores (line 184) | def test_runner_summarizes_dimension_scores(self) -> None: method test_runner_applies_self_play_schedule (line 197) | def test_runner_applies_self_play_schedule(self) -> None: method test_runner_uses_selected_scoring_backend (line 218) | def test_runner_uses_selected_scoring_backend(self) -> None: FILE: autocontext/tests/test_harness/test_harness_eval_types.py class TestEvaluationLimits (line 10) | class TestEvaluationLimits: method test_evaluation_limits_defaults (line 11) | def test_evaluation_limits_defaults(self) -> None: method test_evaluation_limits_custom (line 17) | def test_evaluation_limits_custom(self) -> None: method test_evaluation_limits_frozen (line 23) | def test_evaluation_limits_frozen(self) -> None: class TestEvaluationResult (line 29) | class TestEvaluationResult: method test_evaluation_result_construction (line 30) | def test_evaluation_result_construction(self) -> None: method test_evaluation_result_defaults (line 44) | def test_evaluation_result_defaults(self) -> None: method test_evaluation_result_frozen (line 51) | def test_evaluation_result_frozen(self) -> None: class TestEvaluationSummary (line 57) | class TestEvaluationSummary: method test_evaluation_summary_construction (line 58) | def test_evaluation_summary_construction(self) -> None: method test_evaluation_summary_frozen (line 75) | def test_evaluation_summary_frozen(self) -> None: FILE: autocontext/tests/test_harness/test_harness_evaluator.py class _DummyEvaluator (line 12) | class _DummyEvaluator: method evaluate (line 15) | def evaluate( class TestEvaluatorProtocol (line 24) | class TestEvaluatorProtocol: method test_evaluator_protocol_callable (line 25) | def test_evaluator_protocol_callable(self) -> None: method test_evaluator_returns_evaluation_result (line 29) | def test_evaluator_returns_evaluation_result(self) -> None: FILE: autocontext/tests/test_harness/test_harness_events.py function test_emitter_creates_parent_dirs (line 12) | def test_emitter_creates_parent_dirs(tmp_path: Path) -> None: function test_emitter_writes_ndjson (line 19) | def test_emitter_writes_ndjson(tmp_path: Path) -> None: function test_emitter_increments_sequence (line 34) | def test_emitter_increments_sequence(tmp_path: Path) -> None: function test_emitter_default_channel (line 45) | def test_emitter_default_channel(tmp_path: Path) -> None: function test_emitter_custom_channel (line 53) | def test_emitter_custom_channel(tmp_path: Path) -> None: function test_subscriber_receives_events (line 61) | def test_subscriber_receives_events(tmp_path: Path) -> None: function test_subscriber_error_does_not_crash (line 71) | def test_subscriber_error_does_not_crash(tmp_path: Path) -> None: function test_subscriber_error_keeps_fanout_when_debug_logging_breaks (line 84) | def test_subscriber_error_keeps_fanout_when_debug_logging_breaks( function test_unsubscribe_removes_callback (line 110) | def test_unsubscribe_removes_callback(tmp_path: Path) -> None: function test_emitter_thread_safety (line 122) | def test_emitter_thread_safety(tmp_path: Path) -> None: FILE: autocontext/tests/test_harness/test_harness_gate.py function test_gate_decision_frozen (line 10) | def test_gate_decision_frozen() -> None: function test_gate_advance_when_delta_exceeds_threshold (line 16) | def test_gate_advance_when_delta_exceeds_threshold() -> None: function test_gate_retry_when_delta_below_and_retries_remain (line 23) | def test_gate_retry_when_delta_below_and_retries_remain() -> None: function test_gate_rollback_when_delta_below_and_retries_exhausted (line 29) | def test_gate_rollback_when_delta_below_and_retries_exhausted() -> None: function test_gate_exact_threshold_advances (line 35) | def test_gate_exact_threshold_advances() -> None: function test_gate_negative_delta_retries (line 41) | def test_gate_negative_delta_retries() -> None: FILE: autocontext/tests/test_harness/test_harness_llm_client.py function test_base_client_generate_raises (line 11) | def test_base_client_generate_raises() -> None: function test_base_client_multiturn_concatenates (line 17) | def test_base_client_multiturn_concatenates() -> None: function test_base_client_accepts_role_param (line 49) | def test_base_client_accepts_role_param() -> None: FILE: autocontext/tests/test_harness/test_harness_meta_advisor.py function _metric (line 11) | def _metric( function _high_advance_collector (line 28) | def _high_advance_collector(role: str = "competitor", n: int = 5) -> Met... function _low_advance_collector (line 38) | def _low_advance_collector(role: str = "analyst", n: int = 5) -> Metrics... function test_advisor_no_profiles_no_recommendations (line 48) | def test_advisor_no_profiles_no_recommendations() -> None: function test_advisor_recommends_model_downgrade (line 56) | def test_advisor_recommends_model_downgrade() -> None: function test_advisor_no_downgrade_when_advance_rate_low (line 69) | def test_advisor_no_downgrade_when_advance_rate_low() -> None: function test_advisor_recommends_model_upgrade (line 85) | def test_advisor_recommends_model_upgrade() -> None: function test_advisor_no_upgrade_when_advance_rate_high (line 98) | def test_advisor_no_upgrade_when_advance_rate_high() -> None: function test_advisor_recommends_cadence_increase (line 110) | def test_advisor_recommends_cadence_increase() -> None: function test_advisor_recommendations_have_confidence (line 126) | def test_advisor_recommendations_have_confidence() -> None: function test_advisor_recommendations_have_rationale (line 138) | def test_advisor_recommendations_have_rationale() -> None: function test_advisor_custom_thresholds (line 150) | def test_advisor_custom_thresholds() -> None: function test_advisor_summary (line 176) | def test_advisor_summary() -> None: FILE: autocontext/tests/test_harness/test_harness_meta_collector.py function _metric (line 11) | def _metric(role: str = "competitor", generation: int = 0, cost: float =... function test_collector_add_observation (line 18) | def test_collector_add_observation() -> None: function test_collector_observations_for_role (line 24) | def test_collector_observations_for_role() -> None: function test_collector_all_roles (line 34) | def test_collector_all_roles() -> None: function test_collector_generation_count (line 42) | def test_collector_generation_count() -> None: function test_collector_latest_generation (line 50) | def test_collector_latest_generation() -> None: function test_collector_bulk_add (line 59) | def test_collector_bulk_add() -> None: function test_collector_observations_ordered (line 73) | def test_collector_observations_ordered() -> None: function test_collector_clear (line 84) | def test_collector_clear() -> None: function test_collector_thread_safe (line 94) | def test_collector_thread_safe() -> None: function test_collector_persist_and_load (line 113) | def test_collector_persist_and_load(tmp_path) -> None: FILE: autocontext/tests/test_harness/test_harness_meta_optimizer.py function _usage (line 16) | def _usage(model: str = "claude-sonnet-4-5-20250929", input_tokens: int ... function test_coordinator_disabled_is_noop (line 20) | def test_coordinator_disabled_is_noop() -> None: function test_coordinator_records_llm_call (line 33) | def test_coordinator_records_llm_call(tmp_path: Path) -> None: function test_coordinator_records_gate_decision (line 49) | def test_coordinator_records_gate_decision(tmp_path: Path) -> None: function test_coordinator_records_generation (line 60) | def test_coordinator_records_generation() -> None: function test_coordinator_cost_summary (line 72) | def test_coordinator_cost_summary() -> None: function test_coordinator_profiles (line 83) | def test_coordinator_profiles() -> None: function test_coordinator_recommendations (line 95) | def test_coordinator_recommendations() -> None: function test_coordinator_report (line 112) | def test_coordinator_report(tmp_path: Path) -> None: function test_coordinator_from_settings (line 128) | def test_coordinator_from_settings() -> None: FILE: autocontext/tests/test_harness/test_harness_meta_profiler.py function _metric (line 12) | def _metric( function _populated_collector (line 29) | def _populated_collector() -> MetricsCollector: function test_profiler_single_role_profile (line 45) | def test_profiler_single_role_profile() -> None: function test_profiler_advance_rate_calculated (line 56) | def test_profiler_advance_rate_calculated() -> None: function test_profiler_cost_per_advance (line 65) | def test_profiler_cost_per_advance() -> None: function test_profiler_cost_per_advance_zero_advances (line 76) | def test_profiler_cost_per_advance_zero_advances() -> None: function test_profiler_token_efficiency (line 86) | def test_profiler_token_efficiency() -> None: function test_profiler_token_efficiency_no_positive_deltas (line 97) | def test_profiler_token_efficiency_no_positive_deltas() -> None: function test_profiler_all_profiles (line 107) | def test_profiler_all_profiles() -> None: function test_profiler_profile_unknown_role (line 116) | def test_profiler_profile_unknown_role() -> None: function test_profiler_requires_minimum_observations (line 122) | def test_profiler_requires_minimum_observations() -> None: function test_profiler_most_cost_efficient_role (line 134) | def test_profiler_most_cost_efficient_role() -> None: function test_profiler_most_expensive_role (line 143) | def test_profiler_most_expensive_role() -> None: function test_profiler_summary (line 152) | def test_profiler_summary() -> None: FILE: autocontext/tests/test_harness/test_harness_meta_types.py function test_role_metric_construction (line 10) | def test_role_metric_construction() -> None: function test_role_metric_frozen (line 31) | def test_role_metric_frozen() -> None: function test_role_metric_total_tokens (line 44) | def test_role_metric_total_tokens() -> None: function test_role_profile_construction (line 52) | def test_role_profile_construction() -> None: function test_role_profile_frozen (line 73) | def test_role_profile_frozen() -> None: function test_config_recommendation_construction (line 87) | def test_config_recommendation_construction() -> None: function test_config_recommendation_frozen (line 104) | def test_config_recommendation_frozen() -> None: FILE: autocontext/tests/test_harness/test_harness_output_parser.py class TestStripJsonFences (line 15) | class TestStripJsonFences: method test_strip_json_fences_with_json_tag (line 16) | def test_strip_json_fences_with_json_tag(self) -> None: method test_strip_json_fences_plain (line 20) | def test_strip_json_fences_plain(self) -> None: method test_strip_json_fences_no_fences (line 24) | def test_strip_json_fences_no_fences(self) -> None: class TestExtractJson (line 29) | class TestExtractJson: method test_extract_json_valid (line 30) | def test_extract_json_valid(self) -> None: method test_extract_json_invalid (line 35) | def test_extract_json_invalid(self) -> None: method test_extract_json_not_object (line 40) | def test_extract_json_not_object(self) -> None: class TestExtractTaggedContent (line 46) | class TestExtractTaggedContent: method test_extract_tagged_content (line 47) | def test_extract_tagged_content(self) -> None: method test_extract_tagged_content_missing (line 51) | def test_extract_tagged_content_missing(self) -> None: method test_extract_tagged_content_multiline (line 55) | def test_extract_tagged_content_multiline(self) -> None: class TestExtractDelimitedSection (line 63) | class TestExtractDelimitedSection: method test_extract_delimited_section (line 64) | def test_extract_delimited_section(self) -> None: method test_extract_delimited_section_missing (line 75) | def test_extract_delimited_section_missing(self) -> None: FILE: autocontext/tests/test_harness/test_harness_pipeline_engine.py function _make_usage (line 16) | def _make_usage() -> RoleUsage: function _simple_handler (line 20) | def _simple_handler(name: str, prompt: str, completed: dict[str, RoleExe... class TestPipelineEngine (line 24) | class TestPipelineEngine: method test_engine_executes_single_role (line 25) | def test_engine_executes_single_role(self) -> None: method test_engine_executes_linear_chain (line 32) | def test_engine_executes_linear_chain(self) -> None: method test_engine_executes_parallel_batch (line 49) | def test_engine_executes_parallel_batch(self) -> None: method test_engine_passes_completed_results_to_handler (line 66) | def test_engine_passes_completed_results_to_handler(self) -> None: method test_engine_on_role_event_callback (line 83) | def test_engine_on_role_event_callback(self) -> None: method test_engine_handler_error_propagates (line 95) | def test_engine_handler_error_propagates(self) -> None: method test_engine_returns_all_executions (line 105) | def test_engine_returns_all_executions(self) -> None: method test_engine_diamond_dag (line 112) | def test_engine_diamond_dag(self) -> None: method test_engine_respects_dependency_order (line 136) | def test_engine_respects_dependency_order(self) -> None: method test_engine_max_workers_param (line 153) | def test_engine_max_workers_param(self) -> None: FILE: autocontext/tests/test_harness/test_harness_repl_session.py class FakeClient (line 15) | class FakeClient(LanguageModelClient): method __init__ (line 18) | def __init__(self, responses: list[str]) -> None: method generate (line 22) | def generate(self, *, model: str, prompt: str, max_tokens: int, temper... method generate_multiturn (line 27) | def generate_multiturn( function test_session_runs_single_turn (line 35) | def test_session_runs_single_turn() -> None: function test_session_accepts_supported_code_block_shapes (line 61) | def test_session_accepts_supported_code_block_shapes(response: str, expe... function test_session_prefers_code_tags_when_mixed_with_markdown_fence (line 70) | def test_session_prefers_code_tags_when_mixed_with_markdown_fence() -> N... function test_session_accepts_mixed_code_block_styles_across_turns (line 82) | def test_session_accepts_mixed_code_block_styles_across_turns() -> None: function test_session_stops_when_ready (line 94) | def test_session_stops_when_ready() -> None: function test_session_respects_max_turns (line 106) | def test_session_respects_max_turns() -> None: function test_session_logs_truncation_when_max_turns_exhausted (line 115) | def test_session_logs_truncation_when_max_turns_exhausted(caplog: pytest... function test_session_feeds_stdout_back (line 125) | def test_session_feeds_stdout_back() -> None: function test_session_handles_code_errors (line 156) | def test_session_handles_code_errors() -> None: function test_session_nudges_no_code_response (line 168) | def test_session_nudges_no_code_response() -> None: function test_session_returns_role_execution (line 198) | def test_session_returns_role_execution() -> None: function test_make_llm_batch_parallel (line 208) | def test_make_llm_batch_parallel() -> None: function test_make_llm_batch_collects_results (line 227) | def test_make_llm_batch_collects_results() -> None: function test_make_llm_batch_empty_input (line 241) | def test_make_llm_batch_empty_input() -> None: FILE: autocontext/tests/test_harness/test_harness_repl_types.py function test_repl_command_has_code_field (line 8) | def test_repl_command_has_code_field() -> None: function test_repl_result_fields (line 13) | def test_repl_result_fields() -> None: function test_execution_record_fields (line 20) | def test_execution_record_fields() -> None: function test_rlm_context_fields (line 29) | def test_rlm_context_fields() -> None: function test_rlm_context_defaults (line 35) | def test_rlm_context_defaults() -> None: FILE: autocontext/tests/test_harness/test_harness_repl_worker.py function test_worker_executes_simple_expression (line 11) | def test_worker_executes_simple_expression() -> None: function test_worker_restricts_open (line 17) | def test_worker_restricts_open() -> None: function test_worker_restricts_import_os (line 23) | def test_worker_restricts_import_os() -> None: function test_worker_allows_json_module (line 29) | def test_worker_allows_json_module() -> None: function test_worker_allows_math_module (line 36) | def test_worker_allows_math_module() -> None: function test_worker_captures_stdout (line 43) | def test_worker_captures_stdout() -> None: function test_worker_truncates_long_stdout (line 49) | def test_worker_truncates_long_stdout() -> None: function test_worker_answer_dict_accessible (line 56) | def test_worker_answer_dict_accessible() -> None: function test_worker_timeout_raises_code_timeout (line 63) | def test_worker_timeout_raises_code_timeout() -> None: function test_worker_text_helpers_available (line 69) | def test_worker_text_helpers_available() -> None: FILE: autocontext/tests/test_harness/test_harness_retry_context.py function test_retry_context_fields (line 10) | def test_retry_context_fields() -> None: function test_retry_context_frozen (line 27) | def test_retry_context_frozen() -> None: FILE: autocontext/tests/test_harness/test_harness_role_dag.py class TestRoleSpec (line 11) | class TestRoleSpec: method test_role_spec_construction (line 12) | def test_role_spec_construction(self) -> None: method test_role_spec_frozen (line 19) | def test_role_spec_frozen(self) -> None: class TestRoleDAG (line 25) | class TestRoleDAG: method test_dag_single_role (line 26) | def test_dag_single_role(self) -> None: method test_dag_linear_chain (line 31) | def test_dag_linear_chain(self) -> None: method test_dag_parallel_independent (line 41) | def test_dag_parallel_independent(self) -> None: method test_dag_diamond (line 47) | def test_dag_diamond(self) -> None: method test_dag_detects_cycle (line 58) | def test_dag_detects_cycle(self) -> None: method test_dag_detects_missing_dep (line 67) | def test_dag_detects_missing_dep(self) -> None: method test_dag_detects_self_dep (line 73) | def test_dag_detects_self_dep(self) -> None: method test_dag_execution_order_deterministic (line 79) | def test_dag_execution_order_deterministic(self) -> None: method test_pipeline_config_validates_on_init (line 90) | def test_pipeline_config_validates_on_init(self) -> None: FILE: autocontext/tests/test_harness/test_harness_scenario_evaluator.py class FakeResult (line 14) | class FakeResult: method __init__ (line 15) | def __init__( class FakeReplay (line 29) | class FakeReplay: method __init__ (line 30) | def __init__(self) -> None: method model_dump (line 36) | def model_dump(self) -> dict[str, Any]: class FakeExecutionOutput (line 41) | class FakeExecutionOutput: class FakeScenario (line 46) | class FakeScenario: method execute_match (line 49) | def execute_match(self, strategy: Mapping[str, Any], seed: int) -> Fak... method scoring_dimensions (line 52) | def scoring_dimensions(self) -> list[dict[str, Any]] | None: class FakeSupervisor (line 56) | class FakeSupervisor: method __init__ (line 57) | def __init__( method run (line 66) | def run(self, scenario: Any, payload: Any) -> FakeExecutionOutput: class TestScenarioEvaluator (line 74) | class TestScenarioEvaluator: method test_implements_evaluator_protocol (line 75) | def test_implements_evaluator_protocol(self) -> None: method test_evaluate_returns_evaluation_result (line 79) | def test_evaluate_returns_evaluation_result(self) -> None: method test_evaluate_passes_strategy_and_seed (line 85) | def test_evaluate_passes_strategy_and_seed(self) -> None: method test_evaluate_maps_limits (line 93) | def test_evaluate_maps_limits(self) -> None: method test_evaluate_captures_errors (line 102) | def test_evaluate_captures_errors(self) -> None: method test_evaluate_captures_replay_data (line 114) | def test_evaluate_captures_replay_data(self) -> None: method test_evaluate_preserves_execution_output (line 119) | def test_evaluate_preserves_execution_output(self) -> None: method test_evaluate_extracts_dimension_scores (line 130) | def test_evaluate_extracts_dimension_scores(self) -> None: method test_works_with_evaluation_runner (line 149) | def test_works_with_evaluation_runner(self) -> None: FILE: autocontext/tests/test_harness/test_harness_subagent.py class FakeClient (line 12) | class FakeClient(LanguageModelClient): method generate (line 13) | def generate(self, *, model: str, prompt: str, max_tokens: int, temper... function test_subagent_task_fields (line 20) | def test_subagent_task_fields() -> None: function test_subagent_runtime_calls_client (line 29) | def test_subagent_runtime_calls_client() -> None: function test_subagent_runtime_returns_role_execution (line 37) | def test_subagent_runtime_returns_role_execution() -> None: function test_subagent_runtime_generates_subagent_id (line 46) | def test_subagent_runtime_generates_subagent_id() -> None: function test_subagent_runtime_strips_whitespace (line 54) | def test_subagent_runtime_strips_whitespace() -> None: FILE: autocontext/tests/test_harness/test_harness_trend_gate.py function test_trend_gate_delegates_to_simple_without_history (line 10) | def test_trend_gate_delegates_to_simple_without_history() -> None: function test_trend_gate_plateau_relaxes_threshold (line 16) | def test_trend_gate_plateau_relaxes_threshold() -> None: function test_trend_gate_consecutive_rollbacks_relax_threshold (line 27) | def test_trend_gate_consecutive_rollbacks_relax_threshold() -> None: function test_trend_gate_custom_metrics_in_metadata (line 36) | def test_trend_gate_custom_metrics_in_metadata() -> None: function test_score_history_frozen (line 45) | def test_score_history_frozen() -> None: FILE: autocontext/tests/test_harness/test_harness_types.py function test_role_usage_construction (line 8) | def test_role_usage_construction() -> None: function test_role_usage_slots (line 16) | def test_role_usage_slots() -> None: function test_role_execution_construction (line 20) | def test_role_execution_construction() -> None: function test_role_execution_slots (line 30) | def test_role_execution_slots() -> None: function test_model_response_construction (line 34) | def test_model_response_construction() -> None: function test_model_response_slots (line 41) | def test_model_response_slots() -> None: FILE: autocontext/tests/test_harness/test_harness_versioned_store.py function store (line 13) | def store(tmp_path: Path) -> VersionedFileStore: class TestVersionedFileStore (line 17) | class TestVersionedFileStore: method test_write_creates_file (line 18) | def test_write_creates_file(self, store: VersionedFileStore, tmp_path:... method test_write_archives_previous (line 23) | def test_write_archives_previous(self, store: VersionedFileStore) -> N... method test_read_returns_current (line 29) | def test_read_returns_current(self, store: VersionedFileStore) -> None: method test_read_missing_returns_default (line 33) | def test_read_missing_returns_default(self, store: VersionedFileStore)... method test_rollback_restores_latest_archive (line 37) | def test_rollback_restores_latest_archive(self, store: VersionedFileSt... method test_rollback_empty_returns_false (line 45) | def test_rollback_empty_returns_false(self, store: VersionedFileStore)... method test_version_count_increments (line 48) | def test_version_count_increments(self, store: VersionedFileStore) -> ... method test_read_version_by_number (line 57) | def test_read_version_by_number(self, store: VersionedFileStore) -> None: method test_prune_keeps_max_versions (line 64) | def test_prune_keeps_max_versions(self, store: VersionedFileStore) -> ... method test_version_numbers_monotonic (line 77) | def test_version_numbers_monotonic(self, store: VersionedFileStore) ->... method test_multiple_files_independent (line 86) | def test_multiple_files_independent(self, store: VersionedFileStore) -... class TestVersionedFileStoreCustomNaming (line 96) | class TestVersionedFileStoreCustomNaming: method test_custom_prefix_and_suffix (line 97) | def test_custom_prefix_and_suffix(self, tmp_path: Path) -> None: method test_custom_naming_rollback (line 112) | def test_custom_naming_rollback(self, tmp_path: Path) -> None: method test_custom_naming_prune (line 125) | def test_custom_naming_prune(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_harness/test_output_parser_adoption.py class TestCoachParsingEquivalence (line 7) | class TestCoachParsingEquivalence: method test_playbook_extraction_matches (line 8) | def test_playbook_extraction_matches(self) -> None: method test_hints_extraction (line 23) | def test_hints_extraction(self) -> None: method test_missing_section_returns_none (line 33) | def test_missing_section_returns_none(self) -> None: class TestTranslatorParsingEquivalence (line 38) | class TestTranslatorParsingEquivalence: method test_strip_fences_json_tag (line 39) | def test_strip_fences_json_tag(self) -> None: method test_strip_fences_no_tag (line 43) | def test_strip_fences_no_tag(self) -> None: method test_strip_fences_passthrough (line 47) | def test_strip_fences_passthrough(self) -> None: method test_extract_json_full_pipeline (line 51) | def test_extract_json_full_pipeline(self) -> None: FILE: autocontext/tests/test_harness_coverage.py function _mock_loader (line 17) | def _mock_loader( class TestHarnessCoverage (line 43) | class TestHarnessCoverage: method test_dataclass_fields (line 44) | def test_dataclass_fields(self) -> None: method test_frozen (line 60) | def test_frozen(self) -> None: class TestAnalyzerScoring (line 80) | class TestAnalyzerScoring: method test_empty_loader_zero_coverage (line 81) | def test_empty_loader_zero_coverage(self) -> None: method test_full_coverage_with_perfect_accuracy (line 89) | def test_full_coverage_with_perfect_accuracy(self) -> None: method test_validate_strategy_only (line 109) | def test_validate_strategy_only(self) -> None: method test_enumerate_legal_actions_only (line 121) | def test_enumerate_legal_actions_only(self) -> None: method test_accuracy_scales_score (line 131) | def test_accuracy_scales_score(self) -> None: method test_zero_accuracy_uses_half_penalty (line 142) | def test_zero_accuracy_uses_half_penalty(self) -> None: method test_coverage_capped_at_one (line 153) | def test_coverage_capped_at_one(self) -> None: method test_multiple_harness_files (line 169) | def test_multiple_harness_files(self) -> None: method test_default_accuracy_is_zero (line 188) | def test_default_accuracy_is_zero(self) -> None: method test_function_count_counts_detected_functions_not_files (line 199) | def test_function_count_counts_detected_functions_not_files(self) -> N... class TestAnalyzerWithRealLoader (line 213) | class TestAnalyzerWithRealLoader: method test_real_loader_detects_is_legal_action (line 214) | def test_real_loader_detects_is_legal_action(self, tmp_path: Path) -> ... class TestModelTierRecommendation (line 249) | class TestModelTierRecommendation: method test_high_coverage_recommends_haiku (line 250) | def test_high_coverage_recommends_haiku(self) -> None: method test_medium_coverage_recommends_sonnet (line 260) | def test_medium_coverage_recommends_sonnet(self) -> None: method test_low_coverage_returns_empty (line 270) | def test_low_coverage_returns_empty(self) -> None: method test_exact_threshold_09 (line 280) | def test_exact_threshold_09(self) -> None: method test_exact_threshold_05 (line 290) | def test_exact_threshold_05(self) -> None: FILE: autocontext/tests/test_harness_inheritance.py function store (line 12) | def store(tmp_path: Path) -> ArtifactStore: class TestListHarness (line 21) | class TestListHarness: method test_empty_when_no_dir (line 24) | def test_empty_when_no_dir(self, store: ArtifactStore) -> None: method test_empty_when_dir_exists_but_no_files (line 27) | def test_empty_when_dir_exists_but_no_files(self, store: ArtifactStore... method test_lists_py_files_without_extension (line 31) | def test_lists_py_files_without_extension(self, store: ArtifactStore) ... method test_excludes_non_py_files (line 39) | def test_excludes_non_py_files(self, store: ArtifactStore) -> None: method test_excludes_archive_subdirectory (line 47) | def test_excludes_archive_subdirectory(self, store: ArtifactStore) -> ... class TestSnapshotIncludesHarness (line 58) | class TestSnapshotIncludesHarness: method test_snapshot_copies_harness_files (line 61) | def test_snapshot_copies_harness_files(self, store: ArtifactStore) -> ... method test_snapshot_no_harness_dir_is_fine (line 80) | def test_snapshot_no_harness_dir_is_fine(self, store: ArtifactStore) -... class TestRestoreIncludesHarness (line 91) | class TestRestoreIncludesHarness: method test_restore_copies_harness_files (line 94) | def test_restore_copies_harness_files(self, store: ArtifactStore) -> N... method test_restore_no_harness_snapshot_is_fine (line 107) | def test_restore_no_harness_snapshot_is_fine(self, store: ArtifactStor... method test_roundtrip_snapshot_restore (line 117) | def test_roundtrip_snapshot_restore(self, store: ArtifactStore) -> None: FILE: autocontext/tests/test_harness_loader.py class TestHarnessLoaderLoadEmpty (line 19) | class TestHarnessLoaderLoadEmpty: method test_empty_dir (line 20) | def test_empty_dir(self, tmp_path: Path) -> None: method test_nonexistent_dir (line 27) | def test_nonexistent_dir(self, tmp_path: Path) -> None: class TestHarnessLoaderLoadValid (line 33) | class TestHarnessLoaderLoadValid: method _write_validator (line 34) | def _write_validator(self, harness_dir: Path, name: str, code: str) ->... method test_load_single_validator (line 38) | def test_load_single_validator(self, tmp_path: Path) -> None: method test_load_multiple_files (line 51) | def test_load_multiple_files(self, tmp_path: Path) -> None: method test_skip_syntax_error (line 68) | def test_skip_syntax_error(self, tmp_path: Path) -> None: method test_skip_missing_validate_strategy (line 80) | def test_skip_missing_validate_strategy(self, tmp_path: Path) -> None: class TestHarnessLoaderValidation (line 91) | class TestHarnessLoaderValidation: method _make_loader_with_validator (line 92) | def _make_loader_with_validator(self, tmp_path: Path, code: str) -> Ha... method test_validation_passes (line 100) | def test_validation_passes(self, tmp_path: Path) -> None: method test_validation_fails (line 109) | def test_validation_fails(self, tmp_path: Path) -> None: method test_validator_exception_captured (line 118) | def test_validator_exception_captured(self, tmp_path: Path) -> None: method test_empty_validators_passes (line 127) | def test_empty_validators_passes(self, tmp_path: Path) -> None: method test_get_callable (line 135) | def test_get_callable(self, tmp_path: Path) -> None: method test_get_callable_missing (line 146) | def test_get_callable_missing(self, tmp_path: Path) -> None: class TestParseArchitectHarnessSpecs (line 158) | class TestParseArchitectHarnessSpecs: method test_valid_harness_json (line 159) | def test_valid_harness_json(self) -> None: method test_no_markers (line 172) | def test_no_markers(self) -> None: method test_invalid_json (line 175) | def test_invalid_json(self) -> None: method test_missing_fields (line 179) | def test_missing_fields(self) -> None: method test_syntax_error_in_code (line 187) | def test_syntax_error_in_code(self) -> None: method test_mixed_valid_invalid (line 195) | def test_mixed_valid_invalid(self) -> None: method test_description_included (line 208) | def test_description_included(self) -> None: class TestArtifactStoreHarness (line 221) | class TestArtifactStoreHarness: method _make_store (line 222) | def _make_store(self, tmp_path: Path) -> ArtifactStore: method test_harness_dir (line 238) | def test_harness_dir(self, tmp_path: Path) -> None: method test_persist_harness_creates_files (line 243) | def test_persist_harness_creates_files(self, tmp_path: Path) -> None: method test_persist_harness_archives_old_version (line 251) | def test_persist_harness_archives_old_version(self, tmp_path: Path) ->... method test_persist_harness_skips_syntax_error (line 262) | def test_persist_harness_skips_syntax_error(self, tmp_path: Path) -> N... method test_read_harness_context (line 268) | def test_read_harness_context(self, tmp_path: Path) -> None: method test_read_harness_context_empty (line 276) | def test_read_harness_context_empty(self, tmp_path: Path) -> None: class TestStagePrevalidationHarness (line 285) | class TestStagePrevalidationHarness: method _make_ctx (line 286) | def _make_ctx(self, tmp_path: Path, *, prevalidation_enabled: bool = T... method test_harness_disabled_skips (line 312) | def test_harness_disabled_skips(self, tmp_path: Path) -> None: method test_harness_none_skips_harness_phase (line 322) | def test_harness_none_skips_harness_phase(self, tmp_path: Path) -> None: method test_harness_passes (line 342) | def test_harness_passes(self, tmp_path: Path) -> None: method test_harness_fails_emits_event (line 362) | def test_harness_fails_emits_event(self, tmp_path: Path) -> None: class TestHarnessLoaderSandbox (line 389) | class TestHarnessLoaderSandbox: method _write_and_load (line 392) | def _write_and_load(self, tmp_path: Path, code: str, *, timeout: float... method test_import_rejected (line 400) | def test_import_rejected(self, tmp_path: Path) -> None: method test_class_hierarchy_traversal_rejected (line 408) | def test_class_hierarchy_traversal_rejected(self, tmp_path: Path) -> N... method test_eval_rejected (line 416) | def test_eval_rejected(self, tmp_path: Path) -> None: method test_getattr_rejected (line 424) | def test_getattr_rejected(self, tmp_path: Path) -> None: method test_globals_dunder_rejected (line 431) | def test_globals_dunder_rejected(self, tmp_path: Path) -> None: method test_type_not_in_builtins (line 439) | def test_type_not_in_builtins(self) -> None: method test_open_rejected (line 442) | def test_open_rejected(self, tmp_path: Path) -> None: method test_infinite_loop_timeout_on_load (line 450) | def test_infinite_loop_timeout_on_load(self, tmp_path: Path) -> None: method test_infinite_loop_timeout_on_validate (line 459) | def test_infinite_loop_timeout_on_validate(self, tmp_path: Path) -> None: method test_safe_validators_still_work (line 474) | def test_safe_validators_still_work(self, tmp_path: Path) -> None: method test_mixed_safe_unsafe_loading (line 485) | def test_mixed_safe_unsafe_loading(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_harness_mode.py class TestHarnessMode (line 13) | class TestHarnessMode: method test_enum_values (line 14) | def test_enum_values(self) -> None: method test_enum_from_string (line 20) | def test_enum_from_string(self) -> None: class TestHarnessModeSettings (line 32) | class TestHarnessModeSettings: method test_default_is_none (line 33) | def test_default_is_none(self) -> None: method test_explicit_mode (line 37) | def test_explicit_mode(self) -> None: method test_env_var_parsing (line 41) | def test_env_var_parsing(self) -> None: method test_env_var_filter (line 46) | def test_env_var_filter(self) -> None: method test_env_var_policy (line 51) | def test_env_var_policy(self) -> None: method test_env_var_none (line 56) | def test_env_var_none(self) -> None: method test_load_settings_applies_mode_fallback (line 61) | def test_load_settings_applies_mode_fallback(self) -> None: method test_load_settings_policy_enables_code_strategies (line 66) | def test_load_settings_policy_enables_code_strategies(self) -> None: class TestValidateHarnessMode (line 78) | class TestValidateHarnessMode: method test_none_passes_through (line 79) | def test_none_passes_through(self) -> None: method test_filter_without_validators_falls_back (line 84) | def test_filter_without_validators_falls_back(self) -> None: method test_filter_with_validators_ok (line 92) | def test_filter_with_validators_ok(self) -> None: method test_verify_without_validators_falls_back (line 100) | def test_verify_without_validators_falls_back(self) -> None: method test_verify_with_validators_ok (line 108) | def test_verify_with_validators_ok(self) -> None: method test_policy_enables_code_strategies (line 116) | def test_policy_enables_code_strategies(self) -> None: method test_policy_with_code_strategies_already_on (line 125) | def test_policy_with_code_strategies_already_on(self) -> None: method test_validate_does_not_mutate_original (line 134) | def test_validate_does_not_mutate_original(self) -> None: FILE: autocontext/tests/test_harness_model_demotion.py function _cov (line 15) | def _cov(score: float = 0.95) -> HarnessCoverage: function _config (line 28) | def _config(**overrides: object) -> TierConfig: class TestConfigFields (line 42) | class TestConfigFields: method test_tier_config_has_harness_aware_tiering_enabled (line 43) | def test_tier_config_has_harness_aware_tiering_enabled(self) -> None: method test_harness_aware_tiering_defaults_false (line 47) | def test_harness_aware_tiering_defaults_false(self) -> None: method test_harness_coverage_demotion_threshold_defaults (line 51) | def test_harness_coverage_demotion_threshold_defaults(self) -> None: class TestBackwardCompatibility (line 60) | class TestBackwardCompatibility: method test_select_without_harness_coverage_works (line 61) | def test_select_without_harness_coverage_works(self) -> None: method test_select_with_none_harness_coverage (line 67) | def test_select_with_none_harness_coverage(self) -> None: method test_disabled_returns_none (line 76) | def test_disabled_returns_none(self) -> None: class TestCompetitorDemotion (line 86) | class TestCompetitorDemotion: method test_high_coverage_demotes_to_haiku (line 87) | def test_high_coverage_demotes_to_haiku(self) -> None: method test_medium_coverage_demotes_to_sonnet (line 96) | def test_medium_coverage_demotes_to_sonnet(self) -> None: method test_coverage_below_threshold_no_demotion (line 105) | def test_coverage_below_threshold_no_demotion(self) -> None: method test_demotion_overrides_generation_escalation (line 115) | def test_demotion_overrides_generation_escalation(self) -> None: method test_retry_escalation_overrides_demotion (line 124) | def test_retry_escalation_overrides_demotion(self) -> None: method test_plateau_overrides_demotion (line 134) | def test_plateau_overrides_demotion(self) -> None: method test_demotion_disabled_ignores_coverage (line 143) | def test_demotion_disabled_ignores_coverage(self) -> None: method test_early_gen_with_high_coverage_stays_haiku (line 153) | def test_early_gen_with_high_coverage_stays_haiku(self) -> None: class TestNonCompetitorNotDemoted (line 166) | class TestNonCompetitorNotDemoted: method test_analyst_not_demoted (line 167) | def test_analyst_not_demoted(self) -> None: method test_coach_not_demoted (line 179) | def test_coach_not_demoted(self) -> None: method test_architect_not_demoted (line 190) | def test_architect_not_demoted(self) -> None: method test_curator_not_demoted (line 201) | def test_curator_not_demoted(self) -> None: class TestThresholdBoundaries (line 213) | class TestThresholdBoundaries: method test_exact_threshold_triggers_demotion (line 214) | def test_exact_threshold_triggers_demotion(self) -> None: method test_just_below_threshold_no_demotion (line 224) | def test_just_below_threshold_no_demotion(self) -> None: FILE: autocontext/tests/test_harness_mutations.py class TestMutationSpec (line 17) | class TestMutationSpec: method test_create_prompt_fragment (line 18) | def test_create_prompt_fragment(self) -> None: method test_create_context_policy (line 30) | def test_create_context_policy(self) -> None: method test_create_completion_check (line 42) | def test_create_completion_check(self) -> None: method test_create_tool_instruction (line 52) | def test_create_tool_instruction(self) -> None: method test_to_dict_roundtrip (line 63) | def test_to_dict_roundtrip(self) -> None: method test_mutation_has_id (line 78) | def test_mutation_has_id(self) -> None: class TestMutationParser (line 94) | class TestMutationParser: method test_parse_mutations_from_architect_output (line 95) | def test_parse_mutations_from_architect_output(self) -> None: method test_parse_returns_empty_for_no_markers (line 114) | def test_parse_returns_empty_for_no_markers(self) -> None: method test_parse_handles_malformed_json (line 119) | def test_parse_handles_malformed_json(self) -> None: method test_parse_skips_invalid_entries (line 125) | def test_parse_skips_invalid_entries(self) -> None: class TestMutationStore (line 145) | class TestMutationStore: method test_save_and_load (line 146) | def test_save_and_load(self) -> None: method test_load_returns_empty_for_missing (line 162) | def test_load_returns_empty_for_missing(self) -> None: method test_versions_are_preserved (line 169) | def test_versions_are_preserved(self) -> None: method test_rollback_restores_previous (line 182) | def test_rollback_restores_previous(self) -> None: method test_rejects_scenario_path_escape (line 196) | def test_rejects_scenario_path_escape(self) -> None: class TestMutationGate (line 216) | class TestMutationGate: method test_approve_valid_mutation (line 217) | def test_approve_valid_mutation(self) -> None: method test_reject_empty_content (line 231) | def test_reject_empty_content(self) -> None: method test_reject_oversized_content (line 243) | def test_reject_oversized_content(self) -> None: method test_reject_prompt_fragment_without_target_role (line 255) | def test_reject_prompt_fragment_without_target_role(self) -> None: method test_reject_context_policy_without_component (line 267) | def test_reject_context_policy_without_component(self) -> None: method test_reject_tool_instruction_without_tool_name (line 279) | def test_reject_tool_instruction_without_tool_name(self) -> None: class TestMutationApplier (line 297) | class TestMutationApplier: method test_apply_prompt_fragment_to_role (line 298) | def test_apply_prompt_fragment_to_role(self) -> None: method test_apply_multiple_fragments (line 314) | def test_apply_multiple_fragments(self) -> None: method test_apply_skips_non_prompt_mutations (line 326) | def test_apply_skips_non_prompt_mutations(self) -> None: method test_apply_empty_mutations (line 337) | def test_apply_empty_mutations(self) -> None: method test_get_active_completion_checks (line 343) | def test_get_active_completion_checks(self) -> None: FILE: autocontext/tests/test_harness_profile.py function test_standard_harness_profile_preserves_runtime_budget (line 8) | def test_standard_harness_profile_preserves_runtime_budget() -> None: function test_lean_harness_profile_caps_budget_and_uses_minimal_tools (line 21) | def test_lean_harness_profile_caps_budget_and_uses_minimal_tools() -> None: function test_lean_harness_profile_respects_smaller_explicit_context_budget (line 34) | def test_lean_harness_profile_respects_smaller_explicit_context_budget()... function test_lean_harness_profile_parses_custom_tool_allowlist (line 48) | def test_lean_harness_profile_parses_custom_tool_allowlist() -> None: function test_standard_harness_profile_keeps_generated_tool_context (line 61) | def test_standard_harness_profile_keeps_generated_tool_context() -> None: function test_lean_harness_profile_replaces_generated_tool_context_with_allowlist (line 70) | def test_lean_harness_profile_replaces_generated_tool_context_with_allow... function test_load_settings_reads_harness_profile_env (line 86) | def test_load_settings_reads_harness_profile_env(monkeypatch: pytest.Mon... FILE: autocontext/tests/test_harness_quality.py class TestComputeHarnessQuality (line 8) | class TestComputeHarnessQuality: method test_all_clean (line 11) | def test_all_clean(self) -> None: method test_with_errors (line 23) | def test_with_errors(self) -> None: method test_with_crashes (line 34) | def test_with_crashes(self) -> None: method test_empty_results (line 44) | def test_empty_results(self) -> None: class TestHarnessQualitySignalPrompt (line 51) | class TestHarnessQualitySignalPrompt: method test_basic_prompt (line 54) | def test_basic_prompt(self) -> None: method test_prompt_with_previous (line 61) | def test_prompt_with_previous(self) -> None: method test_prompt_no_change (line 68) | def test_prompt_no_change(self) -> None: method test_prompt_worse (line 74) | def test_prompt_worse(self) -> None: FILE: autocontext/tests/test_harness_synthesizer.py class FakeScenario (line 42) | class FakeScenario(ScenarioInterface): method describe_rules (line 47) | def describe_rules(self) -> str: method describe_strategy_interface (line 50) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 53) | def describe_evaluation_criteria(self) -> str: method initial_state (line 56) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 59) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 62) | def validate_actions( method step (line 67) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 71) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 74) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 77) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 80) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: method enumerate_legal_actions (line 83) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... class MockProvider (line 89) | class MockProvider(LLMProvider): method __init__ (line 92) | def __init__(self, responses: list[str] | None = None) -> None: method complete (line 96) | def complete( method default_model (line 109) | def default_model(self) -> str: method call_count (line 113) | def call_count(self) -> int: function _make_states (line 117) | def _make_states() -> list[SampleState]: class TestSynthesisResult (line 133) | class TestSynthesisResult: method test_fields (line 134) | def test_fields(self) -> None: method test_frozen (line 148) | def test_frozen(self) -> None: class TestHarnessSynthesizerConverges (line 160) | class TestHarnessSynthesizerConverges: method test_converges_on_first_try (line 161) | def test_converges_on_first_try(self) -> None: method test_uses_provider (line 172) | def test_uses_provider(self) -> None: class TestHarnessSynthesizerIterates (line 185) | class TestHarnessSynthesizerIterates: method test_iterates_until_good (line 186) | def test_iterates_until_good(self) -> None: method test_max_iterations_respected (line 196) | def test_max_iterations_respected(self) -> None: method test_failure_log_populated (line 207) | def test_failure_log_populated(self) -> None: class TestHarnessSynthesizerAccuracyTarget (line 219) | class TestHarnessSynthesizerAccuracyTarget: method test_custom_accuracy_target (line 220) | def test_custom_accuracy_target(self) -> None: class TestHarnessSynthesizerOutput (line 236) | class TestHarnessSynthesizerOutput: method test_harness_source_contains_code (line 237) | def test_harness_source_contains_code(self) -> None: method test_writes_to_output_dir (line 246) | def test_writes_to_output_dir(self, tmp_path: Path) -> None: class TestHarnessSynthesizerSafety (line 262) | class TestHarnessSynthesizerSafety: method test_rejects_unsafe_code_and_retries (line 263) | def test_rejects_unsafe_code_and_retries(self) -> None: method test_syntax_error_retried (line 279) | def test_syntax_error_retried(self) -> None: class TestHarnessSynthesizerTargetFunctions (line 294) | class TestHarnessSynthesizerTargetFunctions: method test_default_target_functions (line 295) | def test_default_target_functions(self) -> None: method test_default_target_functions_reject_missing_callables (line 303) | def test_default_target_functions_reject_missing_callables(self) -> None: method test_custom_target_functions (line 316) | def test_custom_target_functions(self) -> None: FILE: autocontext/tests/test_harness_tester.py function _make_state (line 16) | def _make_state(turn: int = 0, difficulty: str = "early") -> SampleState: function _make_states (line 25) | def _make_states(n: int = 10) -> list[SampleState]: class TestHarnessTestFailure (line 91) | class TestHarnessTestFailure: method test_fields (line 92) | def test_fields(self) -> None: method test_frozen (line 104) | def test_frozen(self) -> None: class TestHarnessTestReport (line 115) | class TestHarnessTestReport: method test_fields (line 116) | def test_fields(self) -> None: method test_frozen (line 124) | def test_frozen(self) -> None: class TestHarnessTesterGoodHarness (line 136) | class TestHarnessTesterGoodHarness: method test_all_pass (line 137) | def test_all_pass(self) -> None: method test_execution_time_recorded (line 146) | def test_execution_time_recorded(self) -> None: method test_total_tests_matches_states (line 152) | def test_total_tests_matches_states(self) -> None: class TestHarnessTesterBadHarness (line 162) | class TestHarnessTesterBadHarness: method test_wrong_result_detected (line 163) | def test_wrong_result_detected(self) -> None: method test_exception_detected (line 171) | def test_exception_detected(self) -> None: method test_syntax_error_detected (line 178) | def test_syntax_error_detected(self) -> None: method test_import_rejected_by_ast_safety (line 185) | def test_import_rejected_by_ast_safety(self) -> None: method test_action_metadata_mismatch_detected (line 192) | def test_action_metadata_mismatch_detected(self) -> None: class TestHarnessTesterMaxFailures (line 203) | class TestHarnessTesterMaxFailures: method test_default_max_5_failures (line 204) | def test_default_max_5_failures(self) -> None: method test_custom_max_failures (line 210) | def test_custom_max_failures(self) -> None: method test_diverse_failure_sampling (line 216) | def test_diverse_failure_sampling(self) -> None: class TestHarnessTesterParallelism (line 230) | class TestHarnessTesterParallelism: method test_single_worker (line 231) | def test_single_worker(self) -> None: method test_many_workers (line 237) | def test_many_workers(self) -> None: class TestHarnessTesterTimeout (line 247) | class TestHarnessTesterTimeout: method test_slow_harness_times_out (line 248) | def test_slow_harness_times_out(self) -> None: class TestHarnessTesterEdgeCases (line 275) | class TestHarnessTesterEdgeCases: method test_empty_states (line 276) | def test_empty_states(self) -> None: method test_states_without_ground_truth (line 282) | def test_states_without_ground_truth(self) -> None: method test_harness_missing_function (line 292) | def test_harness_missing_function(self) -> None: method test_validate_strategy_receives_real_contract (line 308) | def test_validate_strategy_receives_real_contract(self) -> None: FILE: autocontext/tests/test_harness_versioning.py function store (line 13) | def store(tmp_path: Path) -> ArtifactStore: class TestWriteHarnessVersioned (line 22) | class TestWriteHarnessVersioned: method test_first_write_creates_file (line 25) | def test_first_write_creates_file(self, store: ArtifactStore) -> None: method test_first_write_sets_version_metadata (line 30) | def test_first_write_sets_version_metadata(self, store: ArtifactStore)... method test_second_write_archives_first (line 38) | def test_second_write_archives_first(self, store: ArtifactStore) -> None: method test_second_write_updates_current_file (line 48) | def test_second_write_updates_current_file(self, store: ArtifactStore)... method test_version_metadata_increments (line 53) | def test_version_metadata_increments(self, store: ArtifactStore) -> None: method test_multiple_harnesses_tracked_independently (line 62) | def test_multiple_harnesses_tracked_independently(self, store: Artifac... method test_different_scenarios_isolated (line 69) | def test_different_scenarios_isolated(self, store: ArtifactStore) -> N... method test_returns_correct_path (line 78) | def test_returns_correct_path(self, store: ArtifactStore) -> None: method test_rejects_invalid_harness_name (line 84) | def test_rejects_invalid_harness_name(self, store: ArtifactStore, name... class TestRollbackHarness (line 89) | class TestRollbackHarness: method test_rollback_no_archive_returns_none (line 92) | def test_rollback_no_archive_returns_none(self, store: ArtifactStore) ... method test_rollback_restores_previous_version (line 97) | def test_rollback_restores_previous_version(self, store: ArtifactStore... method test_rollback_updates_current_file (line 103) | def test_rollback_updates_current_file(self, store: ArtifactStore) -> ... method test_rollback_decrements_version_metadata (line 110) | def test_rollback_decrements_version_metadata(self, store: ArtifactSto... method test_rollback_nonexistent_harness_returns_none (line 120) | def test_rollback_nonexistent_harness_returns_none(self, store: Artifa... method test_double_rollback_after_three_writes (line 124) | def test_double_rollback_after_three_writes(self, store: ArtifactStore... method test_rejects_invalid_harness_name (line 135) | def test_rejects_invalid_harness_name(self, store: ArtifactStore, name... class TestGetHarnessVersion (line 140) | class TestGetHarnessVersion: method test_empty_when_no_writes (line 143) | def test_empty_when_no_writes(self, store: ArtifactStore) -> None: method test_version_json_is_valid_json (line 147) | def test_version_json_is_valid_json(self, store: ArtifactStore) -> None: method test_harness_store_cached (line 154) | def test_harness_store_cached(self, store: ArtifactStore) -> None: method test_different_scenarios_different_stores (line 160) | def test_different_scenarios_different_stores(self, store: ArtifactSto... FILE: autocontext/tests/test_heal_quality_threshold.py function _spec (line 10) | def _spec(quality_threshold: float) -> AgentTaskSpec: class TestHealSpecQualityThreshold (line 18) | class TestHealSpecQualityThreshold: method test_clamps_above_one_to_one (line 19) | def test_clamps_above_one_to_one(self) -> None: method test_clamps_absurdly_large_to_one (line 24) | def test_clamps_absurdly_large_to_one(self) -> None: method test_replaces_zero_with_default (line 28) | def test_replaces_zero_with_default(self) -> None: method test_replaces_negative_with_default (line 33) | def test_replaces_negative_with_default(self) -> None: method test_preserves_valid_value (line 37) | def test_preserves_valid_value(self) -> None: method test_preserves_one_exactly (line 42) | def test_preserves_one_exactly(self) -> None: method test_coerces_numeric_string_and_clamps (line 47) | def test_coerces_numeric_string_and_clamps(self) -> None: method test_invalid_string_falls_back_to_default (line 51) | def test_invalid_string_falls_back_to_default(self) -> None: method test_logs_warning_when_clamping (line 55) | def test_logs_warning_when_clamping(self, caplog) -> None: method test_no_log_for_valid_value (line 60) | def test_no_log_for_valid_value(self, caplog) -> None: FILE: autocontext/tests/test_hermes_advisor.py function _write_jsonl (line 36) | def _write_jsonl(path: Path, rows: list[dict]) -> None: function _ac705_row (line 42) | def _ac705_row( function test_loads_ac705_export_into_typed_examples (line 79) | def test_loads_ac705_export_into_typed_examples(tmp_path: Path) -> None: function test_load_skips_malformed_json_with_warning (line 96) | def test_load_skips_malformed_json_with_warning(tmp_path: Path) -> None: function test_load_rejects_row_missing_label (line 113) | def test_load_rejects_row_missing_label(tmp_path: Path) -> None: function test_load_rejects_unknown_label (line 123) | def test_load_rejects_unknown_label(tmp_path: Path) -> None: function test_load_skips_row_with_non_numeric_int_field (line 131) | def test_load_skips_row_with_non_numeric_int_field(tmp_path: Path) -> None: function test_load_skips_row_with_negative_numeric_string (line 144) | def test_load_skips_row_with_negative_numeric_string(tmp_path: Path) -> ... function test_load_empty_file_returns_empty_list (line 157) | def test_load_empty_file_returns_empty_list(tmp_path: Path) -> None: function test_baseline_predicts_majority_class (line 166) | def test_baseline_predicts_majority_class() -> None: function test_baseline_breaks_ties_deterministically (line 205) | def test_baseline_breaks_ties_deterministically() -> None: function test_baseline_on_empty_dataset_raises_clear_error (line 226) | def test_baseline_on_empty_dataset_raises_clear_error() -> None: function test_evaluate_reports_per_label_precision_recall (line 234) | def test_evaluate_reports_per_label_precision_recall() -> None: function test_evaluate_flags_insufficient_data (line 293) | def test_evaluate_flags_insufficient_data() -> None: function test_evaluate_clears_insufficient_data_flag_with_enough_examples (line 318) | def test_evaluate_clears_insufficient_data_flag_with_enough_examples() -... function test_metrics_serialize_to_json_friendly_dict (line 337) | def test_metrics_serialize_to_json_friendly_dict() -> None: function test_cli_train_advisor_writes_metrics_json (line 373) | def test_cli_train_advisor_writes_metrics_json(tmp_path: Path) -> None: function test_cli_train_advisor_surfaces_insufficient_data_warning (line 407) | def test_cli_train_advisor_surfaces_insufficient_data_warning(tmp_path: ... function test_cli_rejects_same_path_for_data_and_output (line 435) | def test_cli_rejects_same_path_for_data_and_output(tmp_path: Path) -> None: function test_cli_rejects_same_path_via_symlink (line 465) | def test_cli_rejects_same_path_via_symlink(tmp_path: Path) -> None: function test_cli_train_advisor_rejects_empty_dataset (line 495) | def test_cli_train_advisor_rejects_empty_dataset(tmp_path: Path) -> None: FILE: autocontext/tests/test_hermes_curator_ingest.py function _make_hermes_home (line 31) | def _make_hermes_home(tmp_path: Path, *fixture_dirs: str) -> Path: function _load_jsonl (line 46) | def _load_jsonl(path: Path) -> list[dict]: function test_ingest_emits_valid_production_trace_per_run (line 50) | def test_ingest_emits_valid_production_trace_per_run(tmp_path: Path) -> ... function test_normal_run_carries_provider_model_and_curator_metadata (line 68) | def test_normal_run_carries_provider_model_and_curator_metadata(tmp_path... function test_messages_synthesized_to_satisfy_schema (line 85) | def test_messages_synthesized_to_satisfy_schema(tmp_path: Path) -> None: function test_include_llm_final_attaches_assistant_message (line 98) | def test_include_llm_final_attaches_assistant_message(tmp_path: Path) ->... function test_consolidation_only_run_preserves_action_list (line 120) | def test_consolidation_only_run_preserves_action_list(tmp_path: Path) ->... function test_auto_transition_only_run_records_transitions (line 131) | def test_auto_transition_only_run_records_transitions(tmp_path: Path) ->... function test_malformed_run_is_skipped_with_warning (line 142) | def test_malformed_run_is_skipped_with_warning(tmp_path: Path) -> None: function test_missing_curator_dir_returns_empty_summary (line 158) | def test_missing_curator_dir_returns_empty_summary(tmp_path: Path) -> None: function test_since_filter_drops_older_runs (line 174) | def test_since_filter_drops_older_runs(tmp_path: Path) -> None: function test_limit_caps_output (line 189) | def test_limit_caps_output(tmp_path: Path) -> None: function test_timing_uses_started_at_and_duration (line 199) | def test_timing_uses_started_at_and_duration(tmp_path: Path) -> None: function test_missing_provider_falls_back_to_other_not_unknown (line 215) | def test_missing_provider_falls_back_to_other_not_unknown(tmp_path: Path... function test_unrecognized_provider_folds_to_other (line 242) | def test_unrecognized_provider_folds_to_other(tmp_path: Path) -> None: function test_invalid_since_raises_value_error (line 266) | def test_invalid_since_raises_value_error(tmp_path: Path) -> None: function test_since_filter_applies_to_mtime_fallback_when_started_at_is_missing (line 274) | def test_since_filter_applies_to_mtime_fallback_when_started_at_is_missing( function test_per_run_validation_failure_does_not_abort_batch (line 309) | def test_per_run_validation_failure_does_not_abort_batch(tmp_path: Path)... FILE: autocontext/tests/test_hermes_dataset_export.py function _plant_hermes_home (line 28) | def _plant_hermes_home( function _load_jsonl (line 84) | def _load_jsonl(path: Path) -> list[dict]: function test_consolidated_skill_becomes_strong_label (line 88) | def test_consolidated_skill_becomes_strong_label(tmp_path: Path) -> None: function test_pinned_skill_is_never_a_mutation_target (line 124) | def test_pinned_skill_is_never_a_mutation_target(tmp_path: Path) -> None: function test_bundled_skill_is_never_a_mutation_target (line 159) | def test_bundled_skill_is_never_a_mutation_target(tmp_path: Path) -> None: function test_hub_skill_is_never_a_mutation_target (line 191) | def test_hub_skill_is_never_a_mutation_target(tmp_path: Path) -> None: function test_added_skill_carries_added_label (line 222) | def test_added_skill_carries_added_label(tmp_path: Path) -> None: function test_example_row_carries_source_metadata_and_context (line 251) | def test_example_row_carries_source_metadata_and_context(tmp_path: Path)... function test_archived_distinguishes_consolidated_versus_pruned (line 288) | def test_archived_distinguishes_consolidated_versus_pruned(tmp_path: Pat... function test_skill_not_in_inventory_still_emits_example_with_unknown_features (line 317) | def test_skill_not_in_inventory_still_emits_example_with_unknown_feature... function test_since_filter_drops_older_runs (line 348) | def test_since_filter_drops_older_runs(tmp_path: Path) -> None: function test_limit_caps_examples_emitted (line 381) | def test_limit_caps_examples_emitted(tmp_path: Path) -> None: function test_empty_home_produces_empty_output (line 403) | def test_empty_home_produces_empty_output(tmp_path: Path) -> None: function test_unknown_kind_raises (line 413) | def test_unknown_kind_raises(tmp_path: Path) -> None: function test_object_shape_actions_emit_examples (line 427) | def test_object_shape_actions_emit_examples(tmp_path: Path) -> None: function test_pinned_via_usage_json_blocks_target_when_skill_missing (line 461) | def test_pinned_via_usage_json_blocks_target_when_skill_missing(tmp_path... function test_bundled_manifest_blocks_target_when_skill_missing (line 490) | def test_bundled_manifest_blocks_target_when_skill_missing(tmp_path: Pat... function test_hub_lock_blocks_target_when_skill_missing (line 519) | def test_hub_lock_blocks_target_when_skill_missing(tmp_path: Path) -> None: function test_invalid_since_raises_value_error (line 551) | def test_invalid_since_raises_value_error(tmp_path: Path) -> None: function test_since_filter_applies_to_mtime_fallback_when_started_at_missing (line 574) | def test_since_filter_applies_to_mtime_fallback_when_started_at_missing(... FILE: autocontext/tests/test_hermes_gateway.py function _settings (line 28) | def _settings(**overrides: object) -> AppSettings: class TestHermesProviderFactory (line 41) | class TestHermesProviderFactory: method test_create_provider_openai_compatible_for_hermes (line 45) | def test_create_provider_openai_compatible_for_hermes(self) -> None: method test_hermes_provider_sends_correct_model (line 59) | def test_hermes_provider_sends_correct_model(self) -> None: method test_hermes_provider_wraps_api_errors (line 81) | def test_hermes_provider_wraps_api_errors(self) -> None: class TestHermesEnvVarRoundTrip (line 101) | class TestHermesEnvVarRoundTrip: method test_hermes_env_vars_load_settings (line 104) | def test_hermes_env_vars_load_settings(self, monkeypatch: pytest.Monke... method test_hermes_build_client_from_settings (line 117) | def test_hermes_build_client_from_settings(self, monkeypatch: pytest.M... class TestHermesJudgePath (line 136) | class TestHermesJudgePath: method test_hermes_judge_env_vars (line 139) | def test_hermes_judge_env_vars(self, monkeypatch: pytest.MonkeyPatch) ... method test_create_judge_provider_for_hermes (line 151) | def test_create_judge_provider_for_hermes(self) -> None: class TestHermesCaveats (line 168) | class TestHermesCaveats: method test_hermes_no_api_key_uses_no_key_fallback (line 172) | def test_hermes_no_api_key_uses_no_key_fallback(self) -> None: method test_openai_package_missing_raises_clear_error (line 184) | def test_openai_package_missing_raises_clear_error(self) -> None: FILE: autocontext/tests/test_hermes_integration.py function _write_skill (line 16) | def _write_skill(root: Path, relative_dir: str, *, name: str, descriptio... function _seed_hermes_home (line 39) | def _seed_hermes_home(tmp_path: Path) -> Path: function test_inspect_hermes_home_reads_v012_skill_usage_and_curator_reports (line 102) | def test_inspect_hermes_home_reads_v012_skill_usage_and_curator_reports(... function test_hermes_inspect_cli_outputs_machine_readable_json (line 129) | def test_hermes_inspect_cli_outputs_machine_readable_json(tmp_path: Path... function test_autocontext_hermes_skill_matches_hermes_frontmatter_contract (line 143) | def test_autocontext_hermes_skill_matches_hermes_frontmatter_contract() ... function test_hermes_export_skill_writes_skill_markdown (line 160) | def test_hermes_export_skill_writes_skill_markdown(tmp_path: Path) -> None: FILE: autocontext/tests/test_hermes_plugin_emitter.py function _load_jsonl (line 46) | def _load_jsonl(path: Path) -> list[dict]: function test_llm_call_event_carries_provider_model_prompt_response (line 53) | def test_llm_call_event_carries_provider_model_prompt_response() -> None: function test_tool_call_event_carries_name_args_error (line 65) | def test_tool_call_event_carries_name_args_error() -> None: function test_local_jsonl_sink_writes_one_line_per_finalized_session (line 79) | def test_local_jsonl_sink_writes_one_line_per_finalized_session(tmp_path... function test_local_jsonl_sink_fail_open_when_path_is_unwritable (line 89) | def test_local_jsonl_sink_fail_open_when_path_is_unwritable(tmp_path: Pa... function test_local_jsonl_sink_creates_parent_directories_by_default (line 101) | def test_local_jsonl_sink_creates_parent_directories_by_default(tmp_path... function test_emitter_finalizes_a_session_into_a_production_trace (line 112) | def test_emitter_finalizes_a_session_into_a_production_trace(tmp_path: P... function test_emitter_redacts_llm_content_via_shared_policy (line 142) | def test_emitter_redacts_llm_content_via_shared_policy(tmp_path: Path) -... function test_emitter_carries_tool_calls_into_the_finalized_trace (line 174) | def test_emitter_carries_tool_calls_into_the_finalized_trace(tmp_path: P... function test_emitter_fail_open_when_record_llm_call_raises (line 196) | def test_emitter_fail_open_when_record_llm_call_raises(tmp_path: Path) -... function test_emitter_drops_finalize_calls_for_unknown_sessions (line 220) | def test_emitter_drops_finalize_calls_for_unknown_sessions(tmp_path: Pat... function test_emitter_handles_concurrent_sessions (line 232) | def test_emitter_handles_concurrent_sessions(tmp_path: Path) -> None: function test_emitter_does_no_network_io_in_default_mode (line 261) | def test_emitter_does_no_network_io_in_default_mode(monkeypatch: pytest.... FILE: autocontext/tests/test_hermes_protocol_alignment.py class TestHermesCLIFlags (line 11) | class TestHermesCLIFlags: method test_uses_chat_query_for_one_shot (line 14) | def test_uses_chat_query_for_one_shot(self) -> None: method test_model_flag (line 22) | def test_model_flag(self) -> None: method test_toolsets_flag (line 30) | def test_toolsets_flag(self) -> None: method test_skills_flag (line 40) | def test_skills_flag(self) -> None: method test_worktree_flag (line 50) | def test_worktree_flag(self) -> None: method test_quiet_flag (line 59) | def test_quiet_flag(self) -> None: method test_provider_flag (line 68) | def test_provider_flag(self) -> None: method test_codex_provider_alias (line 78) | def test_codex_provider_alias(self) -> None: method test_no_flags_when_defaults (line 88) | def test_no_flags_when_defaults(self) -> None: class TestHermesConfigSettings (line 101) | class TestHermesConfigSettings: method test_new_hermes_settings_exist (line 104) | def test_new_hermes_settings_exist(self) -> None: method test_new_hermes_settings_defaults (line 114) | def test_new_hermes_settings_defaults(self) -> None: class TestHermesOverrideSemantics (line 125) | class TestHermesOverrideSemantics: method test_custom_endpoint_skips_provider_flag (line 128) | def test_custom_endpoint_skips_provider_flag(self) -> None: method test_base_url_passed_via_env_not_flag (line 142) | def test_base_url_passed_via_env_not_flag(self) -> None: method test_base_url_set_in_env (line 153) | def test_base_url_set_in_env(self) -> None: method test_explicit_provider_suppresses_custom_endpoint_env (line 162) | def test_explicit_provider_suppresses_custom_endpoint_env(self) -> None: method test_no_provider_keeps_custom_endpoint_env (line 178) | def test_no_provider_keeps_custom_endpoint_env(self) -> None: method test_explicit_auto_provider_keeps_custom_endpoint_env (line 194) | def test_explicit_auto_provider_keeps_custom_endpoint_env(self) -> None: method test_legacy_main_provider_keeps_custom_endpoint_env (line 210) | def test_legacy_main_provider_keeps_custom_endpoint_env(self) -> None: method test_legacy_openai_provider_with_custom_endpoint_uses_env (line 226) | def test_legacy_openai_provider_with_custom_endpoint_uses_env(self) ->... FILE: autocontext/tests/test_hermes_recommendations.py function _plant_hermes_home (line 42) | def _plant_hermes_home(tmp_path: Path, *, skills: list[dict]) -> Path: function _baseline_predicting (line 83) | def _baseline_predicting(label: str) -> BaselineAdvisor: function test_curator_decision_example_exposes_features (line 91) | def test_curator_decision_example_exposes_features() -> None: function test_advisor_predicts_from_features_directly (line 113) | def test_advisor_predicts_from_features_directly() -> None: function test_recommend_emits_one_row_per_active_unprotected_skill (line 132) | def test_recommend_emits_one_row_per_active_unprotected_skill(tmp_path: ... function test_recommend_filters_pinned_bundled_and_hub_by_default (line 152) | def test_recommend_filters_pinned_bundled_and_hub_by_default(tmp_path: P... function test_recommend_include_protected_surfaces_them_with_protected_status (line 175) | def test_recommend_include_protected_surfaces_them_with_protected_status... function test_recommend_returns_empty_when_no_unprotected_skills (line 198) | def test_recommend_returns_empty_when_no_unprotected_skills(tmp_path: Pa... function test_recommendation_serializes_to_json_friendly_dict (line 210) | def test_recommendation_serializes_to_json_friendly_dict() -> None: function test_recommend_reason_explains_baseline_choice (line 235) | def test_recommend_reason_explains_baseline_choice(tmp_path: Path) -> None: function _ac705_row (line 255) | def _ac705_row(name: str, label: str, *, use_count: int = 0) -> dict: function test_cli_recommend_writes_jsonl_against_live_home (line 278) | def test_cli_recommend_writes_jsonl_against_live_home(tmp_path: Path) ->... function test_cli_recommend_rejects_same_path_for_training_and_output (line 322) | def test_cli_recommend_rejects_same_path_for_training_and_output(tmp_pat... function test_cli_recommend_handles_empty_training_data (line 352) | def test_cli_recommend_handles_empty_training_data(tmp_path: Path) -> None: function test_cli_recommend_emits_empty_jsonl_when_no_unprotected_skills (line 382) | def test_cli_recommend_emits_empty_jsonl_when_no_unprotected_skills(tmp_... function test_cli_rejects_output_inside_hermes_home (line 420) | def test_cli_rejects_output_inside_hermes_home(tmp_path: Path) -> None: function test_cli_rejects_output_in_nested_dir_under_hermes_home (line 454) | def test_cli_rejects_output_in_nested_dir_under_hermes_home(tmp_path: Pa... function test_cli_include_protected_flag_surfaces_pinned_skills (line 487) | def test_cli_include_protected_flag_surfaces_pinned_skills(tmp_path: Pat... FILE: autocontext/tests/test_hermes_redaction.py function test_off_mode_passes_text_through_unchanged (line 28) | def test_off_mode_passes_text_through_unchanged() -> None: function test_standard_mode_redacts_api_keys_and_emails (line 35) | def test_standard_mode_redacts_api_keys_and_emails() -> None: function test_standard_mode_redacts_bearer_tokens_and_absolute_paths (line 46) | def test_standard_mode_redacts_bearer_tokens_and_absolute_paths() -> None: function test_strict_mode_requires_user_patterns (line 57) | def test_strict_mode_requires_user_patterns() -> None: function test_strict_mode_redacts_user_pattern_after_built_in_pipeline (line 62) | def test_strict_mode_redacts_user_pattern_after_built_in_pipeline() -> N... function test_unknown_mode_raises (line 76) | def test_unknown_mode_raises() -> None: function test_compile_user_patterns_accepts_well_formed_list (line 81) | def test_compile_user_patterns_accepts_well_formed_list() -> None: function test_compile_user_patterns_rejects_missing_name (line 92) | def test_compile_user_patterns_rejects_missing_name() -> None: function test_compile_user_patterns_rejects_missing_pattern (line 97) | def test_compile_user_patterns_rejects_missing_pattern() -> None: function test_compile_user_patterns_rejects_bad_regex (line 102) | def test_compile_user_patterns_rejects_bad_regex() -> None: function test_compile_user_patterns_handles_none_input (line 107) | def test_compile_user_patterns_handles_none_input() -> None: function test_redaction_stats_accumulates_by_category (line 112) | def test_redaction_stats_accumulates_by_category() -> None: function test_empty_string_returns_zero_stats (line 121) | def test_empty_string_returns_zero_stats() -> None: FILE: autocontext/tests/test_hermes_references.py function test_list_references_returns_canonical_order (line 30) | def test_list_references_returns_canonical_order() -> None: function test_each_reference_is_non_empty_and_has_h1_heading (line 34) | def test_each_reference_is_non_empty_and_has_h1_heading() -> None: function test_unknown_reference_raises (line 41) | def test_unknown_reference_raises() -> None: function test_hermes_curator_reference_pins_read_only_rule (line 46) | def test_hermes_curator_reference_pins_read_only_rule() -> None: function test_cli_workflows_reference_includes_concrete_commands (line 54) | def test_cli_workflows_reference_includes_concrete_commands() -> None: function test_mcp_workflows_reference_maps_cli_to_tool_names (line 68) | def test_mcp_workflows_reference_maps_cli_to_tool_names() -> None: function test_local_training_reference_warns_on_small_datasets (line 77) | def test_local_training_reference_warns_on_small_datasets() -> None: function test_skill_markdown_cross_links_every_reference (line 85) | def test_skill_markdown_cross_links_every_reference() -> None: function test_export_skill_writes_references_when_flag_is_set (line 92) | def test_export_skill_writes_references_when_flag_is_set(tmp_path: Path)... function test_export_skill_without_flag_omits_references_section_from_payload (line 117) | def test_export_skill_without_flag_omits_references_section_from_payload... function test_export_skill_refuses_to_overwrite_references_without_force (line 130) | def test_export_skill_refuses_to_overwrite_references_without_force(tmp_... function test_export_skill_preflight_does_not_write_skill_md_when_reference_collides (line 148) | def test_export_skill_preflight_does_not_write_skill_md_when_reference_c... FILE: autocontext/tests/test_hermes_runtime.py function _settings (line 18) | def _settings(**overrides: object) -> AppSettings: class TestHermesCLIRuntime (line 31) | class TestHermesCLIRuntime: method test_importable (line 32) | def test_importable(self) -> None: method test_config_defaults (line 37) | def test_config_defaults(self) -> None: method test_generate_builds_correct_args (line 46) | def test_generate_builds_correct_args(self) -> None: method test_generate_uses_workspace_and_env_overrides (line 64) | def test_generate_uses_workspace_and_env_overrides(self) -> None: method test_parse_output_plain_text (line 93) | def test_parse_output_plain_text(self) -> None: method test_parse_output_json_response (line 100) | def test_parse_output_json_response(self) -> None: method test_parse_output_empty (line 108) | def test_parse_output_empty(self) -> None: method test_available_when_binary_missing (line 115) | def test_available_when_binary_missing(self) -> None: method test_revise_includes_feedback (line 122) | def test_revise_includes_feedback(self) -> None: class TestHermesConfigSettings (line 137) | class TestHermesConfigSettings: method test_hermes_settings_exist_on_app_settings (line 138) | def test_hermes_settings_exist_on_app_settings(self) -> None: method test_hermes_settings_defaults (line 147) | def test_hermes_settings_defaults(self) -> None: method test_hermes_env_vars_load (line 156) | def test_hermes_env_vars_load(self, monkeypatch: pytest.MonkeyPatch) -... class TestHermesBuildClient (line 174) | class TestHermesBuildClient: method test_build_client_accepts_hermes (line 175) | def test_build_client_accepts_hermes(self) -> None: method test_build_client_hermes_is_runtime_bridge (line 184) | def test_build_client_hermes_is_runtime_bridge(self) -> None: method test_build_client_hermes_passes_config (line 194) | def test_build_client_hermes_passes_config(self) -> None: class TestHermesRoleClient (line 217) | class TestHermesRoleClient: method test_create_role_client_hermes (line 218) | def test_create_role_client_hermes(self) -> None: class TestHermesFailureModes (line 232) | class TestHermesFailureModes: method test_unknown_provider_still_raises (line 233) | def test_unknown_provider_still_raises(self) -> None: method test_hermes_construction_succeeds_without_binary (line 240) | def test_hermes_construction_succeeds_without_binary(self) -> None: FILE: autocontext/tests/test_hermes_session_ingest.py function _plant_hermes_home_with_sessions (line 34) | def _plant_hermes_home_with_sessions( function _load_jsonl (line 80) | def _load_jsonl(path: Path) -> list[dict]: function test_two_sessions_emit_two_redacted_production_traces (line 84) | def test_two_sessions_emit_two_redacted_production_traces(tmp_path: Path... function test_messages_pass_through_shared_redaction_policy (line 128) | def test_messages_pass_through_shared_redaction_policy(tmp_path: Path) -... function test_since_filter_drops_older_sessions (line 153) | def test_since_filter_drops_older_sessions(tmp_path: Path) -> None: function test_limit_caps_traces_written (line 175) | def test_limit_caps_traces_written(tmp_path: Path) -> None: function test_dry_run_reports_counts_without_writing (line 193) | def test_dry_run_reports_counts_without_writing(tmp_path: Path) -> None: function test_missing_session_db_returns_empty_summary (line 213) | def test_missing_session_db_returns_empty_summary(tmp_path: Path) -> None: function test_importer_never_writes_to_session_db (line 231) | def test_importer_never_writes_to_session_db(tmp_path: Path) -> None: function test_schema_drift_tolerated_end_to_end (line 249) | def test_schema_drift_tolerated_end_to_end(tmp_path: Path) -> None: function test_redact_off_records_raw_content_warning (line 269) | def test_redact_off_records_raw_content_warning(tmp_path: Path) -> None: function test_per_trace_metadata_carries_session_envelope (line 290) | def test_per_trace_metadata_carries_session_envelope(tmp_path: Path) -> ... function test_session_metadata_strings_are_redacted (line 317) | def test_session_metadata_strings_are_redacted(tmp_path: Path) -> None: function test_invalid_since_raises_value_error (line 354) | def test_invalid_since_raises_value_error(tmp_path: Path) -> None: function test_cli_ingest_sessions_writes_redacted_jsonl (line 373) | def test_cli_ingest_sessions_writes_redacted_jsonl(tmp_path: Path) -> None: function test_cli_redact_off_includes_raw_warning_in_json (line 406) | def test_cli_redact_off_includes_raw_warning_in_json(tmp_path: Path) -> ... FILE: autocontext/tests/test_hermes_session_repository.py function _plant_session_db (line 34) | def _plant_session_db( function test_missing_db_file_raises_session_db_missing (line 94) | def test_missing_db_file_raises_session_db_missing(tmp_path: Path) -> None: function test_iter_sessions_returns_domain_objects (line 101) | def test_iter_sessions_returns_domain_objects(tmp_path: Path) -> None: function test_iter_sessions_since_filter_drops_older_sessions (line 127) | def test_iter_sessions_since_filter_drops_older_sessions(tmp_path: Path)... function test_iter_messages_returns_rows_in_seq_order (line 143) | def test_iter_messages_returns_rows_in_seq_order(tmp_path: Path) -> None: function test_schema_drift_extra_columns_are_ignored (line 160) | def test_schema_drift_extra_columns_are_ignored(tmp_path: Path) -> None: function test_schema_drift_missing_optional_columns_are_tolerated (line 184) | def test_schema_drift_missing_optional_columns_are_tolerated(tmp_path: P... function test_repository_refuses_writes (line 211) | def test_repository_refuses_writes(tmp_path: Path) -> None: function test_repository_works_without_wal_or_shm_sidecars (line 227) | def test_repository_works_without_wal_or_shm_sidecars(tmp_path: Path) ->... function test_corrupt_metadata_json_falls_back_to_empty_dict (line 244) | def test_corrupt_metadata_json_falls_back_to_empty_dict(tmp_path: Path) ... function test_bare_minimum_sessions_table_without_started_at (line 265) | def test_bare_minimum_sessions_table_without_started_at(tmp_path: Path) ... function test_messages_for_unknown_session_returns_empty (line 286) | def test_messages_for_unknown_session_returns_empty(tmp_path: Path) -> N... FILE: autocontext/tests/test_hermes_trajectory_ingest.py function _write_jsonl (line 30) | def _write_jsonl(path: Path, entries: list[dict | str]) -> None: function _load_jsonl (line 39) | def _load_jsonl(path: Path) -> list[dict]: function test_normal_trajectory_redacts_message_content (line 43) | def test_normal_trajectory_redacts_message_content(tmp_path: Path) -> None: function test_corrupt_json_line_is_skipped_with_warning (line 78) | def test_corrupt_json_line_is_skipped_with_warning(tmp_path: Path) -> None: function test_non_object_line_is_skipped_with_warning (line 104) | def test_non_object_line_is_skipped_with_warning(tmp_path: Path) -> None: function test_limit_caps_trajectories_written (line 127) | def test_limit_caps_trajectories_written(tmp_path: Path) -> None: function test_dry_run_reports_counts_without_writing_output (line 145) | def test_dry_run_reports_counts_without_writing_output(tmp_path: Path) -... function test_input_file_is_never_modified (line 165) | def test_input_file_is_never_modified(tmp_path: Path) -> None: function test_user_pattern_redacts_in_strict_mode (line 179) | def test_user_pattern_redacts_in_strict_mode(tmp_path: Path) -> None: function test_prompt_response_output_input_fields_are_redacted (line 197) | def test_prompt_response_output_input_fields_are_redacted(tmp_path: Path... function test_missing_input_raises_file_not_found (line 230) | def test_missing_input_raises_file_not_found(tmp_path: Path) -> None: function test_refuses_to_overwrite_input_with_same_path (line 240) | def test_refuses_to_overwrite_input_with_same_path(tmp_path: Path) -> None: function test_refuses_to_overwrite_input_via_symlink (line 259) | def test_refuses_to_overwrite_input_via_symlink(tmp_path: Path) -> None: function test_dry_run_allows_same_path_since_no_write (line 274) | def test_dry_run_allows_same_path_since_no_write(tmp_path: Path) -> None: function test_structured_content_blocks_redact_string_leaves (line 291) | def test_structured_content_blocks_redact_string_leaves(tmp_path: Path) ... function test_per_row_trajectory_redactions_recorded (line 331) | def test_per_row_trajectory_redactions_recorded(tmp_path: Path) -> None: function test_redact_off_records_warning_in_summary (line 357) | def test_redact_off_records_warning_in_summary(tmp_path: Path) -> None: function test_cli_redact_off_includes_warning_in_json_payload (line 374) | def test_cli_redact_off_includes_warning_in_json_payload(tmp_path: Path)... function test_empty_input_produces_empty_output (line 405) | def test_empty_input_produces_empty_output(tmp_path: Path) -> None: function test_cli_ingest_trajectories_writes_redacted_jsonl (line 420) | def test_cli_ingest_trajectories_writes_redacted_jsonl(tmp_path: Path) -... function test_cli_ingest_trajectories_rejects_invalid_user_patterns_json (line 454) | def test_cli_ingest_trajectories_rejects_invalid_user_patterns_json(tmp_... function test_blank_lines_are_skipped_silently (line 485) | def test_blank_lines_are_skipped_silently(tmp_path: Path) -> None: FILE: autocontext/tests/test_hint_feedback.py class TestHintFeedback (line 14) | class TestHintFeedback: method test_construction (line 15) | def test_construction(self) -> None: method test_is_empty (line 28) | def test_is_empty(self) -> None: method test_roundtrip (line 37) | def test_roundtrip(self) -> None: method test_from_dict_normalizes_legacy_payload (line 52) | def test_from_dict_normalizes_legacy_payload(self) -> None: method test_artifact_store_reads_legacy_feedback_payload (line 67) | def test_artifact_store_reads_legacy_feedback_payload(self, tmp_path) ... class TestBuildHintReflectionPrompt (line 98) | class TestBuildHintReflectionPrompt: method test_includes_hints_and_scores (line 99) | def test_includes_hints_and_scores(self) -> None: method test_compacts_and_numbers_hint_items (line 113) | def test_compacts_and_numbers_hint_items(self) -> None: method test_preserves_identifier_underscores_during_hint_sanitization (line 145) | def test_preserves_identifier_underscores_during_hint_sanitization(sel... method test_empty_hints (line 154) | def test_empty_hints(self) -> None: class TestParseHintFeedback (line 171) | class TestParseHintFeedback: method test_parses_json (line 172) | def test_parses_json(self) -> None: method test_maps_hint_numbers_back_to_compacted_hint_items (line 190) | def test_maps_hint_numbers_back_to_compacted_hint_items(self) -> None: method test_parses_json_in_fences (line 211) | def test_parses_json_in_fences(self) -> None: method test_handles_malformed_gracefully (line 218) | def test_handles_malformed_gracefully(self) -> None: method test_handles_partial_fields (line 224) | def test_handles_partial_fields(self) -> None: method test_normalizes_string_fields_to_single_item_lists (line 235) | def test_normalizes_string_fields_to_single_item_lists(self) -> None: method test_filters_non_string_entries_from_lists (line 252) | def test_filters_non_string_entries_from_lists(self) -> None: class TestFormatHintFeedbackForCoach (line 275) | class TestFormatHintFeedbackForCoach: method test_formats_feedback (line 276) | def test_formats_feedback(self) -> None: method test_empty_feedback_returns_empty (line 294) | def test_empty_feedback_returns_empty(self) -> None: method test_none_returns_empty (line 304) | def test_none_returns_empty(self) -> None: FILE: autocontext/tests/test_hint_persistence.py function _make_settings (line 12) | def _make_settings(tmp_path: Path, **overrides) -> AppSettings: function _run_gen (line 27) | def _run_gen(tmp_path: Path, run_id: str, gens: int = 1, **overrides) ->... function test_hints_written_on_advance (line 36) | def test_hints_written_on_advance(tmp_path: Path) -> None: function test_hints_not_written_on_rollback (line 43) | def test_hints_not_written_on_rollback(tmp_path: Path) -> None: function test_hints_loaded_on_run_start (line 54) | def test_hints_loaded_on_run_start(tmp_path: Path) -> None: function test_hints_survive_restart (line 65) | def test_hints_survive_restart(tmp_path: Path) -> None: function test_empty_hints_graceful (line 79) | def test_empty_hints_graceful(tmp_path: Path) -> None: function test_structured_hint_state_preferred_over_flat_hint_text (line 86) | def test_structured_hint_state_preferred_over_flat_hint_text(tmp_path: P... function test_hint_manager_roundtrip_survives_restart (line 106) | def test_hint_manager_roundtrip_survives_restart(tmp_path: Path) -> None: FILE: autocontext/tests/test_hint_volume_control.py class TestRankedHint (line 13) | class TestRankedHint: method test_construction (line 14) | def test_construction(self) -> None: method test_roundtrip (line 26) | def test_roundtrip(self) -> None: class TestHintVolumePolicy (line 41) | class TestHintVolumePolicy: method test_defaults (line 42) | def test_defaults(self) -> None: method test_custom (line 49) | def test_custom(self) -> None: class TestHintManager (line 61) | class TestHintManager: method test_add_within_cap (line 62) | def test_add_within_cap(self) -> None: method test_cap_rotates_lowest_ranked (line 73) | def test_cap_rotates_lowest_ranked(self) -> None: method test_archived_hints_preserved (line 89) | def test_archived_hints_preserved(self) -> None: method test_update_impact_score (line 101) | def test_update_impact_score(self) -> None: method test_format_for_competitor (line 112) | def test_format_for_competitor(self) -> None: method test_roundtrip_preserves_active_and_archived_state (line 126) | def test_roundtrip_preserves_active_and_archived_state(self) -> None: method test_from_hint_text_parses_markdownish_bullets (line 139) | def test_from_hint_text_parses_markdownish_bullets(self) -> None: method test_add_dedupes_and_resurrects_archived_hint (line 154) | def test_add_dedupes_and_resurrects_archived_hint(self) -> None: class TestApplyVolumeCap (line 175) | class TestApplyVolumeCap: method test_caps_hint_list (line 176) | def test_caps_hint_list(self) -> None: method test_no_cap_needed (line 189) | def test_no_cap_needed(self) -> None: method test_empty_hints (line 197) | def test_empty_hints(self) -> None: FILE: autocontext/tests/test_holdout_evaluation.py class TestHoldoutPolicy (line 13) | class TestHoldoutPolicy: method test_defaults (line 14) | def test_defaults(self) -> None: method test_custom (line 22) | def test_custom(self) -> None: method test_disabled (line 34) | def test_disabled(self) -> None: method test_roundtrip (line 40) | def test_roundtrip(self) -> None: class TestHoldoutResult (line 54) | class TestHoldoutResult: method test_construction (line 55) | def test_construction(self) -> None: method test_roundtrip (line 69) | def test_roundtrip(self) -> None: class TestHoldoutCheck (line 91) | class TestHoldoutCheck: method test_passes_when_holdout_above_threshold (line 92) | def test_passes_when_holdout_above_threshold(self) -> None: method test_fails_when_holdout_below_threshold (line 105) | def test_fails_when_holdout_below_threshold(self) -> None: method test_fails_when_gap_too_large (line 117) | def test_fails_when_gap_too_large(self) -> None: method test_passes_with_zero_gap (line 130) | def test_passes_with_zero_gap(self) -> None: method test_better_holdout_score_does_not_count_as_regression (line 143) | def test_better_holdout_score_does_not_count_as_regression(self) -> None: method test_empty_scores_fails (line 155) | def test_empty_scores_fails(self) -> None: class TestHoldoutVerifier (line 168) | class TestHoldoutVerifier: method test_verify_with_evaluator (line 169) | def test_verify_with_evaluator(self) -> None: method test_verify_disabled_policy_auto_passes (line 190) | def test_verify_disabled_policy_auto_passes(self) -> None: method test_verify_uses_different_seeds (line 206) | def test_verify_uses_different_seeds(self) -> None: FILE: autocontext/tests/test_hub_api.py function _make_facet (line 24) | def _make_facet() -> RunFacet: function _seed_run (line 67) | def _seed_run(store: SQLiteStore, artifacts: ArtifactStore) -> None: function hub_api_env (line 142) | def hub_api_env(tmp_path: Path) -> dict[str, Any]: function test_put_and_list_hub_sessions (line 176) | def test_put_and_list_hub_sessions(hub_api_env: dict[str, Any]) -> None: function test_package_result_and_feed_endpoints_are_live (line 203) | def test_package_result_and_feed_endpoints_are_live(hub_api_env: dict[st... FILE: autocontext/tests/test_human_feedback.py function store (line 14) | def store(tmp_path: Path) -> SQLiteStore: class TestFeedbackStorage (line 21) | class TestFeedbackStorage: method test_insert_and_get (line 22) | def test_insert_and_get(self, store: SQLiteStore) -> None: method test_get_empty (line 37) | def test_get_empty(self, store: SQLiteStore) -> None: method test_multiple_feedback (line 41) | def test_multiple_feedback(self, store: SQLiteStore) -> None: method test_calibration_examples_requires_score_and_notes (line 52) | def test_calibration_examples_requires_score_and_notes(self, store: SQ... method test_feedback_with_generation_id (line 64) | def test_feedback_with_generation_id(self, store: SQLiteStore) -> None: method test_feedback_limit (line 71) | def test_feedback_limit(self, store: SQLiteStore) -> None: method test_rejects_score_above_one (line 77) | def test_rejects_score_above_one(self, store: SQLiteStore) -> None: method test_rejects_negative_score (line 81) | def test_rejects_negative_score(self, store: SQLiteStore) -> None: method test_accepts_boundary_scores (line 85) | def test_accepts_boundary_scores(self, store: SQLiteStore) -> None: class TestJudgeCalibration (line 92) | class TestJudgeCalibration: method test_judge_with_calibration_examples (line 93) | def test_judge_with_calibration_examples(self) -> None: method test_judge_without_calibration (line 120) | def test_judge_without_calibration(self) -> None: method test_judge_calibration_with_reference_context (line 133) | def test_judge_calibration_with_reference_context(self) -> None: FILE: autocontext/tests/test_hypothesis_tree.py class TestHypothesisTreeAdd (line 12) | class TestHypothesisTreeAdd: method test_add_single_hypothesis (line 13) | def test_add_single_hypothesis(self) -> None: method test_add_with_parent (line 21) | def test_add_with_parent(self) -> None: method test_add_auto_prunes_past_max (line 29) | def test_add_auto_prunes_past_max(self) -> None: method test_add_preserves_new_node_when_existing_elos_are_higher (line 42) | def test_add_preserves_new_node_when_existing_elos_are_higher(self) ->... class TestHypothesisTreeSelect (line 56) | class TestHypothesisTreeSelect: method test_select_single_node (line 57) | def test_select_single_node(self) -> None: method test_select_from_empty_raises (line 62) | def test_select_from_empty_raises(self) -> None: method test_select_deterministic_with_seed (line 67) | def test_select_deterministic_with_seed(self) -> None: method test_select_favours_higher_scoring_node (line 80) | def test_select_favours_higher_scoring_node(self) -> None: method test_select_with_no_scores_uniform (line 91) | def test_select_with_no_scores_uniform(self) -> None: class TestHypothesisTreeUpdate (line 103) | class TestHypothesisTreeUpdate: method test_update_scores_and_elo (line 104) | def test_update_scores_and_elo(self) -> None: method test_update_accumulates_scores (line 112) | def test_update_accumulates_scores(self) -> None: method test_update_nonexistent_raises (line 120) | def test_update_nonexistent_raises(self) -> None: class TestHypothesisTreePrune (line 126) | class TestHypothesisTreePrune: method test_prune_removes_lowest_elo (line 127) | def test_prune_removes_lowest_elo(self) -> None: method test_prune_noop_under_limit (line 140) | def test_prune_noop_under_limit(self) -> None: method test_prune_raises_when_protected_ids_block_removal (line 148) | def test_prune_raises_when_protected_ids_block_removal(self) -> None: class TestHypothesisTreeBest (line 157) | class TestHypothesisTreeBest: method test_best_returns_highest_elo (line 158) | def test_best_returns_highest_elo(self) -> None: method test_best_on_empty_raises (line 166) | def test_best_on_empty_raises(self) -> None: class TestHypothesisTreeConverged (line 172) | class TestHypothesisTreeConverged: method test_converged_single_node (line 173) | def test_converged_single_node(self) -> None: method test_converged_similar_elos (line 178) | def test_converged_similar_elos(self) -> None: method test_not_converged_divergent_elos (line 186) | def test_not_converged_divergent_elos(self) -> None: class TestHypothesisTreeInit (line 195) | class TestHypothesisTreeInit: method test_max_hypotheses_must_be_positive (line 196) | def test_max_hypotheses_must_be_positive(self) -> None: method test_temperature_must_be_positive (line 200) | def test_temperature_must_be_positive(self) -> None: FILE: autocontext/tests/test_improvement_loop.py class TestSpecPipelineFields (line 18) | class TestSpecPipelineFields: method test_defaults (line 19) | def test_defaults(self): method test_custom_values (line 25) | def test_custom_values(self): class TestValidatorPipelineFields (line 41) | class TestValidatorPipelineFields: method test_invalid_max_rounds (line 42) | def test_invalid_max_rounds(self): method test_invalid_threshold_zero (line 47) | def test_invalid_threshold_zero(self): method test_invalid_threshold_over_one (line 52) | def test_invalid_threshold_over_one(self): method test_empty_revision_prompt (line 57) | def test_empty_revision_prompt(self): method test_valid_pipeline_fields (line 62) | def test_valid_pipeline_fields(self): class ImprovingTask (line 77) | class ImprovingTask(AgentTaskInterface): method __init__ (line 80) | def __init__(self): method get_task_prompt (line 83) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 86) | def evaluate_output(self, output, state, reference_context=None, requi... method get_rubric (line 102) | def get_rubric(self) -> str: method initial_state (line 105) | def initial_state(self, seed=None) -> dict: method describe_task (line 108) | def describe_task(self) -> str: method revise_output (line 111) | def revise_output(self, output, judge_result, state): class NoRevisionTask (line 120) | class NoRevisionTask(AgentTaskInterface): method get_task_prompt (line 123) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 126) | def evaluate_output(self, output, state, reference_context=None, requi... method get_rubric (line 129) | def get_rubric(self) -> str: method initial_state (line 132) | def initial_state(self, seed=None) -> dict: method describe_task (line 135) | def describe_task(self) -> str: class TestImprovementLoop (line 142) | class TestImprovementLoop: method test_single_round (line 143) | def test_single_round(self): method test_improvement_across_rounds (line 153) | def test_improvement_across_rounds(self): method test_stops_at_threshold (line 162) | def test_stops_at_threshold(self): method test_no_revision_stops_early (line 173) | def test_no_revision_stops_early(self): method test_best_tracking (line 181) | def test_best_tracking(self): method test_passes_reference_context (line 189) | def test_passes_reference_context(self): method test_rounds_marked_as_revision (line 227) | def test_rounds_marked_as_revision(self): method test_improved_property_false_single_round (line 235) | def test_improved_property_false_single_round(self): method test_verify_facts_called_and_issues_appended (line 241) | def test_verify_facts_called_and_issues_appended(self): method test_threshold_sensitivity_near_threshold_continues (line 275) | def test_threshold_sensitivity_near_threshold_continues(self): method test_threshold_sensitivity_clearly_above_stops_immediately (line 311) | def test_threshold_sensitivity_clearly_above_stops_immediately(self): method test_threshold_sensitivity_drop_then_recover (line 343) | def test_threshold_sensitivity_drop_then_recover(self): class TestCodegenPipelineFields (line 385) | class TestCodegenPipelineFields: method test_generated_class_has_revise_output (line 386) | def test_generated_class_has_revise_output(self): method test_generated_revise_noop_for_single_round (line 400) | def test_generated_revise_noop_for_single_round(self): class TestDesignerPipelineFields (line 415) | class TestDesignerPipelineFields: method test_parse_with_pipeline_fields (line 416) | def test_parse_with_pipeline_fields(self): method test_parse_defaults (line 433) | def test_parse_defaults(self): class ProgrammableTask (line 444) | class ProgrammableTask(AgentTaskInterface): method __init__ (line 447) | def __init__(self, results: list[AgentTaskResult]) -> None: method get_task_prompt (line 451) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 454) | def evaluate_output( method get_rubric (line 467) | def get_rubric(self) -> str: method initial_state (line 470) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 473) | def describe_task(self) -> str: method revise_output (line 476) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class TestTerminationReason (line 483) | class TestTerminationReason: method test_max_rounds (line 484) | def test_max_rounds(self): method test_consecutive_failures (line 497) | def test_consecutive_failures(self): method test_threshold_met (line 507) | def test_threshold_met(self): method test_unchanged_output (line 517) | def test_unchanged_output(self): method test_met_threshold_true_when_fallthrough_with_best_above_threshold (line 527) | def test_met_threshold_true_when_fallthrough_with_best_above_threshold... method test_met_threshold_false_when_fallthrough_with_best_below_threshold (line 546) | def test_met_threshold_false_when_fallthrough_with_best_below_threshol... method test_met_threshold_false_when_best_round_failed_dimension_threshold (line 561) | def test_met_threshold_false_when_best_round_failed_dimension_threshol... class TestPlateauDetection (line 591) | class TestPlateauDetection: method test_plateau_after_two_consecutive (line 592) | def test_plateau_after_two_consecutive(self): method test_plateau_resets_on_significant_change (line 605) | def test_plateau_resets_on_significant_change(self): method test_single_plateau_not_enough (line 620) | def test_single_plateau_not_enough(self): class TestDimensionTrajectory (line 637) | class TestDimensionTrajectory: method test_builds_trajectory (line 638) | def test_builds_trajectory(self): method test_skips_failed_rounds (line 653) | def test_skips_failed_rounds(self): method test_empty_trajectory_no_dimensions (line 665) | def test_empty_trajectory_no_dimensions(self): class TestMinRounds (line 675) | class TestMinRounds: method test_continues_past_threshold (line 676) | def test_continues_past_threshold(self): method test_stops_at_threshold_when_min_met (line 691) | def test_stops_at_threshold_when_min_met(self): method test_defaults_to_one (line 703) | def test_defaults_to_one(self): class TestMaxScoreDelta (line 713) | class TestMaxScoreDelta: method test_warns_on_large_jump (line 714) | def test_warns_on_large_jump(self): method _capture_warnings (line 729) | def _capture_warnings(log: logging.Logger): # noqa: ANN205 method test_caps_score_when_enabled (line 750) | def test_caps_score_when_enabled(self): method test_no_cap_by_default (line 768) | def test_no_cap_by_default(self): method test_no_warn_within_limit (line 780) | def test_no_warn_within_limit(self): FILE: autocontext/tests/test_improvement_loop_events.py class _OneShotPerfectTask (line 20) | class _OneShotPerfectTask(AgentTaskInterface): method get_task_prompt (line 24) | def get_task_prompt(self, state): method evaluate_output (line 27) | def evaluate_output(self, output, state, **kwargs): method revise_output (line 30) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 33) | def get_rubric(self): method initial_state (line 36) | def initial_state(self, seed=None): method describe_task (line 39) | def describe_task(self): function _passing_verifier (line 43) | def _passing_verifier() -> OutputVerifier: function _failing_verifier (line 47) | def _failing_verifier() -> OutputVerifier: class TestImprovementLoopEventFieldOrder (line 58) | class TestImprovementLoopEventFieldOrder: method test_positional_score_argument_still_lands_on_score (line 67) | def test_positional_score_argument_still_lands_on_score(self) -> None: class TestImprovementLoopEventStream (line 74) | class TestImprovementLoopEventStream: method test_loop_emits_minimum_event_sequence_for_single_round (line 75) | def test_loop_emits_minimum_event_sequence_for_single_round(self) -> N... method test_loop_emits_verifier_event_when_verifier_configured (line 97) | def test_loop_emits_verifier_event_when_verifier_configured(self) -> N... method test_verifier_event_records_veto_when_verifier_rejects (line 122) | def test_verifier_event_records_veto_when_verifier_rejects(self) -> None: method test_judge_event_carries_round_and_score (line 139) | def test_judge_event_carries_round_and_score(self) -> None: method test_final_event_carries_summary_fields (line 153) | def test_final_event_carries_summary_fields(self) -> None: method test_no_event_callback_means_no_emission_or_breakage (line 169) | def test_no_event_callback_means_no_emission_or_breakage(self) -> None: class _TwoRoundUpgradingTask (line 183) | class _TwoRoundUpgradingTask(AgentTaskInterface): method get_task_prompt (line 188) | def get_task_prompt(self, state): method evaluate_output (line 191) | def evaluate_output(self, output, state, **kwargs): method revise_output (line 195) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 198) | def get_rubric(self): method initial_state (line 201) | def initial_state(self, seed=None): method describe_task (line 204) | def describe_task(self): class TestRevisionDoneEvent (line 208) | class TestRevisionDoneEvent: method test_revision_done_carries_seed_on_round_one (line 213) | def test_revision_done_carries_seed_on_round_one(self) -> None: method test_revision_done_carries_revised_output_on_subsequent_rounds (line 228) | def test_revision_done_carries_revised_output_on_subsequent_rounds(sel... method test_revision_done_fires_immediately_after_round_start (line 246) | def test_revision_done_fires_immediately_after_round_start(self) -> None: class TestImproveNdjsonFlag (line 268) | class TestImproveNdjsonFlag: method test_ndjson_emits_one_json_line_per_event (line 273) | def test_ndjson_emits_one_json_line_per_event(self, tmp_path) -> None: method test_ndjson_keeps_stdout_parseable_on_provider_error (line 371) | def test_ndjson_keeps_stdout_parseable_on_provider_error(self, tmp_pat... method test_json_and_ndjson_combination_is_rejected (line 419) | def test_json_and_ndjson_combination_is_rejected(self, tmp_path) -> None: method test_ndjson_includes_revision_done_with_output_by_default (line 449) | def test_ndjson_includes_revision_done_with_output_by_default(self, tm... method test_no_ndjson_include_output_suppresses_revision_done (line 519) | def test_no_ndjson_include_output_suppresses_revision_done(self, tmp_p... FILE: autocontext/tests/test_improvement_loop_resilience.py class FakeTask (line 14) | class FakeTask(AgentTaskInterface): method __init__ (line 17) | def __init__(self, eval_results: list[AgentTaskResult], revision_fn=No... method get_task_prompt (line 22) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 25) | def evaluate_output(self, output, state, **kwargs) -> AgentTaskResult: method revise_output (line 30) | def revise_output(self, output, result, state) -> str: method get_rubric (line 33) | def get_rubric(self) -> str: method initial_state (line 36) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 39) | def describe_task(self) -> str: class TestIsParseFailure (line 43) | class TestIsParseFailure: method test_real_zero_score (line 44) | def test_real_zero_score(self): method test_real_nonzero_score (line 47) | def test_real_nonzero_score(self): method test_missing_markers (line 50) | def test_missing_markers(self): method test_invalid_json (line 53) | def test_invalid_json(self): method test_no_parseable (line 56) | def test_no_parseable(self): class TestLoopResilience (line 60) | class TestLoopResilience: method test_judge_failure_not_counted_as_best (line 61) | def test_judge_failure_not_counted_as_best(self): method test_judge_failure_carries_forward_feedback (line 73) | def test_judge_failure_carries_forward_feedback(self): method test_consecutive_failures_abort (line 95) | def test_consecutive_failures_abort(self): method test_failure_then_recovery (line 106) | def test_failure_then_recovery(self): method test_failure_on_first_round_no_prior_feedback (line 119) | def test_failure_on_first_round_no_prior_feedback(self): method test_improved_property_ignores_failures (line 130) | def test_improved_property_ignores_failures(self): method test_no_failures_unchanged_behavior (line 141) | def test_no_failures_unchanged_behavior(self): method test_judge_failure_field_default (line 154) | def test_judge_failure_field_default(self): method test_improvement_result_judge_failures_default (line 159) | def test_improvement_result_judge_failures_default(self): FILE: autocontext/tests/test_improvement_loop_verifier.py class _AlwaysPerfectTask (line 22) | class _AlwaysPerfectTask(AgentTaskInterface): method __init__ (line 29) | def __init__(self): method get_task_prompt (line 32) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 35) | def evaluate_output( method revise_output (line 50) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 57) | def get_rubric(self) -> str: method initial_state (line 60) | def initial_state(self, seed=None) -> dict: method describe_task (line 63) | def describe_task(self): class _UpgradingTask (line 67) | class _UpgradingTask(AgentTaskInterface): method get_task_prompt (line 75) | def get_task_prompt(self, state): method evaluate_output (line 78) | def evaluate_output(self, output, state, **kwargs): method revise_output (line 81) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 84) | def get_rubric(self): method initial_state (line 87) | def initial_state(self, seed=None): method describe_task (line 90) | def describe_task(self): function _failing_verifier (line 94) | def _failing_verifier() -> OutputVerifier: function _passing_verifier (line 106) | def _passing_verifier() -> OutputVerifier: function _picky_verifier (line 111) | def _picky_verifier() -> OutputVerifier: class TestVerifierIntegration (line 129) | class TestVerifierIntegration: method test_failing_verifier_forces_score_to_zero (line 130) | def test_failing_verifier_forces_score_to_zero(self): method test_failing_verifier_annotates_reasoning (line 150) | def test_failing_verifier_annotates_reasoning(self): method test_failing_verifier_feeds_back_into_revision (line 163) | def test_failing_verifier_feeds_back_into_revision(self): method test_passing_verifier_does_not_change_score (line 179) | def test_passing_verifier_does_not_change_score(self): method test_no_verifier_means_no_change_to_existing_behavior (line 194) | def test_no_verifier_means_no_change_to_existing_behavior(self): method test_verifier_starts_failing_then_passes_after_fix (line 206) | def test_verifier_starts_failing_then_passes_after_fix(self): method test_disabled_verifier_does_nothing (line 224) | def test_disabled_verifier_does_nothing(self): method test_fenced_seed_is_stripped_before_verifier_sees_it (line 237) | def test_fenced_seed_is_stripped_before_verifier_sees_it(self): class _StagedJudgeTask (line 275) | class _StagedJudgeTask(AgentTaskInterface): method __init__ (line 284) | def __init__(self, *, initial_score: float, revised_score: float) -> N... method get_task_prompt (line 288) | def get_task_prompt(self, state): method evaluate_output (line 291) | def evaluate_output(self, output, state, **kwargs): method revise_output (line 304) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 307) | def get_rubric(self): method initial_state (line 310) | def initial_state(self, seed=None): method describe_task (line 313) | def describe_task(self): class TestVerifierVetoProvenance (line 317) | class TestVerifierVetoProvenance: method test_no_warning_when_previous_round_was_verifier_vetoed (line 330) | def test_no_warning_when_previous_round_was_verifier_vetoed(self, capl... method test_warning_still_fires_for_genuine_judge_score_jump (line 355) | def test_warning_still_fires_for_genuine_judge_score_jump(self, caplog... class _RecordingTask (line 381) | class _RecordingTask(AgentTaskInterface): method get_task_prompt (line 385) | def get_task_prompt(self, state): method evaluate_output (line 388) | def evaluate_output(self, output, state, **kwargs): method revise_output (line 392) | def revise_output(self, current_output, judge_result, state): method get_rubric (line 395) | def get_rubric(self): method initial_state (line 398) | def initial_state(self, seed=None): method describe_task (line 401) | def describe_task(self): function _capturing_checkpoint (line 405) | def _capturing_checkpoint(tmp_path): function _failing_checkpoint (line 426) | def _failing_checkpoint(): class TestCheckpointer (line 438) | class TestCheckpointer: method test_checkpointer_invoked_each_round_with_output (line 443) | def test_checkpointer_invoked_each_round_with_output(self, tmp_path) -... method test_checkpointer_failure_does_not_abort_loop (line 458) | def test_checkpointer_failure_does_not_abort_loop(self) -> None: method test_checkpoint_done_event_emitted (line 471) | def test_checkpoint_done_event_emitted(self, tmp_path) -> None: method test_checkpoint_done_event_records_failure (line 494) | def test_checkpoint_done_event_records_failure(self) -> None: FILE: autocontext/tests/test_integration_docs.py class TestIntegrationGuideExists (line 27) | class TestIntegrationGuideExists: method test_file_exists (line 28) | def test_file_exists(self) -> None: method test_readme_links_to_guide (line 34) | def test_readme_links_to_guide(self) -> None: class TestIntegrationGuideContent (line 46) | class TestIntegrationGuideContent: method _load_guide (line 48) | def _load_guide(self) -> None: class TestOperatorLoopDocsAlignment (line 54) | class TestOperatorLoopDocsAlignment: method _load_guide (line 56) | def _load_guide(self) -> None: method test_public_readmes_do_not_claim_operator_loop_is_non_executable (line 61) | def test_public_readmes_do_not_claim_operator_loop_is_non_executable(s... method test_has_cli_first_rationale (line 67) | def test_has_cli_first_rationale(self) -> None: method test_has_json_output_section (line 76) | def test_has_json_output_section(self) -> None: method test_documents_key_commands (line 80) | def test_documents_key_commands(self) -> None: method test_documents_json_stdout_stderr_contract (line 85) | def test_documents_json_stdout_stderr_contract(self) -> None: method test_documents_exit_codes (line 90) | def test_documents_exit_codes(self) -> None: method test_has_mcp_section (line 94) | def test_has_mcp_section(self) -> None: method test_positions_mcp_as_secondary (line 98) | def test_positions_mcp_as_secondary(self) -> None: method test_has_concrete_cli_example (line 111) | def test_has_concrete_cli_example(self) -> None: method test_has_concrete_mcp_example (line 115) | def test_has_concrete_mcp_example(self) -> None: method test_documents_provider_configuration (line 119) | def test_documents_provider_configuration(self) -> None: method test_documents_monitoring_guidance (line 123) | def test_documents_monitoring_guidance(self) -> None: method test_documents_error_json_format (line 128) | def test_documents_error_json_format(self) -> None: method test_typescript_section_links_existing_readme (line 132) | def test_typescript_section_links_existing_readme(self) -> None: class TestCLIJsonContractAccuracy (line 143) | class TestCLIJsonContractAccuracy: method test_json_stdout_helper_writes_to_stdout (line 146) | def test_json_stdout_helper_writes_to_stdout(self) -> None: method test_json_stderr_helper_writes_error_format (line 161) | def test_json_stderr_helper_writes_error_format(self) -> None: method test_list_json_returns_array (line 176) | def test_list_json_returns_array(self) -> None: FILE: autocontext/tests/test_integration_improvement.py class _ImprovingMockTask (line 13) | class _ImprovingMockTask(AgentTaskInterface): method __init__ (line 18) | def __init__(self) -> None: method get_task_prompt (line 22) | def get_task_prompt(self, state: dict) -> str: method get_rubric (line 25) | def get_rubric(self) -> str: method initial_state (line 28) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 31) | def describe_task(self) -> str: method evaluate_output (line 34) | def evaluate_output( method revise_output (line 50) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class TestIntegrationImprovementCycle (line 55) | class TestIntegrationImprovementCycle: method test_three_rounds_complete (line 58) | def test_three_rounds_complete(self) -> None: method test_score_improves (line 68) | def test_score_improves(self) -> None: method test_final_better_than_initial (line 75) | def test_final_better_than_initial(self) -> None: method test_no_parse_failures (line 81) | def test_no_parse_failures(self) -> None: method test_round_results_saved (line 87) | def test_round_results_saved(self) -> None: method test_dimension_trajectory_tracked (line 96) | def test_dimension_trajectory_tracked(self) -> None: method test_revisions_happen (line 105) | def test_revisions_happen(self) -> None: method test_best_score_is_highest (line 112) | def test_best_score_is_highest(self) -> None: FILE: autocontext/tests/test_intent_validation.py class TestIntentKeywordOverlap (line 19) | class TestIntentKeywordOverlap: method test_matching_intent_passes (line 20) | def test_matching_intent_passes(self) -> None: method test_complete_domain_drift_detected (line 31) | def test_complete_domain_drift_detected(self) -> None: method test_subtle_drift_detected (line 43) | def test_subtle_drift_detected(self) -> None: method test_closely_related_terms_pass (line 54) | def test_closely_related_terms_pass(self) -> None: method test_biomedical_agent_task_prompt_does_not_false_positive_as_code (line 65) | def test_biomedical_agent_task_prompt_does_not_false_positive_as_code(... method test_meta_learning_summary_prompt_does_not_false_positive_as_data_task (line 94) | def test_meta_learning_summary_prompt_does_not_false_positive_as_data_... class TestRubricPromptCoherence (line 120) | class TestRubricPromptCoherence: method test_coherent_rubric_passes (line 121) | def test_coherent_rubric_passes(self) -> None: method test_rubric_about_wrong_domain (line 132) | def test_rubric_about_wrong_domain(self) -> None: class TestOutputFormatCompatibility (line 149) | class TestOutputFormatCompatibility: method test_code_format_for_code_task (line 150) | def test_code_format_for_code_task(self) -> None: method test_code_format_for_writing_task (line 162) | def test_code_format_for_writing_task(self) -> None: method test_free_text_for_code_task (line 175) | def test_free_text_for_code_task(self) -> None: method test_json_schema_for_structured_task (line 188) | def test_json_schema_for_structured_task(self) -> None: method test_free_text_for_structured_task (line 200) | def test_free_text_for_structured_task(self) -> None: class TestNameCoherence (line 219) | class TestNameCoherence: method test_derived_name_preserves_domain_concepts (line 220) | def test_derived_name_preserves_domain_concepts(self) -> None: method test_all_domain_terms_missing_from_spec (line 234) | def test_all_domain_terms_missing_from_spec(self) -> None: class TestEdgeCases (line 251) | class TestEdgeCases: method test_empty_description_passes (line 252) | def test_empty_description_passes(self) -> None: method test_very_short_description (line 263) | def test_very_short_description(self) -> None: method test_matching_with_extra_spec_details (line 274) | def test_matching_with_extra_spec_details(self) -> None: class TestCreatorIntentValidation (line 295) | class TestCreatorIntentValidation: method test_creator_calls_validate_intent (line 296) | def test_creator_calls_validate_intent(self) -> None: FILE: autocontext/tests/test_interface_conventions.py function _base_name (line 14) | def _base_name(base: ast.expr) -> str: function _decorator_name (line 22) | def _decorator_name(decorator: ast.expr) -> str: class TestABCProtocolConventions (line 30) | class TestABCProtocolConventions: method test_protocols_do_not_use_abstractmethod (line 33) | def test_protocols_do_not_use_abstractmethod(self) -> None: method test_root_abc_classes_have_abstractmethod (line 65) | def test_root_abc_classes_have_abstractmethod(self) -> None: FILE: autocontext/tests/test_investigation_actions_coerce.py class _MinimalSimulation (line 17) | class _MinimalSimulation(SimulationInterface): method describe_rules (line 22) | def describe_rules(self) -> str: method describe_strategy_interface (line 25) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 28) | def describe_evaluation_criteria(self) -> str: method describe_scenario (line 31) | def describe_scenario(self) -> str: method describe_environment (line 34) | def describe_environment(self) -> Any: method initial_state (line 37) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 40) | def get_available_actions(self, state: dict[str, Any]) -> list[ActionS... method execute_action (line 46) | def execute_action(self, state: dict[str, Any], action: Any) -> tuple[... method is_terminal (line 59) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method evaluate_trace (line 62) | def evaluate_trace(self, trace: Any, final_state: dict[str, Any]) -> Any: method get_rubric (line 65) | def get_rubric(self) -> str: method get_observation (line 68) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method step (line 71) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method get_result (line 74) | def get_result(self, state: Mapping[str, Any]) -> Any: method replay_to_narrative (line 85) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 88) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: function _make_scenario (line 92) | def _make_scenario() -> _MinimalSimulation: class TestSingleActionCoercion (line 96) | class TestSingleActionCoercion: method test_valid_actions_list_still_works (line 99) | def test_valid_actions_list_still_works(self) -> None: method test_single_action_dict_is_coerced (line 109) | def test_single_action_dict_is_coerced(self) -> None: method test_single_action_dict_executes_in_step (line 120) | def test_single_action_dict_executes_in_step(self) -> None: method test_single_action_dict_executes_in_match (line 132) | def test_single_action_dict_executes_in_match(self) -> None: method test_single_action_dict_with_reasoning (line 143) | def test_single_action_dict_with_reasoning(self) -> None: method test_invalid_action_name_still_rejected (line 154) | def test_invalid_action_name_still_rejected(self) -> None: method test_completely_invalid_strategy_still_rejected (line 165) | def test_completely_invalid_strategy_still_rejected(self) -> None: FILE: autocontext/tests/test_investigation_browser_context.py function _make_settings (line 16) | def _make_settings(tmp_path: Path) -> AppSettings: function test_capture_investigation_browser_context_collects_snapshot_and_closes_session (line 27) | def test_capture_investigation_browser_context_collects_snapshot_and_clo... function test_capture_investigation_browser_context_requires_browser_to_be_enabled (line 72) | def test_capture_investigation_browser_context_requires_browser_to_be_en... function test_render_investigation_browser_context_includes_artifact_paths (line 89) | def test_render_investigation_browser_context_includes_artifact_paths() ... FILE: autocontext/tests/test_investigation_engine.py function _spec_response (line 9) | def _spec_response() -> str: function _hypothesis_response (line 47) | def _hypothesis_response() -> str: class TestInvestigationEngine (line 62) | class TestInvestigationEngine: method test_iterative_mode_runs_multi_step_llm_session_without_synthetic_scenario (line 63) | def test_iterative_mode_runs_multi_step_llm_session_without_synthetic_... method test_iterative_mode_records_compaction_ledger_and_events_under_context_pressure (line 127) | def test_iterative_mode_records_compaction_ledger_and_events_under_con... method test_runs_from_plain_language_description (line 206) | def test_runs_from_plain_language_description(self, tmp_path: Path) ->... method test_parses_wrapped_and_fenced_spec_json (line 237) | def test_parses_wrapped_and_fenced_spec_json(self, tmp_path: Path) -> ... method test_skips_blocked_actions_until_a_valid_investigation_step_is_available (line 253) | def test_skips_blocked_actions_until_a_valid_investigation_step_is_ava... method test_treats_environmental_preconditions_as_advisory_context (line 297) | def test_treats_environmental_preconditions_as_advisory_context(self, ... method test_returns_failed_result_when_spec_generation_is_not_json (line 341) | def test_returns_failed_result_when_spec_generation_is_not_json(self, ... method test_includes_browser_context_in_prompts_and_evidence (line 355) | def test_includes_browser_context_in_prompts_and_evidence(self, tmp_pa... method test_hypothesis_prompt_uses_clustered_evidence_summary (line 395) | def test_hypothesis_prompt_uses_clustered_evidence_summary(self, tmp_p... FILE: autocontext/tests/test_investigation_workflow.py class TestEvidenceItem (line 24) | class TestEvidenceItem: method test_construction (line 25) | def test_construction(self) -> None: method test_red_herring_item (line 41) | def test_red_herring_item(self) -> None: method test_with_metadata (line 53) | def test_with_metadata(self) -> None: method test_to_dict_from_dict (line 66) | def test_to_dict_from_dict(self) -> None: class TestEvidenceChain (line 85) | class TestEvidenceChain: method test_construction (line 86) | def test_construction(self) -> None: method test_contains_red_herring (line 99) | def test_contains_red_herring(self) -> None: method test_no_red_herring (line 111) | def test_no_red_herring(self) -> None: method test_to_dict_from_dict (line 122) | def test_to_dict_from_dict(self) -> None: class TestInvestigationResult (line 137) | class TestInvestigationResult: method test_construction (line 138) | def test_construction(self) -> None: method test_to_dict_from_dict (line 155) | def test_to_dict_from_dict(self) -> None: class TestInvestigationInterfaceABC (line 181) | class TestInvestigationInterfaceABC: method test_cannot_instantiate_abc (line 182) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 188) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_scenario (line 264) | def test_describe_scenario(self) -> None: method test_get_evidence_pool (line 268) | def test_get_evidence_pool(self) -> None: method test_get_evidence_pool_contains_red_herring (line 274) | def test_get_evidence_pool_contains_red_herring(self) -> None: method test_evaluate_evidence_chain (line 279) | def test_evaluate_evidence_chain(self) -> None: method test_evaluate_diagnosis (line 290) | def test_evaluate_diagnosis(self) -> None: method test_initial_state (line 302) | def test_initial_state(self) -> None: method _make_mock (line 307) | def _make_mock(self) -> Any: class TestWorkflowStep (line 382) | class TestWorkflowStep: method test_construction (line 383) | def test_construction(self) -> None: method test_non_reversible (line 398) | def test_non_reversible(self) -> None: method test_to_dict_from_dict (line 410) | def test_to_dict_from_dict(self) -> None: class TestSideEffect (line 427) | class TestSideEffect: method test_construction (line 428) | def test_construction(self) -> None: method test_to_dict_from_dict (line 442) | def test_to_dict_from_dict(self) -> None: class TestCompensationAction (line 458) | class TestCompensationAction: method test_construction (line 459) | def test_construction(self) -> None: method test_to_dict_from_dict (line 471) | def test_to_dict_from_dict(self) -> None: class TestWorkflowResult (line 486) | class TestWorkflowResult: method test_construction (line 487) | def test_construction(self) -> None: method test_to_dict_from_dict (line 512) | def test_to_dict_from_dict(self) -> None: class TestWorkflowInterfaceABC (line 540) | class TestWorkflowInterfaceABC: method test_cannot_instantiate_abc (line 541) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 547) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_scenario (line 551) | def test_describe_scenario(self) -> None: method test_get_workflow_steps (line 555) | def test_get_workflow_steps(self) -> None: method test_get_workflow_steps_has_compensation (line 563) | def test_get_workflow_steps_has_compensation(self) -> None: method test_execute_step (line 568) | def test_execute_step(self) -> None: method test_execute_compensation (line 578) | def test_execute_compensation(self) -> None: method test_get_side_effects (line 588) | def test_get_side_effects(self) -> None: method test_evaluate_workflow (line 594) | def test_evaluate_workflow(self) -> None: method test_initial_state (line 603) | def test_initial_state(self) -> None: method _make_mock (line 608) | def _make_mock(self) -> Any: class TestFamilyRegistration (line 707) | class TestFamilyRegistration: method test_investigation_family_registered (line 708) | def test_investigation_family_registered(self) -> None: method test_investigation_scenario_type_marker (line 715) | def test_investigation_scenario_type_marker(self) -> None: method test_workflow_family_registered (line 721) | def test_workflow_family_registered(self) -> None: method test_workflow_scenario_type_marker (line 728) | def test_workflow_scenario_type_marker(self) -> None: method test_detect_family_investigation (line 734) | def test_detect_family_investigation(self) -> None: method test_detect_family_workflow (line 742) | def test_detect_family_workflow(self) -> None: class TestInvestigationPipeline (line 756) | class TestInvestigationPipeline: method test_pipeline_registered (line 757) | def test_pipeline_registered(self) -> None: method test_pipeline_spec_validation_valid (line 762) | def test_pipeline_spec_validation_valid(self) -> None: method test_pipeline_spec_validation_missing_fields (line 777) | def test_pipeline_spec_validation_missing_fields(self) -> None: method test_pipeline_source_validation (line 785) | def test_pipeline_source_validation(self) -> None: method test_pipeline_source_wrong_base_class (line 808) | def test_pipeline_source_wrong_base_class(self) -> None: class TestWorkflowPipeline (line 819) | class TestWorkflowPipeline: method test_pipeline_registered (line 820) | def test_pipeline_registered(self) -> None: method test_pipeline_spec_validation_valid (line 825) | def test_pipeline_spec_validation_valid(self) -> None: method test_pipeline_spec_validation_missing_fields (line 841) | def test_pipeline_spec_validation_missing_fields(self) -> None: method test_pipeline_spec_empty_workflow_steps (line 849) | def test_pipeline_spec_empty_workflow_steps(self) -> None: method test_pipeline_source_validation (line 863) | def test_pipeline_source_validation(self) -> None: method test_pipeline_source_wrong_base_class (line 888) | def test_pipeline_source_wrong_base_class(self) -> None: class TestCrossFamilyMismatch (line 904) | class TestCrossFamilyMismatch: method test_investigation_spec_through_workflow_pipeline (line 905) | def test_investigation_spec_through_workflow_pipeline(self) -> None: method test_workflow_spec_through_investigation_pipeline (line 920) | def test_workflow_spec_through_investigation_pipeline(self) -> None: FILE: autocontext/tests/test_judge.py function make_mock_llm (line 15) | def make_mock_llm(response: str = VALID_JUDGE_RESPONSE): class TestLLMJudge (line 21) | class TestLLMJudge: method test_evaluate_valid_response (line 22) | def test_evaluate_valid_response(self) -> None: method test_multi_sample_averaging (line 34) | def test_multi_sample_averaging(self) -> None: method test_build_judge_prompt (line 56) | def test_build_judge_prompt(self) -> None: method test_evaluate_with_reference_context (line 64) | def test_evaluate_with_reference_context(self) -> None: method test_evaluate_with_reference_context_adds_factual_accuracy_default (line 73) | def test_evaluate_with_reference_context_adds_factual_accuracy_default... method test_evaluate_without_reference_context_no_factual_accuracy (line 84) | def test_evaluate_without_reference_context_no_factual_accuracy(self) ... method test_build_judge_prompt_with_reference_context (line 93) | def test_build_judge_prompt_with_reference_context(self) -> None: method test_build_judge_prompt_with_required_concepts (line 99) | def test_build_judge_prompt_with_required_concepts(self) -> None: method test_internal_retries_tracked (line 106) | def test_internal_retries_tracked(self) -> None: method test_parse_method_plaintext (line 123) | def test_parse_method_plaintext(self) -> None: method test_contradictory_rubric_caps_dual_section_escape (line 130) | def test_contradictory_rubric_caps_dual_section_escape(self) -> None: method test_contradiction_guardrail_allows_explicit_two_section_rubric (line 153) | def test_contradiction_guardrail_allows_explicit_two_section_rubric(se... class TestDetectGeneratedDimensions (line 178) | class TestDetectGeneratedDimensions: method test_empty_keys (line 179) | def test_empty_keys(self) -> None: method test_keys_match_rubric (line 182) | def test_keys_match_rubric(self) -> None: method test_keys_not_in_rubric (line 188) | def test_keys_not_in_rubric(self) -> None: method test_case_insensitive (line 194) | def test_case_insensitive(self) -> None: method test_underscore_compound_rubric_term_exact_match (line 200) | def test_underscore_compound_rubric_term_exact_match(self) -> None: method test_underscore_compound_rubric_term_inline (line 206) | def test_underscore_compound_rubric_term_inline(self) -> None: class TestDimensionsWereGenerated (line 213) | class TestDimensionsWereGenerated: method test_generated_true_when_dims_not_in_rubric (line 214) | def test_generated_true_when_dims_not_in_rubric(self) -> None: method test_generated_false_when_dims_match_rubric (line 223) | def test_generated_false_when_dims_match_rubric(self) -> None: class TestParseJudgeResponse (line 233) | class TestParseJudgeResponse: method test_valid (line 234) | def test_valid(self) -> None: method test_missing_markers_no_score (line 242) | def test_missing_markers_no_score(self) -> None: method test_missing_markers_with_plaintext_score (line 250) | def test_missing_markers_with_plaintext_score(self) -> None: method test_invalid_json_in_markers (line 257) | def test_invalid_json_in_markers(self) -> None: method test_score_clamping (line 264) | def test_score_clamping(self) -> None: method test_markers_tried_first (line 271) | def test_markers_tried_first(self) -> None: method test_reasoning_clean_no_prefix (line 282) | def test_reasoning_clean_no_prefix(self) -> None: class ConcreteTask (line 292) | class ConcreteTask(AgentTaskInterface): method get_task_prompt (line 293) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 296) | def evaluate_output( method get_rubric (line 307) | def get_rubric(self) -> str: method initial_state (line 310) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 313) | def describe_task(self) -> str: class TestJudgeExecutor (line 317) | class TestJudgeExecutor: method test_execute (line 318) | def test_execute(self) -> None: FILE: autocontext/tests/test_judge_provider_inheritance.py class TestDefaultJudgeProvider (line 7) | class TestDefaultJudgeProvider: method test_default_judge_provider_is_auto (line 8) | def test_default_judge_provider_is_auto(self, tmp_path) -> None: class TestGetProviderAutoInheritance (line 14) | class TestGetProviderAutoInheritance: method _settings (line 17) | def _settings(self, tmp_path, *, agent_provider: str, judge_provider: ... method test_auto_inherits_claude_cli (line 24) | def test_auto_inherits_claude_cli(self, tmp_path) -> None: method test_auto_inherits_pi (line 32) | def test_auto_inherits_pi(self, tmp_path) -> None: method test_auto_inherits_codex (line 40) | def test_auto_inherits_codex(self, tmp_path) -> None: method test_auto_inherits_competitor_override_before_global_agent_provider (line 48) | def test_auto_inherits_competitor_override_before_global_agent_provide... method test_auto_inherits_architect_override_when_global_agent_provider_is_not_runtime_bridged (line 61) | def test_auto_inherits_architect_override_when_global_agent_provider_i... method test_auto_falls_back_to_anthropic_for_anthropic_agent (line 74) | def test_auto_falls_back_to_anthropic_for_anthropic_agent(self, tmp_pa... method test_auto_falls_back_to_anthropic_for_deterministic_agent (line 84) | def test_auto_falls_back_to_anthropic_for_deterministic_agent(self, tm... class TestExplicitJudgeProviderOverride (line 96) | class TestExplicitJudgeProviderOverride: method test_explicit_anthropic_wins_over_claude_cli_agent (line 99) | def test_explicit_anthropic_wins_over_claude_cli_agent(self, tmp_path,... method test_explicit_claude_cli_judge_still_works (line 113) | def test_explicit_claude_cli_judge_still_works(self, tmp_path) -> None: class TestUnknownAgentProviderWithAutoJudge (line 126) | class TestUnknownAgentProviderWithAutoJudge: method test_auto_with_unknown_agent_raises_clear_error (line 127) | def test_auto_with_unknown_agent_raises_clear_error(self, tmp_path) ->... FILE: autocontext/tests/test_judge_rubrics.py class _ConditionalProvider (line 14) | class _ConditionalProvider(LLMProvider): method complete (line 15) | def complete( method default_model (line 56) | def default_model(self) -> str: class TestRubricSchema (line 64) | class TestRubricSchema: method test_rubric_dimension_from_dict (line 67) | def test_rubric_dimension_from_dict(self) -> None: method test_rubric_dimension_default_weight (line 74) | def test_rubric_dimension_default_weight(self) -> None: method test_rubric_dimension_to_dict (line 79) | def test_rubric_dimension_to_dict(self) -> None: method test_rubric_dimensions_weights_sum (line 84) | def test_rubric_dimensions_weights_sum(self) -> None: class TestPromptOptimizationRubric (line 100) | class TestPromptOptimizationRubric: method test_has_rubric_dimensions (line 103) | def test_has_rubric_dimensions(self) -> None: method test_required_dimensions (line 109) | def test_required_dimensions(self) -> None: method test_dimension_descriptions_nonempty (line 120) | def test_dimension_descriptions_nonempty(self) -> None: class TestRagAccuracyRubric (line 128) | class TestRagAccuracyRubric: method test_has_rubric_dimensions (line 131) | def test_has_rubric_dimensions(self) -> None: method test_required_dimensions (line 137) | def test_required_dimensions(self) -> None: method test_dimension_descriptions_nonempty (line 147) | def test_dimension_descriptions_nonempty(self) -> None: class TestContentGenerationRubric (line 155) | class TestContentGenerationRubric: method test_has_rubric_dimensions (line 158) | def test_has_rubric_dimensions(self) -> None: method test_required_dimensions (line 164) | def test_required_dimensions(self) -> None: method test_dimension_descriptions_nonempty (line 175) | def test_dimension_descriptions_nonempty(self) -> None: class TestJudgeRubricIntegration (line 188) | class TestJudgeRubricIntegration: method _make_judge_response (line 191) | def _make_judge_response(self, score: float, dimensions: dict[str, flo... method test_judge_with_template_rubric (line 196) | def test_judge_with_template_rubric(self) -> None: method test_judge_with_pinned_dimensions_from_rubric (line 223) | def test_judge_with_pinned_dimensions_from_rubric(self) -> None: method test_multi_dimensional_scoring_composite (line 250) | def test_multi_dimensional_scoring_composite(self) -> None: method test_score_variance_is_meaningful (line 288) | def test_score_variance_is_meaningful(self) -> None: class TestRubricConsistency (line 314) | class TestRubricConsistency: method test_all_templates_have_rubric_dimensions (line 317) | def test_all_templates_have_rubric_dimensions(self) -> None: method test_all_dimensions_have_valid_weights (line 327) | def test_all_dimensions_have_valid_weights(self) -> None: method test_rubric_yaml_roundtrip (line 337) | def test_rubric_yaml_roundtrip(self) -> None: FILE: autocontext/tests/test_knowledge_api.py function _make_settings (line 19) | def _make_settings(tmp_path: Path) -> AppSettings: function _make_ctx (line 29) | def _make_ctx(tmp_path: Path) -> MtsToolContext: class TestCleanLessons (line 42) | class TestCleanLessons: method test_removes_rollback_lines (line 43) | def test_removes_rollback_lines(self) -> None: method test_removes_raw_json_blobs (line 52) | def test_removes_raw_json_blobs(self) -> None: method test_strips_score_parentheticals (line 61) | def test_strips_score_parentheticals(self) -> None: method test_empty_input (line 70) | def test_empty_input(self) -> None: method test_preserves_clean_bullets (line 73) | def test_preserves_clean_bullets(self) -> None: class TestSkillPackage (line 85) | class TestSkillPackage: method test_to_dict_roundtrip (line 86) | def test_to_dict_roundtrip(self) -> None: method test_to_skill_markdown (line 105) | def test_to_skill_markdown(self) -> None: method test_to_skill_markdown_no_strategy (line 125) | def test_to_skill_markdown_no_strategy(self) -> None: class TestExport (line 145) | class TestExport: method test_export_no_data (line 146) | def test_export_no_data(self, tmp_path: Path) -> None: method test_export_with_playbook (line 154) | def test_export_with_playbook(self, tmp_path: Path) -> None: method test_export_unknown_scenario (line 162) | def test_export_unknown_scenario(self, tmp_path: Path) -> None: method test_list_solved_empty (line 167) | def test_list_solved_empty(self, tmp_path: Path) -> None: method test_list_solved_with_completed_run (line 172) | def test_list_solved_with_completed_run(self, tmp_path: Path) -> None: class TestSearch (line 185) | class TestSearch: method test_tokenize_removes_stopwords (line 186) | def test_tokenize_removes_stopwords(self) -> None: method test_keyword_score_basic (line 193) | def test_keyword_score_basic(self) -> None: method test_keyword_score_no_match (line 208) | def test_keyword_score_no_match(self) -> None: method test_search_no_completed_runs (line 217) | def test_search_no_completed_runs(self, tmp_path: Path) -> None: method test_search_with_completed_run (line 222) | def test_search_with_completed_run(self, tmp_path: Path) -> None: method test_build_search_index_uses_capability_helpers (line 232) | def test_build_search_index_uses_capability_helpers(self, tmp_path: Pa... class TestSqliteExtensions (line 270) | class TestSqliteExtensions: method test_count_completed_runs (line 271) | def test_count_completed_runs(self, tmp_path: Path) -> None: method test_get_best_competitor_output_none (line 279) | def test_get_best_competitor_output_none(self, tmp_path: Path) -> None: method test_get_best_competitor_output_with_data (line 283) | def test_get_best_competitor_output_with_data(self, tmp_path: Path) ->... class TestMcpTools (line 299) | class TestMcpTools: method test_export_skill_tool (line 300) | def test_export_skill_tool(self, tmp_path: Path) -> None: method test_list_solved_tool (line 305) | def test_list_solved_tool(self, tmp_path: Path) -> None: method test_search_strategies_tool (line 310) | def test_search_strategies_tool(self, tmp_path: Path) -> None: class TestRestApi (line 319) | class TestRestApi: method test_list_solved_endpoint (line 320) | def test_list_solved_endpoint(self) -> None: method test_export_unknown_scenario (line 333) | def test_export_unknown_scenario(self) -> None: method test_search_endpoint (line 345) | def test_search_endpoint(self) -> None: method test_solve_endpoint (line 358) | def test_solve_endpoint(self) -> None: method test_solve_status_not_found (line 373) | def test_solve_status_not_found(self) -> None: FILE: autocontext/tests/test_knowledge_coherence.py function test_coherent_state (line 9) | def test_coherent_state(tmp_path: Path) -> None: function test_empty_playbook (line 25) | def test_empty_playbook(tmp_path: Path) -> None: function test_missing_knowledge_dir (line 38) | def test_missing_knowledge_dir(tmp_path: Path) -> None: function test_empty_tools_dir (line 47) | def test_empty_tools_dir(tmp_path: Path) -> None: function test_contradictory_lessons_flagged (line 65) | def test_contradictory_lessons_flagged(tmp_path: Path) -> None: function test_structured_lessons_take_precedence_over_legacy_skill_text (line 86) | def test_structured_lessons_take_precedence_over_legacy_skill_text(tmp_p... FILE: autocontext/tests/test_knowledge_compaction.py function test_compact_prompt_components_keeps_recent_experiment_sections (line 4) | def test_compact_prompt_components_keeps_recent_experiment_sections() ->... function test_compact_prompt_components_extracts_key_session_report_lines (line 25) | def test_compact_prompt_components_extracts_key_session_report_lines() -... function test_compact_prompt_components_keeps_recent_lessons (line 46) | def test_compact_prompt_components_keeps_recent_lessons() -> None: function test_compact_prompt_components_preserves_trailing_dimension_section (line 63) | def test_compact_prompt_components_preserves_trailing_dimension_section(... function test_compact_prompt_components_with_entries_emits_pi_shaped_ledger (line 98) | def test_compact_prompt_components_with_entries_emits_pi_shaped_ledger()... function test_compact_prompt_components_caches_by_component_hash (line 144) | def test_compact_prompt_components_caches_by_component_hash() -> None: FILE: autocontext/tests/test_knowledge_solver.py function _operator_loop_llm (line 28) | def _operator_loop_llm(system: str, user: str) -> str: class _StubProviderResponse (line 68) | class _StubProviderResponse: method __init__ (line 69) | def __init__(self, text: str) -> None: class _StubProvider (line 73) | class _StubProvider: method __init__ (line 74) | def __init__(self, text: str) -> None: method complete (line 77) | def complete( method default_model (line 88) | def default_model(self) -> str: class _SolveAgentTask (line 92) | class _SolveAgentTask(AgentTaskInterface): method get_task_prompt (line 95) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 99) | def evaluate_output(self, output: str, state: dict, **kwargs: object) ... method get_rubric (line 108) | def get_rubric(self) -> str: method initial_state (line 111) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 115) | def describe_task(self) -> str: class _RevisingSolveAgentTask (line 119) | class _RevisingSolveAgentTask(AgentTaskInterface): method get_task_prompt (line 122) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 126) | def evaluate_output(self, output: str, state: dict, **kwargs: object) ... method get_rubric (line 135) | def get_rubric(self) -> str: method initial_state (line 138) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 142) | def describe_task(self) -> str: method revise_output (line 145) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class _SolveArtifactEditing (line 150) | class _SolveArtifactEditing(ArtifactEditingInterface): method describe_task (line 153) | def describe_task(self) -> str: method get_rubric (line 156) | def get_rubric(self) -> str: method initial_artifacts (line 159) | def initial_artifacts(self, seed: int | None = None) -> list[Artifact]: method get_edit_prompt (line 163) | def get_edit_prompt(self, artifacts: list[Artifact]) -> str: method validate_artifact (line 167) | def validate_artifact(self, artifact: Artifact) -> ArtifactValidationR... method evaluate_edits (line 171) | def evaluate_edits(self, original: list[Artifact], edited: list[Artifa... class _BudgetExhaustingAgentTask (line 186) | class _BudgetExhaustingAgentTask(AgentTaskInterface): method __init__ (line 189) | def __init__(self, clock: dict[str, float]) -> None: method get_task_prompt (line 192) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 196) | def evaluate_output(self, output: str, state: dict, **kwargs: object) ... method get_rubric (line 205) | def get_rubric(self) -> str: method initial_state (line 208) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 212) | def describe_task(self) -> str: class TestSolveScenarioBuilder (line 216) | class TestSolveScenarioBuilder: method test_routes_operator_loop_descriptions_to_operator_loop_creator (line 217) | def test_routes_operator_loop_descriptions_to_operator_loop_creator(se... method test_keeps_legacy_game_creator_for_game_descriptions (line 241) | def test_keeps_legacy_game_creator_for_game_descriptions(self, tmp_pat... method test_prefers_supported_family_hint_from_proposal_metadata (line 262) | def test_prefers_supported_family_hint_from_proposal_metadata(self) ->... method test_resolves_schema_evolution_family_for_ac269_stress_prompt (line 277) | def test_resolves_schema_evolution_family_for_ac269_stress_prompt(self... method test_resolves_ac277_portfolio_regime_change_prompt_to_schema_evolution (line 296) | def test_resolves_ac277_portfolio_regime_change_prompt_to_schema_evolu... method test_passes_supported_family_hint_into_creator (line 319) | def test_passes_supported_family_hint_into_creator(self, tmp_path: Pat... method test_build_marks_llm_classifier_fallback_usage (line 358) | def test_build_marks_llm_classifier_fallback_usage(self, tmp_path: Pat... method test_resolves_simulationinterface_harness_prompt_to_simulation (line 391) | def test_resolves_simulationinterface_harness_prompt_to_simulation(sel... method test_resolves_meta_learning_proposal_to_agent_task (line 416) | def test_resolves_meta_learning_proposal_to_agent_task(self) -> None: method test_resolves_capability_bootstrapping_proposal_to_agent_task (line 434) | def test_resolves_capability_bootstrapping_proposal_to_agent_task(self... method test_resolves_compositional_generalization_proposal_to_agent_task (line 450) | def test_resolves_compositional_generalization_proposal_to_agent_task(... method test_build_strips_nonessential_solve_sections_before_creation (line 465) | def test_build_strips_nonessential_solve_sections_before_creation( method test_build_uses_compact_designer_prompt_for_agent_task_solves (line 513) | def test_build_uses_compact_designer_prompt_for_agent_task_solves( method test_build_strips_inline_example_parentheticals_before_creation (line 580) | def test_build_strips_inline_example_parentheticals_before_creation(se... method test_build_solve_agent_task_design_brief_compacts_long_structured_descriptions (line 598) | def test_build_solve_agent_task_design_brief_compacts_long_structured_... method test_build_solve_agent_task_design_brief_preserves_long_freeform_descriptions (line 640) | def test_build_solve_agent_task_design_brief_preserves_long_freeform_d... method test_agent_task_creator_applies_description_transform_to_family_creators (line 657) | def test_agent_task_creator_applies_description_transform_to_family_cr... method test_agent_task_creator_retries_family_creator_once_on_timeout (line 691) | def test_agent_task_creator_retries_family_creator_once_on_timeout( method test_solve_task_spec_needs_compact_retry_for_runtime_heavy_specs (line 726) | def test_solve_task_spec_needs_compact_retry_for_runtime_heavy_specs(s... method test_resolves_alignment_stress_proposal_to_agent_task (line 748) | def test_resolves_alignment_stress_proposal_to_agent_task(self) -> None: class TestSolveLLMFn (line 765) | class TestSolveLLMFn: method test_uses_tighter_solve_designer_token_budget (line 766) | def test_uses_tighter_solve_designer_token_budget(self) -> None: method test_build_creator_prefers_translator_model_for_solve_design (line 788) | def test_build_creator_prefers_translator_model_for_solve_design( method test_build_creator_raises_pi_timeout_floor_for_solve_design (line 823) | def test_build_creator_raises_pi_timeout_floor_for_solve_design( method test_task_like_executor_raises_pi_timeout_floor_for_solve_runtime (line 866) | def test_task_like_executor_raises_pi_timeout_floor_for_solve_runtime( method test_task_like_executor_bounds_pi_timeout_by_generation_budget (line 913) | def test_task_like_executor_bounds_pi_timeout_by_generation_budget( method test_task_like_executor_bounds_per_role_pi_override_by_generation_budget (line 958) | def test_task_like_executor_bounds_per_role_pi_override_by_generation_... method test_generation_runner_executor_raises_pi_timeout_floor_for_solve_runtime (line 1008) | def test_generation_runner_executor_raises_pi_timeout_floor_for_solve_... method test_generation_runner_executor_bounds_pi_timeout_by_generation_budget (line 1069) | def test_generation_runner_executor_bounds_pi_timeout_by_generation_bu... class TestSolveScenarioExecutor (line 1128) | class TestSolveScenarioExecutor: method test_runs_agent_task_scenarios_through_task_loop (line 1129) | def test_runs_agent_task_scenarios_through_task_loop(self, tmp_path: P... method test_task_like_run_end_reports_generation_count_not_improvement_rounds (line 1167) | def test_task_like_run_end_reports_generation_count_not_improvement_ro... method test_artifact_editing_adapter_preserves_omitted_artifact_deletions (line 1208) | def test_artifact_editing_adapter_preserves_omitted_artifact_deletions... method test_runs_artifact_editing_scenarios_through_task_loop (line 1234) | def test_runs_artifact_editing_scenarios_through_task_loop(self, tmp_p... method test_task_like_executor_marks_run_failed_when_budget_expires (line 1284) | def test_task_like_executor_marks_run_failed_when_budget_expires( class TestSolveManager (line 1326) | class TestSolveManager: method test_solve_sync_loads_extensions_and_emits_task_lifecycle_hooks (line 1327) | def test_solve_sync_loads_extensions_and_emits_task_lifecycle_hooks( method test_run_job_uses_family_aware_executor (line 1443) | def test_run_job_uses_family_aware_executor(self, tmp_path: Path, monk... FILE: autocontext/tests/test_lesson_applicability.py class TestApplicabilityMeta (line 24) | class TestApplicabilityMeta: method test_construction_defaults (line 25) | def test_construction_defaults(self) -> None: method test_construction_full (line 42) | def test_construction_full(self) -> None: method test_to_dict_roundtrip (line 61) | def test_to_dict_roundtrip(self) -> None: class TestLesson (line 83) | class TestLesson: method test_construction (line 84) | def test_construction(self) -> None: method test_to_dict_from_dict_roundtrip (line 97) | def test_to_dict_from_dict_roundtrip(self) -> None: method test_is_stale_within_window (line 114) | def test_is_stale_within_window(self) -> None: method test_is_stale_outside_window (line 126) | def test_is_stale_outside_window(self) -> None: method test_is_superseded (line 138) | def test_is_superseded(self) -> None: method test_is_not_superseded (line 150) | def test_is_not_superseded(self) -> None: method test_is_applicable (line 161) | def test_is_applicable(self) -> None: method test_not_applicable_when_stale (line 173) | def test_not_applicable_when_stale(self) -> None: method test_not_applicable_when_superseded (line 185) | def test_not_applicable_when_superseded(self) -> None: method test_not_applicable_when_schema_invalidated (line 198) | def test_not_applicable_when_schema_invalidated(self) -> None: class TestLessonStoreReadWrite (line 216) | class TestLessonStoreReadWrite: method store (line 218) | def store(self, tmp_path: Path): method test_read_empty (line 227) | def test_read_empty(self, store) -> None: method test_write_and_read_roundtrip (line 231) | def test_write_and_read_roundtrip(self, store) -> None: method test_add_lesson (line 247) | def test_add_lesson(self, store) -> None: method test_add_multiple_lessons (line 263) | def test_add_multiple_lessons(self, store) -> None: method test_lessons_json_file_location (line 280) | def test_lessons_json_file_location(self, store, tmp_path: Path) -> None: class TestLessonStoreFiltering (line 301) | class TestLessonStoreFiltering: method store_with_lessons (line 303) | def store_with_lessons(self, tmp_path: Path): method test_get_applicable_lessons (line 351) | def test_get_applicable_lessons(self, store_with_lessons) -> None: method test_get_stale_lessons (line 358) | def test_get_stale_lessons(self, store_with_lessons) -> None: method test_get_applicable_excludes_superseded (line 365) | def test_get_applicable_excludes_superseded(self, store_with_lessons) ... method test_all_applicable_when_everything_fresh (line 372) | def test_all_applicable_when_everything_fresh(self, tmp_path: Path) ->... class TestLessonStoreInvalidation (line 404) | class TestLessonStoreInvalidation: method store (line 406) | def store(self, tmp_path: Path): method test_invalidate_by_schema_change (line 442) | def test_invalidate_by_schema_change(self, store) -> None: method test_invalidate_preserves_matching_schema (line 453) | def test_invalidate_preserves_matching_schema(self, store) -> None: method test_supersede_lesson (line 466) | def test_supersede_lesson(self, store) -> None: method test_supersede_nonexistent_lesson_is_noop (line 472) | def test_supersede_nonexistent_lesson_is_noop(self, store) -> None: class TestLessonStoreMigration (line 485) | class TestLessonStoreMigration: method test_migrate_from_raw_bullets (line 486) | def test_migrate_from_raw_bullets(self, tmp_path: Path) -> None: method test_migrate_skips_if_lessons_json_exists (line 513) | def test_migrate_skips_if_lessons_json_exists(self, tmp_path: Path) ->... class TestStalenessReport (line 554) | class TestStalenessReport: method test_staleness_report_content (line 555) | def test_staleness_report_content(self, tmp_path: Path) -> None: method test_staleness_report_empty_when_all_fresh (line 608) | def test_staleness_report_empty_when_all_fresh(self, tmp_path: Path) -... method test_staleness_report_empty_scenario (line 633) | def test_staleness_report_empty_scenario(self, tmp_path: Path) -> None: class TestLessonValidation (line 650) | class TestLessonValidation: method test_validate_lesson_refreshes_gen (line 651) | def test_validate_lesson_refreshes_gen(self, tmp_path: Path) -> None: method test_validate_nonexistent_is_noop (line 679) | def test_validate_nonexistent_is_noop(self, tmp_path: Path) -> None: class TestSessionReportStaleLessons (line 697) | class TestSessionReportStaleLessons: method test_session_report_includes_stale_count (line 698) | def test_session_report_includes_stale_count(self) -> None: method test_session_report_markdown_includes_lesson_health (line 716) | def test_session_report_markdown_includes_lesson_health(self) -> None: method test_session_report_defaults_zero (line 735) | def test_session_report_defaults_zero(self) -> None: class TestArtifactStoreLessonIntegration (line 757) | class TestArtifactStoreLessonIntegration: method artifact_store (line 759) | def artifact_store(self, tmp_path: Path): method test_artifact_store_has_lesson_store (line 769) | def test_artifact_store_has_lesson_store(self, artifact_store) -> None: method test_artifact_store_lesson_store_uses_same_roots (line 775) | def test_artifact_store_lesson_store_uses_same_roots(self, artifact_st... method test_add_structured_lesson_via_artifact_store (line 780) | def test_add_structured_lesson_via_artifact_store(self, artifact_store... method test_read_skills_prefers_applicable_structured_lessons (line 793) | def test_read_skills_prefers_applicable_structured_lessons(self, artif... FILE: autocontext/tests/test_living_docs.py function _write_doc (line 12) | def _write_doc(root: Path, name: str, *, opted_in: bool = True, content:... class TestLivingDoc (line 20) | class TestLivingDoc: method test_detect_opted_in (line 23) | def test_detect_opted_in(self, tmp_path: Path) -> None: method test_skip_non_opted_in (line 31) | def test_skip_non_opted_in(self, tmp_path: Path) -> None: method test_tracks_consultation (line 38) | def test_tracks_consultation(self, tmp_path: Path) -> None: class TestDocMaintainer (line 48) | class TestDocMaintainer: method test_discover_opted_in_docs (line 51) | def test_discover_opted_in_docs(self, tmp_path: Path) -> None: method test_skip_when_disabled (line 62) | def test_skip_when_disabled(self, tmp_path: Path) -> None: method test_skip_when_no_learnings (line 71) | def test_skip_when_no_learnings(self, tmp_path: Path) -> None: method test_produces_audit_trail (line 80) | def test_produces_audit_trail(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_llm_classifier_fallback.py class TestClassifyWithoutLlmFn (line 17) | class TestClassifyWithoutLlmFn: method test_classify_without_llm_fn_raises_on_zero_signal (line 18) | def test_classify_without_llm_fn_raises_on_zero_signal(self) -> None: method test_classify_with_keyword_match_skips_llm_fn (line 28) | def test_classify_with_keyword_match_skips_llm_fn(self) -> None: class TestLlmFallbackHappyPath (line 41) | class TestLlmFallbackHappyPath: method test_llm_fallback_happy_path_returns_llm_family (line 42) | def test_llm_fallback_happy_path_returns_llm_family(self) -> None: class TestLlmFallbackFailureModes (line 58) | class TestLlmFallbackFailureModes: method test_llm_fallback_unknown_family_raises (line 61) | def test_llm_fallback_unknown_family_raises(self) -> None: method test_llm_fallback_unparseable_json_raises (line 73) | def test_llm_fallback_unparseable_json_raises(self) -> None: method test_llm_fallback_missing_rationale_raises (line 85) | def test_llm_fallback_missing_rationale_raises(self) -> None: method test_llm_fallback_llm_fn_raises_raises (line 96) | def test_llm_fallback_llm_fn_raises_raises(self) -> None: method test_llm_fallback_clamps_out_of_range_confidence (line 107) | def test_llm_fallback_clamps_out_of_range_confidence(self) -> None: class TestResolveRequestedScenarioFamilyThreadsLlmFn (line 118) | class TestResolveRequestedScenarioFamilyThreadsLlmFn: method test_resolve_requested_scenario_family_threads_llm_fn (line 119) | def test_resolve_requested_scenario_family_threads_llm_fn(self) -> None: FILE: autocontext/tests/test_loop_controller.py function test_starts_unpaused (line 9) | def test_starts_unpaused() -> None: function test_pause_and_resume (line 14) | def test_pause_and_resume() -> None: function test_wait_if_paused_blocks_then_resumes (line 22) | def test_wait_if_paused_blocks_then_resumes() -> None: function test_wait_if_paused_returns_immediately_when_running (line 43) | def test_wait_if_paused_returns_immediately_when_running() -> None: function test_gate_override_set_and_take (line 49) | def test_gate_override_set_and_take() -> None: function test_hint_inject_and_take (line 59) | def test_hint_inject_and_take() -> None: function test_chat_submit_and_respond (line 69) | def test_chat_submit_and_respond() -> None: function test_poll_chat_empty (line 94) | def test_poll_chat_empty() -> None: function test_gate_override_last_wins (line 99) | def test_gate_override_last_wins() -> None: function test_hint_last_wins (line 106) | def test_hint_last_wins() -> None: FILE: autocontext/tests/test_loop_integration_snapshot_evidence.py class TestPromptBundleIntegration (line 22) | class TestPromptBundleIntegration: method test_accepts_environment_snapshot_parameter (line 25) | def test_accepts_environment_snapshot_parameter(self) -> None: method test_accepts_evidence_manifest_parameter (line 43) | def test_accepts_evidence_manifest_parameter(self) -> None: method test_snapshot_and_evidence_are_budgeted (line 63) | def test_snapshot_and_evidence_are_budgeted(self) -> None: method test_empty_snapshot_and_evidence_produce_no_artifacts (line 84) | def test_empty_snapshot_and_evidence_produce_no_artifacts(self) -> None: class TestStagePreflight (line 109) | class TestStagePreflight: method test_collects_snapshot_when_enabled_at_gen1 (line 112) | def test_collects_snapshot_when_enabled_at_gen1(self) -> None: method test_skips_when_disabled (line 126) | def test_skips_when_disabled(self) -> None: method test_skips_at_gen2 (line 137) | def test_skips_at_gen2(self) -> None: method test_populates_ctx_environment_snapshot (line 148) | def test_populates_ctx_environment_snapshot(self) -> None: method _make_ctx (line 161) | def _make_ctx(self, env_snapshot_enabled: bool, generation: int) -> Ma... method _make_artifacts (line 174) | def _make_artifacts(self, tmp: str, scenario_name: str) -> MagicMock: class TestMcpTools (line 188) | class TestMcpTools: method test_env_snapshot_tool_returns_snapshot (line 191) | def test_env_snapshot_tool_returns_snapshot(self) -> None: method test_env_snapshot_tool_returns_not_found (line 205) | def test_env_snapshot_tool_returns_not_found(self) -> None: method test_evidence_list_tool_returns_manifest (line 214) | def test_evidence_list_tool_returns_manifest(self) -> None: method test_evidence_list_tool_returns_not_found (line 233) | def test_evidence_list_tool_returns_not_found(self) -> None: method test_evidence_artifact_tool_returns_excerpt_and_tracks_access (line 242) | def test_evidence_artifact_tool_returns_excerpt_and_tracks_access(self... method test_evidence_artifact_tool_returns_not_found (line 282) | def test_evidence_artifact_tool_returns_not_found(self) -> None: method test_evidence_artifact_tool_ignores_manifest_workspace_dir (line 307) | def test_evidence_artifact_tool_ignores_manifest_workspace_dir(self) -... FILE: autocontext/tests/test_match_export.py function _setup_db (line 13) | def _setup_db(tmp_path: Path) -> tuple: class TestMatchRecordEnriched (line 36) | class TestMatchRecordEnriched: method test_new_fields (line 37) | def test_new_fields(self) -> None: method test_states_empty_when_not_available (line 55) | def test_states_empty_when_not_available(self) -> None: method test_to_dict_includes_all_fields (line 65) | def test_to_dict_includes_all_fields(self) -> None: method test_to_dict_without_optional_fields (line 80) | def test_to_dict_without_optional_fields(self) -> None: class TestInsertMatchWithReplay (line 97) | class TestInsertMatchWithReplay: method test_insert_and_read_with_replay (line 98) | def test_insert_and_read_with_replay(self, tmp_path: Path) -> None: method test_insert_without_replay_still_works (line 117) | def test_insert_without_replay_still_works(self, tmp_path: Path) -> None: class TestExportMatchRecords (line 136) | class TestExportMatchRecords: method test_match_records_yielded_when_enabled (line 137) | def test_match_records_yielded_when_enabled(self, tmp_path: Path) -> N... method test_match_records_not_yielded_when_disabled (line 163) | def test_match_records_not_yielded_when_disabled(self, tmp_path: Path)... method test_state_history_from_replay (line 182) | def test_state_history_from_replay(self, tmp_path: Path) -> None: method test_state_history_empty_when_no_states_in_replay (line 210) | def test_state_history_empty_when_no_states_in_replay(self, tmp_path: ... FILE: autocontext/tests/test_mcp_agent_tasks.py class _MockProvider (line 34) | class _MockProvider(LLMProvider): method __init__ (line 35) | def __init__(self, response: str = "mock"): method complete (line 37) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 39) | def default_model(self): class _MultiResponseProvider (line 43) | class _MultiResponseProvider(LLMProvider): method __init__ (line 44) | def __init__(self, responses: list[str]): method complete (line 48) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 53) | def default_model(self): function _judge_response (line 57) | def _judge_response(score: float = 0.85) -> str: function _register_l19_dataset (line 62) | def _register_l19_dataset(ctx: MtsToolContext, version: str = "1.0.0") -... function ctx (line 89) | def ctx(tmp_path, monkeypatch): class TestCreateAgentTask (line 109) | class TestCreateAgentTask: method test_create_basic (line 110) | def test_create_basic(self, ctx): method test_create_with_all_fields (line 115) | def test_create_with_all_fields(self, ctx): class TestListAgentTasks (line 145) | class TestListAgentTasks: method test_empty (line 146) | def test_empty(self, ctx): method test_lists_created_tasks (line 149) | def test_lists_created_tasks(self, ctx): class TestGetAgentTask (line 158) | class TestGetAgentTask: method test_not_found (line 159) | def test_not_found(self, ctx): method test_get_existing (line 163) | def test_get_existing(self, ctx): class TestDeleteAgentTask (line 170) | class TestDeleteAgentTask: method test_delete_existing (line 171) | def test_delete_existing(self, ctx): method test_delete_nonexistent (line 177) | def test_delete_nonexistent(self, ctx): class TestEvaluateOutput (line 186) | class TestEvaluateOutput: method test_not_found (line 187) | def test_not_found(self, ctx): method test_evaluates_with_provider (line 191) | def test_evaluates_with_provider(self, ctx, monkeypatch): method test_evaluates_with_objective_verification (line 202) | def test_evaluates_with_objective_verification(self, ctx, monkeypatch): method test_evaluates_with_registered_objective_dataset (line 233) | def test_evaluates_with_registered_objective_dataset(self, ctx, monkey... method test_evaluates_with_objective_guardrail (line 259) | def test_evaluates_with_objective_guardrail(self, ctx, monkeypatch): method test_evaluates_with_rubric_calibration (line 291) | def test_evaluates_with_rubric_calibration(self, ctx, monkeypatch): method test_evaluate_output_surfaces_evaluator_guardrail (line 323) | def test_evaluate_output_surfaces_evaluator_guardrail(self, ctx, monke... class TestRunImprovementLoop (line 346) | class TestRunImprovementLoop: method test_surfaces_pareto_and_actionable_side_info (line 347) | def test_surfaces_pareto_and_actionable_side_info(self, ctx, monkeypat... class TestQueueTools (line 417) | class TestQueueTools: method test_queue_not_found (line 418) | def test_queue_not_found(self, ctx): method test_queue_task (line 422) | def test_queue_task(self, ctx): method test_queue_task_accepts_browser_url_override (line 430) | def test_queue_task_accepts_browser_url_override(self, ctx): method test_queue_task_propagates_judge_guardrail_settings (line 444) | def test_queue_task_propagates_judge_guardrail_settings(self, ctx): method test_queue_task_resolves_registered_objective_dataset (line 461) | def test_queue_task_resolves_registered_objective_dataset(self, ctx): method test_queue_status_empty (line 482) | def test_queue_status_empty(self, ctx): method test_queue_status_with_tasks (line 487) | def test_queue_status_with_tasks(self, ctx): method test_get_task_result_not_found (line 494) | def test_get_task_result_not_found(self, ctx): method test_get_task_result_pending (line 498) | def test_get_task_result_pending(self, ctx): method test_get_task_result_surfaces_multi_generation_trajectory (line 504) | def test_get_task_result_surfaces_multi_generation_trajectory(self, ctx): method test_get_task_result_surfaces_objective_verification (line 544) | def test_get_task_result_surfaces_objective_verification(self, ctx): method test_get_task_result_surfaces_objective_guardrail (line 586) | def test_get_task_result_surfaces_objective_guardrail(self, ctx): method test_get_task_result_surfaces_evaluator_guardrail (line 615) | def test_get_task_result_surfaces_evaluator_guardrail(self, ctx): method test_get_task_result_surfaces_rubric_calibration (line 638) | def test_get_task_result_surfaces_rubric_calibration(self, ctx): class TestGetBestOutput (line 669) | class TestGetBestOutput: method test_no_completed (line 670) | def test_no_completed(self, ctx): method test_returns_best (line 674) | def test_returns_best(self, ctx): FILE: autocontext/tests/test_mcp_server.py function test_server_has_tools (line 14) | def test_server_has_tools() -> None: function test_tool_count (line 32) | def test_tool_count() -> None: function test_list_scenarios_tool (line 37) | def test_list_scenarios_tool() -> None: function test_run_match_tool (line 47) | def test_run_match_tool() -> None: function test_evidence_artifact_tool_function_exists (line 58) | def test_evidence_artifact_tool_function_exists() -> None: function test_solve_tools_expose_prefixed_and_unprefixed_names (line 64) | def test_solve_tools_expose_prefixed_and_unprefixed_names() -> None: FILE: autocontext/tests/test_mcp_tools.py function test_list_scenarios (line 24) | def test_list_scenarios() -> None: function test_list_scenarios_uses_capability_description_helper (line 34) | def test_list_scenarios_uses_capability_description_helper() -> None: function test_describe_grid_ctf (line 43) | def test_describe_grid_ctf() -> None: function test_describe_scenario_uses_capability_helpers (line 51) | def test_describe_scenario_uses_capability_helpers() -> None: function test_describe_unknown_scenario (line 69) | def test_describe_unknown_scenario() -> None: function test_validate_valid_strategy (line 74) | def test_validate_valid_strategy() -> None: function test_validate_invalid_strategy (line 79) | def test_validate_invalid_strategy() -> None: function test_validate_strategy_uses_capability_check (line 85) | def test_validate_strategy_uses_capability_check() -> None: function test_run_match_returns_result (line 93) | def test_run_match_returns_result() -> None: function test_run_match_uses_capability_check (line 102) | def test_run_match_uses_capability_check() -> None: function test_run_match_deterministic_seed (line 110) | def test_run_match_deterministic_seed() -> None: function test_run_tournament_aggregate (line 116) | def test_run_tournament_aggregate() -> None: function test_read_playbook_empty (line 124) | def test_read_playbook_empty(tmp_path: Path) -> None: function test_read_playbook_with_content (line 137) | def test_read_playbook_with_content(tmp_path: Path) -> None: function test_read_hints_empty (line 153) | def test_read_hints_empty(tmp_path: Path) -> None: function test_read_skills_empty (line 166) | def test_read_skills_empty(tmp_path: Path) -> None: FILE: autocontext/tests/test_memory_consolidation.py class TestConsolidationTrigger (line 14) | class TestConsolidationTrigger: method test_not_triggered_when_below_threshold (line 17) | def test_not_triggered_when_below_threshold(self) -> None: method test_triggered_by_turn_count (line 26) | def test_triggered_by_turn_count(self) -> None: method test_triggered_by_session_count (line 32) | def test_triggered_by_session_count(self) -> None: method test_explicit_force_overrides_threshold (line 38) | def test_explicit_force_overrides_threshold(self) -> None: method test_negative_thresholds_rejected (line 44) | def test_negative_thresholds_rejected(self) -> None: class TestConsolidationResult (line 54) | class TestConsolidationResult: method test_result_tracks_promotions (line 57) | def test_result_tracks_promotions(self) -> None: method test_noop_result (line 69) | def test_noop_result(self) -> None: method test_dry_run_result (line 79) | def test_dry_run_result(self) -> None: class TestConsolidationLock (line 91) | class TestConsolidationLock: method test_acquire_and_release (line 94) | def test_acquire_and_release(self, tmp_path: Path) -> None: method test_context_manager (line 104) | def test_context_manager(self, tmp_path: Path) -> None: method test_lock_raises_on_contention_when_strict (line 113) | def test_lock_raises_on_contention_when_strict(self, tmp_path: Path) -... method test_non_owner_release_does_not_clear_active_lock (line 122) | def test_non_owner_release_does_not_clear_active_lock(self, tmp_path: ... class TestMemoryConsolidator (line 139) | class TestMemoryConsolidator: method test_skips_when_trigger_not_met (line 142) | def test_skips_when_trigger_not_met(self) -> None: method test_runs_when_triggered (line 154) | def test_runs_when_triggered(self) -> None: method test_dry_run_does_not_mutate (line 177) | def test_dry_run_does_not_mutate(self) -> None: method test_promotes_structured_lessons_instead_of_raw_prefixes (line 193) | def test_promotes_structured_lessons_instead_of_raw_prefixes(self) -> ... FILE: autocontext/tests/test_mlx_provider.py function _fake_tokenizer (line 21) | def _fake_tokenizer(*, end_token_id: int = 8196) -> MagicMock: function _fake_serializable_tokenizer (line 40) | def _fake_serializable_tokenizer() -> MagicMock: function _fake_model (line 51) | def _fake_model(*, vocab_size: int = 8197, seq_len: int = 2048) -> Magic... function _write_fake_checkpoint (line 61) | def _write_fake_checkpoint(model_dir: Path) -> None: class TestMLXProviderImport (line 82) | class TestMLXProviderImport: method test_provider_module_importable (line 83) | def test_provider_module_importable(self) -> None: method test_graceful_error_when_mlx_not_installed (line 88) | def test_graceful_error_when_mlx_not_installed(self, tmp_path: Path) -... class TestModelLoading (line 101) | class TestModelLoading: method test_error_when_model_path_missing (line 102) | def test_error_when_model_path_missing(self, tmp_path: Path) -> None: method test_error_when_config_missing (line 109) | def test_error_when_config_missing(self, tmp_path: Path) -> None: method test_error_when_weights_missing (line 119) | def test_error_when_weights_missing(self, tmp_path: Path) -> None: method test_successful_load (line 130) | def test_successful_load(self, mock_load: MagicMock, tmp_path: Path) -... method test_default_model_returns_path (line 141) | def test_default_model_returns_path(self, mock_load: MagicMock, tmp_pa... class TestGeneration (line 155) | class TestGeneration: method test_complete_returns_completion_result (line 157) | def test_complete_returns_completion_result(self, mock_load: MagicMock... method test_complete_uses_temperature (line 176) | def test_complete_uses_temperature(self, mock_load: MagicMock, tmp_pat... method test_complete_uses_max_tokens (line 194) | def test_complete_uses_max_tokens(self, mock_load: MagicMock, tmp_path... method test_generation_error_raises_provider_error (line 209) | def test_generation_error_raises_provider_error(self, mock_load: Magic... class TestConfiguration (line 226) | class TestConfiguration: method test_default_temperature (line 228) | def test_default_temperature(self, mock_load: MagicMock, tmp_path: Pat... method test_custom_temperature (line 239) | def test_custom_temperature(self, mock_load: MagicMock, tmp_path: Path... method test_default_max_tokens (line 250) | def test_default_max_tokens(self, mock_load: MagicMock, tmp_path: Path... method test_name_property (line 261) | def test_name_property(self, mock_load: MagicMock, tmp_path: Path) -> ... class TestSettingsConfig (line 275) | class TestSettingsConfig: method test_settings_has_mlx_model_path (line 276) | def test_settings_has_mlx_model_path(self) -> None: method test_settings_has_mlx_temperature (line 282) | def test_settings_has_mlx_temperature(self) -> None: method test_settings_has_mlx_max_tokens (line 288) | def test_settings_has_mlx_max_tokens(self) -> None: class TestAutoRegressiveSampling (line 298) | class TestAutoRegressiveSampling: method test_generate_function_exists (line 299) | def test_generate_function_exists(self) -> None: method test_generate_concatenates_system_and_user (line 305) | def test_generate_concatenates_system_and_user(self, mock_load: MagicM... method test_generate_stops_at_end_token (line 324) | def test_generate_stops_at_end_token(self, mock_load: MagicMock, tmp_p... method test_generate_decodes_only_generated_tokens (line 343) | def test_generate_decodes_only_generated_tokens(self, mock_load: Magic... method test_generate_respects_max_tokens (line 361) | def test_generate_respects_max_tokens(self, mock_load: MagicMock, tmp_... class TestRegistryWiring (line 383) | class TestRegistryWiring: method test_create_provider_mlx (line 387) | def test_create_provider_mlx(self, mock_load: MagicMock, tmp_path: Pat... method test_create_provider_mlx_case_insensitive (line 399) | def test_create_provider_mlx_case_insensitive(self, mock_load: MagicMo... method test_create_provider_mlx_no_path_raises (line 409) | def test_create_provider_mlx_no_path_raises(self) -> None: method test_get_provider_mlx_from_settings (line 417) | def test_get_provider_mlx_from_settings(self, mock_load: MagicMock, tm... method test_get_provider_mlx_uses_settings_defaults (line 437) | def test_get_provider_mlx_uses_settings_defaults(self, mock_load: Magi... method test_error_message_includes_mlx_in_supported_list (line 453) | def test_error_message_includes_mlx_in_supported_list(self) -> None: class TestAgentLoopWiring (line 461) | class TestAgentLoopWiring: method test_build_client_from_settings_supports_mlx (line 463) | def test_build_client_from_settings_supports_mlx(self, mock_provider: ... method test_mlx_client_generate_uses_provider_completion (line 478) | def test_mlx_client_generate_uses_provider_completion(self, mock_provi... class TestBundleCompatibility (line 503) | class TestBundleCompatibility: method test_save_tokenizer_json_persists_provider_format (line 504) | def test_save_tokenizer_json_persists_provider_format(self, tmp_path: ... method test_save_inference_bundle_writes_provider_artifacts (line 517) | def test_save_inference_bundle_writes_provider_artifacts(self, mock_sa... FILE: autocontext/tests/test_model_registry.py function _record (line 18) | def _record(**overrides: Any) -> Any: class TestDistilledModelRecord (line 41) | class TestDistilledModelRecord: method test_construction (line 42) | def test_construction(self) -> None: method test_roundtrip (line 47) | def test_roundtrip(self) -> None: method test_valid_activation_states (line 56) | def test_valid_activation_states(self) -> None: class TestModelRegistry (line 67) | class TestModelRegistry: method test_register_and_load (line 68) | def test_register_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 79) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_for_scenario (line 85) | def test_list_for_scenario(self, tmp_path: Path) -> None: method test_activate (line 96) | def test_activate(self, tmp_path: Path) -> None: method test_activate_deactivates_previous (line 107) | def test_activate_deactivates_previous(self, tmp_path: Path) -> None: method test_activate_keeps_distinct_runtime_slot_active (line 122) | def test_activate_keeps_distinct_runtime_slot_active(self, tmp_path: P... method test_deactivate (line 163) | def test_deactivate(self, tmp_path: Path) -> None: class TestResolveModel (line 180) | class TestResolveModel: method test_returns_active_model (line 181) | def test_returns_active_model(self, tmp_path: Path) -> None: method test_manual_override_takes_precedence (line 191) | def test_manual_override_takes_precedence(self, tmp_path: Path) -> None: method test_returns_none_when_no_active (line 204) | def test_returns_none_when_no_active(self, tmp_path: Path) -> None: method test_filters_by_backend (line 213) | def test_filters_by_backend(self, tmp_path: Path) -> None: class TestDistilledModelArtifact (line 230) | class TestDistilledModelArtifact: method test_construction (line 231) | def test_construction(self) -> None: method test_roundtrip (line 246) | def test_roundtrip(self) -> None: class TestPublishTrainingOutput (line 269) | class TestPublishTrainingOutput: method test_publishes_and_registers (line 270) | def test_publishes_and_registers(self, tmp_path: Path) -> None: method test_idempotent_republish (line 298) | def test_idempotent_republish(self, tmp_path: Path) -> None: method test_auto_activate_when_requested (line 317) | def test_auto_activate_when_requested(self, tmp_path: Path) -> None: method test_persists_openclaw_artifact_when_root_provided (line 335) | def test_persists_openclaw_artifact_when_root_provided(self, tmp_path:... FILE: autocontext/tests/test_model_router.py function test_default_tier_returns_role_minimum (line 9) | def test_default_tier_returns_role_minimum() -> None: function test_early_generation_uses_haiku_for_competitor (line 16) | def test_early_generation_uses_haiku_for_competitor() -> None: function test_late_generation_uses_sonnet_for_competitor (line 22) | def test_late_generation_uses_sonnet_for_competitor() -> None: function test_retry_escalates_to_sonnet (line 28) | def test_retry_escalates_to_sonnet() -> None: function test_plateau_escalates_to_opus (line 34) | def test_plateau_escalates_to_opus() -> None: function test_coach_always_uses_sonnet_or_higher (line 40) | def test_coach_always_uses_sonnet_or_higher() -> None: function test_architect_always_uses_opus (line 46) | def test_architect_always_uses_opus() -> None: function test_disabled_router_returns_none (line 52) | def test_disabled_router_returns_none() -> None: FILE: autocontext/tests/test_model_router_integration.py function test_settings_has_tier_fields (line 15) | def test_settings_has_tier_fields() -> None: function test_settings_tier_models_configurable (line 21) | def test_settings_tier_models_configurable() -> None: function test_settings_tier_defaults (line 26) | def test_settings_tier_defaults() -> None: function test_router_from_settings (line 36) | def test_router_from_settings() -> None: function test_orchestrator_resolve_model_uses_harness_coverage (line 57) | def test_orchestrator_resolve_model_uses_harness_coverage(tmp_path: Path... function test_orchestrator_routes_registered_local_model_for_scenario (line 99) | def test_orchestrator_routes_registered_local_model_for_scenario(tmp_pat... function test_orchestrator_local_model_discovery_uses_scenario_routing (line 140) | def test_orchestrator_local_model_discovery_uses_scenario_routing(tmp_pa... FILE: autocontext/tests/test_module_size_limits.py class TestModuleSizeLimits (line 32) | class TestModuleSizeLimits: method test_no_oversized_modules (line 35) | def test_no_oversized_modules(self) -> None: method test_stages_helpers_exist (line 53) | def test_stages_helpers_exist(self) -> None: method test_stages_under_grandfathered_limit (line 64) | def test_stages_under_grandfathered_limit(self) -> None: FILE: autocontext/tests/test_monitor.py function sqlite_store (line 34) | def sqlite_store(tmp_path: Path) -> SQLiteStore: function emitter (line 42) | def emitter(tmp_path: Path) -> Any: class TestMonitorTypes (line 53) | class TestMonitorTypes: method test_condition_type_enum_values (line 54) | def test_condition_type_enum_values(self) -> None: method test_monitor_condition_construction (line 63) | def test_monitor_condition_construction(self) -> None: method test_monitor_alert_construction (line 81) | def test_monitor_alert_construction(self) -> None: method test_make_id_unique (line 97) | def test_make_id_unique(self) -> None: class TestEvaluators (line 109) | class TestEvaluators: method test_metric_threshold_fires_above (line 110) | def test_metric_threshold_fires_above(self) -> None: method test_metric_threshold_fires_below (line 123) | def test_metric_threshold_fires_below(self) -> None: method test_metric_threshold_no_fire_below_threshold (line 135) | def test_metric_threshold_no_fire_below_threshold(self) -> None: method test_metric_threshold_wrong_event (line 147) | def test_metric_threshold_wrong_event(self) -> None: method test_metric_threshold_respects_run_scope (line 160) | def test_metric_threshold_respects_run_scope(self) -> None: method test_stall_window_fires (line 172) | def test_stall_window_fires(self) -> None: method test_stall_window_no_fire_short_history (line 185) | def test_stall_window_no_fire_short_history(self) -> None: method test_stall_window_no_fire_when_advance_breaks_streak (line 198) | def test_stall_window_no_fire_when_advance_breaks_streak(self) -> None: method test_artifact_created_fires (line 211) | def test_artifact_created_fires(self, tmp_path: Path) -> None: method test_artifact_created_no_fire_missing (line 225) | def test_artifact_created_no_fire_missing(self) -> None: method test_process_exit_fires (line 237) | def test_process_exit_fires(self) -> None: method test_process_exit_wrong_scope (line 249) | def test_process_exit_wrong_scope(self) -> None: method test_heartbeat_lost_fires_stale (line 261) | def test_heartbeat_lost_fires_stale(self) -> None: method test_heartbeat_lost_no_fire_recent (line 275) | def test_heartbeat_lost_no_fire_recent(self) -> None: class TestMonitorEngine (line 295) | class TestMonitorEngine: method test_engine_start_stop (line 296) | def test_engine_start_stop(self, sqlite_store: SQLiteStore, emitter: A... method test_engine_on_event_fires_alert (line 305) | def test_engine_on_event_fires_alert(self, sqlite_store: SQLiteStore, ... method test_engine_emits_monitor_alert_event (line 325) | def test_engine_emits_monitor_alert_event(self, sqlite_store: SQLiteSt... method test_engine_notifier_called (line 349) | def test_engine_notifier_called(self, sqlite_store: SQLiteStore, emitt... method test_engine_wait_for_alert_true (line 368) | def test_engine_wait_for_alert_true(self, sqlite_store: SQLiteStore, e... method test_engine_wait_for_alert_timeout (line 394) | def test_engine_wait_for_alert_timeout(self, sqlite_store: SQLiteStore... method test_engine_wait_for_existing_alert_returns_immediately (line 412) | def test_engine_wait_for_existing_alert_returns_immediately(self, sqli... method test_heartbeat_alert_fires_once_per_silence_window (line 431) | def test_heartbeat_alert_fires_once_per_silence_window(self, sqlite_st... method test_engine_deactivated_condition_not_evaluated (line 458) | def test_engine_deactivated_condition_not_evaluated(self, sqlite_store... class TestMonitorStorage (line 484) | class TestMonitorStorage: method test_monitor_tables_exist (line 485) | def test_monitor_tables_exist(self, sqlite_store: SQLiteStore) -> None: method test_insert_and_get_condition (line 496) | def test_insert_and_get_condition(self, sqlite_store: SQLiteStore) -> ... method test_list_conditions_active_only (line 514) | def test_list_conditions_active_only(self, sqlite_store: SQLiteStore) ... method test_list_conditions_by_scope (line 531) | def test_list_conditions_by_scope(self, sqlite_store: SQLiteStore) -> ... method test_deactivate_condition_found (line 548) | def test_deactivate_condition_found(self, sqlite_store: SQLiteStore) -... method test_deactivate_condition_not_found (line 562) | def test_deactivate_condition_not_found(self, sqlite_store: SQLiteStor... method test_insert_and_list_alerts (line 566) | def test_insert_and_list_alerts(self, sqlite_store: SQLiteStore) -> None: method test_list_alerts_filter_by_condition (line 586) | def test_list_alerts_filter_by_condition(self, sqlite_store: SQLiteSto... method test_list_alerts_filter_by_scope (line 611) | def test_list_alerts_filter_by_scope(self, sqlite_store: SQLiteStore) ... method test_list_alerts_since (line 636) | def test_list_alerts_since(self, sqlite_store: SQLiteStore) -> None: function monitor_app (line 667) | def monitor_app(tmp_path: Path) -> TestClient: class TestMonitorRestAPI (line 682) | class TestMonitorRestAPI: method test_create_monitor_201 (line 683) | def test_create_monitor_201(self, monitor_app: TestClient) -> None: method test_list_monitors_empty (line 696) | def test_list_monitors_empty(self, monitor_app: TestClient) -> None: method test_list_monitors_with_scope (line 701) | def test_list_monitors_with_scope(self, monitor_app: TestClient) -> None: method test_delete_monitor_204 (line 714) | def test_delete_monitor_204(self, monitor_app: TestClient) -> None: method test_delete_monitor_404 (line 722) | def test_delete_monitor_404(self, monitor_app: TestClient) -> None: method test_list_alerts_empty (line 726) | def test_list_alerts_empty(self, monitor_app: TestClient) -> None: method test_wait_timeout_returns_false (line 731) | def test_wait_timeout_returns_false(self, tmp_path: Path) -> None: method test_wait_fires_returns_true (line 761) | def test_wait_fires_returns_true(self, tmp_path: Path) -> None: method test_wait_returns_existing_alert_immediately (line 801) | def test_wait_returns_existing_alert_immediately(self, tmp_path: Path)... method test_create_monitor_applies_heartbeat_default (line 834) | def test_create_monitor_applies_heartbeat_default(self, tmp_path: Path... method test_create_monitor_enforces_max_conditions (line 858) | def test_create_monitor_enforces_max_conditions(self, tmp_path: Path) ... class TestMonitorIntegration (line 890) | class TestMonitorIntegration: method test_full_metric_threshold_cycle (line 891) | def test_full_metric_threshold_cycle(self, sqlite_store: SQLiteStore, ... method test_full_stall_window_cycle (line 921) | def test_full_stall_window_cycle(self, sqlite_store: SQLiteStore, tmp_... method test_websocket_receives_alert (line 949) | def test_websocket_receives_alert(self, sqlite_store: SQLiteStore, tmp... class TestMonitorSettings (line 986) | class TestMonitorSettings: method test_defaults (line 987) | def test_defaults(self) -> None: method test_env_var_loading (line 993) | def test_env_var_loading(self, monkeypatch: pytest.MonkeyPatch) -> None: FILE: autocontext/tests/test_monty_e2e.py class FakeScenario (line 14) | class FakeScenario: method initial_state (line 19) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method validate_actions (line 22) | def validate_actions(self, state: Mapping[str, Any], player_id: str, a... method step (line 30) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 42) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 45) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 56) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: function _simulate_monty_execution (line 60) | def _simulate_monty_execution( function _build_monty_mock (line 81) | def _build_monty_mock(scenario: FakeScenario, strategy: dict[str, Any], ... class TestMontyE2EValidStrategy (line 120) | class TestMontyE2EValidStrategy: method test_valid_strategy_scores_correctly (line 121) | def test_valid_strategy_scores_correctly(self) -> None: method test_high_aggression_scores_high (line 140) | def test_high_aggression_scores_high(self) -> None: method test_different_seeds_produce_same_score_for_same_strategy (line 156) | def test_different_seeds_produce_same_score_for_same_strategy(self) ->... class TestMontyE2EInvalidStrategy (line 177) | class TestMontyE2EInvalidStrategy: method test_missing_field_returns_zero_score (line 178) | def test_missing_field_returns_zero_score(self) -> None: method test_invalid_value_returns_zero_score (line 195) | def test_invalid_value_returns_zero_score(self) -> None: class TestMontyE2EWithSupervisor (line 212) | class TestMontyE2EWithSupervisor: method test_works_through_execution_supervisor (line 213) | def test_works_through_execution_supervisor(self) -> None: method test_works_through_scenario_evaluator (line 235) | def test_works_through_scenario_evaluator(self) -> None: FILE: autocontext/tests/test_monty_executor.py class FakeScenario (line 16) | class FakeScenario: method initial_state (line 19) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method validate_actions (line 22) | def validate_actions( method step (line 29) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 39) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 42) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 53) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: class TestMontyEvalScript (line 60) | class TestMontyEvalScript: method test_build_eval_script_is_valid_python (line 61) | def test_build_eval_script_is_valid_python(self) -> None: method test_build_eval_script_references_expected_externals (line 70) | def test_build_eval_script_references_expected_externals(self) -> None: method test_build_eval_script_uses_inputs (line 81) | def test_build_eval_script_uses_inputs(self) -> None: class TestMontyExternalFunctionDispatch (line 93) | class TestMontyExternalFunctionDispatch: method test_dispatch_initial_state (line 94) | def test_dispatch_initial_state(self) -> None: method test_dispatch_validate_actions_valid (line 106) | def test_dispatch_validate_actions_valid(self) -> None: method test_dispatch_validate_actions_invalid (line 117) | def test_dispatch_validate_actions_invalid(self) -> None: method test_dispatch_step (line 129) | def test_dispatch_step(self) -> None: method test_dispatch_is_terminal (line 141) | def test_dispatch_is_terminal(self) -> None: method test_dispatch_get_result (line 154) | def test_dispatch_get_result(self) -> None: method test_dispatch_unknown_function_raises (line 166) | def test_dispatch_unknown_function_raises(self) -> None: class TestMontyExecutorExecute (line 180) | class TestMontyExecutorExecute: method _mock_monty_run (line 181) | def _mock_monty_run(self, final_result: dict[str, Any]) -> MagicMock: method test_execute_returns_result_and_replay (line 221) | def test_execute_returns_result_and_replay(self) -> None: method test_execute_handles_validation_failure (line 252) | def test_execute_handles_validation_failure(self) -> None: method test_execute_timeout_raises (line 295) | def test_execute_timeout_raises(self) -> None: class TestMontyExecutorErrorHandling (line 323) | class TestMontyExecutorErrorHandling: method test_monty_creation_error_wrapped (line 324) | def test_monty_creation_error_wrapped(self) -> None: method test_monty_execution_error_wrapped (line 340) | def test_monty_execution_error_wrapped(self) -> None: class TestMontyImportGuard (line 363) | class TestMontyImportGuard: method test_import_error_message_is_helpful (line 364) | def test_import_error_message_is_helpful(self) -> None: FILE: autocontext/tests/test_monty_live.py class TestMontyLiveBasic (line 19) | class TestMontyLiveBasic: method test_simple_expression (line 20) | def test_simple_expression(self) -> None: method test_external_function_pause_resume (line 25) | def test_external_function_pause_resume(self) -> None: method test_dict_input_and_output (line 38) | def test_dict_input_and_output(self) -> None: class TestMontyLiveEvalScript (line 50) | class TestMontyLiveEvalScript: method test_eval_script_runs_with_real_monty (line 51) | def test_eval_script_runs_with_real_monty(self) -> None: method test_eval_script_validation_failure_path (line 92) | def test_eval_script_validation_failure_path(self) -> None: class TestMontyLiveFullExecutor (line 117) | class TestMontyLiveFullExecutor: method test_full_execute_with_real_monty_and_scenario (line 118) | def test_full_execute_with_real_monty_and_scenario(self) -> None: FILE: autocontext/tests/test_monty_repl_integration.py class _FakeResponse (line 17) | class _FakeResponse: method __init__ (line 18) | def __init__(self, text: str) -> None: class _FakeClient (line 23) | class _FakeClient: method __init__ (line 26) | def __init__(self, responses: list[str]) -> None: method generate_multiturn (line 30) | def generate_multiturn(self, **kwargs: Any) -> _FakeResponse: function _make_complete (line 43) | def _make_complete(output: Any) -> MagicMock: function _make_snapshot (line 49) | def _make_snapshot(fn_name: str, args: tuple[Any, ...]) -> MagicMock: function _build_monty_for_output (line 56) | def _build_monty_for_output( class TestMontyReplWorkerWithSession (line 84) | class TestMontyReplWorkerWithSession: method test_session_single_turn_finalize (line 85) | def test_session_single_turn_finalize(self) -> None: method test_session_multi_turn_with_state (line 111) | def test_session_multi_turn_with_state(self) -> None: method test_session_get_history_works (line 146) | def test_session_get_history_works(self) -> None: method test_session_handles_monty_error (line 174) | def test_session_handles_monty_error(self) -> None: class TestMontyReplWorkerProtocolCompatibility (line 208) | class TestMontyReplWorkerProtocolCompatibility: method test_monty_worker_drop_in_replacement (line 209) | def test_monty_worker_drop_in_replacement(self) -> None: FILE: autocontext/tests/test_monty_repl_live.py function _worker (line 22) | def _worker(**kwargs: Any) -> Any: function _cmd (line 28) | def _cmd(code: str) -> Any: class TestMontyReplLiveBasic (line 34) | class TestMontyReplLiveBasic: method test_simple_print (line 35) | def test_simple_print(self) -> None: method test_trailing_expression_displayed (line 41) | def test_trailing_expression_displayed(self) -> None: method test_answer_dict_roundtrip (line 47) | def test_answer_dict_roundtrip(self) -> None: method test_state_persists_across_turns (line 54) | def test_state_persists_across_turns(self) -> None: method test_stdlib_json (line 66) | def test_stdlib_json(self) -> None: method test_stdlib_math (line 72) | def test_stdlib_math(self) -> None: method test_data_variables_accessible (line 78) | def test_data_variables_accessible(self) -> None: method test_text_helper_peek (line 84) | def test_text_helper_peek(self) -> None: method test_syntax_error_caught (line 91) | def test_syntax_error_caught(self) -> None: method test_callable_injection_llm_batch (line 97) | def test_callable_injection_llm_batch(self) -> None: FILE: autocontext/tests/test_monty_repl_settings.py class TestRlmBackendSetting (line 10) | class TestRlmBackendSetting: method test_default_rlm_backend_is_exec (line 11) | def test_default_rlm_backend_is_exec(self) -> None: method test_rlm_backend_monty_accepted (line 15) | def test_rlm_backend_monty_accepted(self) -> None: method test_load_settings_reads_rlm_backend_env (line 19) | def test_load_settings_reads_rlm_backend_env(self) -> None: method test_load_settings_defaults_to_exec (line 24) | def test_load_settings_defaults_to_exec(self) -> None: class TestReplWorkerProtocol (line 31) | class TestReplWorkerProtocol: method test_repl_worker_satisfies_protocol (line 32) | def test_repl_worker_satisfies_protocol(self) -> None: method test_protocol_has_run_code_and_namespace (line 39) | def test_protocol_has_run_code_and_namespace(self) -> None: FILE: autocontext/tests/test_monty_repl_wiring.py class TestMontyReplReExports (line 5) | class TestMontyReplReExports: method test_monty_worker_re_exported_from_rlm (line 6) | def test_monty_worker_re_exported_from_rlm(self) -> None: method test_monty_worker_importable_from_harness (line 11) | def test_monty_worker_importable_from_harness(self) -> None: class TestMontyModePrompts (line 17) | class TestMontyModePrompts: method test_monty_scaffolding_preamble_exists (line 18) | def test_monty_scaffolding_preamble_exists(self) -> None: method test_monty_preamble_explains_state_dict (line 23) | def test_monty_preamble_explains_state_dict(self) -> None: method test_monty_preamble_explains_stdlib (line 28) | def test_monty_preamble_explains_stdlib(self) -> None: class TestOrchestratorBackendSelection (line 34) | class TestOrchestratorBackendSelection: method test_monty_backend_imports_monty_worker (line 35) | def test_monty_backend_imports_monty_worker(self) -> None: FILE: autocontext/tests/test_monty_repl_worker.py function _make_complete (line 14) | def _make_complete(output: Any) -> MagicMock: function _make_snapshot (line 21) | def _make_snapshot(fn_name: str, args: tuple[Any, ...]) -> MagicMock: function _build_simple_monty_mock (line 29) | def _build_simple_monty_mock( function _build_print_monty (line 52) | def _build_print_monty(text: str, answer: dict[str, Any] | None = None, ... function _worker (line 62) | def _worker(**kwargs: Any) -> Any: class TestMontyReplWorkerConstruction (line 72) | class TestMontyReplWorkerConstruction: method test_default_namespace_has_answer (line 73) | def test_default_namespace_has_answer(self) -> None: method test_default_namespace_has_state (line 78) | def test_default_namespace_has_state(self) -> None: method test_custom_namespace_merged (line 83) | def test_custom_namespace_merged(self) -> None: method test_namespace_is_mutable (line 88) | def test_namespace_is_mutable(self) -> None: method test_satisfies_protocol (line 94) | def test_satisfies_protocol(self) -> None: class TestMontyReplWorkerExecution (line 104) | class TestMontyReplWorkerExecution: method test_simple_expression_captured_via_print (line 105) | def test_simple_expression_captured_via_print(self) -> None: method test_print_call_captured (line 116) | def test_print_call_captured(self) -> None: method test_syntax_error_returns_error (line 127) | def test_syntax_error_returns_error(self) -> None: method test_runtime_error_captured (line 133) | def test_runtime_error_captured(self) -> None: class TestMontyReplWorkerAnswer (line 151) | class TestMontyReplWorkerAnswer: method test_answer_updated_from_output (line 152) | def test_answer_updated_from_output(self) -> None: method test_answer_persists_across_turns (line 166) | def test_answer_persists_across_turns(self) -> None: class TestMontyReplWorkerState (line 191) | class TestMontyReplWorkerState: method test_state_persists_across_turns (line 192) | def test_state_persists_across_turns(self) -> None: class TestMontyReplWorkerStdlib (line 217) | class TestMontyReplWorkerStdlib: method test_stdlib_json_dumps (line 218) | def test_stdlib_json_dumps(self) -> None: method test_stdlib_math_sqrt (line 238) | def test_stdlib_math_sqrt(self) -> None: method test_stdlib_unknown_module_raises (line 254) | def test_stdlib_unknown_module_raises(self) -> None: method test_stdlib_unknown_function_raises (line 266) | def test_stdlib_unknown_function_raises(self) -> None: class TestMontyReplWorkerTextHelpers (line 283) | class TestMontyReplWorkerTextHelpers: method test_peek_external_function (line 284) | def test_peek_external_function(self) -> None: method test_grep_external_function (line 299) | def test_grep_external_function(self) -> None: class TestMontyReplWorkerCallables (line 320) | class TestMontyReplWorkerCallables: method test_llm_batch_dispatched_to_injected_callable (line 321) | def test_llm_batch_dispatched_to_injected_callable(self) -> None: method test_get_history_dispatched_to_injected_callable (line 337) | def test_get_history_dispatched_to_injected_callable(self) -> None: class TestMontyReplWorkerTruncation (line 359) | class TestMontyReplWorkerTruncation: method test_stdout_truncated_at_max (line 360) | def test_stdout_truncated_at_max(self) -> None: class TestMontyReplWorkerTimeout (line 376) | class TestMontyReplWorkerTimeout: method test_timeout_returns_error (line 377) | def test_timeout_returns_error(self) -> None: class TestTrailingExpressionConversion (line 403) | class TestTrailingExpressionConversion: method test_trailing_expr_converted_to_print (line 404) | def test_trailing_expr_converted_to_print(self) -> None: method test_no_trailing_expr_unchanged (line 411) | def test_no_trailing_expr_unchanged(self) -> None: method test_print_call_not_double_wrapped (line 418) | def test_print_call_not_double_wrapped(self) -> None: class TestMontyReplImportGuard (line 432) | class TestMontyReplImportGuard: method test_import_error_when_monty_missing (line 433) | def test_import_error_when_monty_missing(self) -> None: FILE: autocontext/tests/test_monty_settings.py class TestMontySettings (line 11) | class TestMontySettings: method test_default_executor_mode_is_local (line 12) | def test_default_executor_mode_is_local(self) -> None: method test_monty_executor_mode_accepted (line 16) | def test_monty_executor_mode_accepted(self) -> None: method test_monty_max_execution_time (line 20) | def test_monty_max_execution_time(self) -> None: method test_monty_max_execution_time_default (line 24) | def test_monty_max_execution_time_default(self) -> None: method test_monty_max_external_calls (line 28) | def test_monty_max_external_calls(self) -> None: method test_monty_max_external_calls_default (line 32) | def test_monty_max_external_calls_default(self) -> None: method test_load_settings_reads_monty_env_vars (line 36) | def test_load_settings_reads_monty_env_vars(self) -> None: class TestGenerationRunnerMontyWiring (line 48) | class TestGenerationRunnerMontyWiring: method test_monty_executor_mode_creates_monty_executor (line 49) | def test_monty_executor_mode_creates_monty_executor(self) -> None: method test_local_executor_mode_unchanged (line 62) | def test_local_executor_mode_unchanged(self) -> None: method test_gondolin_executor_mode_is_reserved_until_backend_is_wired (line 72) | def test_gondolin_executor_mode_is_reserved_until_backend_is_wired(sel... FILE: autocontext/tests/test_multi_gen_stall.py function _make_runner (line 15) | def _make_runner(tmp_path: Path): function test_two_generations_both_complete (line 40) | def test_two_generations_both_complete(tmp_path: Path) -> None: function test_resume_recovers_stale_running_generation_before_retry (line 53) | def test_resume_recovers_stale_running_generation_before_retry( function test_interrupt_marks_run_and_generation_failed (line 126) | def test_interrupt_marks_run_and_generation_failed( FILE: autocontext/tests/test_mutation_log.py class TestMutationEntry (line 23) | class TestMutationEntry: method test_construction_minimal (line 24) | def test_construction_minimal(self) -> None: method test_construction_full (line 39) | def test_construction_full(self) -> None: method test_to_dict_from_dict_roundtrip (line 55) | def test_to_dict_from_dict_roundtrip(self) -> None: method test_known_mutation_types (line 76) | def test_known_mutation_types(self) -> None: class TestMutationLogAppendRead (line 90) | class TestMutationLogAppendRead: method log (line 92) | def log(self, tmp_path: Path): method test_read_empty (line 97) | def test_read_empty(self, log) -> None: method test_append_and_read (line 101) | def test_append_and_read(self, log) -> None: method test_append_multiple (line 115) | def test_append_multiple(self, log) -> None: method test_append_is_truly_append_only (line 132) | def test_append_is_truly_append_only(self, log, tmp_path: Path) -> None: method test_jsonl_file_location (line 149) | def test_jsonl_file_location(self, log, tmp_path: Path) -> None: method test_scenarios_isolated (line 159) | def test_scenarios_isolated(self, log) -> None: class TestCheckpoints (line 180) | class TestCheckpoints: method log (line 182) | def log(self, tmp_path: Path): method test_create_checkpoint (line 187) | def test_create_checkpoint(self, log) -> None: method test_checkpoint_is_recorded_as_entry (line 205) | def test_checkpoint_is_recorded_as_entry(self, log) -> None: method test_get_last_checkpoint (line 218) | def test_get_last_checkpoint(self, log) -> None: method test_get_last_checkpoint_none_when_no_checkpoints (line 241) | def test_get_last_checkpoint_none_when_no_checkpoints(self, log) -> None: method test_get_last_checkpoint_empty_log (line 250) | def test_get_last_checkpoint_empty_log(self, log) -> None: class TestReplay (line 259) | class TestReplay: method log_with_data (line 261) | def log_with_data(self, tmp_path: Path): method test_replay_after_checkpoint (line 292) | def test_replay_after_checkpoint(self, log_with_data) -> None: method test_replay_returns_all_when_no_checkpoint (line 300) | def test_replay_returns_all_when_no_checkpoint(self, tmp_path: Path) -... method test_replay_empty_log (line 315) | def test_replay_empty_log(self, tmp_path: Path) -> None: method test_replay_by_type (line 322) | def test_replay_by_type(self, log_with_data) -> None: method test_replay_by_multiple_types (line 330) | def test_replay_by_multiple_types(self, log_with_data) -> None: class TestLogBounding (line 342) | class TestLogBounding: method log (line 344) | def log(self, tmp_path: Path): method test_truncate_preserves_recent (line 349) | def test_truncate_preserves_recent(self, log) -> None: method test_truncate_preserves_last_checkpoint (line 364) | def test_truncate_preserves_last_checkpoint(self, log) -> None: method test_truncate_noop_when_under_limit (line 385) | def test_truncate_noop_when_under_limit(self, log) -> None: method test_append_enforces_bound_automatically (line 396) | def test_append_enforces_bound_automatically(self, log) -> None: method test_truncate_drops_old_checkpoint_when_needed_to_enforce_bound (line 408) | def test_truncate_drops_old_checkpoint_when_needed_to_enforce_bound(se... class TestAuditHelpers (line 432) | class TestAuditHelpers: method log (line 434) | def log(self, tmp_path: Path): method test_filter_by_type (line 459) | def test_filter_by_type(self, log) -> None: method test_filter_by_generation_range (line 465) | def test_filter_by_generation_range(self, log) -> None: method test_audit_summary (line 470) | def test_audit_summary(self, log) -> None: class TestArtifactStoreIntegration (line 484) | class TestArtifactStoreIntegration: method artifact_store (line 486) | def artifact_store(self, tmp_path: Path): method test_artifact_store_has_mutation_log (line 496) | def test_artifact_store_has_mutation_log(self, artifact_store) -> None: method test_mutation_log_uses_knowledge_root (line 502) | def test_mutation_log_uses_knowledge_root(self, artifact_store, tmp_pa... method test_append_via_artifact_store (line 505) | def test_append_via_artifact_store(self, artifact_store) -> None: method test_write_playbook_logs_mutation (line 514) | def test_write_playbook_logs_mutation(self, artifact_store) -> None: method test_write_notebook_logs_mutation (line 520) | def test_write_notebook_logs_mutation(self, artifact_store) -> None: method test_read_mutation_replay_uses_post_checkpoint_entries (line 529) | def test_read_mutation_replay_uses_post_checkpoint_entries(self, artif... FILE: autocontext/tests/test_negotiation.py class TestHiddenPreferences (line 26) | class TestHiddenPreferences: method test_construction (line 27) | def test_construction(self) -> None: method test_roundtrip (line 41) | def test_roundtrip(self) -> None: method test_defaults (line 57) | def test_defaults(self) -> None: class TestNegotiationRound (line 69) | class TestNegotiationRound: method test_construction (line 70) | def test_construction(self) -> None: method test_roundtrip (line 85) | def test_roundtrip(self) -> None: class TestOpponentModel (line 104) | class TestOpponentModel: method test_construction (line 105) | def test_construction(self) -> None: method test_roundtrip (line 119) | def test_roundtrip(self) -> None: class TestNegotiationResult (line 137) | class TestNegotiationResult: method test_construction (line 138) | def test_construction(self) -> None: method test_roundtrip (line 162) | def test_roundtrip(self) -> None: class TestNegotiationInterface (line 187) | class TestNegotiationInterface: method test_cannot_instantiate (line 188) | def test_cannot_instantiate(self) -> None: method test_concrete_subclass (line 194) | def test_concrete_subclass(self) -> None: class TestFamilyRegistration (line 317) | class TestFamilyRegistration: method test_family_registered (line 318) | def test_family_registered(self) -> None: method test_family_marker (line 323) | def test_family_marker(self) -> None: method test_detect_family (line 328) | def test_detect_family(self) -> None: class TestPipelineRegistration (line 417) | class TestPipelineRegistration: method test_pipeline_registered (line 418) | def test_pipeline_registered(self) -> None: method test_spec_validation_valid (line 423) | def test_spec_validation_valid(self) -> None: method test_spec_validation_missing_fields (line 447) | def test_spec_validation_missing_fields(self) -> None: method test_source_validation (line 453) | def test_source_validation(self) -> None: class TestCrossFamilyMismatch (line 466) | class TestCrossFamilyMismatch: method test_negotiation_source_fails_tool_fragility_pipeline (line 467) | def test_negotiation_source_fails_tool_fragility_pipeline(self) -> None: method test_tool_fragility_source_fails_negotiation_pipeline (line 474) | def test_tool_fragility_source_fails_negotiation_pipeline(self) -> None: class TestClassifierRouting (line 487) | class TestClassifierRouting: method test_route_negotiation (line 488) | def test_route_negotiation(self) -> None: method test_negotiate_keyword_matches (line 501) | def test_negotiate_keyword_matches(self) -> None: class TestNegotiationDesigner (line 516) | class TestNegotiationDesigner: method test_parse_spec (line 517) | def test_parse_spec(self) -> None: method test_design_fn_calls_llm (line 558) | def test_design_fn_calls_llm(self) -> None: class TestNegotiationCodegen (line 605) | class TestNegotiationCodegen: method test_generate_class (line 606) | def test_generate_class(self) -> None: method test_generated_source_compiles (line 654) | def test_generated_source_compiles(self) -> None: class TestNegotiationCreator (line 694) | class TestNegotiationCreator: method test_create_and_persist (line 695) | def test_create_and_persist(self, tmp_path: Path) -> None: class TestAgentTaskCreatorRouting (line 752) | class TestAgentTaskCreatorRouting: method test_routes_to_negotiation (line 753) | def test_routes_to_negotiation(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_negotiation_verification.py class TestGetValidScenarioTypes (line 19) | class TestGetValidScenarioTypes: method test_returns_all_registered_markers (line 20) | def test_returns_all_registered_markers(self) -> None: method test_includes_negotiation (line 30) | def test_includes_negotiation(self) -> None: method test_includes_all_known_families (line 35) | def test_includes_all_known_families(self) -> None: method test_returns_frozen_set (line 46) | def test_returns_frozen_set(self) -> None: class TestNegotiationInScenarioInfo (line 58) | class TestNegotiationInScenarioInfo: method test_negotiation_accepted (line 59) | def test_negotiation_accepted(self) -> None: method test_all_valid_types_accepted (line 70) | def test_all_valid_types_accepted(self) -> None: method test_invalid_type_rejected (line 90) | def test_invalid_type_rejected(self) -> None: class TestNegotiationFamilyRegistered (line 109) | class TestNegotiationFamilyRegistered: method test_family_exists (line 110) | def test_family_exists(self) -> None: method test_family_has_interface (line 116) | def test_family_has_interface(self) -> None: method test_family_has_type_marker (line 123) | def test_family_has_type_marker(self) -> None: FILE: autocontext/tests/test_new_scenario_cli.py function _custom_dir (line 17) | def _custom_dir(tmp_path: Path) -> Path: class TestNewScenarioList (line 21) | class TestNewScenarioList: method test_list_shows_templates (line 24) | def test_list_shows_templates(self) -> None: method test_list_shows_descriptions (line 31) | def test_list_shows_descriptions(self) -> None: method test_list_families_shows_registered_pipelines (line 37) | def test_list_families_shows_registered_pipelines(self) -> None: class TestNewScenarioScaffold (line 46) | class TestNewScenarioScaffold: method test_family_pipeline_requires_description (line 49) | def test_family_pipeline_requires_description(self) -> None: method test_family_pipeline_invokes_registered_creator (line 58) | def test_family_pipeline_invokes_registered_creator(self, tmp_path: Pa... method test_scaffold_creates_directory (line 107) | def test_scaffold_creates_directory(self, tmp_path: Path) -> None: method test_scaffold_with_judge_model (line 120) | def test_scaffold_with_judge_model(self, tmp_path: Path) -> None: method test_scaffold_missing_template (line 137) | def test_scaffold_missing_template(self, tmp_path: Path) -> None: method test_scaffold_missing_name (line 145) | def test_scaffold_missing_name(self) -> None: method test_scaffold_registers_scenario (line 153) | def test_scaffold_registers_scenario(self, tmp_path: Path) -> None: class TestNewScenarioNonInteractive (line 174) | class TestNewScenarioNonInteractive: method test_non_interactive_uses_defaults (line 177) | def test_non_interactive_uses_defaults(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_normalized_metrics.py class TestNormalizedProgress (line 24) | class TestNormalizedProgress: method test_construction_defaults (line 25) | def test_construction_defaults(self) -> None: method test_custom_floor_ceiling (line 33) | def test_custom_floor_ceiling(self) -> None: method test_to_dict (line 45) | def test_to_dict(self) -> None: method test_from_dict_roundtrip (line 54) | def test_from_dict_roundtrip(self) -> None: method test_from_dict_coerces_invalid_numeric_fields_to_defaults (line 67) | def test_from_dict_coerces_invalid_numeric_fields_to_defaults(self) ->... class TestCostEfficiency (line 86) | class TestCostEfficiency: method test_construction (line 87) | def test_construction(self) -> None: method test_defaults (line 100) | def test_defaults(self) -> None: method test_to_dict (line 110) | def test_to_dict(self) -> None: method test_from_dict_roundtrip (line 116) | def test_from_dict_roundtrip(self) -> None: class TestScenarioNormalizer (line 135) | class TestScenarioNormalizer: method test_default_normalizer_maps_identity (line 136) | def test_default_normalizer_maps_identity(self) -> None: method test_custom_floor_ceiling (line 143) | def test_custom_floor_ceiling(self) -> None: method test_floor_equals_ceiling (line 151) | def test_floor_equals_ceiling(self) -> None: method test_score_below_floor_clamps_to_zero (line 157) | def test_score_below_floor_clamps_to_zero(self) -> None: method test_score_above_ceiling_clamps_to_one (line 162) | def test_score_above_ceiling_clamps_to_one(self) -> None: method test_negative_floor (line 168) | def test_negative_floor(self) -> None: method test_preserves_raw_score (line 174) | def test_preserves_raw_score(self) -> None: class TestComputeNormalizedProgress (line 184) | class TestComputeNormalizedProgress: method test_empty_trajectory (line 185) | def test_empty_trajectory(self) -> None: method test_uses_last_best_score (line 190) | def test_uses_last_best_score(self) -> None: method test_custom_normalizer (line 200) | def test_custom_normalizer(self) -> None: class TestComputeCostEfficiency (line 213) | class TestComputeCostEfficiency: method test_empty_inputs (line 214) | def test_empty_inputs(self) -> None: method test_basic_computation (line 220) | def test_basic_computation(self) -> None: method test_no_advances (line 239) | def test_no_advances(self) -> None: method test_tokens_per_score_point (line 248) | def test_tokens_per_score_point(self) -> None: method test_no_score_gain (line 266) | def test_no_score_gain(self) -> None: method test_consultation_cost_included (line 275) | def test_consultation_cost_included(self) -> None: method test_role_cost_and_consultation_cost_are_combined (line 283) | def test_role_cost_and_consultation_cost_are_combined(self) -> None: class TestRunProgressReport (line 305) | class TestRunProgressReport: method test_construction (line 306) | def test_construction(self) -> None: method test_to_dict (line 320) | def test_to_dict(self) -> None: method test_from_dict_roundtrip (line 337) | def test_from_dict_roundtrip(self) -> None: method test_to_markdown (line 354) | def test_to_markdown(self) -> None: method test_to_markdown_zero_cost (line 386) | def test_to_markdown_zero_cost(self) -> None: class TestGenerateRunProgressReport (line 406) | class TestGenerateRunProgressReport: method test_empty_trajectory (line 407) | def test_empty_trajectory(self) -> None: method test_basic_report (line 418) | def test_basic_report(self) -> None: method test_custom_normalizer (line 440) | def test_custom_normalizer(self) -> None: method test_consultation_cost_included (line 454) | def test_consultation_cost_included(self) -> None: class TestArtifactStoreNormalizedMetrics (line 471) | class TestArtifactStoreNormalizedMetrics: method store (line 473) | def store(self, tmp_path: Path) -> object: method test_write_and_read_progress_report (line 483) | def test_write_and_read_progress_report(self, store: object) -> None: method test_read_progress_report_tolerates_malformed_numeric_fields (line 505) | def test_read_progress_report_tolerates_malformed_numeric_fields(self,... method test_read_missing_progress_report (line 549) | def test_read_missing_progress_report(self, store: object) -> None: method test_read_latest_progress_reports (line 556) | def test_read_latest_progress_reports(self, store: object) -> None: method test_progress_report_to_markdown (line 580) | def test_progress_report_to_markdown(self, store: object) -> None: FILE: autocontext/tests/test_notebook_wiring.py function _full_notebook (line 17) | def _full_notebook() -> SessionNotebook: function _empty_notebook (line 46) | def _empty_notebook() -> SessionNotebook: function _partial_notebook (line 53) | def _partial_notebook() -> SessionNotebook: class TestRoleNotebookFields (line 67) | class TestRoleNotebookFields: method test_mapping_exists_for_all_roles (line 68) | def test_mapping_exists_for_all_roles(self) -> None: method test_competitor_fields (line 76) | def test_competitor_fields(self) -> None: method test_analyst_fields (line 84) | def test_analyst_fields(self) -> None: method test_coach_fields (line 92) | def test_coach_fields(self) -> None: method test_architect_fields (line 100) | def test_architect_fields(self) -> None: class TestNotebookContextWarning (line 113) | class TestNotebookContextWarning: method test_construction (line 114) | def test_construction(self) -> None: class TestEffectiveContextPreview (line 131) | class TestEffectiveContextPreview: method test_construction (line 132) | def test_construction(self) -> None: method test_roundtrip (line 146) | def test_roundtrip(self) -> None: class TestNotebookContextProviderForRole (line 176) | class TestNotebookContextProviderForRole: method test_competitor_gets_objective_hypotheses_followups (line 177) | def test_competitor_gets_objective_hypotheses_followups(self) -> None: method test_analyst_gets_objective_questions_observations (line 190) | def test_analyst_gets_objective_questions_observations(self) -> None: method test_coach_gets_objective_followups_observations (line 202) | def test_coach_gets_objective_followups_observations(self) -> None: method test_architect_gets_hypotheses_questions (line 214) | def test_architect_gets_hypotheses_questions(self) -> None: method test_unknown_role_returns_empty (line 226) | def test_unknown_role_returns_empty(self) -> None: method test_empty_notebook_returns_empty (line 233) | def test_empty_notebook_returns_empty(self) -> None: method test_partial_notebook_skips_empty_fields (line 240) | def test_partial_notebook_skips_empty_fields(self) -> None: class TestNotebookContextProviderWarnings (line 258) | class TestNotebookContextProviderWarnings: method test_stale_score_warning (line 259) | def test_stale_score_warning(self) -> None: method test_no_warning_when_scores_match (line 272) | def test_no_warning_when_scores_match(self) -> None: method test_no_warning_when_notebook_score_higher (line 284) | def test_no_warning_when_notebook_score_higher(self) -> None: method test_no_warnings_on_empty_notebook (line 296) | def test_no_warnings_on_empty_notebook(self) -> None: method test_no_warning_without_current_score (line 303) | def test_no_warning_without_current_score(self) -> None: class TestEffectiveContextPreviewBuilder (line 317) | class TestEffectiveContextPreviewBuilder: method test_includes_all_role_contexts (line 318) | def test_includes_all_role_contexts(self) -> None: method test_includes_warnings (line 330) | def test_includes_warnings(self) -> None: method test_empty_notebook_flag (line 340) | def test_empty_notebook_flag(self) -> None: class TestBuildPromptBundleNotebook (line 354) | class TestBuildPromptBundleNotebook: method _make_bundle_args (line 355) | def _make_bundle_args(self) -> dict: method test_competitor_prompt_contains_notebook_context (line 373) | def test_competitor_prompt_contains_notebook_context(self) -> None: method test_analyst_prompt_contains_different_context (line 383) | def test_analyst_prompt_contains_different_context(self) -> None: method test_no_notebook_no_block (line 399) | def test_no_notebook_no_block(self) -> None: method test_empty_dict_no_block (line 408) | def test_empty_dict_no_block(self) -> None: method test_all_roles_receive_their_context (line 417) | def test_all_roles_receive_their_context(self) -> None: method test_notebook_context_respects_context_budget (line 434) | def test_notebook_context_respects_context_budget(self) -> None: class TestIntegrationNotebookEditChangesPrompt (line 452) | class TestIntegrationNotebookEditChangesPrompt: method test_editing_objective_changes_competitor_prompt (line 453) | def test_editing_objective_changes_competitor_prompt(self) -> None: method test_adding_observation_changes_analyst_prompt (line 502) | def test_adding_observation_changes_analyst_prompt(self) -> None: FILE: autocontext/tests/test_notifications.py class TestNotificationEvent (line 19) | class TestNotificationEvent: method test_threshold_met_summary (line 20) | def test_threshold_met_summary(self): method test_regression_summary (line 25) | def test_regression_summary(self): method test_completion_summary (line 30) | def test_completion_summary(self): method test_failure_summary (line 35) | def test_failure_summary(self): method test_failure_truncates_error (line 40) | def test_failure_truncates_error(self): class TestStdoutNotifier (line 49) | class TestStdoutNotifier: method test_prints (line 50) | def test_prints(self, capsys): method test_logger_mode (line 58) | def test_logger_mode(self): method test_logger_mode_still_swallows_errors_when_debug_logging_breaks (line 64) | def test_logger_mode_still_swallows_errors_when_debug_logging_breaks(s... class TestCallbackNotifier (line 84) | class TestCallbackNotifier: method test_calls_function (line 85) | def test_calls_function(self): method test_swallows_errors (line 93) | def test_swallows_errors(self): class TestCompositeNotifier (line 105) | class TestCompositeNotifier: method test_fans_out (line 106) | def test_fans_out(self): method test_filters_events (line 117) | def test_filters_events(self): method test_one_failure_doesnt_block_others (line 128) | def test_one_failure_doesnt_block_others(self): class TestHTTPNotifier (line 142) | class TestHTTPNotifier: method test_sends_json (line 143) | def test_sends_json(self): method test_swallows_errors (line 156) | def test_swallows_errors(self): class TestSlackWebhookNotifier (line 167) | class TestSlackWebhookNotifier: method test_sends_blocks (line 168) | def test_sends_blocks(self): method test_includes_channel (line 181) | def test_includes_channel(self): method test_swallows_errors (line 190) | def test_swallows_errors(self): class TestTaskRunnerNotifications (line 201) | class TestTaskRunnerNotifications: method test_runner_emits_on_completion (line 202) | def test_runner_emits_on_completion(self, tmp_path): method test_runner_emits_on_failure (line 240) | def test_runner_emits_on_failure(self, tmp_path): FILE: autocontext/tests/test_objective_guardrail.py class TestObjectiveGuardrailPolicy (line 14) | class TestObjectiveGuardrailPolicy: method test_defaults (line 15) | def test_defaults(self) -> None: method test_custom (line 25) | def test_custom(self) -> None: method test_roundtrip (line 39) | def test_roundtrip(self) -> None: class TestGuardrailResult (line 55) | class TestGuardrailResult: method test_construction (line 56) | def test_construction(self) -> None: method test_roundtrip (line 67) | def test_roundtrip(self) -> None: class TestCheckObjectiveGuardrail (line 87) | class TestCheckObjectiveGuardrail: method test_passes_when_all_thresholds_met (line 88) | def test_passes_when_all_thresholds_met(self) -> None: method test_fails_on_low_recall (line 106) | def test_fails_on_low_recall(self) -> None: method test_fails_on_high_false_positive_rate (line 122) | def test_fails_on_high_false_positive_rate(self) -> None: method test_fails_on_rubric_objective_gap (line 137) | def test_fails_on_rubric_objective_gap(self) -> None: method test_better_objective_score_does_not_count_as_gap (line 153) | def test_better_objective_score_does_not_count_as_gap(self) -> None: method test_disabled_policy_auto_passes (line 169) | def test_disabled_policy_auto_passes(self) -> None: method test_multiple_violations (line 184) | def test_multiple_violations(self) -> None: class TestForecastSettlement (line 209) | class TestForecastSettlement: method test_forecast_claim_construction (line 210) | def test_forecast_claim_construction(self) -> None: method test_settle_perfect_forecasts (line 223) | def test_settle_perfect_forecasts(self) -> None: method test_settle_poor_forecasts (line 237) | def test_settle_poor_forecasts(self) -> None: method test_settle_skips_unresolved (line 250) | def test_settle_skips_unresolved(self) -> None: method test_settle_empty_claims (line 264) | def test_settle_empty_claims(self) -> None: FILE: autocontext/tests/test_objective_verification.py class TestGroundTruthItem (line 19) | class TestGroundTruthItem: method test_construction (line 20) | def test_construction(self) -> None: method test_roundtrip (line 34) | def test_roundtrip(self) -> None: class TestOracleDrugInteractions (line 55) | class TestOracleDrugInteractions: method _drug_oracle (line 56) | def _drug_oracle(self): # noqa: ANN202 method test_perfect_recall (line 84) | def test_perfect_recall(self) -> None: method test_partial_recall (line 95) | def test_partial_recall(self) -> None: method test_zero_recall (line 102) | def test_zero_recall(self) -> None: method test_weight_agreement (line 109) | def test_weight_agreement(self) -> None: method test_default_claim_heuristic_does_not_collapse_precision (line 115) | def test_default_claim_heuristic_does_not_collapse_precision(self) -> ... class TestOracleMathProof (line 133) | class TestOracleMathProof: method _proof_oracle (line 134) | def _proof_oracle(self): # noqa: ANN202 method test_complete_proof (line 165) | def test_complete_proof(self) -> None: method test_missing_step (line 175) | def test_missing_step(self) -> None: class TestOracleFactualClaims (line 192) | class TestOracleFactualClaims: method test_factual_claims (line 193) | def test_factual_claims(self) -> None: class TestOracleClaimPatterns (line 228) | class TestOracleClaimPatterns: method test_false_positive_detection (line 229) | def test_false_positive_detection(self) -> None: class TestOracleResult (line 263) | class TestOracleResult: method test_construction (line 264) | def test_construction(self) -> None: method test_roundtrip (line 274) | def test_roundtrip(self) -> None: class TestOracleComparison (line 292) | class TestOracleComparison: method test_construction (line 293) | def test_construction(self) -> None: method test_summary (line 303) | def test_summary(self) -> None: class TestObjectiveVerificationConfig (line 316) | class TestObjectiveVerificationConfig: method test_roundtrip_and_execution (line 317) | def test_roundtrip_and_execution(self) -> None: class TestCompareOracleVsRubric (line 349) | class TestCompareOracleVsRubric: method test_comparison (line 350) | def test_comparison(self) -> None: method test_aligned_scores (line 366) | def test_aligned_scores(self) -> None: method test_stronger_objective_score_does_not_inflate_gap (line 380) | def test_stronger_objective_score_does_not_inflate_gap(self) -> None: FILE: autocontext/tests/test_openai_agent_provider.py function test_settings_agent_base_url_default (line 20) | def test_settings_agent_base_url_default() -> None: function test_settings_agent_api_key_default (line 25) | def test_settings_agent_api_key_default() -> None: function test_settings_agent_default_model_default (line 30) | def test_settings_agent_default_model_default() -> None: function test_build_client_returns_provider_bridge (line 41) | def test_build_client_returns_provider_bridge(provider_name: str) -> None: function test_build_client_openai_compatible_uses_agent_model (line 48) | def test_build_client_openai_compatible_uses_agent_model() -> None: function test_build_client_openai_falls_back_to_judge_key (line 63) | def test_build_client_openai_falls_back_to_judge_key() -> None: function test_build_client_openai_falls_back_to_judge_base_url (line 72) | def test_build_client_openai_falls_back_to_judge_base_url() -> None: function test_provider_api_key_prefers_agent_key_openai (line 93) | def test_provider_api_key_prefers_agent_key_openai() -> None: function test_provider_api_key_falls_back_to_judge_key_openai (line 100) | def test_provider_api_key_falls_back_to_judge_key_openai() -> None: function test_provider_api_key_vllm_prefers_agent_key (line 107) | def test_provider_api_key_vllm_prefers_agent_key() -> None: function test_provider_api_key_vllm_fallback_no_key (line 113) | def test_provider_api_key_vllm_fallback_no_key() -> None: function test_per_role_override_works (line 124) | def test_per_role_override_works() -> None: function test_per_role_override_empty_returns_none (line 131) | def test_per_role_override_empty_returns_none() -> None: function test_provider_bridge_generate_delegates_to_provider (line 141) | def test_provider_bridge_generate_delegates_to_provider() -> None: function test_unsupported_provider_raises (line 157) | def test_unsupported_provider_raises() -> None: function test_orchestrator_creates_routed_client_for_nondefault_openai_model (line 163) | def test_orchestrator_creates_routed_client_for_nondefault_openai_model(... FILE: autocontext/tests/test_openclaw_adapters.py class TestOpenClawRequest (line 17) | class TestOpenClawRequest: method test_construction (line 18) | def test_construction(self) -> None: method test_to_json (line 28) | def test_to_json(self) -> None: class TestOpenClawResponse (line 37) | class TestOpenClawResponse: method test_construction (line 38) | def test_construction(self) -> None: method test_from_json (line 50) | def test_from_json(self) -> None: class TestCLIOpenClawAdapter (line 64) | class TestCLIOpenClawAdapter: method test_construction (line 65) | def test_construction(self) -> None: method test_execute_calls_subprocess (line 72) | def test_execute_calls_subprocess(self) -> None: method test_timeout_handled (line 87) | def test_timeout_handled(self) -> None: class TestHTTPOpenClawAdapter (line 106) | class TestHTTPOpenClawAdapter: method test_construction (line 107) | def test_construction(self) -> None: method test_execute_posts_request (line 113) | def test_execute_posts_request(self) -> None: method test_execute_passes_headers (line 127) | def test_execute_passes_headers(self) -> None: class TestAdapterCapability (line 151) | class TestAdapterCapability: method test_construction (line 152) | def test_construction(self) -> None: method test_roundtrip (line 164) | def test_roundtrip(self) -> None: FILE: autocontext/tests/test_openclaw_agent_adapter.py function _make_trace (line 17) | def _make_trace( class _FactoryAgent (line 47) | class _FactoryAgent: method execute (line 48) | def execute( function build_test_openclaw_agent (line 60) | def build_test_openclaw_agent(settings: Any) -> _FactoryAgent: class TestOpenClawExecutionTrace (line 70) | class TestOpenClawExecutionTrace: method test_from_dict_parses_steps (line 71) | def test_from_dict_parses_steps(self) -> None: method test_from_dict_captures_output_and_model (line 78) | def test_from_dict_captures_output_and_model(self) -> None: method test_from_dict_captures_usage (line 85) | def test_from_dict_captures_usage(self) -> None: method test_from_dict_empty_trace (line 95) | def test_from_dict_empty_trace(self) -> None: method test_to_role_usage (line 111) | def test_to_role_usage(self) -> None: class TestOpenClawAgentProtocol (line 130) | class TestOpenClawAgentProtocol: method test_callable_agent_satisfies_protocol (line 131) | def test_callable_agent_satisfies_protocol(self) -> None: class TestOpenClawClient (line 157) | class TestOpenClawClient: method _make_client (line 158) | def _make_client( method test_generate_returns_model_response (line 176) | def test_generate_returns_model_response(self) -> None: method test_generate_passes_prompt_and_params (line 193) | def test_generate_passes_prompt_and_params(self) -> None: method test_generate_captures_usage (line 214) | def test_generate_captures_usage(self) -> None: method test_generate_multiturn (line 229) | def test_generate_multiturn(self) -> None: method test_stores_last_trace (line 255) | def test_stores_last_trace(self) -> None: class TestRetryBehavior (line 272) | class TestRetryBehavior: method test_retries_on_failure (line 273) | def test_retries_on_failure(self) -> None: method test_exhausts_retries_then_raises (line 288) | def test_exhausts_retries_then_raises(self) -> None: method test_no_retry_when_max_retries_zero (line 300) | def test_no_retry_when_max_retries_zero(self) -> None: method test_retry_uses_backoff (line 312) | def test_retry_uses_backoff(self) -> None: class TestTimeoutBehavior (line 338) | class TestTimeoutBehavior: method test_timeout_raises_adapter_error (line 339) | def test_timeout_raises_adapter_error(self) -> None: method test_timeout_returns_promptly (line 353) | def test_timeout_returns_promptly(self) -> None: class TestTraceToEvaluationRecord (line 377) | class TestTraceToEvaluationRecord: method test_trace_summary_for_evaluation (line 378) | def test_trace_summary_for_evaluation(self) -> None: method test_trace_to_role_execution (line 391) | def test_trace_to_role_execution(self) -> None: class TestProviderBridgeRegistration (line 412) | class TestProviderBridgeRegistration: method test_openclaw_provider_creates_client (line 413) | def test_openclaw_provider_creates_client(self) -> None: method test_openclaw_provider_case_insensitive (line 433) | def test_openclaw_provider_case_insensitive(self) -> None: method test_openclaw_provider_requires_factory_setting (line 448) | def test_openclaw_provider_requires_factory_setting(self) -> None: method test_openclaw_cli_runtime_creates_client (line 463) | def test_openclaw_cli_runtime_creates_client(self, mock_execute: Magic... method test_openclaw_http_runtime_creates_client (line 493) | def test_openclaw_http_runtime_creates_client(self, mock_execute: Magi... class TestOpenClawSettings (line 528) | class TestOpenClawSettings: method test_settings_have_openclaw_fields (line 529) | def test_settings_have_openclaw_fields(self) -> None: method test_settings_from_env (line 552) | def test_settings_from_env(self) -> None: FILE: autocontext/tests/test_openclaw_discovery.py function tmp_settings (line 27) | def tmp_settings(tmp_path: Path) -> AppSettings: function mock_ctx (line 45) | def mock_ctx(tmp_settings: AppSettings, tmp_path: Path) -> MagicMock: class TestScenarioCapabilities (line 60) | class TestScenarioCapabilities: method test_game_scenario_detected (line 63) | def test_game_scenario_detected(self, mock_ctx: MagicMock) -> None: method test_simulation_scenario_detected (line 71) | def test_simulation_scenario_detected(self, mock_ctx: MagicMock) -> None: method test_has_playbook_when_present (line 122) | def test_has_playbook_when_present(self, mock_ctx: MagicMock) -> None: method test_no_playbook_when_empty (line 130) | def test_no_playbook_when_empty(self, mock_ctx: MagicMock) -> None: method test_no_playbook_when_sentinel (line 138) | def test_no_playbook_when_sentinel(self, mock_ctx: MagicMock) -> None: method test_has_harness_when_dir_has_files (line 146) | def test_has_harness_when_dir_has_files(self, mock_ctx: MagicMock, tmp... method test_no_harness_when_empty (line 159) | def test_no_harness_when_empty(self, mock_ctx: MagicMock, tmp_path: Pa... method test_has_policy_from_artifacts (line 171) | def test_has_policy_from_artifacts(self, mock_ctx: MagicMock, tmp_path... method test_best_score_and_elo_from_db (line 185) | def test_best_score_and_elo_from_db(self, mock_ctx: MagicMock) -> None: method test_unknown_scenario_raises (line 197) | def test_unknown_scenario_raises(self, mock_ctx: MagicMock) -> None: class TestRuntimeHealth (line 210) | class TestRuntimeHealth: method test_reads_executor_mode (line 213) | def test_reads_executor_mode(self, tmp_settings: AppSettings) -> None: method test_reads_agent_provider (line 219) | def test_reads_agent_provider(self, tmp_settings: AppSettings) -> None: method test_reads_harness_mode (line 225) | def test_reads_harness_mode(self, tmp_settings: AppSettings) -> None: method test_reads_rlm_enabled (line 231) | def test_reads_rlm_enabled(self, tmp_settings: AppSettings) -> None: method test_available_models_includes_roles (line 237) | def test_available_models_includes_roles(self, tmp_settings: AppSettin... method test_serializes_to_dict (line 247) | def test_serializes_to_dict(self, tmp_settings: AppSettings) -> None: method test_includes_openclaw_runtime_metadata (line 256) | def test_includes_openclaw_runtime_metadata(self, tmp_settings: AppSet... class TestCapabilityAdvertisement (line 271) | class TestCapabilityAdvertisement: method test_includes_version (line 274) | def test_includes_version(self, mock_ctx: MagicMock) -> None: method test_includes_runtime_health (line 281) | def test_includes_runtime_health(self, mock_ctx: MagicMock) -> None: method test_includes_scenario_capabilities (line 288) | def test_includes_scenario_capabilities(self, mock_ctx: MagicMock) -> ... method test_includes_artifact_counts (line 297) | def test_includes_artifact_counts(self, mock_ctx: MagicMock, tmp_path:... method test_empty_artifact_counts (line 312) | def test_empty_artifact_counts(self, mock_ctx: MagicMock) -> None: method test_serializes_to_dict (line 320) | def test_serializes_to_dict(self, mock_ctx: MagicMock) -> None: class TestScenarioArtifactLookup (line 337) | class TestScenarioArtifactLookup: method test_returns_only_matching_scenario (line 340) | def test_returns_only_matching_scenario(self, mock_ctx: MagicMock, tmp... method test_empty_when_no_artifacts (line 360) | def test_empty_when_no_artifacts(self, mock_ctx: MagicMock) -> None: method test_returns_all_types_for_scenario (line 366) | def test_returns_all_types_for_scenario(self, mock_ctx: MagicMock, tmp... method test_artifact_summary_fields (line 386) | def test_artifact_summary_fields(self, mock_ctx: MagicMock, tmp_path: ... class TestMcpToolFunctions (line 412) | class TestMcpToolFunctions: method test_skill_advertise_capabilities (line 415) | def test_skill_advertise_capabilities(self, mock_ctx: MagicMock) -> None: method test_skill_scenario_capabilities (line 424) | def test_skill_scenario_capabilities(self, mock_ctx: MagicMock) -> None: method test_skill_runtime_health (line 432) | def test_skill_runtime_health(self, mock_ctx: MagicMock) -> None: method test_skill_scenario_artifact_lookup (line 440) | def test_skill_scenario_artifact_lookup(self, mock_ctx: MagicMock) -> ... class TestRestEndpoints (line 452) | class TestRestEndpoints: method client (line 456) | def client(self, tmp_settings: AppSettings) -> object: method test_capabilities_endpoint (line 470) | def test_capabilities_endpoint(self, client: object) -> None: method test_scenario_capabilities_endpoint (line 484) | def test_scenario_capabilities_endpoint(self, client: object) -> None: method test_scenario_not_found (line 494) | def test_scenario_not_found(self, client: object) -> None: method test_health_endpoint (line 501) | def test_health_endpoint(self, client: object) -> None: method test_scenario_artifacts_endpoint (line 511) | def test_scenario_artifacts_endpoint(self, client: object) -> None: FILE: autocontext/tests/test_openclaw_operations.py class _TestDistillSidecar (line 23) | class _TestDistillSidecar: method launch (line 24) | def launch(self, job_id: str, scenario: str, config: dict[str, object]... method poll (line 27) | def poll(self, job_id: str) -> dict[str, object]: function tool_ctx (line 37) | def tool_ctx(tmp_path: Path) -> MtsToolContext: function _seed_artifact (line 48) | def _seed_artifact(tool_ctx: MtsToolContext) -> None: class TestEvaluateStrategy (line 68) | class TestEvaluateStrategy: method test_evaluate_known_scenario (line 69) | def test_evaluate_known_scenario(self, tool_ctx: MtsToolContext) -> None: method test_evaluate_unknown_scenario (line 83) | def test_evaluate_unknown_scenario(self) -> None: method test_evaluate_agent_task_scenario (line 92) | def test_evaluate_agent_task_scenario(self) -> None: class TestValidateStrategyOp (line 109) | class TestValidateStrategyOp: method test_validate_valid_strategy (line 110) | def test_validate_valid_strategy(self) -> None: method test_validate_invalid_strategy (line 120) | def test_validate_invalid_strategy(self) -> None: method test_validate_unknown_scenario (line 130) | def test_validate_unknown_scenario(self) -> None: method test_validate_uses_published_harness_artifacts (line 139) | def test_validate_uses_published_harness_artifacts(self, tool_ctx: Mts... class TestPublishArtifact (line 174) | class TestPublishArtifact: method test_publish_harness_artifact (line 175) | def test_publish_harness_artifact(self, tool_ctx: MtsToolContext) -> N... method test_publish_policy_artifact (line 191) | def test_publish_policy_artifact(self, tool_ctx: MtsToolContext) -> None: method test_publish_invalid_artifact (line 206) | def test_publish_invalid_artifact(self, tool_ctx: MtsToolContext) -> N... method test_publish_creates_storage_dir (line 212) | def test_publish_creates_storage_dir(self, tool_ctx: MtsToolContext) -... method test_publish_harness_syncs_runtime_harness (line 227) | def test_publish_harness_syncs_runtime_harness(self, tool_ctx: MtsTool... class TestFetchArtifact (line 249) | class TestFetchArtifact: method test_fetch_existing (line 250) | def test_fetch_existing(self, tool_ctx: MtsToolContext, _seed_artifact... method test_fetch_missing (line 262) | def test_fetch_missing(self, tool_ctx: MtsToolContext) -> None: method test_publish_then_fetch_roundtrip (line 268) | def test_publish_then_fetch_roundtrip(self, tool_ctx: MtsToolContext) ... class TestListArtifacts (line 290) | class TestListArtifacts: method test_list_empty (line 291) | def test_list_empty(self, tool_ctx: MtsToolContext) -> None: method test_list_after_publish (line 297) | def test_list_after_publish(self, tool_ctx: MtsToolContext) -> None: method test_list_filters_by_scenario (line 309) | def test_list_filters_by_scenario(self, tool_ctx: MtsToolContext) -> N... method test_list_filters_by_artifact_type (line 322) | def test_list_filters_by_artifact_type(self, tool_ctx: MtsToolContext)... class TestDistillStatus (line 340) | class TestDistillStatus: method test_no_active_jobs (line 341) | def test_no_active_jobs(self, tool_ctx: MtsToolContext) -> None: method test_trigger_distillation (line 348) | def test_trigger_distillation(self, tool_ctx: MtsToolContext) -> None: class TestCapabilities (line 366) | class TestCapabilities: method test_capabilities_metadata (line 367) | def test_capabilities_metadata(self) -> None: class TestMCPServerWrappers (line 394) | class TestMCPServerWrappers: method _skip_without_mcp (line 398) | def _skip_without_mcp(self) -> None: method test_evaluate_strategy_tool_exists (line 401) | def test_evaluate_strategy_tool_exists(self) -> None: method test_validate_strategy_tool_exists (line 405) | def test_validate_strategy_tool_exists(self) -> None: method test_publish_artifact_tool_exists (line 409) | def test_publish_artifact_tool_exists(self) -> None: method test_fetch_artifact_tool_exists (line 413) | def test_fetch_artifact_tool_exists(self) -> None: method test_list_artifacts_tool_exists (line 417) | def test_list_artifacts_tool_exists(self) -> None: method test_distill_status_tool_exists (line 421) | def test_distill_status_tool_exists(self) -> None: method test_capabilities_tool_exists (line 425) | def test_capabilities_tool_exists(self) -> None: class TestRESTEndpoints (line 435) | class TestRESTEndpoints: method client (line 439) | def client(self) -> TestClient: method test_evaluate_strategy_endpoint (line 444) | def test_evaluate_strategy_endpoint(self, client: TestClient) -> None: method test_validate_strategy_endpoint (line 458) | def test_validate_strategy_endpoint(self, client: TestClient) -> None: method test_publish_artifact_endpoint (line 470) | def test_publish_artifact_endpoint(self, client: TestClient) -> None: method test_list_artifacts_endpoint (line 487) | def test_list_artifacts_endpoint(self, client: TestClient) -> None: method test_fetch_artifact_endpoint_not_found (line 493) | def test_fetch_artifact_endpoint_not_found(self, client: TestClient) -... method test_distill_status_endpoint (line 497) | def test_distill_status_endpoint(self, client: TestClient) -> None: method test_capabilities_endpoint (line 503) | def test_capabilities_endpoint(self, client: TestClient) -> None: method test_openclaw_context_is_scoped_to_each_app (line 511) | def test_openclaw_context_is_scoped_to_each_app(self, monkeypatch: pyt... FILE: autocontext/tests/test_openclaw_skill.py class _GameScenario (line 37) | class _GameScenario(ScenarioInterface): method describe_rules (line 40) | def describe_rules(self) -> str: method describe_strategy_interface (line 43) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 46) | def describe_evaluation_criteria(self) -> str: method initial_state (line 49) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 52) | def get_observation(self, state: Any, player_id: str) -> Observation: method validate_actions (line 55) | def validate_actions(self, state: Any, player_id: str, actions: Any) -... method step (line 58) | def step(self, state: Any, actions: Any) -> dict[str, Any]: method is_terminal (line 61) | def is_terminal(self, state: Any) -> bool: method get_result (line 64) | def get_result(self, state: Any) -> Result: method replay_to_narrative (line 67) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 70) | def render_frame(self, state: Any) -> dict[str, Any]: class _TaskScenario (line 74) | class _TaskScenario(AgentTaskInterface): method describe_task (line 75) | def describe_task(self) -> str: method get_task_prompt (line 78) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 81) | def evaluate_output( method get_rubric (line 92) | def get_rubric(self) -> str: method initial_state (line 95) | def initial_state(self, seed: int | None = None) -> dict: class _SimulationScenario (line 99) | class _SimulationScenario(SimulationInterface): method describe_scenario (line 102) | def describe_scenario(self) -> str: method describe_environment (line 105) | def describe_environment(self) -> EnvironmentSpec: method initial_state (line 114) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 117) | def get_available_actions(self, state: dict[str, Any]) -> list[ActionS... method execute_action (line 120) | def execute_action(self, state: dict[str, Any], action: Any) -> tuple[... method is_terminal (line 123) | def is_terminal(self, state: Any) -> bool: method evaluate_trace (line 126) | def evaluate_trace(self, trace: Any, final_state: dict[str, Any]) -> S... method get_rubric (line 136) | def get_rubric(self) -> str: function _game (line 140) | def _game() -> _GameScenario: function _task (line 144) | def _task() -> _TaskScenario: function _simulation (line 148) | def _simulation() -> _SimulationScenario: function _ctx (line 152) | def _ctx() -> MagicMock: function reg (line 161) | def reg() -> dict[str, Any]: class TestModels (line 174) | class TestModels: method test_scenario_info_minimal (line 175) | def test_scenario_info_minimal(self) -> None: method test_scenario_info_rejects_bad_type (line 183) | def test_scenario_info_rejects_bad_type(self) -> None: method test_scenario_info_accepts_simulation_type (line 190) | def test_scenario_info_accepts_simulation_type(self) -> None: method test_evaluation_result_defaults (line 200) | def test_evaluation_result_defaults(self) -> None: method test_artifact_summary_validation (line 206) | def test_artifact_summary_validation(self) -> None: method test_skill_manifest_roundtrip (line 211) | def test_skill_manifest_roundtrip(self) -> None: method test_scenario_recommendation_fields (line 225) | def test_scenario_recommendation_fields(self) -> None: class TestSkillManifest (line 237) | class TestSkillManifest: method test_manifest_has_version_and_name (line 238) | def test_manifest_has_version_and_name(self, reg: dict[str, Any]) -> N... method test_manifest_lists_scenarios_with_types (line 245) | def test_manifest_lists_scenarios_with_types(self, reg: dict[str, Any]... method test_manifest_includes_mcp_tools (line 256) | def test_manifest_includes_mcp_tools(self, reg: dict[str, Any]) -> None: method test_manifest_game_has_strategy_interface (line 262) | def test_manifest_game_has_strategy_interface(self, reg: dict[str, Any... method test_manifest_empty_registry (line 268) | def test_manifest_empty_registry(self) -> None: class TestDiscoverScenarios (line 279) | class TestDiscoverScenarios: method test_all_scenarios_when_no_query (line 280) | def test_all_scenarios_when_no_query(self, reg: dict[str, Any]) -> None: method test_results_have_correct_types (line 285) | def test_results_have_correct_types(self, reg: dict[str, Any]) -> None: method test_query_filters_by_relevance (line 293) | def test_query_filters_by_relevance(self, reg: dict[str, Any]) -> None: method test_query_ranks_unsolved_registry_scenarios (line 300) | def test_query_ranks_unsolved_registry_scenarios(self, reg: dict[str, ... method test_query_no_match_returns_all (line 307) | def test_query_no_match_returns_all(self, reg: dict[str, Any]) -> None: class TestSelectScenario (line 320) | class TestSelectScenario: method test_returns_best_match (line 321) | def test_returns_best_match(self, reg: dict[str, Any]) -> None: method test_alternatives_populated (line 331) | def test_alternatives_populated(self, reg: dict[str, Any]) -> None: method test_fallback_when_no_results (line 342) | def test_fallback_when_no_results(self, reg: dict[str, Any]) -> None: method test_confidence_from_relevance (line 350) | def test_confidence_from_relevance(self, reg: dict[str, Any]) -> None: method test_select_scenario_uses_registry_ranking_when_search_index_empty (line 359) | def test_select_scenario_uses_registry_ranking_when_search_index_empty... class TestEvaluate (line 373) | class TestEvaluate: method test_valid_strategy_returns_scores (line 374) | def test_valid_strategy_returns_scores(self, reg: dict[str, Any]) -> N... method test_invalid_strategy (line 386) | def test_invalid_strategy(self, reg: dict[str, Any]) -> None: method test_harness_results_included (line 398) | def test_harness_results_included(self, reg: dict[str, Any]) -> None: method test_unknown_scenario_error (line 411) | def test_unknown_scenario_error(self) -> None: method test_agent_task_evaluation_returns_explicit_error (line 417) | def test_agent_task_evaluation_returns_explicit_error(self, reg: dict[... method test_result_has_all_fields (line 423) | def test_result_has_all_fields(self, reg: dict[str, Any]) -> None: method test_evaluate_propagates_runtime_errors (line 435) | def test_evaluate_propagates_runtime_errors(self, reg: dict[str, Any])... class TestDiscoverArtifacts (line 451) | class TestDiscoverArtifacts: method test_returns_all_when_no_filters (line 452) | def test_returns_all_when_no_filters(self) -> None: method test_passes_filters (line 464) | def test_passes_filters(self) -> None: method test_empty_list (line 474) | def test_empty_list(self) -> None: FILE: autocontext/tests/test_operator_loop_coordination.py class TestClarificationRequest (line 27) | class TestClarificationRequest: method test_construction (line 28) | def test_construction(self) -> None: method test_roundtrip (line 39) | def test_roundtrip(self) -> None: class TestEscalationEvent (line 52) | class TestEscalationEvent: method test_construction (line 53) | def test_construction(self) -> None: method test_roundtrip (line 67) | def test_roundtrip(self) -> None: class TestOperatorLoopResult (line 80) | class TestOperatorLoopResult: method test_construction (line 81) | def test_construction(self) -> None: method test_roundtrip (line 102) | def test_roundtrip(self) -> None: class TestOperatorLoopInterface (line 123) | class TestOperatorLoopInterface: method test_cannot_instantiate (line 124) | def test_cannot_instantiate(self) -> None: method test_concrete_subclass (line 130) | def test_concrete_subclass(self) -> None: class TestWorkerContext (line 226) | class TestWorkerContext: method test_construction (line 227) | def test_construction(self) -> None: method test_roundtrip (line 240) | def test_roundtrip(self) -> None: class TestHandoffRecord (line 254) | class TestHandoffRecord: method test_construction (line 255) | def test_construction(self) -> None: method test_roundtrip (line 268) | def test_roundtrip(self) -> None: class TestCoordinationResult (line 281) | class TestCoordinationResult: method test_construction (line 282) | def test_construction(self) -> None: method test_roundtrip (line 303) | def test_roundtrip(self) -> None: class TestCoordinationInterface (line 322) | class TestCoordinationInterface: method test_cannot_instantiate (line 323) | def test_cannot_instantiate(self) -> None: method test_concrete_subclass (line 329) | def test_concrete_subclass(self) -> None: class TestFamilyRegistration (line 424) | class TestFamilyRegistration: method test_operator_loop_registered (line 425) | def test_operator_loop_registered(self) -> None: method test_coordination_registered (line 430) | def test_coordination_registered(self) -> None: method test_operator_loop_marker (line 435) | def test_operator_loop_marker(self) -> None: method test_coordination_marker (line 440) | def test_coordination_marker(self) -> None: method test_detect_operator_loop (line 445) | def test_detect_operator_loop(self) -> None: class TestPipelineRegistration (line 529) | class TestPipelineRegistration: method test_operator_loop_pipeline_registered (line 530) | def test_operator_loop_pipeline_registered(self) -> None: method test_coordination_pipeline_registered (line 535) | def test_coordination_pipeline_registered(self) -> None: method test_operator_loop_spec_valid (line 540) | def test_operator_loop_spec_valid(self) -> None: method test_coordination_spec_valid (line 558) | def test_coordination_spec_valid(self) -> None: method test_operator_loop_spec_missing_fields (line 576) | def test_operator_loop_spec_missing_fields(self) -> None: method test_coordination_spec_missing_fields (line 582) | def test_coordination_spec_missing_fields(self) -> None: class TestClassifierRouting (line 594) | class TestClassifierRouting: method test_route_operator_loop (line 595) | def test_route_operator_loop(self) -> None: method test_route_coordination (line 608) | def test_route_coordination(self) -> None: class TestOperatorLoopDesigner (line 627) | class TestOperatorLoopDesigner: method test_parse_spec (line 628) | def test_parse_spec(self) -> None: method test_design_fn_calls_llm (line 664) | def test_design_fn_calls_llm(self) -> None: class TestCoordinationDesigner (line 703) | class TestCoordinationDesigner: method test_parse_spec (line 704) | def test_parse_spec(self) -> None: method test_design_fn_calls_llm (line 741) | def test_design_fn_calls_llm(self) -> None: class TestOperatorLoopCodegen (line 782) | class TestOperatorLoopCodegen: method test_runtime_codegen_generates_loadable_source (line 783) | def test_runtime_codegen_generates_loadable_source(self) -> None: class TestCoordinationCodegen (line 811) | class TestCoordinationCodegen: method test_generate_class (line 812) | def test_generate_class(self) -> None: class TestOperatorLoopCreator (line 842) | class TestOperatorLoopCreator: method test_create_persists_and_registers (line 843) | def test_create_persists_and_registers(self, tmp_path: Path) -> None: class TestCoordinationCreator (line 888) | class TestCoordinationCreator: method test_create_and_persist (line 889) | def test_create_and_persist(self, tmp_path: Path) -> None: class TestAgentTaskCreatorRouting (line 936) | class TestAgentTaskCreatorRouting: method test_routes_to_operator_loop (line 937) | def test_routes_to_operator_loop(self, tmp_path: Path) -> None: method test_routes_to_coordination (line 986) | def test_routes_to_coordination(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_operator_loop_unsupported.py function test_family_classifier_detects_operator_loop (line 10) | def test_family_classifier_detects_operator_loop(): function test_operator_loop_codegen_generates_valid_source (line 21) | def test_operator_loop_codegen_generates_valid_source(): function test_operator_loop_codegen_source_executes (line 61) | def test_operator_loop_codegen_source_executes(): function test_operator_loop_family_registered (line 144) | def test_operator_loop_family_registered(): function test_operator_loop_pipeline_registered (line 153) | def test_operator_loop_pipeline_registered(): function test_operator_loop_creator_is_functional (line 160) | def test_operator_loop_creator_is_functional(): FILE: autocontext/tests/test_orchestrator_feedback.py class PromptCapturingClient (line 12) | class PromptCapturingClient(LanguageModelClient): method __init__ (line 15) | def __init__(self) -> None: method _detect_role (line 19) | def _detect_role(self, prompt: str) -> str: method generate (line 31) | def generate( method generate_multiturn (line 44) | def generate_multiturn( method reset_rlm_turns (line 61) | def reset_rlm_turns(self) -> None: function _make_prompt_bundle (line 65) | def _make_prompt_bundle() -> PromptBundle: function _make_settings (line 93) | def _make_settings() -> AppSettings: function test_analyst_output_passed_to_coach_prompt (line 97) | def test_analyst_output_passed_to_coach_prompt() -> None: function test_architect_independent_of_analyst (line 117) | def test_architect_independent_of_analyst() -> None: function test_feedback_flow_backward_compatible (line 135) | def test_feedback_flow_backward_compatible() -> None: function test_rlm_path_also_enriches_coach (line 151) | def test_rlm_path_also_enriches_coach(tmp_path: Path) -> None: function _make_artifact_store (line 182) | def _make_artifact_store(tmp_path: Path, settings: AppSettings) -> object: function _make_sqlite_store (line 193) | def _make_sqlite_store(tmp_path: Path, settings: AppSettings) -> object: FILE: autocontext/tests/test_output_cleaner.py function test_strips_revised_output_header_and_analysis (line 8) | def test_strips_revised_output_header_and_analysis() -> None: function test_strips_key_changes_section (line 13) | def test_strips_key_changes_section() -> None: function test_strips_analysis_block (line 18) | def test_strips_analysis_block() -> None: function test_passthrough_clean_content (line 23) | def test_passthrough_clean_content() -> None: function test_combined_header_analysis_key_changes (line 28) | def test_combined_header_analysis_key_changes() -> None: function test_strips_analysis_section (line 33) | def test_strips_analysis_section() -> None: function test_strips_changes_section (line 38) | def test_strips_changes_section() -> None: function test_strips_improvements_section (line 43) | def test_strips_improvements_section() -> None: function test_strips_self_assessment_section (line 48) | def test_strips_self_assessment_section() -> None: function test_strips_trailing_transforms_paragraph (line 53) | def test_strips_trailing_transforms_paragraph() -> None: function test_strips_trailing_improves_paragraph (line 58) | def test_strips_trailing_improves_paragraph() -> None: function test_strips_trailing_addresses_paragraph (line 63) | def test_strips_trailing_addresses_paragraph() -> None: function test_strips_trailing_fixes_paragraph (line 68) | def test_strips_trailing_fixes_paragraph() -> None: function test_metadata_only_returns_empty (line 73) | def test_metadata_only_returns_empty() -> None: function test_no_trailing_newline (line 78) | def test_no_trailing_newline() -> None: function test_strips_lang_tagged_code_fence_wrapper (line 86) | def test_strips_lang_tagged_code_fence_wrapper() -> None: function test_strips_bare_code_fence_wrapper (line 92) | def test_strips_bare_code_fence_wrapper() -> None: function test_strips_fence_wrapper_with_surrounding_whitespace (line 98) | def test_strips_fence_wrapper_with_surrounding_whitespace() -> None: function test_passthrough_when_no_outer_fence (line 104) | def test_passthrough_when_no_outer_fence() -> None: function test_passthrough_when_only_opening_fence (line 111) | def test_passthrough_when_only_opening_fence() -> None: function test_passthrough_when_only_closing_fence (line 118) | def test_passthrough_when_only_closing_fence() -> None: function test_preserves_inner_fences_inside_outer_wrapper (line 123) | def test_preserves_inner_fences_inside_outer_wrapper() -> None: function test_fence_strip_runs_after_metadata_strip (line 131) | def test_fence_strip_runs_after_metadata_strip() -> None: FILE: autocontext/tests/test_output_verifier.py class TestDisabled (line 19) | class TestDisabled: method test_none_command_disables_verifier (line 20) | def test_none_command_disables_verifier(self): method test_empty_string_command_disables_verifier (line 24) | def test_empty_string_command_disables_verifier(self): method test_disabled_run_returns_ok_skipped (line 28) | def test_disabled_run_returns_ok_skipped(self): method test_make_verifier_returns_none_for_falsy (line 35) | def test_make_verifier_returns_none_for_falsy(self): class TestStdinMode (line 44) | class TestStdinMode: method test_passing_command_returns_ok (line 45) | def test_passing_command_returns_ok(self): method test_failing_command_returns_not_ok_with_stderr (line 52) | def test_failing_command_returns_not_ok_with_stderr(self): method test_stdin_content_is_passed_to_command (line 60) | def test_stdin_content_is_passed_to_command(self): method test_string_command_is_split (line 68) | def test_string_command_is_split(self): class TestFileMode (line 78) | class TestFileMode: method test_file_placeholder_substitutes_temp_path (line 79) | def test_file_placeholder_substitutes_temp_path(self): method test_file_suffix_is_applied (line 96) | def test_file_suffix_is_applied(self): method test_file_mode_failure_propagates_exit_code (line 111) | def test_file_mode_failure_propagates_exit_code(self): class TestErrorHandling (line 131) | class TestErrorHandling: method test_missing_executable (line 132) | def test_missing_executable(self): method test_timeout (line 139) | def test_timeout(self): class TestMessage (line 154) | class TestMessage: method test_passing_message (line 155) | def test_passing_message(self): method test_failing_message_includes_stderr (line 159) | def test_failing_message_includes_stderr(self): method test_failing_message_falls_back_to_stdout (line 170) | def test_failing_message_falls_back_to_stdout(self): method test_failing_message_with_no_output (line 180) | def test_failing_message_with_no_output(self): method test_skipped_message (line 185) | def test_skipped_message(self): method test_timeout_message (line 196) | def test_timeout_message(self): class TestEnvAndCwd (line 211) | class TestEnvAndCwd: method test_cwd_is_respected (line 212) | def test_cwd_is_respected(self, tmp_path): FILE: autocontext/tests/test_package_boundaries.py function _load_boundaries (line 18) | def _load_boundaries() -> dict[str, object]: function _load_topology (line 22) | def _load_topology() -> dict[str, object]: function _load_pyproject (line 26) | def _load_pyproject(path: Path) -> dict[str, object]: function _python_import_targets (line 30) | def _python_import_targets(path: Path) -> list[str]: function _python_core_import_targets (line 50) | def _python_core_import_targets() -> list[str]: function _python_control_import_targets (line 54) | def _python_control_import_targets() -> list[str]: function _dependency_name (line 58) | def _dependency_name(requirement: object) -> str: function _licensing_guardrails (line 72) | def _licensing_guardrails() -> dict[str, object]: function test_package_boundaries_manifest_exists (line 79) | def test_package_boundaries_manifest_exists() -> None: function test_existing_code_strategy_is_apache_only (line 83) | def test_existing_code_strategy_is_apache_only() -> None: function test_dual_license_publication_files_are_absent (line 95) | def test_dual_license_publication_files_are_absent() -> None: function test_rights_audit_is_preserved_as_historical_context (line 112) | def test_rights_audit_is_preserved_as_historical_context() -> None: function test_private_python_package_skeletons_have_no_separate_license_metadata (line 132) | def test_private_python_package_skeletons_have_no_separate_license_metad... function test_python_boundary_contract_reuses_topology_core_module (line 162) | def test_python_boundary_contract_reuses_topology_core_module() -> None: function test_python_core_facade_imports_match_boundary_contract (line 177) | def test_python_core_facade_imports_match_boundary_contract() -> None: function test_python_core_facade_excludes_control_plane_imports (line 189) | def test_python_core_facade_excludes_control_plane_imports() -> None: function test_python_core_package_dependencies_point_away_from_control_and_umbrella_packages (line 206) | def test_python_core_package_dependencies_point_away_from_control_and_um... function test_python_control_boundary_contract_reuses_topology_control_module (line 229) | def test_python_control_boundary_contract_reuses_topology_control_module... function test_python_control_facade_imports_match_boundary_contract (line 244) | def test_python_control_facade_imports_match_boundary_contract() -> None: function test_python_control_package_dependencies_point_away_from_umbrella_package (line 256) | def test_python_control_package_dependencies_point_away_from_umbrella_pa... function test_python_package_builds_emit_wheel_and_sdist (line 279) | def test_python_package_builds_emit_wheel_and_sdist() -> None: FILE: autocontext/tests/test_package_topology.py class PythonPackageShell (line 13) | class PythonPackageShell: function _load_topology (line 20) | def _load_topology() -> dict[str, object]: function _load_pyproject (line 24) | def _load_pyproject(path: Path) -> dict[str, object]: function _python_shells (line 28) | def _python_shells() -> list[PythonPackageShell]: function test_package_topology_manifest_exists (line 47) | def test_package_topology_manifest_exists() -> None: function test_package_topology_declares_expected_domain_terms (line 51) | def test_package_topology_declares_expected_domain_terms() -> None: function test_package_topology_declares_apache_boundary_wrap_up_guardrails (line 64) | def test_package_topology_declares_apache_boundary_wrap_up_guardrails() ... function test_agent_app_runtime_contracts_remain_umbrella_owned_until_extracted (line 81) | def test_agent_app_runtime_contracts_remain_umbrella_owned_until_extract... function test_python_package_shells_exist (line 97) | def test_python_package_shells_exist() -> None: function test_python_package_shell_metadata_matches_topology (line 104) | def test_python_package_shell_metadata_matches_topology() -> None: function test_python_umbrella_package_keeps_existing_cli_entrypoint (line 114) | def test_python_umbrella_package_keeps_existing_cli_entrypoint() -> None: FILE: autocontext/tests/test_param_type_conventions.py function _param_is_mutated (line 42) | def _param_is_mutated(func_node: ast.FunctionDef, param_name: str, mutat... class TestPublicAPIUsesSequenceForReadOnlyListParams (line 60) | class TestPublicAPIUsesSequenceForReadOnlyListParams: method test_no_list_params_in_public_functions (line 64) | def test_no_list_params_in_public_functions(self, module_path: Path) -... class TestScenarioInterfaceUsesMapping (line 91) | class TestScenarioInterfaceUsesMapping: method test_scenario_interface_uses_mapping_for_state (line 94) | def test_scenario_interface_uses_mapping_for_state(self) -> None: FILE: autocontext/tests/test_pareto_optimizer.py class TestActionableSideInfo (line 14) | class TestActionableSideInfo: method test_construction (line 15) | def test_construction(self) -> None: method test_roundtrip (line 27) | def test_roundtrip(self) -> None: class TestOptimizationObjective (line 46) | class TestOptimizationObjective: method test_maximize (line 47) | def test_maximize(self) -> None: method test_minimize (line 54) | def test_minimize(self) -> None: class TestCandidate (line 67) | class TestCandidate: method test_construction (line 68) | def test_construction(self) -> None: method test_dominates (line 80) | def test_dominates(self) -> None: method test_no_domination_on_tradeoff (line 92) | def test_no_domination_on_tradeoff(self) -> None: class TestParetoFrontier (line 110) | class TestParetoFrontier: method test_add_non_dominated (line 111) | def test_add_non_dominated(self) -> None: method test_dominated_candidate_rejected (line 129) | def test_dominated_candidate_rejected(self) -> None: method test_new_dominant_removes_old (line 148) | def test_new_dominant_removes_old(self) -> None: method test_best_for_objective (line 163) | def test_best_for_objective(self) -> None: class TestMergeCandidates (line 192) | class TestMergeCandidates: method test_merge_produces_combined (line 193) | def test_merge_produces_combined(self) -> None: method test_merge_combines_asi (line 204) | def test_merge_combines_asi(self) -> None: class TestImprovementLoopParetoIntegration (line 247) | class TestImprovementLoopParetoIntegration: method _make_task (line 250) | def _make_task(self, scores: list[float]): method test_improvement_result_has_frontier (line 283) | def test_improvement_result_has_frontier(self) -> None: method test_frontier_tracks_dimension_scores (line 299) | def test_frontier_tracks_dimension_scores(self) -> None: method test_asi_collected_from_low_score_rounds (line 315) | def test_asi_collected_from_low_score_rounds(self) -> None: method test_best_output_from_frontier_not_just_highest_score (line 330) | def test_best_output_from_frontier_not_just_highest_score(self) -> None: method test_objective_expansion_preserves_existing_frontier_candidates (line 341) | def test_objective_expansion_preserves_existing_frontier_candidates(se... FILE: autocontext/tests/test_per_role_provider.py class _StubProvider (line 22) | class _StubProvider(LLMProvider): method __init__ (line 25) | def __init__(self, response: str = "stub output") -> None: method complete (line 28) | def complete( method default_model (line 42) | def default_model(self) -> str: class _ClosableClient (line 46) | class _ClosableClient(LanguageModelClient): method __init__ (line 47) | def __init__(self) -> None: method generate (line 50) | def generate( method close (line 65) | def close(self) -> None: class TestPerRoleConfigFields (line 72) | class TestPerRoleConfigFields: method test_competitor_provider_field_exists (line 73) | def test_competitor_provider_field_exists(self) -> None: method test_analyst_provider_field_exists (line 80) | def test_analyst_provider_field_exists(self) -> None: method test_coach_provider_field_exists (line 87) | def test_coach_provider_field_exists(self) -> None: method test_architect_provider_field_exists (line 94) | def test_architect_provider_field_exists(self) -> None: method test_role_credential_fields_exist (line 101) | def test_role_credential_fields_exist(self) -> None: method test_claude_cli_settings_fields_exist (line 114) | def test_claude_cli_settings_fields_exist(self) -> None: method test_codex_cli_settings_fields_exist (line 124) | def test_codex_cli_settings_fields_exist(self) -> None: class TestProviderBridgeClient (line 138) | class TestProviderBridgeClient: method test_bridge_exists (line 139) | def test_bridge_exists(self) -> None: method test_bridge_generate_returns_model_response (line 144) | def test_bridge_generate_returns_model_response(self) -> None: method test_bridge_passes_temperature_and_max_tokens (line 158) | def test_bridge_passes_temperature_and_max_tokens(self) -> None: method test_bridge_usage_contains_model (line 174) | def test_bridge_usage_contains_model(self) -> None: method test_bridge_extracts_token_counts (line 182) | def test_bridge_extracts_token_counts(self) -> None: method test_bridge_can_use_provider_default_model_for_overrides (line 191) | def test_bridge_can_use_provider_default_model_for_overrides(self) -> ... class TestCreateClientForProvider (line 208) | class TestCreateClientForProvider: method test_deterministic_provider_creates_deterministic_client (line 209) | def test_deterministic_provider_creates_deterministic_client(self) -> ... method test_anthropic_provider_creates_anthropic_client (line 217) | def test_anthropic_provider_creates_anthropic_client(self) -> None: method test_mlx_provider_creates_bridge_client (line 227) | def test_mlx_provider_creates_bridge_client(self, mock_bridge: MagicMo... method test_openai_override_uses_judge_key_not_anthropic_key (line 238) | def test_openai_override_uses_judge_key_not_anthropic_key(self, mock_c... method test_role_scoped_openai_credentials_override_global_defaults (line 260) | def test_role_scoped_openai_credentials_override_global_defaults(self,... method test_empty_provider_returns_none (line 282) | def test_empty_provider_returns_none(self) -> None: method test_claude_cli_provider_creates_runtime_bridge (line 290) | def test_claude_cli_provider_creates_runtime_bridge(self) -> None: method test_codex_provider_creates_runtime_bridge (line 319) | def test_codex_provider_creates_runtime_bridge(self) -> None: method test_all_listed_cli_runtimes_are_selectable (line 340) | def test_all_listed_cli_runtimes_are_selectable(self) -> None: method test_unknown_provider_raises (line 350) | def test_unknown_provider_raises(self) -> None: class TestOrchestratorPerRoleWiring (line 362) | class TestOrchestratorPerRoleWiring: method test_default_all_roles_use_same_client (line 363) | def test_default_all_roles_use_same_client(self) -> None: method test_competitor_override_creates_separate_runtime (line 376) | def test_competitor_override_creates_separate_runtime(self, mock_creat... method test_multiple_role_overrides (line 393) | def test_multiple_role_overrides(self, mock_create: MagicMock) -> None: method test_role_credentials_create_dedicated_client_without_provider_override (line 417) | def test_role_credentials_create_dedicated_client_without_provider_ove... method test_pi_override_rebuilds_client_with_scenario_context (line 437) | def test_pi_override_rebuilds_client_with_scenario_context(self, mock_... method test_default_pi_rpc_provider_rebinds_per_role_with_scenario_context (line 462) | def test_default_pi_rpc_provider_rebinds_per_role_with_scenario_contex... method test_pi_role_runtime_timeout_is_bounded_by_generation_deadline (line 503) | def test_pi_role_runtime_timeout_is_bounded_by_generation_deadline(sel... method test_per_role_pi_runtime_timeout_is_bounded_by_generation_deadline (line 532) | def test_per_role_pi_runtime_timeout_is_bounded_by_generation_deadline... method test_budgeted_role_runtime_client_is_closed_after_use (line 562) | def test_budgeted_role_runtime_client_is_closed_after_use(self, mock_c... method test_pi_role_runtime_fails_before_call_when_generation_deadline_is_exhausted (line 588) | def test_pi_role_runtime_fails_before_call_when_generation_deadline_is... method test_override_does_not_affect_unset_roles (line 613) | def test_override_does_not_affect_unset_roles(self, mock_create: Magic... method test_from_settings_uses_shared_client_builder (line 631) | def test_from_settings_uses_shared_client_builder(self, mock_build: Ma... method test_rlm_uses_role_specific_client_when_override_exists (line 644) | def test_rlm_uses_role_specific_client_when_override_exists(self) -> N... FILE: autocontext/tests/test_phased_execution.py class TestPhaseBudget (line 16) | class TestPhaseBudget: method test_construction (line 17) | def test_construction(self) -> None: method test_defaults (line 24) | def test_defaults(self) -> None: class TestPhaseResult (line 36) | class TestPhaseResult: method test_construction (line 37) | def test_construction(self) -> None: method test_roundtrip (line 52) | def test_roundtrip(self) -> None: class TestPhasedExecutionPlan (line 75) | class TestPhasedExecutionPlan: method test_construction (line 76) | def test_construction(self) -> None: method test_phase_names (line 91) | def test_phase_names(self) -> None: class TestPhasedExecutionResult (line 109) | class TestPhasedExecutionResult: method test_all_completed (line 110) | def test_all_completed(self) -> None: method test_failed_phase (line 132) | def test_failed_phase(self) -> None: method test_roundtrip (line 150) | def test_roundtrip(self) -> None: class TestPhaseTimer (line 174) | class TestPhaseTimer: method test_start_and_elapsed (line 175) | def test_start_and_elapsed(self) -> None: method test_remaining (line 184) | def test_remaining(self) -> None: method test_is_expired_false (line 192) | def test_is_expired_false(self) -> None: method test_is_expired_true (line 199) | def test_is_expired_true(self) -> None: method test_unlimited_budget (line 207) | def test_unlimited_budget(self) -> None: method test_stop (line 216) | def test_stop(self) -> None: class TestSplitBudget (line 234) | class TestSplitBudget: method test_even_split (line 235) | def test_even_split(self) -> None: method test_custom_ratios (line 246) | def test_custom_ratios(self) -> None: method test_with_rollover (line 257) | def test_with_rollover(self) -> None: method test_three_phases (line 267) | def test_three_phases(self) -> None: class TestPhasedRunner (line 285) | class TestPhasedRunner: method test_run_phase_completes (line 286) | def test_run_phase_completes(self) -> None: method test_run_phase_timeout (line 305) | def test_run_phase_timeout(self) -> None: method test_run_phase_failure (line 326) | def test_run_phase_failure(self) -> None: method test_run_all_completes (line 343) | def test_run_all_completes(self) -> None: method test_run_all_first_phase_fails_skips_rest (line 360) | def test_run_all_first_phase_fails_skips_rest(self) -> None: method test_rollover_gives_extra_time (line 381) | def test_rollover_gives_extra_time(self) -> None: method test_persist_partial_outputs (line 404) | def test_persist_partial_outputs(self) -> None: method test_phase_specific_error_reporting (line 426) | def test_phase_specific_error_reporting(self) -> None: FILE: autocontext/tests/test_pi_artifacts.py function test_trace_construction (line 19) | def test_trace_construction() -> None: function test_trace_to_dict_from_dict_roundtrip (line 27) | def test_trace_to_dict_from_dict_roundtrip() -> None: function test_trace_from_dict_defaults (line 54) | def test_trace_from_dict_defaults() -> None: function test_persist_and_read_pi_session (line 66) | def test_persist_and_read_pi_session(tmp_path: Path) -> None: function test_read_pi_session_returns_none_for_missing (line 98) | def test_read_pi_session_returns_none_for_missing(tmp_path: Path) -> None: function test_persist_pi_session_correct_directory (line 109) | def test_persist_pi_session_correct_directory(tmp_path: Path) -> None: function test_trace_attached_to_agent_output (line 127) | def test_trace_attached_to_agent_output() -> None: function test_trace_roundtrip_through_artifact_store (line 148) | def test_trace_roundtrip_through_artifact_store(tmp_path: Path) -> None: function test_generation_dir_layout (line 183) | def test_generation_dir_layout(tmp_path: Path) -> None: function test_compaction_ledger_round_trips_pi_shaped_entries (line 199) | def test_compaction_ledger_round_trips_pi_shaped_entries(tmp_path: Path)... function test_compaction_ledger_mirrors_appended_jsonl_to_blob_store (line 235) | def test_compaction_ledger_mirrors_appended_jsonl_to_blob_store(tmp_path... function test_latest_compaction_entry_id_uses_sidecar_without_scanning_ledger (line 275) | def test_latest_compaction_entry_id_uses_sidecar_without_scanning_ledger... function test_latest_compaction_entry_id_tails_legacy_ledger_without_reading_entries (line 314) | def test_latest_compaction_entry_id_tails_legacy_ledger_without_reading_... function test_persist_pi_session_per_role_does_not_overwrite (line 340) | def test_persist_pi_session_per_role_does_not_overwrite(tmp_path: Path) ... FILE: autocontext/tests/test_pi_cli_runtime.py function test_config_defaults (line 24) | def test_config_defaults() -> None: function test_config_custom_values (line 35) | def test_config_custom_values() -> None: function test_settings_pi_fields_exist (line 48) | def test_settings_pi_fields_exist() -> None: function test_generate_json_output (line 62) | def test_generate_json_output() -> None: function test_generate_raw_text_fallback (line 82) | def test_generate_raw_text_fallback() -> None: function test_generate_json_object_without_result_serializes_full_payload (line 95) | def test_generate_json_object_without_result_serializes_full_payload() -... function test_generate_json_output_disabled (line 119) | def test_generate_json_output_disabled() -> None: function test_generate_timeout (line 136) | def test_generate_timeout() -> None: function test_generate_nonzero_exit (line 152) | def test_generate_nonzero_exit() -> None: function test_generate_nonzero_exit_with_stdout (line 166) | def test_generate_nonzero_exit_with_stdout() -> None: function test_revise_builds_correct_prompt (line 184) | def test_revise_builds_correct_prompt() -> None: function test_generate_binary_not_found (line 211) | def test_generate_binary_not_found() -> None: function test_build_args_includes_model_and_prompt (line 227) | def test_build_args_includes_model_and_prompt() -> None: function test_build_args_minimal (line 247) | def test_build_args_minimal() -> None: function test_runtime_bridge_client_delegates (line 261) | def test_runtime_bridge_client_delegates() -> None: function test_runtime_bridge_client_raises_on_runtime_error (line 272) | def test_runtime_bridge_client_raises_on_runtime_error() -> None: function test_create_role_client_pi (line 290) | def test_create_role_client_pi() -> None: function test_create_role_client_pi_uses_scenario_handoff (line 296) | def test_create_role_client_pi_uses_scenario_handoff(tmp_path: Path) -> ... function test_available_when_found (line 318) | def test_available_when_found() -> None: function test_not_available_when_missing (line 324) | def test_not_available_when_missing() -> None: function test_generate_with_system_prompt (line 335) | def test_generate_with_system_prompt() -> None: FILE: autocontext/tests/test_pi_cli_timeout_cleanup.py function test_invoke_uses_group_kill_helper_with_timeout_and_workspace (line 19) | def test_invoke_uses_group_kill_helper_with_timeout_and_workspace() -> N... function test_run_with_group_kill_kills_process_group_on_timeout (line 33) | def test_run_with_group_kill_kills_process_group_on_timeout() -> None: function test_run_with_group_kill_cleans_up_on_keyboard_interrupt (line 74) | def test_run_with_group_kill_cleans_up_on_keyboard_interrupt() -> None: function test_run_with_group_kill_kills_same_group_descendant_after_parent_exits (line 120) | def test_run_with_group_kill_kills_same_group_descendant_after_parent_ex... function test_run_with_group_kill_returns_promptly_when_escaped_descendant_keeps_pipe_open (line 178) | def test_run_with_group_kill_returns_promptly_when_escaped_descendant_ke... FILE: autocontext/tests/test_pi_package_export.py function _strategy_package (line 17) | def _strategy_package() -> object: function _setup_db_and_artifacts (line 33) | def _setup_db_and_artifacts(tmp_path: Path) -> tuple[SQLiteStore, Artifa... function _seed_grid_ctf (line 47) | def _seed_grid_ctf(db: SQLiteStore, artifacts: ArtifactStore) -> None: function test_pi_package_builds_installable_file_map (line 54) | def test_pi_package_builds_installable_file_map() -> None: function test_pi_package_writer_creates_directory_layout (line 81) | def test_pi_package_writer_creates_directory_layout(tmp_path: Path) -> N... function test_export_command_writes_pi_package (line 98) | def test_export_command_writes_pi_package(tmp_path: Path) -> None: function test_export_command_reports_pi_package_json (line 120) | def test_export_command_reports_pi_package_json(tmp_path: Path) -> None: function test_export_help_describes_format_dependent_output_path (line 144) | def test_export_help_describes_format_dependent_output_path() -> None: FILE: autocontext/tests/test_pi_protocol_alignment.py class TestPiCLIProtocol (line 16) | class TestPiCLIProtocol: method test_cli_uses_print_flag (line 19) | def test_cli_uses_print_flag(self) -> None: method test_cli_does_not_use_workspace_flag (line 28) | def test_cli_does_not_use_workspace_flag(self) -> None: method test_cli_uses_cwd_for_workspace (line 37) | def test_cli_uses_cwd_for_workspace(self) -> None: method test_cli_treats_print_output_as_plain_text (line 53) | def test_cli_treats_print_output_as_plain_text(self) -> None: method test_cli_model_flag (line 62) | def test_cli_model_flag(self) -> None: class TestPiRPCProtocol (line 73) | class TestPiRPCProtocol: method test_rpc_uses_subprocess_not_http (line 76) | def test_rpc_uses_subprocess_not_http(self) -> None: method test_rpc_config_has_no_endpoint_field (line 86) | def test_rpc_config_has_no_endpoint_field(self) -> None: method test_rpc_starts_pi_with_mode_rpc (line 96) | def test_rpc_starts_pi_with_mode_rpc(self) -> None: class TestPiDocAlignment (line 109) | class TestPiDocAlignment: method test_pi_settings_no_workspace_flag_reference (line 112) | def test_pi_settings_no_workspace_flag_reference(self) -> None: FILE: autocontext/tests/test_pi_provider_surface.py function _settings (line 24) | def _settings(**overrides: object) -> AppSettings: class TestPiCLIProvider (line 39) | class TestPiCLIProvider: method test_build_client_accepts_pi_provider (line 40) | def test_build_client_accepts_pi_provider(self) -> None: method test_pi_client_is_runtime_bridge (line 48) | def test_pi_client_is_runtime_bridge(self) -> None: method test_pi_passes_config_from_settings (line 58) | def test_pi_passes_config_from_settings(self) -> None: method test_pi_resolves_scenario_model_handoff (line 78) | def test_pi_resolves_scenario_model_handoff(self) -> None: class TestPiRPCProvider (line 103) | class TestPiRPCProvider: method test_build_client_accepts_pi_rpc_provider (line 104) | def test_build_client_accepts_pi_rpc_provider(self) -> None: method test_pi_rpc_client_is_runtime_bridge (line 115) | def test_pi_rpc_client_is_runtime_bridge(self) -> None: method test_pi_rpc_passes_config_from_settings (line 128) | def test_pi_rpc_passes_config_from_settings(self) -> None: method test_pi_rpc_persistent_setting_uses_persistent_runtime (line 148) | def test_pi_rpc_persistent_setting_uses_persistent_runtime(self) -> None: class TestPiRegistryProvider (line 168) | class TestPiRegistryProvider: method test_registry_pi_passes_no_context_files (line 169) | def test_registry_pi_passes_no_context_files(self) -> None: method test_registry_pi_rpc_passes_model_and_no_context_files (line 180) | def test_registry_pi_rpc_passes_model_and_no_context_files(self) -> None: method test_registry_pi_rpc_uses_persistent_runtime_when_enabled (line 192) | def test_registry_pi_rpc_uses_persistent_runtime_when_enabled(self) ->... class TestPiMisconfiguration (line 206) | class TestPiMisconfiguration: method test_unknown_provider_still_raises (line 207) | def test_unknown_provider_still_raises(self) -> None: FILE: autocontext/tests/test_pi_rpc.py class _FakeStdin (line 19) | class _FakeStdin: method __init__ (line 20) | def __init__(self) -> None: method write (line 24) | def write(self, text: str) -> int: method flush (line 28) | def flush(self) -> None: method close (line 31) | def close(self) -> None: class _FakePopen (line 35) | class _FakePopen: method __init__ (line 36) | def __init__(self, stdout: str, stderr: str = "", returncode: int = 0,... method poll (line 45) | def poll(self) -> int | None: method wait (line 48) | def wait(self, timeout: float | None = None) -> int: method terminate (line 54) | def terminate(self) -> None: method kill (line 57) | def kill(self) -> None: function test_config_defaults (line 66) | def test_config_defaults() -> None: function test_settings_pi_rpc_fields (line 81) | def test_settings_pi_rpc_fields() -> None: function test_build_args_includes_mode_rpc (line 94) | def test_build_args_includes_mode_rpc() -> None: function test_build_args_includes_model (line 101) | def test_build_args_includes_model() -> None: function test_build_args_no_session (line 108) | def test_build_args_no_session() -> None: function test_build_args_no_context_files (line 114) | def test_build_args_no_context_files() -> None: function test_generate_success (line 125) | def test_generate_success() -> None: function test_generate_timeout (line 150) | def test_generate_timeout() -> None: function test_generate_rpc_error_response (line 162) | def test_generate_rpc_error_response() -> None: function test_generate_nonzero_exit_without_stdout (line 182) | def test_generate_nonzero_exit_without_stdout() -> None: function test_generate_prompt_ack_without_assistant_response_is_error (line 194) | def test_generate_prompt_ack_without_assistant_response_is_error() -> None: function test_revise_success (line 205) | def test_revise_success() -> None: function _event_line (line 225) | def _event_line(event: dict[str, object]) -> str: function test_persistent_runtime_reuses_process_for_multiple_prompts (line 229) | def test_persistent_runtime_reuses_process_for_multiple_prompts() -> None: function test_persistent_runtime_supports_steer_follow_up_and_state_commands (line 254) | def test_persistent_runtime_supports_steer_follow_up_and_state_commands(... function test_persistent_runtime_workspace_is_subprocess_cwd (line 286) | def test_persistent_runtime_workspace_is_subprocess_cwd() -> None: function test_create_role_client_pi_rpc (line 305) | def test_create_role_client_pi_rpc() -> None: function test_create_role_client_pi_rpc_uses_persistent_runtime_when_enabled (line 316) | def test_create_role_client_pi_rpc_uses_persistent_runtime_when_enabled(... FILE: autocontext/tests/test_pi_smoke.py function _settings (line 27) | def _settings(**overrides: object) -> AppSettings: function _runner_settings (line 36) | def _runner_settings(tmp_path: Path, **overrides: object) -> AppSettings: function _complete_smoke_generation (line 54) | def _complete_smoke_generation( class TestPiEnvVarRoundTrip (line 99) | class TestPiEnvVarRoundTrip: method test_pi_cli_env_vars_load_and_build (line 102) | def test_pi_cli_env_vars_load_and_build(self, monkeypatch: pytest.Monk... method test_pi_rpc_env_vars_load_and_build (line 117) | def test_pi_rpc_env_vars_load_and_build(self, monkeypatch: pytest.Monk... method test_pi_workspace_model_and_no_context_files_env_vars (line 132) | def test_pi_workspace_model_and_no_context_files_env_vars(self, monkey... method test_pi_rpc_session_persistence_env_var (line 143) | def test_pi_rpc_session_persistence_env_var(self, monkeypatch: pytest.... class TestPiScenarioHandoff (line 156) | class TestPiScenarioHandoff: method test_scenario_context_triggers_registry_lookup (line 159) | def test_scenario_context_triggers_registry_lookup(self) -> None: method test_manual_pi_model_overrides_registry (line 174) | def test_manual_pi_model_overrides_registry(self) -> None: method test_no_scenario_no_model_skips_handoff (line 189) | def test_no_scenario_no_model_skips_handoff(self) -> None: method test_handoff_failure_falls_back_gracefully (line 202) | def test_handoff_failure_falls_back_gracefully(self) -> None: class TestPiRoleOverride (line 222) | class TestPiRoleOverride: method test_create_role_client_pi (line 225) | def test_create_role_client_pi(self) -> None: method test_create_role_client_pi_rpc (line 236) | def test_create_role_client_pi_rpc(self) -> None: class TestPiRunSmoke (line 253) | class TestPiRunSmoke: method test_autoctx_run_pi_cli_resolves_scenario_handoff (line 256) | def test_autoctx_run_pi_cli_resolves_scenario_handoff(self, tmp_path: ... method test_autoctx_run_pi_rpc_uses_distinct_role_clients (line 296) | def test_autoctx_run_pi_rpc_uses_distinct_role_clients(self, tmp_path:... class TestPiFailureModes (line 341) | class TestPiFailureModes: method test_unknown_provider_error_message_is_useful (line 344) | def test_unknown_provider_error_message_is_useful(self) -> None: method test_pi_rpc_uses_subprocess_not_http (line 350) | def test_pi_rpc_uses_subprocess_not_http(self) -> None: method test_pi_cli_runtime_unavailable_does_not_crash_construction (line 360) | def test_pi_cli_runtime_unavailable_does_not_crash_construction(self) ... FILE: autocontext/tests/test_pipeline_adapter.py function _make_settings (line 16) | def _make_settings(use_pipeline: bool = False) -> AppSettings: function _make_prompt_bundle (line 20) | def _make_prompt_bundle() -> PromptBundle: class TestBuildMtsDag (line 44) | class TestBuildMtsDag: method test_dag_has_five_roles (line 45) | def test_dag_has_five_roles(self) -> None: method test_dag_batch_order (line 49) | def test_dag_batch_order(self) -> None: method test_dag_validates (line 59) | def test_dag_validates(self) -> None: class TestBuildRoleHandler (line 64) | class TestBuildRoleHandler: method test_handler_returns_role_execution (line 65) | def test_handler_returns_role_execution(self) -> None: method test_handler_uses_local_runtime_when_role_routing_is_auto (line 74) | def test_handler_uses_local_runtime_when_role_routing_is_auto(self, tm... class TestPipelineOrchestratorIntegration (line 117) | class TestPipelineOrchestratorIntegration: method test_pipeline_produces_same_roles_as_direct (line 118) | def test_pipeline_produces_same_roles_as_direct(self) -> None: method test_pipeline_backward_compatible (line 129) | def test_pipeline_backward_compatible(self) -> None: method test_direct_and_pipeline_produce_equivalent_output (line 141) | def test_direct_and_pipeline_produce_equivalent_output(self) -> None: method test_pipeline_flag_default_off (line 156) | def test_pipeline_flag_default_off(self) -> None: method test_pipeline_skipped_when_rlm_enabled (line 161) | def test_pipeline_skipped_when_rlm_enabled(self) -> None: method test_pipeline_produces_coach_playbook (line 169) | def test_pipeline_produces_coach_playbook(self) -> None: method test_pipeline_produces_architect_tools (line 180) | def test_pipeline_produces_architect_tools(self) -> None: FILE: autocontext/tests/test_pipeline_wiring.py function _make_settings (line 18) | def _make_settings(**overrides: Any) -> AppSettings: function _make_scenario (line 34) | def _make_scenario() -> MagicMock: function _make_ctx (line 48) | def _make_ctx(settings: AppSettings | None = None, **overrides: Any) -> ... function _make_artifacts (line 69) | def _make_artifacts() -> MagicMock: function _make_trajectory_builder (line 83) | def _make_trajectory_builder() -> MagicMock: function _mock_prompt_bundle (line 91) | def _mock_prompt_bundle() -> MagicMock: class TestTuningLoadAtStartup (line 106) | class TestTuningLoadAtStartup: method test_tuning_loaded_when_config_adaptive_enabled (line 109) | def test_tuning_loaded_when_config_adaptive_enabled(self) -> None: method test_tuning_not_loaded_when_config_adaptive_disabled (line 131) | def test_tuning_not_loaded_when_config_adaptive_disabled(self) -> None: method test_tuning_empty_json_no_crash (line 145) | def test_tuning_empty_json_no_crash(self) -> None: class TestProtocolOverrides (line 166) | class TestProtocolOverrides: method test_protocol_overrides_applied_when_protocol_enabled (line 169) | def test_protocol_overrides_applied_when_protocol_enabled(self) -> None: method test_protocol_overrides_not_applied_when_disabled (line 195) | def test_protocol_overrides_not_applied_when_disabled(self) -> None: method test_protocol_empty_no_crash (line 209) | def test_protocol_empty_no_crash(self) -> None: function _make_mock_tournament (line 230) | def _make_mock_tournament() -> MagicMock: class TestRapidGateInTournament (line 252) | class TestRapidGateInTournament: method test_rapid_gate_used_when_exploration_mode_rapid (line 255) | def test_rapid_gate_used_when_exploration_mode_rapid(self) -> None: method test_standard_gate_used_when_exploration_mode_linear (line 300) | def test_standard_gate_used_when_exploration_mode_linear(self) -> None: class TestRapidToLinearTransition (line 348) | class TestRapidToLinearTransition: method test_transition_after_rapid_gens (line 351) | def test_transition_after_rapid_gens(self) -> None: method test_no_transition_before_rapid_gens (line 396) | def test_no_transition_before_rapid_gens(self) -> None: class TestTuningFromArchitect (line 446) | class TestTuningFromArchitect: method test_tuning_proposal_parsed_when_config_adaptive_enabled (line 449) | def test_tuning_proposal_parsed_when_config_adaptive_enabled(self) -> ... method test_tuning_proposal_not_parsed_when_config_adaptive_disabled (line 490) | def test_tuning_proposal_not_parsed_when_config_adaptive_disabled(self... class TestTuningPersistence (line 534) | class TestTuningPersistence: method _make_persistence_ctx (line 537) | def _make_persistence_ctx( method test_tuning_persisted_on_advance (line 577) | def test_tuning_persisted_on_advance(self) -> None: method test_tuning_not_persisted_on_rollback (line 607) | def test_tuning_not_persisted_on_rollback(self) -> None: method test_no_tuning_proposal_no_persistence (line 637) | def test_no_tuning_proposal_no_persistence(self) -> None: FILE: autocontext/tests/test_policy_executor.py class TestPolicyMatchResult (line 17) | class TestPolicyMatchResult: method test_frozen_dataclass (line 18) | def test_frozen_dataclass(self) -> None: method test_frozen_immutable (line 36) | def test_frozen_immutable(self) -> None: class TestPolicyExecutorInit (line 53) | class TestPolicyExecutorInit: method test_creates_with_scenario (line 54) | def test_creates_with_scenario(self) -> None: method test_creates_with_custom_timeout (line 59) | def test_creates_with_custom_timeout(self) -> None: method test_creates_with_safe_builtins_false (line 64) | def test_creates_with_safe_builtins_false(self) -> None: class TestPolicyExecutorSafety (line 73) | class TestPolicyExecutorSafety: method test_rejects_import_statements (line 74) | def test_rejects_import_statements(self) -> None: method test_rejects_dangerous_builtins (line 87) | def test_rejects_dangerous_builtins(self) -> None: method test_rejects_open (line 98) | def test_rejects_open(self) -> None: method test_rejects_dunder_access (line 110) | def test_rejects_dunder_access(self) -> None: method test_rejects_syntax_error (line 122) | def test_rejects_syntax_error(self) -> None: class TestPolicyExecutorBuiltins (line 134) | class TestPolicyExecutorBuiltins: method test_allows_math_operations (line 135) | def test_allows_math_operations(self) -> None: method test_safe_builtins_provides_expected_functions (line 149) | def test_safe_builtins_provides_expected_functions(self) -> None: class TestPolicyExecutorGridCtf (line 168) | class TestPolicyExecutorGridCtf: method test_valid_policy_returns_score (line 169) | def test_valid_policy_returns_score(self) -> None: method test_deterministic_with_same_seed (line 184) | def test_deterministic_with_same_seed(self) -> None: method test_different_seeds_may_differ (line 195) | def test_different_seeds_may_differ(self) -> None: method test_state_aware_policy (line 209) | def test_state_aware_policy(self) -> None: method test_illegal_action_detected (line 225) | def test_illegal_action_detected(self) -> None: method test_missing_fields_detected (line 238) | def test_missing_fields_detected(self) -> None: method test_replay_populated (line 250) | def test_replay_populated(self) -> None: method test_multi_turn_policy_runs_until_terminal (line 260) | def test_multi_turn_policy_runs_until_terminal(self) -> None: method test_non_terminal_policy_is_stopped_by_move_budget (line 326) | def test_non_terminal_policy_is_stopped_by_move_budget(self) -> None: class TestPolicyExecutorOthello (line 382) | class TestPolicyExecutorOthello: method test_valid_policy_returns_score (line 383) | def test_valid_policy_returns_score(self) -> None: method test_invalid_othello_policy (line 395) | def test_invalid_othello_policy(self) -> None: class TestPolicyExecutorMissingFunction (line 410) | class TestPolicyExecutorMissingFunction: method test_no_choose_action (line 411) | def test_no_choose_action(self) -> None: method test_choose_action_raises (line 422) | def test_choose_action_raises(self) -> None: method test_choose_action_returns_non_dict (line 433) | def test_choose_action_returns_non_dict(self) -> None: class TestPolicyExecutorTimeout (line 447) | class TestPolicyExecutorTimeout: method test_infinite_loop_times_out (line 448) | def test_infinite_loop_times_out(self) -> None: class TestPolicyExecutorBatch (line 465) | class TestPolicyExecutorBatch: method test_batch_multiple_matches (line 466) | def test_batch_multiple_matches(self) -> None: method test_batch_with_explicit_seeds (line 479) | def test_batch_with_explicit_seeds(self) -> None: method test_batch_default_n_matches (line 493) | def test_batch_default_n_matches(self) -> None: method test_batch_seeds_length_mismatch_uses_seeds (line 503) | def test_batch_seeds_length_mismatch_uses_seeds(self) -> None: class TestPolicyExecutorAllowedModules (line 518) | class TestPolicyExecutorAllowedModules: method test_math_module_available (line 519) | def test_math_module_available(self) -> None: FILE: autocontext/tests/test_policy_refinement.py class _DeterministicProvider (line 24) | class _DeterministicProvider(LLMProvider): method __init__ (line 27) | def __init__(self, responses: list[str]) -> None: method call_count (line 32) | def call_count(self) -> int: method complete (line 35) | def complete( method default_model (line 47) | def default_model(self) -> str: class TestComputeHeuristic (line 72) | class TestComputeHeuristic: method test_returns_zero_on_illegal_actions (line 73) | def test_returns_zero_on_illegal_actions(self) -> None: method test_returns_zero_on_errors (line 82) | def test_returns_zero_on_errors(self) -> None: method test_formula_with_valid_results (line 91) | def test_formula_with_valid_results(self) -> None: method test_perfect_score_returns_one (line 108) | def test_perfect_score_returns_one(self) -> None: method test_zero_score_returns_half (line 117) | def test_zero_score_returns_half(self) -> None: method test_mixed_one_illegal_returns_zero (line 127) | def test_mixed_one_illegal_returns_zero(self) -> None: class TestPolicyIteration (line 145) | class TestPolicyIteration: method test_frozen_dataclass (line 146) | def test_frozen_dataclass(self) -> None: method test_frozen_immutable (line 159) | def test_frozen_immutable(self) -> None: class TestPolicyRefinementResult (line 175) | class TestPolicyRefinementResult: method test_frozen_dataclass (line 176) | def test_frozen_dataclass(self) -> None: method test_frozen_immutable (line 191) | def test_frozen_immutable(self) -> None: class TestPolicyRefinementLoopInit (line 203) | class TestPolicyRefinementLoopInit: method test_creates_with_required_params (line 204) | def test_creates_with_required_params(self) -> None: method test_creates_with_custom_params (line 211) | def test_creates_with_custom_params(self) -> None: class TestPolicyRefinementLoopRefine (line 229) | class TestPolicyRefinementLoopRefine: method test_single_iteration_returns_result (line 230) | def test_single_iteration_returns_result(self) -> None: method test_build_refinement_prompt_compacts_verbose_feedback (line 246) | def test_build_refinement_prompt_compacts_verbose_feedback(self) -> None: method test_best_policy_tracked (line 282) | def test_best_policy_tracked(self) -> None: method test_zero_llm_calls_during_execution (line 296) | def test_zero_llm_calls_during_execution(self) -> None: method test_iteration_log_populated (line 313) | def test_iteration_log_populated(self) -> None: method test_illegal_policy_gets_heuristic_zero (line 328) | def test_illegal_policy_gets_heuristic_zero(self) -> None: method test_convergence_detection (line 343) | def test_convergence_detection(self) -> None: method test_works_with_othello (line 361) | def test_works_with_othello(self) -> None: method test_uses_stable_evaluation_seeds_each_iteration (line 374) | def test_uses_stable_evaluation_seeds_each_iteration(self) -> None: class TestPolicyRefinementLoopConvergence (line 438) | class TestPolicyRefinementLoopConvergence: method test_early_stop_at_perfect_heuristic (line 439) | def test_early_stop_at_perfect_heuristic(self) -> None: method test_max_iterations_reached (line 459) | def test_max_iterations_reached(self) -> None: class TestPolicyRefinementLoopErrorHandling (line 484) | class TestPolicyRefinementLoopErrorHandling: method test_llm_returns_invalid_policy (line 485) | def test_llm_returns_invalid_policy(self) -> None: method test_llm_returns_syntax_error (line 500) | def test_llm_returns_syntax_error(self) -> None: method test_refine_with_initially_bad_policy (line 514) | def test_refine_with_initially_bad_policy(self) -> None: FILE: autocontext/tests/test_policy_refinement_integration.py function _make_settings (line 23) | def _make_settings(**overrides: object) -> AppSettings: class TestPolicyRefinementSettings (line 36) | class TestPolicyRefinementSettings: method test_defaults_exist (line 37) | def test_defaults_exist(self) -> None: method test_env_var_override (line 47) | def test_env_var_override(self, monkeypatch: pytest.MonkeyPatch) -> None: class TestGenerationContextField (line 61) | class TestGenerationContextField: method test_policy_refinement_result_default_none (line 62) | def test_policy_refinement_result_default_none(self) -> None: class TestStageSkipConditions (line 84) | class TestStageSkipConditions: method _make_ctx (line 85) | def _make_ctx(self, **overrides: object): method test_skips_when_disabled (line 105) | def test_skips_when_disabled(self) -> None: method test_skips_when_not_code_strategy (line 116) | def test_skips_when_not_code_strategy(self) -> None: method test_skips_for_agent_task_scenario (line 130) | def test_skips_for_agent_task_scenario(self) -> None: class TestStageExecution (line 147) | class TestStageExecution: method _make_ctx (line 148) | def _make_ctx(self, **overrides: object): method _make_deterministic_client (line 171) | def _make_deterministic_client(self) -> MagicMock: method test_refines_code_strategy (line 179) | def test_refines_code_strategy(self) -> None: method test_emits_started_and_completed_events (line 202) | def test_emits_started_and_completed_events(self) -> None: method test_fallback_on_error (line 216) | def test_fallback_on_error(self) -> None: class TestClientAsProviderBridge (line 240) | class TestClientAsProviderBridge: method test_delegates_to_client (line 241) | def test_delegates_to_client(self) -> None: method test_default_model (line 257) | def test_default_model(self) -> None: FILE: autocontext/tests/test_preflight.py function test_scenario_exists_check_passes (line 9) | def test_scenario_exists_check_passes() -> None: function test_scenario_exists_check_fails (line 15) | def test_scenario_exists_check_fails() -> None: function test_knowledge_dir_writable (line 21) | def test_knowledge_dir_writable(tmp_path: Path) -> None: function test_run_all_checks (line 27) | def test_run_all_checks() -> None: function test_to_markdown (line 34) | def test_to_markdown() -> None: FILE: autocontext/tests/test_prepare_mlx.py function test_jsonl_loading_and_split (line 19) | def test_jsonl_loading_and_split(tmp_path: Path) -> None: function test_format_training_example (line 48) | def test_format_training_example() -> None: function test_total_vocab_size_includes_special_tokens (line 67) | def test_total_vocab_size_includes_special_tokens() -> None: function test_best_known_opponent_extraction (line 74) | def test_best_known_opponent_extraction(tmp_path: Path) -> None: function test_extract_strategy_json_without_trailing_special_token (line 87) | def test_extract_strategy_json_without_trailing_special_token() -> None: function test_bpe_training (line 101) | def test_bpe_training(tmp_path: Path) -> None: function test_dataloader_shape (line 122) | def test_dataloader_shape(tmp_path: Path) -> None: function test_assess_strategy_quality_game_scenario (line 140) | def test_assess_strategy_quality_game_scenario() -> None: function test_assess_strategy_quality_agent_task (line 168) | def test_assess_strategy_quality_agent_task() -> None: FILE: autocontext/tests/test_preset_named.py class TestPresetDefinitions (line 17) | class TestPresetDefinitions: method test_quick_preset (line 20) | def test_quick_preset(self) -> None: method test_standard_preset (line 28) | def test_standard_preset(self) -> None: method test_deep_preset (line 35) | def test_deep_preset(self) -> None: method test_rapid_preset (line 43) | def test_rapid_preset(self) -> None: class TestApplyPreset (line 55) | class TestApplyPreset: method test_each_preset_applies_expected_values (line 58) | def test_each_preset_applies_expected_values(self) -> None: method test_invalid_preset_raises_error (line 65) | def test_invalid_preset_raises_error(self) -> None: method test_empty_string_returns_empty (line 70) | def test_empty_string_returns_empty(self) -> None: class TestPresetIntegration (line 76) | class TestPresetIntegration: method test_default_preset_is_standard (line 79) | def test_default_preset_is_standard(self) -> None: method test_env_var_overrides_preset (line 89) | def test_env_var_overrides_preset(self) -> None: method test_preset_plus_explicit_override (line 100) | def test_preset_plus_explicit_override(self) -> None: method test_quick_preset_via_load_settings (line 112) | def test_quick_preset_via_load_settings(self) -> None: method test_rapid_preset_via_load_settings (line 121) | def test_rapid_preset_via_load_settings(self) -> None: FILE: autocontext/tests/test_presets.py function test_preset_names (line 13) | def test_preset_names() -> None: function test_quick_preset (line 21) | def test_quick_preset() -> None: function test_standard_preset (line 28) | def test_standard_preset() -> None: function test_deep_preset (line 35) | def test_deep_preset() -> None: function test_apply_preset_returns_overrides (line 42) | def test_apply_preset_returns_overrides() -> None: function test_apply_preset_unknown_raises (line 49) | def test_apply_preset_unknown_raises() -> None: function test_load_settings_with_preset (line 55) | def test_load_settings_with_preset() -> None: function test_env_var_overrides_preset (line 64) | def test_env_var_overrides_preset() -> None: FILE: autocontext/tests/test_prevalidation.py class FakeScenario (line 26) | class FakeScenario: method __init__ (line 31) | def __init__( method execute_match (line 44) | def execute_match(self, strategy: Mapping[str, Any], seed: int) -> Res... method initial_state (line 51) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method validate_actions (line 54) | def validate_actions( class TestValidationResult (line 65) | class TestValidationResult: method test_valid_json_strategy_passes (line 66) | def test_valid_json_strategy_passes(self) -> None: method test_invalid_json_strategy_detected (line 81) | def test_invalid_json_strategy_detected(self) -> None: method test_validation_errors_in_result (line 94) | def test_validation_errors_in_result(self) -> None: method test_code_strategy_passthrough (line 113) | def test_code_strategy_passthrough(self) -> None: class TestFormatRevisionPrompt (line 131) | class TestFormatRevisionPrompt: method test_format_revision_prompt_includes_errors (line 132) | def test_format_revision_prompt_includes_errors(self) -> None: method test_format_revision_prompt_includes_strategy (line 145) | def test_format_revision_prompt_includes_strategy(self) -> None: class TestConfigFields (line 165) | class TestConfigFields: method test_config_defaults (line 166) | def test_config_defaults(self) -> None: method test_config_env_vars (line 173) | def test_config_env_vars(self) -> None: method test_dry_run_toggle_env_var (line 186) | def test_dry_run_toggle_env_var(self) -> None: class TestCompetitorRevise (line 203) | class TestCompetitorRevise: method test_competitor_revise_method (line 204) | def test_competitor_revise_method(self) -> None: class TestStagePrevalidation (line 242) | class TestStagePrevalidation: method _make_ctx (line 243) | def _make_ctx( method test_pipeline_skips_when_disabled (line 277) | def test_pipeline_skips_when_disabled(self) -> None: method test_pipeline_passes_valid_strategy (line 290) | def test_pipeline_passes_valid_strategy(self) -> None: method test_pipeline_retries_on_failure (line 306) | def test_pipeline_retries_on_failure(self) -> None: method test_dry_run_disabled_skips_self_play (line 346) | def test_dry_run_disabled_skips_self_play(self) -> None: method test_dry_run_disabled_no_harness_returns_immediately (line 367) | def test_dry_run_disabled_no_harness_returns_immediately(self) -> None: method test_max_retries_exhaustion (line 382) | def test_max_retries_exhaustion(self) -> None: method test_regression_fixtures_trigger_revision_before_dry_run (line 413) | def test_regression_fixtures_trigger_revision_before_dry_run(self) -> ... class TestEventEmission (line 480) | class TestEventEmission: method test_event_emission_payloads (line 481) | def test_event_emission_payloads(self) -> None: class TestPipelineWiring (line 539) | class TestPipelineWiring: method test_generation_pipeline_imports_stage_prevalidation (line 540) | def test_generation_pipeline_imports_stage_prevalidation(self) -> None: method test_stage_prevalidation_is_patchable (line 548) | def test_stage_prevalidation_is_patchable(self) -> None: class TestDeadEndFromPrevalidation (line 561) | class TestDeadEndFromPrevalidation: method _make_ctx (line 562) | def _make_ctx( method _mock_agents (line 593) | def _mock_agents(self) -> MagicMock: method test_dry_run_exhaustion_records_dead_end (line 607) | def test_dry_run_exhaustion_records_dead_end(self) -> None: method test_no_dead_end_when_tracking_disabled (line 626) | def test_no_dead_end_when_tracking_disabled(self) -> None: method test_no_dead_end_when_no_artifacts (line 639) | def test_no_dead_end_when_no_artifacts(self) -> None: method test_no_dead_end_when_validation_passes (line 650) | def test_no_dead_end_when_validation_passes(self) -> None: method test_harness_failure_records_dead_end (line 666) | def test_harness_failure_records_dead_end(self) -> None: method test_harness_failure_without_errors_still_records_dead_end (line 691) | def test_harness_failure_without_errors_still_records_dead_end(self) -... FILE: autocontext/tests/test_primeintellect_client.py class _FakeSandbox (line 10) | class _FakeSandbox: method __init__ (line 11) | def __init__(self, sandbox_id: str): class _FakeCommandResponse (line 15) | class _FakeCommandResponse: method __init__ (line 16) | def __init__(self, stdout: str, stderr: str = "", exit_code: int = 0): class _SuccessAsyncClient (line 22) | class _SuccessAsyncClient: method __init__ (line 26) | def __init__(self, api_key: str): method __aenter__ (line 29) | async def __aenter__(self) -> _SuccessAsyncClient: method __aexit__ (line 32) | async def __aexit__(self, exc_type, exc, tb) -> None: method list (line 35) | async def list(self, **kwargs: Any) -> dict[str, Any]: method create (line 38) | async def create(self, request: Any) -> _FakeSandbox: method wait_for_creation (line 42) | async def wait_for_creation(self, sandbox_id: str, max_attempts: int) ... method execute_command (line 46) | async def execute_command(self, sandbox_id: str, command: str, timeout... method delete (line 55) | async def delete(self, sandbox_id: str) -> dict[str, Any]: class _FailingAsyncClient (line 60) | class _FailingAsyncClient(_SuccessAsyncClient): method execute_command (line 61) | async def execute_command(self, sandbox_id: str, command: str, timeout... function test_execute_strategy_uses_sandbox_lifecycle (line 66) | def test_execute_strategy_uses_sandbox_lifecycle(monkeypatch: pytest.Mon... function test_execute_strategy_falls_back_when_enabled (line 84) | def test_execute_strategy_falls_back_when_enabled(monkeypatch: pytest.Mo... function test_execute_strategy_raises_when_fallback_disabled (line 101) | def test_execute_strategy_raises_when_fallback_disabled(monkeypatch: pyt... function test_build_eval_command_does_not_reference_undefined_logging (line 116) | def test_build_eval_command_does_not_reference_undefined_logging() -> None: FILE: autocontext/tests/test_probe_pipeline.py function _configure_pipeline_settings (line 9) | def _configure_pipeline_settings(mock_ctx: MagicMock, *, probe_matches: ... function _make_pipeline (line 18) | def _make_pipeline() -> GenerationPipeline: function test_pipeline_calls_probe_when_enabled (line 33) | def test_pipeline_calls_probe_when_enabled() -> None: function test_pipeline_skips_probe_when_disabled (line 59) | def test_pipeline_skips_probe_when_disabled() -> None: function test_pipeline_continues_after_staged_validation_retry_signal (line 86) | def test_pipeline_continues_after_staged_validation_retry_signal() -> None: function test_pipeline_calls_consultation_after_stagnation_check (line 116) | def test_pipeline_calls_consultation_after_stagnation_check() -> None: function test_pipeline_skips_optional_stages_when_cost_throttled (line 142) | def test_pipeline_skips_optional_stages_when_cost_throttled() -> None: FILE: autocontext/tests/test_production_traces_contract.py function _minimal_trace (line 24) | def _minimal_trace() -> dict: function test_validate_production_trace_accepts_minimal_valid_input (line 48) | def test_validate_production_trace_accepts_minimal_valid_input() -> None: function test_validate_production_trace_rejects_missing_required_field (line 56) | def test_validate_production_trace_rejects_missing_required_field() -> N... function test_validate_production_trace_rejects_invalid_ulid (line 63) | def test_validate_production_trace_rejects_invalid_ulid() -> None: function test_validate_production_trace_rejects_unknown_provider_name (line 74) | def test_validate_production_trace_rejects_unknown_provider_name() -> None: function test_validate_production_trace_rejects_empty_messages (line 81) | def test_validate_production_trace_rejects_empty_messages() -> None: function test_validate_production_trace_rejects_bad_role (line 88) | def test_validate_production_trace_rejects_bad_role() -> None: function test_validate_production_trace_accepts_optional_fields (line 97) | def test_validate_production_trace_accepts_optional_fields() -> None: function test_validate_production_trace_rejects_bad_user_id_hash (line 124) | def test_validate_production_trace_rejects_bad_user_id_hash() -> None: function test_validate_production_trace_rejects_bad_app_id (line 131) | def test_validate_production_trace_rejects_bad_app_id() -> None: function test_validate_production_trace_rejects_negative_tokens (line 138) | def test_validate_production_trace_rejects_negative_tokens() -> None: function test_validate_production_trace_round_trips_via_model_dump (line 145) | def test_validate_production_trace_round_trips_via_model_dump() -> None: function test_branded_ids_annotations_are_aliases (line 155) | def test_branded_ids_annotations_are_aliases() -> None: FILE: autocontext/tests/test_production_traces_emit.py function _timing (line 22) | def _timing(offset_seconds: int = 0) -> dict[str, Any]: function _messages (line 32) | def _messages() -> list[dict[str, Any]]: function _usage (line 36) | def _usage() -> dict[str, Any]: function _env (line 40) | def _env() -> dict[str, Any]: function test_build_trace_with_minimum_args_returns_valid_trace (line 47) | def test_build_trace_with_minimum_args_returns_valid_trace() -> None: function test_build_trace_generates_ulid_trace_id_by_default (line 65) | def test_build_trace_generates_ulid_trace_id_by_default() -> None: function test_build_trace_honors_explicit_trace_id (line 79) | def test_build_trace_honors_explicit_trace_id() -> None: function test_build_trace_default_source_is_py_sdk (line 95) | def test_build_trace_default_source_is_py_sdk() -> None: function test_build_trace_accepts_optional_fields (line 112) | def test_build_trace_accepts_optional_fields() -> None: function test_build_trace_defaults_toolcalls_and_feedbackrefs_to_empty_lists (line 145) | def test_build_trace_defaults_toolcalls_and_feedbackrefs_to_empty_lists(... function test_build_trace_sets_schema_version_1_0 (line 162) | def test_build_trace_sets_schema_version_1_0() -> None: function test_build_trace_rejects_invalid_input_via_pydantic (line 176) | def test_build_trace_rejects_invalid_input_via_pydantic() -> None: function test_build_trace_rejects_empty_messages (line 192) | def test_build_trace_rejects_empty_messages() -> None: function test_build_trace_allows_caller_to_mutate_returned_dict (line 208) | def test_build_trace_allows_caller_to_mutate_returned_dict() -> None: function test_write_jsonl_writes_single_trace_to_incoming_path (line 228) | def test_write_jsonl_writes_single_trace_to_incoming_path(tmp_path: Path... function test_write_jsonl_writes_list_of_traces_one_per_line (line 253) | def test_write_jsonl_writes_list_of_traces_one_per_line(tmp_path: Path) ... function test_write_jsonl_date_partitions_by_first_trace_started_at (line 274) | def test_write_jsonl_date_partitions_by_first_trace_started_at(tmp_path:... function test_write_jsonl_uses_explicit_batch_id (line 294) | def test_write_jsonl_uses_explicit_batch_id(tmp_path: Path) -> None: function test_write_jsonl_honors_autocontext_registry_path_env (line 310) | def test_write_jsonl_honors_autocontext_registry_path_env( function test_write_jsonl_defaults_to_cwd_when_no_env_or_arg (line 328) | def test_write_jsonl_defaults_to_cwd_when_no_env_or_arg( function test_write_jsonl_creates_intermediate_directories (line 349) | def test_write_jsonl_creates_intermediate_directories(tmp_path: Path) ->... function test_write_jsonl_produces_valid_jsonl_roundtrip (line 366) | def test_write_jsonl_produces_valid_jsonl_roundtrip(tmp_path: Path) -> N... function test_trace_batch_accumulates_and_reports_length (line 388) | def test_trace_batch_accumulates_and_reports_length() -> None: function test_trace_batch_flush_writes_accumulated_and_empties (line 407) | def test_trace_batch_flush_writes_accumulated_and_empties(tmp_path: Path... function test_trace_batch_flush_empty_returns_none (line 431) | def test_trace_batch_flush_empty_returns_none(tmp_path: Path) -> None: function test_trace_batch_filename_is_valid_ulid (line 438) | def test_trace_batch_filename_is_valid_ulid(tmp_path: Path) -> None: function test_write_jsonl_json_is_utf8_encoded_no_ascii_escape (line 458) | def test_write_jsonl_json_is_utf8_encoded_no_ascii_escape(tmp_path: Path... function test_write_jsonl_str_cwd_accepted (line 480) | def test_write_jsonl_str_cwd_accepted(tmp_path: Path) -> None: function test_write_jsonl_returns_absolute_path (line 495) | def test_write_jsonl_returns_absolute_path(tmp_path: Path) -> None: FILE: autocontext/tests/test_production_traces_fixtures.py function _all_fixtures (line 23) | def _all_fixtures() -> list[Path]: function test_valid_fixtures_accepted (line 29) | def test_valid_fixtures_accepted(fixture: Path) -> None: function test_invalid_fixtures_rejected (line 37) | def test_invalid_fixtures_rejected(fixture: Path) -> None: function test_fixture_directory_contains_the_expected_set (line 43) | def test_fixture_directory_contains_the_expected_set() -> None: FILE: autocontext/tests/test_production_traces_hashing.py function test_hash_user_id_is_sha256_of_salt_plus_value (line 21) | def test_hash_user_id_is_sha256_of_salt_plus_value() -> None: function test_hash_user_id_returns_64_char_lowercase_hex (line 30) | def test_hash_user_id_returns_64_char_lowercase_hex() -> None: function test_hash_user_id_is_deterministic (line 40) | def test_hash_user_id_is_deterministic() -> None: function test_hash_user_id_differs_by_salt (line 47) | def test_hash_user_id_differs_by_salt() -> None: function test_hash_user_id_differs_by_value (line 55) | def test_hash_user_id_differs_by_value() -> None: function test_hash_session_id_uses_same_algorithm_as_user_id (line 62) | def test_hash_session_id_uses_same_algorithm_as_user_id() -> None: function test_hash_helpers_reject_empty_salt (line 71) | def test_hash_helpers_reject_empty_salt() -> None: function test_hash_user_id_matches_ts_reference_output (line 80) | def test_hash_user_id_matches_ts_reference_output() -> None: function test_load_install_salt_returns_none_when_missing (line 112) | def test_load_install_salt_returns_none_when_missing(tmp_path: Path) -> ... function test_initialize_install_salt_writes_64_char_hex (line 118) | def test_initialize_install_salt_writes_64_char_hex(tmp_path: Path) -> N... function test_load_install_salt_roundtrips_initialized_value (line 127) | def test_load_install_salt_roundtrips_initialized_value(tmp_path: Path) ... function test_initialize_install_salt_refuses_to_overwrite (line 135) | def test_initialize_install_salt_refuses_to_overwrite(tmp_path: Path) ->... function test_rotate_install_salt_generates_new_value (line 143) | def test_rotate_install_salt_generates_new_value(tmp_path: Path) -> None: function test_rotate_install_salt_works_when_no_prior_salt (line 157) | def test_rotate_install_salt_works_when_no_prior_salt(tmp_path: Path) ->... function test_install_salt_file_has_0600_permissions (line 165) | def test_install_salt_file_has_0600_permissions(tmp_path: Path) -> None: function test_load_install_salt_trims_trailing_newline (line 175) | def test_load_install_salt_trims_trailing_newline(tmp_path: Path) -> None: function test_load_install_salt_rejects_malformed_hex (line 185) | def test_load_install_salt_rejects_malformed_hex(tmp_path: Path) -> None: function test_initialize_install_salt_accepts_str_cwd (line 195) | def test_initialize_install_salt_accepts_str_cwd(tmp_path: Path) -> None: FILE: autocontext/tests/test_production_traces_validate.py function _minimal_trace (line 13) | def _minimal_trace() -> dict: function test_validate_production_trace_dict_accepts_valid_and_returns_empty_errors (line 37) | def test_validate_production_trace_dict_accepts_valid_and_returns_empty_... function test_validate_production_trace_dict_rejects_missing_required_field (line 45) | def test_validate_production_trace_dict_rejects_missing_required_field()... function test_validate_production_trace_dict_rejects_bad_role_with_field_pointer (line 58) | def test_validate_production_trace_dict_rejects_bad_role_with_field_poin... function test_validate_production_trace_dict_rejects_non_dict_input (line 72) | def test_validate_production_trace_dict_rejects_non_dict_input() -> None: function test_exports_include_both_variants (line 81) | def test_exports_include_both_variants() -> None: FILE: autocontext/tests/test_program_template.py function test_template_renders_with_all_variables (line 5) | def test_template_renders_with_all_variables() -> None: function test_rendered_program_contains_scenario_and_schema (line 28) | def test_rendered_program_contains_scenario_and_schema() -> None: function test_dead_ends_and_playbook_injected (line 44) | def test_dead_ends_and_playbook_injected() -> None: function test_program_contains_key_sections (line 63) | def test_program_contains_key_sections() -> None: FILE: autocontext/tests/test_progress_digests.py class TestWorkerDigest (line 10) | class TestWorkerDigest: method test_create_from_worker (line 13) | def test_create_from_worker(self) -> None: method test_completed_worker_digest (line 25) | def test_completed_worker_digest(self) -> None: class TestProgressDigest (line 37) | class TestProgressDigest: method test_build_from_coordinator (line 40) | def test_build_from_coordinator(self) -> None: method test_digest_summary_is_short (line 57) | def test_digest_summary_is_short(self) -> None: method test_empty_coordinator_digest (line 68) | def test_empty_coordinator_digest(self) -> None: method test_recent_changes_from_events (line 77) | def test_recent_changes_from_events(self) -> None: method test_redirected_workers_still_appear_in_digest_summary (line 89) | def test_redirected_workers_still_appear_in_digest_summary(self) -> None: method test_child_task_failure_recent_change_keeps_error_visible (line 104) | def test_child_task_failure_recent_change_keeps_error_visible(self) ->... class TestDigestDegradation (line 132) | class TestDigestDegradation: method test_digest_from_session_without_coordinator (line 135) | def test_digest_from_session_without_coordinator(self) -> None: method test_digest_never_crashes (line 147) | def test_digest_never_crashes(self) -> None: FILE: autocontext/tests/test_progress_json.py class TestProgressSnapshot (line 15) | class TestProgressSnapshot: method test_to_dict_roundtrip (line 16) | def test_to_dict_roundtrip(self) -> None: method test_to_json_valid (line 34) | def test_to_json_valid(self) -> None: method test_to_json_sorted_keys (line 52) | def test_to_json_sorted_keys(self) -> None: class TestBuildProgressSnapshot (line 74) | class TestBuildProgressSnapshot: method test_last_advance_generation (line 75) | def test_last_advance_generation(self) -> None: method test_stagnation_count_trailing_rollbacks (line 88) | def test_stagnation_count_trailing_rollbacks(self) -> None: method test_stagnation_count_all_advance (line 101) | def test_stagnation_count_all_advance(self) -> None: method test_top_lessons_capped_at_5 (line 114) | def test_top_lessons_capped_at_5(self) -> None: method test_score_trend_last_10 (line 129) | def test_score_trend_last_10(self) -> None: method test_empty_gate_history (line 144) | def test_empty_gate_history(self) -> None: method test_strategy_summary_is_copy (line 158) | def test_strategy_summary_is_copy(self) -> None: class TestArtifactStoreProgress (line 177) | class TestArtifactStoreProgress: method _make_store (line 178) | def _make_store(self, tmp_path: Path) -> ArtifactStore: method test_read_progress_missing (line 186) | def test_read_progress_missing(self, tmp_path: Path) -> None: method test_write_and_read_progress (line 190) | def test_write_and_read_progress(self, tmp_path: Path) -> None: method test_write_progress_creates_directory (line 199) | def test_write_progress_creates_directory(self, tmp_path: Path) -> None: method test_write_progress_overwrites (line 206) | def test_write_progress_overwrites(self, tmp_path: Path) -> None: class TestPromptBundleProgressInjection (line 219) | class TestPromptBundleProgressInjection: method _obs (line 220) | def _obs(self) -> Observation: method test_progress_json_included_in_prompt (line 223) | def test_progress_json_included_in_prompt(self) -> None: method test_no_progress_json_when_empty (line 242) | def test_no_progress_json_when_empty(self) -> None: method test_progress_json_default_empty (line 258) | def test_progress_json_default_empty(self) -> None: FILE: autocontext/tests/test_protocol.py function _find_schema_path (line 56) | def _find_schema_path() -> Path | None: class TestSchemaConformance (line 67) | class TestSchemaConformance: method test_protocol_models_match_schema_file (line 68) | def test_protocol_models_match_schema_file(self) -> None: class TestHelloMsg (line 83) | class TestHelloMsg: method test_defaults (line 84) | def test_defaults(self) -> None: method test_round_trip (line 89) | def test_round_trip(self) -> None: class TestServerMessageRoundTrip (line 97) | class TestServerMessageRoundTrip: method test_round_trip (line 138) | def test_round_trip(self, model: type, kwargs: dict) -> None: class TestClientMessageParsing (line 146) | class TestClientMessageParsing: method test_valid_messages (line 165) | def test_valid_messages(self, raw: dict, expected_type: type) -> None: method test_unknown_type_rejected (line 169) | def test_unknown_type_rejected(self) -> None: method test_missing_type_rejected (line 173) | def test_missing_type_rejected(self) -> None: method test_extra_fields_rejected (line 177) | def test_extra_fields_rejected(self) -> None: method test_invalid_gate_decision_rejected (line 181) | def test_invalid_gate_decision_rejected(self) -> None: method test_empty_required_strings_rejected (line 194) | def test_empty_required_strings_rejected(self, raw: dict[str, object])... method test_non_positive_generations_rejected (line 199) | def test_non_positive_generations_rejected(self, generations: int) -> ... class TestEventPayloads (line 204) | class TestEventPayloads: method test_validates (line 248) | def test_validates(self, model: type, kwargs: dict) -> None: method test_extra_fields_rejected (line 254) | def test_extra_fields_rejected(self) -> None: class TestNestedModels (line 259) | class TestNestedModels: method test_scenario_info (line 260) | def test_scenario_info(self) -> None: method test_strategy_param (line 264) | def test_strategy_param(self) -> None: method test_scoring_component (line 268) | def test_scoring_component(self) -> None: FILE: autocontext/tests/test_protocol_parity.py function _repo_root (line 18) | def _repo_root() -> Path: function _protocol_schema_path (line 29) | def _protocol_schema_path() -> Path: class TestProtocolSchemaExport (line 34) | class TestProtocolSchemaExport: method test_export_contains_protocol_version (line 37) | def test_export_contains_protocol_version(self) -> None: method test_export_contains_server_messages (line 42) | def test_export_contains_server_messages(self) -> None: method test_export_contains_client_messages (line 47) | def test_export_contains_client_messages(self) -> None: class TestProtocolSchemaFile (line 53) | class TestProtocolSchemaFile: method test_schema_file_exists (line 56) | def test_schema_file_exists(self) -> None: method test_schema_file_matches_live (line 63) | def test_schema_file_matches_live(self) -> None: class TestProtocolGenerationScript (line 75) | class TestProtocolGenerationScript: method test_generation_script_exists (line 78) | def test_generation_script_exists(self) -> None: method test_generation_script_check_mode (line 82) | def test_generation_script_check_mode(self) -> None: class TestScenarioErrorMsgStage (line 98) | class TestScenarioErrorMsgStage: method test_scenario_error_has_stage_field (line 101) | def test_scenario_error_has_stage_field(self) -> None: method test_scenario_error_stage_is_string (line 110) | def test_scenario_error_stage_is_string(self) -> None: class TestProtocolSingleSourceOfTruth (line 118) | class TestProtocolSingleSourceOfTruth: method test_all_server_message_types_in_schema (line 121) | def test_all_server_message_types_in_schema(self) -> None: FILE: autocontext/tests/test_provider_retry.py class TestProviderRegistryRetry (line 12) | class TestProviderRegistryRetry: method test_create_provider_returns_retry_wrapped (line 13) | def test_create_provider_returns_retry_wrapped(self) -> None: method test_ollama_provider_returns_retry_wrapped (line 24) | def test_ollama_provider_returns_retry_wrapped(self) -> None: method test_retry_provider_retries_on_500 (line 38) | def test_retry_provider_retries_on_500(self) -> None: method test_retry_gives_up_after_max_retries (line 58) | def test_retry_gives_up_after_max_retries(self) -> None: method test_get_provider_also_wraps (line 74) | def test_get_provider_also_wraps(self) -> None: FILE: autocontext/tests/test_providers.py class _DummyProvider (line 27) | class _DummyProvider(LLMProvider): method __init__ (line 30) | def __init__(self, response: str = "hello") -> None: method complete (line 34) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 43) | def default_model(self): class TestLLMProviderInterface (line 47) | class TestLLMProviderInterface: method test_concrete_provider_works (line 48) | def test_concrete_provider_works(self): method test_default_model (line 55) | def test_default_model(self): method test_name_property (line 59) | def test_name_property(self): method test_completion_result_fields (line 63) | def test_completion_result_fields(self): method test_completion_result_defaults (line 70) | def test_completion_result_defaults(self): class TestCallableProvider (line 81) | class TestCallableProvider: method test_wraps_callable (line 82) | def test_wraps_callable(self): method test_default_model (line 91) | def test_default_model(self): method test_error_wrapping (line 95) | def test_error_wrapping(self): class TestRegistry (line 108) | class TestRegistry: method test_create_anthropic_provider (line 109) | def test_create_anthropic_provider(self): method test_create_ollama_provider (line 116) | def test_create_ollama_provider(self): method test_create_vllm_provider (line 122) | def test_create_vllm_provider(self): method test_unknown_provider_raises (line 126) | def test_unknown_provider_raises(self): method test_case_insensitive (line 130) | def test_case_insensitive(self): method test_create_openai_compat (line 135) | def test_create_openai_compat(self): function _make_judge_response (line 149) | def _make_judge_response(score: float = 0.75, reasoning: str = "good", d... class TestJudgeWithProvider (line 154) | class TestJudgeWithProvider: method test_judge_with_provider (line 155) | def test_judge_with_provider(self): method test_judge_with_llm_fn_backward_compat (line 163) | def test_judge_with_llm_fn_backward_compat(self): method test_judge_requires_provider_or_fn (line 171) | def test_judge_requires_provider_or_fn(self): method test_judge_provider_takes_precedence (line 175) | def test_judge_provider_takes_precedence(self): method test_judge_multi_sample_with_provider (line 187) | def test_judge_multi_sample_with_provider(self): method test_judge_passes_model_to_provider (line 195) | def test_judge_passes_model_to_provider(self): method test_judge_with_reference_context (line 201) | def test_judge_with_reference_context(self): method test_judge_with_calibration_examples (line 208) | def test_judge_with_calibration_examples(self): class TestSettingsIntegration (line 221) | class TestSettingsIntegration: method test_new_settings_have_defaults (line 222) | def test_new_settings_have_defaults(self): method test_get_provider_from_settings (line 230) | def test_get_provider_from_settings(self, monkeypatch): method test_get_provider_ollama (line 242) | def test_get_provider_ollama(self): class TestJudgeFallbackParser (line 256) | class TestJudgeFallbackParser: method _make_judge (line 259) | def _make_judge(self): method test_strategy1_markers (line 266) | def test_strategy1_markers(self): method test_strategy2_code_block (line 280) | def test_strategy2_code_block(self): method test_strategy2_code_block_no_lang (line 293) | def test_strategy2_code_block_no_lang(self): method test_strategy3_raw_json (line 303) | def test_strategy3_raw_json(self): method test_strategy3_raw_json_nested (line 316) | def test_strategy3_raw_json_nested(self): method test_strategy4_plaintext_score (line 326) | def test_strategy4_plaintext_score(self): method test_strategy4_quoted_score (line 339) | def test_strategy4_quoted_score(self): method test_strategy4_score_colon (line 345) | def test_strategy4_score_colon(self): method test_all_strategies_fail (line 351) | def test_all_strategies_fail(self): method test_strategy_priority_markers_first (line 358) | def test_strategy_priority_markers_first(self): method test_score_clamping (line 372) | def test_score_clamping(self): method test_score_clamping_negative (line 378) | def test_score_clamping_negative(self): FILE: autocontext/tests/test_pydantic_migration.py class TestCalibrationSamplePydantic (line 18) | class TestCalibrationSamplePydantic: method test_model_dump_roundtrip (line 19) | def test_model_dump_roundtrip(self) -> None: method test_json_serialization (line 43) | def test_json_serialization(self) -> None: class TestCalibrationOutcomePydantic (line 64) | class TestCalibrationOutcomePydantic: method test_model_dump (line 65) | def test_model_dump(self) -> None: class TestCalibrationRoundPydantic (line 83) | class TestCalibrationRoundPydantic: method test_nested_model_dump (line 84) | def test_nested_model_dump(self) -> None: method test_backward_compat_to_dict (line 109) | def test_backward_compat_to_dict(self) -> None: FILE: autocontext/tests/test_python_control_package.py function test_python_control_package_identity (line 19) | def test_python_control_package_identity() -> None: function test_python_control_reexports_research_domain_contracts (line 24) | def test_python_control_reexports_research_domain_contracts() -> None: function test_python_control_reexports_research_brief (line 74) | def test_python_control_reexports_research_brief() -> None: function test_python_control_reexports_generation_kickoff_payloads (line 116) | def test_python_control_reexports_generation_kickoff_payloads() -> None: function test_python_control_reexports_role_completed_payload (line 134) | def test_python_control_reexports_role_completed_payload() -> None: function test_python_control_reexports_tournament_started_payload (line 152) | def test_python_control_reexports_tournament_started_payload() -> None: function test_python_control_reexports_tournament_completed_payload (line 166) | def test_python_control_reexports_tournament_completed_payload() -> None: function test_python_control_reexports_curator_started_payload (line 186) | def test_python_control_reexports_curator_started_payload() -> None: function test_python_control_reexports_match_completed_payload (line 198) | def test_python_control_reexports_match_completed_payload() -> None: function test_python_control_reexports_curator_completed_payload (line 214) | def test_python_control_reexports_curator_completed_payload() -> None: function test_python_control_reexports_run_started_payload (line 228) | def test_python_control_reexports_run_started_payload() -> None: function test_python_control_reexports_run_completed_payload (line 242) | def test_python_control_reexports_run_completed_payload() -> None: function test_python_control_reexports_gate_decided_payload (line 262) | def test_python_control_reexports_gate_decided_payload() -> None: function test_python_control_reexports_generation_completed_payload (line 278) | def test_python_control_reexports_generation_completed_payload() -> None: function test_python_control_reexports_shared_server_protocol_models (line 300) | def test_python_control_reexports_shared_server_protocol_models() -> None: function test_python_control_reexports_environment_discovery_messages (line 332) | def test_python_control_reexports_environment_discovery_messages() -> None: function test_python_control_reexports_run_acceptance_messages (line 369) | def test_python_control_reexports_run_acceptance_messages() -> None: function test_python_control_reexports_chat_response_messages (line 380) | def test_python_control_reexports_chat_response_messages() -> None: function test_python_control_reexports_event_messages (line 390) | def test_python_control_reexports_event_messages() -> None: function test_python_control_reexports_basic_server_protocol_messages (line 400) | def test_python_control_reexports_basic_server_protocol_messages() -> None: function test_python_control_reexports_monitor_alert_messages (line 422) | def test_python_control_reexports_monitor_alert_messages() -> None: function test_python_control_reexports_monitor_domain_value_objects (line 439) | def test_python_control_reexports_monitor_domain_value_objects() -> None: function test_python_control_reexports_agent_contract_dataclasses (line 471) | def test_python_control_reexports_agent_contract_dataclasses() -> None: function test_python_control_reexports_stagnation_report (line 513) | def test_python_control_reexports_stagnation_report() -> None: function test_python_control_reexports_basic_client_control_commands (line 527) | def test_python_control_reexports_basic_client_control_commands() -> None: function test_python_control_reexports_scenario_authoring_commands (line 546) | def test_python_control_reexports_scenario_authoring_commands() -> None: function test_python_control_reexports_run_setup_commands (line 565) | def test_python_control_reexports_run_setup_commands() -> None: function test_python_control_reexports_chat_agent_command (line 578) | def test_python_control_reexports_chat_agent_command() -> None: function test_python_control_requires_stage_for_scenario_error_messages (line 595) | def test_python_control_requires_stage_for_scenario_error_messages() -> ... function test_python_control_reexports_scenario_generation_lifecycle_messages (line 606) | def test_python_control_reexports_scenario_generation_lifecycle_messages... function test_python_control_reexports_production_trace_contracts (line 644) | def test_python_control_reexports_production_trace_contracts() -> None: FILE: autocontext/tests/test_python_core_package.py function test_python_core_package_identity (line 32) | def test_python_core_package_identity() -> None: function test_python_core_reexports_elo_primitives (line 37) | def test_python_core_reexports_elo_primitives() -> None: function test_python_core_reexports_prompt_budget_helpers (line 42) | def test_python_core_reexports_prompt_budget_helpers() -> None: function test_python_core_reexports_context_selection_report_helpers (line 56) | def test_python_core_reexports_context_selection_report_helpers() -> None: function test_python_core_reexports_prompt_bundle_assembly (line 65) | def test_python_core_reexports_prompt_bundle_assembly() -> None: function test_python_core_reexports_provider_primitives (line 85) | def test_python_core_reexports_provider_primitives() -> None: function test_python_core_reexports_rubric_coherence_helpers (line 92) | def test_python_core_reexports_rubric_coherence_helpers() -> None: function test_python_core_reexports_scenario_value_objects (line 103) | def test_python_core_reexports_scenario_value_objects() -> None: function test_python_core_reexports_judge_value_objects (line 132) | def test_python_core_reexports_judge_value_objects() -> None: function test_python_core_reexports_scenario_contract_interface (line 158) | def test_python_core_reexports_scenario_contract_interface() -> None: function test_python_core_reexports_agent_task_family_contracts (line 207) | def test_python_core_reexports_agent_task_family_contracts() -> None: function test_python_core_reexports_artifact_editing_family_contracts (line 247) | def test_python_core_reexports_artifact_editing_family_contracts() -> None: function test_python_core_reexports_simulation_family_contracts (line 307) | def test_python_core_reexports_simulation_family_contracts() -> None: function test_python_core_reexports_negotiation_family_contracts (line 391) | def test_python_core_reexports_negotiation_family_contracts() -> None: function test_python_core_reexports_investigation_family_contracts (line 513) | def test_python_core_reexports_investigation_family_contracts() -> None: function test_python_core_reexports_workflow_family_contracts (line 620) | def test_python_core_reexports_workflow_family_contracts() -> None: function test_python_core_reexports_schema_evolution_family_contracts (line 747) | def test_python_core_reexports_schema_evolution_family_contracts() -> None: function test_python_core_reexports_tool_fragility_family_contracts (line 864) | def test_python_core_reexports_tool_fragility_family_contracts() -> None: function test_python_core_reexports_operator_loop_family_contracts (line 988) | def test_python_core_reexports_operator_loop_family_contracts() -> None: function test_python_core_reexports_coordination_family_contracts (line 1102) | def test_python_core_reexports_coordination_family_contracts() -> None: function test_python_core_reexports_storage_row_contracts (line 1224) | def test_python_core_reexports_storage_row_contracts() -> None: FILE: autocontext/tests/test_rapid_exploration.py class TestRapidExplorationSettings (line 14) | class TestRapidExplorationSettings: method test_exploration_mode_defaults_linear (line 17) | def test_exploration_mode_defaults_linear(self) -> None: method test_rapid_gens_defaults_zero (line 21) | def test_rapid_gens_defaults_zero(self) -> None: method test_load_settings_reads_exploration_mode_env (line 25) | def test_load_settings_reads_exploration_mode_env(self, monkeypatch: p... class TestRapidPreset (line 36) | class TestRapidPreset: method test_rapid_preset_exists (line 39) | def test_rapid_preset_exists(self) -> None: method test_rapid_preset_values (line 42) | def test_rapid_preset_values(self) -> None: method test_apply_preset_rapid (line 48) | def test_apply_preset_rapid(self) -> None: class TestRapidGate (line 66) | class TestRapidGate: method test_rapid_gate_positive_delta_advances (line 69) | def test_rapid_gate_positive_delta_advances(self) -> None: method test_rapid_gate_zero_delta_rollback (line 73) | def test_rapid_gate_zero_delta_rollback(self) -> None: method test_rapid_gate_negative_delta_rollback (line 77) | def test_rapid_gate_negative_delta_rollback(self) -> None: method test_rapid_gate_result_fields (line 81) | def test_rapid_gate_result_fields(self) -> None: class TestAutoTransition (line 93) | class TestAutoTransition: method test_should_transition_when_at_limit (line 96) | def test_should_transition_when_at_limit(self) -> None: method test_should_not_transition_when_disabled (line 99) | def test_should_not_transition_when_disabled(self) -> None: FILE: autocontext/tests/test_refinement_prompt.py function _build (line 10) | def _build(**kwargs): # type: ignore[no-untyped-def] class TestBuildRefinementPrompt (line 14) | class TestBuildRefinementPrompt: method test_includes_parent_strategy (line 15) | def test_includes_parent_strategy(self) -> None: method test_includes_match_feedback (line 27) | def test_includes_match_feedback(self) -> None: method test_includes_scenario_context (line 38) | def test_includes_scenario_context(self) -> None: method test_refinement_not_creation (line 50) | def test_refinement_not_creation(self) -> None: method test_optional_playbook_included (line 62) | def test_optional_playbook_included(self) -> None: method test_optional_playbook_omitted_when_empty (line 73) | def test_optional_playbook_omitted_when_empty(self) -> None: method test_optional_trajectory_included (line 84) | def test_optional_trajectory_included(self) -> None: method test_optional_lessons_included (line 95) | def test_optional_lessons_included(self) -> None: method test_works_with_code_strategy (line 106) | def test_works_with_code_strategy(self) -> None: FILE: autocontext/tests/test_remediation_router.py function _report (line 35) | def _report(*errors_per_match: list[str]) -> FailureReport: function _fixture (line 57) | def _fixture(key: str, *, age_days: int = 0) -> Fixture: class TestRuleOffByOne (line 66) | class TestRuleOffByOne: method test_expected_vs_got_one_apart (line 67) | def test_expected_vs_got_one_apart(self) -> None: method test_off_by_sixteen_block_size (line 73) | def test_off_by_sixteen_block_size(self) -> None: method test_no_numeric_diff_no_hint (line 78) | def test_no_numeric_diff_no_hint(self) -> None: method test_diff_far_from_block_multiple_no_hint (line 82) | def test_diff_far_from_block_multiple_no_hint(self) -> None: class TestRulePositionalTypeError (line 91) | class TestRulePositionalTypeError: method test_positional_typerror_produces_surface_signatures (line 92) | def test_positional_typerror_produces_surface_signatures(self) -> None: method test_non_positional_typerror_skipped (line 107) | def test_non_positional_typerror_skipped(self) -> None: method test_no_typerror_no_hint (line 111) | def test_no_typerror_no_hint(self) -> None: class TestRuleStaleFixture (line 119) | class TestRuleStaleFixture: method test_missing_substring_with_stale_fixture_produces_refresh (line 120) | def test_missing_substring_with_stale_fixture_produces_refresh(self) -... method test_missing_substring_with_fresh_fixture_no_hint (line 132) | def test_missing_substring_with_fresh_fixture_no_hint(self) -> None: method test_no_fixture_match_no_hint (line 137) | def test_no_fixture_match_no_hint(self) -> None: method test_no_fixtures_arg_no_hint (line 143) | def test_no_fixtures_arg_no_hint(self) -> None: class TestRouteRemediations (line 151) | class TestRouteRemediations: method test_empty_report_no_hints (line 152) | def test_empty_report_no_hints(self) -> None: method test_diagnoses_with_no_errors_no_hints (line 156) | def test_diagnoses_with_no_errors_no_hints(self) -> None: method test_multiple_rules_can_fire (line 160) | def test_multiple_rules_can_fire(self) -> None: method test_custom_rules_pluggable (line 172) | def test_custom_rules_pluggable(self) -> None: method test_default_rules_set_documented (line 180) | def test_default_rules_set_documented(self) -> None: class TestRender (line 190) | class TestRender: method test_empty_renders_empty (line 191) | def test_empty_renders_empty(self) -> None: method test_includes_section_header (line 194) | def test_includes_section_header(self) -> None: method test_refinement_prompt_includes_hints_block (line 202) | def test_refinement_prompt_includes_hints_block(self) -> None: method test_refinement_prompt_no_hints_omits_block (line 221) | def test_refinement_prompt_no_hints_omits_block(self) -> None: method test_renders_all_hint_kinds (line 233) | def test_renders_all_hint_kinds(self) -> None: class TestStageTreeSearchWiring (line 245) | class TestStageTreeSearchWiring: method test_node_with_off_by_one_errors_produces_smallcaseverify_block (line 255) | def test_node_with_off_by_one_errors_produces_smallcaseverify_block(se... method test_node_without_errors_returns_empty_block (line 273) | def test_node_without_errors_returns_empty_block(self) -> None: FILE: autocontext/tests/test_remote_bridge.py class TestRemoteSession (line 13) | class TestRemoteSession: method test_create_viewer (line 16) | def test_create_viewer(self) -> None: method test_create_controller (line 26) | def test_create_controller(self) -> None: method test_viewer_cannot_approve (line 34) | def test_viewer_cannot_approve(self) -> None: class TestApprovalRequest (line 44) | class TestApprovalRequest: method test_create_request (line 47) | def test_create_request(self) -> None: method test_approve (line 58) | def test_approve(self) -> None: method test_deny (line 66) | def test_deny(self) -> None: method test_timeout (line 74) | def test_timeout(self) -> None: method test_decision_is_terminal (line 81) | def test_decision_is_terminal(self) -> None: class TestRemoteBridge (line 91) | class TestRemoteBridge: method test_connect_observer (line 94) | def test_connect_observer(self) -> None: method test_request_approval_routed_to_controllers (line 102) | def test_request_approval_routed_to_controllers(self) -> None: method test_respond_to_approval (line 113) | def test_respond_to_approval(self) -> None: method test_viewer_cannot_respond (line 124) | def test_viewer_cannot_respond(self) -> None: method test_unconnected_operator_cannot_respond (line 134) | def test_unconnected_operator_cannot_respond(self) -> None: method test_disconnect (line 144) | def test_disconnect(self) -> None: FILE: autocontext/tests/test_remove_hardcoded_models.py class TestAgentTaskSpecDefaults (line 18) | class TestAgentTaskSpecDefaults: method test_default_judge_model_is_empty (line 19) | def test_default_judge_model_is_empty(self) -> None: method test_explicit_model_preserved (line 25) | def test_explicit_model_preserved(self) -> None: class TestTemplateSpecDefaults (line 36) | class TestTemplateSpecDefaults: method test_default_judge_model_is_empty (line 37) | def test_default_judge_model_is_empty(self) -> None: method test_from_dict_missing_judge_model_defaults_empty (line 43) | def test_from_dict_missing_judge_model_defaults_empty(self) -> None: method test_from_dict_explicit_model_preserved (line 50) | def test_from_dict_explicit_model_preserved(self) -> None: class TestAgentTaskDesignerDefaults (line 62) | class TestAgentTaskDesignerDefaults: method test_example_spec_judge_model_is_empty (line 63) | def test_example_spec_judge_model_is_empty(self) -> None: method test_system_prompt_schema_no_hardcoded_anthropic_default (line 68) | def test_system_prompt_schema_no_hardcoded_anthropic_default(self) -> ... method test_parse_agent_task_spec_missing_model_defaults_empty (line 75) | def test_parse_agent_task_spec_missing_model_defaults_empty(self) -> N... class TestTaskRunnerDefaults (line 95) | class TestTaskRunnerDefaults: method test_simple_agent_task_default_model_is_empty (line 96) | def test_simple_agent_task_default_model_is_empty(self) -> None: method test_task_runner_default_model_is_empty (line 105) | def test_task_runner_default_model_is_empty(self) -> None: class TestTrainingConfigDefaults (line 120) | class TestTrainingConfigDefaults: method test_default_agent_model_is_empty (line 121) | def test_default_agent_model_is_empty(self) -> None: class TestCLIDefaults (line 134) | class TestCLIDefaults: method test_train_command_agent_model_default_is_empty (line 135) | def test_train_command_agent_model_default_is_empty(self) -> None: class TestProviderEmptyModelFallback (line 161) | class TestProviderEmptyModelFallback: method test_anthropic_provider_empty_model_uses_default (line 162) | def test_anthropic_provider_empty_model_uses_default(self) -> None: method test_openai_compat_provider_empty_model_uses_default (line 170) | def test_openai_compat_provider_empty_model_uses_default(self) -> None: class TestNoHardcodedModelsInScaffold (line 184) | class TestNoHardcodedModelsInScaffold: method test_no_hardcoded_anthropic_model_in_defaults (line 198) | def test_no_hardcoded_anthropic_model_in_defaults(self, filepath: str)... FILE: autocontext/tests/test_removed_backpressure_modules.py function _iter_python_files (line 24) | def _iter_python_files(root: Path) -> list[Path]: function _removed_import_lines (line 34) | def _removed_import_lines(path: Path) -> list[str]: function test_removed_backpressure_modules_are_not_importable (line 49) | def test_removed_backpressure_modules_are_not_importable(module_name: st... function test_no_internal_imports_of_removed_backpressure_modules (line 54) | def test_no_internal_imports_of_removed_backpressure_modules() -> None: FILE: autocontext/tests/test_removed_harness_modules.py function _iter_python_files (line 33) | def _iter_python_files(root: Path) -> list[Path]: function _removed_import_lines (line 43) | def _removed_import_lines(path: Path) -> list[str]: function test_removed_harness_modules_are_not_importable (line 58) | def test_removed_harness_modules_are_not_importable(module_name: str) ->... function test_no_internal_imports_of_removed_harness_modules (line 63) | def test_no_internal_imports_of_removed_harness_modules() -> None: FILE: autocontext/tests/test_replay_narrative_flow.py function test_replay_narrative_persisted_after_tournament (line 12) | def test_replay_narrative_persisted_after_tournament(tmp_path: Path) -> ... function test_replay_narrative_included_in_next_gen_prompts (line 36) | def test_replay_narrative_included_in_next_gen_prompts(tmp_path: Path) -... function test_replay_narrative_empty_for_gen_1 (line 65) | def test_replay_narrative_empty_for_gen_1() -> None: function test_build_prompt_bundle_with_replay_narrative (line 81) | def test_build_prompt_bundle_with_replay_narrative() -> None: FILE: autocontext/tests/test_research_adapter.py class TestResearchQuery (line 12) | class TestResearchQuery: method test_create_query (line 15) | def test_create_query(self) -> None: method test_urgency_levels (line 26) | def test_urgency_levels(self) -> None: method test_rejects_non_positive_max_results (line 32) | def test_rejects_non_positive_max_results(self) -> None: class TestResearchResult (line 39) | class TestResearchResult: method test_create_result (line 42) | def test_create_result(self) -> None: method test_empty_result (line 58) | def test_empty_result(self) -> None: method test_rejects_out_of_range_confidence (line 65) | def test_rejects_out_of_range_confidence(self) -> None: class TestCitation (line 72) | class TestCitation: method test_citation_fields (line 75) | def test_citation_fields(self) -> None: method test_citation_without_url (line 82) | def test_citation_without_url(self) -> None: method test_rejects_out_of_range_relevance (line 89) | def test_rejects_out_of_range_relevance(self) -> None: class TestResearchAdapter (line 96) | class TestResearchAdapter: method test_stub_adapter_satisfies_protocol (line 99) | def test_stub_adapter_satisfies_protocol(self) -> None: class TestResearchConfig (line 115) | class TestResearchConfig: method test_default_disabled (line 118) | def test_default_disabled(self) -> None: method test_enable_with_adapter (line 124) | def test_enable_with_adapter(self) -> None: method test_max_queries_per_session (line 131) | def test_max_queries_per_session(self) -> None: method test_rejects_negative_query_limits (line 137) | def test_rejects_negative_query_limits(self) -> None: method test_rejects_out_of_range_min_confidence (line 143) | def test_rejects_out_of_range_min_confidence(self) -> None: FILE: autocontext/tests/test_research_consultation.py class StubAdapter (line 23) | class StubAdapter: method __init__ (line 26) | def __init__(self, results: dict[str, ResearchResult] | None = None) -... method search (line 30) | def search(self, query: ResearchQuery) -> ResearchResult: function _make_result (line 41) | def _make_result(topic: str, confidence: float = 0.8, citations: list[Ci... class TestResearchBrief (line 52) | class TestResearchBrief: method test_brief_from_results (line 53) | def test_brief_from_results(self) -> None: method test_brief_filters_low_confidence (line 67) | def test_brief_filters_low_confidence(self) -> None: method test_brief_deduplicates_citations (line 81) | def test_brief_deduplicates_citations(self) -> None: method test_brief_renders_markdown (line 96) | def test_brief_renders_markdown(self) -> None: method test_empty_brief (line 110) | def test_empty_brief(self) -> None: class TestResearchConsultant (line 120) | class TestResearchConsultant: method test_consult_decomposes_goal (line 121) | def test_consult_decomposes_goal(self) -> None: method test_consult_respects_session_budget (line 133) | def test_consult_respects_session_budget(self) -> None: method test_consult_without_adapter_returns_empty (line 146) | def test_consult_without_adapter_returns_empty(self) -> None: method test_consult_applies_context (line 156) | def test_consult_applies_context(self) -> None: method test_consult_filters_by_min_confidence (line 171) | def test_consult_filters_by_min_confidence(self) -> None: FILE: autocontext/tests/test_research_eval.py function _brief (line 15) | def _brief(n: int = 1, confidence: float = 0.8) -> ResearchBrief: class TestEvalResult (line 28) | class TestEvalResult: method test_create_eval_result (line 29) | def test_create_eval_result(self) -> None: method test_no_improvement (line 42) | def test_no_improvement(self) -> None: method test_zero_baseline_gain (line 48) | def test_zero_baseline_gain(self) -> None: class TestResearchEvaluator (line 55) | class TestResearchEvaluator: method test_evaluate_pair (line 56) | def test_evaluate_pair(self) -> None: method test_evaluate_pair_no_improvement (line 69) | def test_evaluate_pair_no_improvement(self) -> None: method test_evaluate_batch (line 82) | def test_evaluate_batch(self) -> None: method test_evaluate_batch_empty (line 106) | def test_evaluate_batch_empty(self) -> None: method test_citation_coverage (line 113) | def test_citation_coverage(self) -> None: method test_partial_citation_coverage (line 126) | def test_partial_citation_coverage(self) -> None: method test_citation_coverage_avoids_prefix_false_positives (line 139) | def test_citation_coverage_avoids_prefix_false_positives(self) -> None: FILE: autocontext/tests/test_research_hub.py function _make_session (line 29) | def _make_session(**overrides: Any) -> ResearchSession: function _make_facet (line 53) | def _make_facet() -> RunFacet: function hub_env (line 97) | def hub_env(tmp_path: Path) -> dict[str, Any]: function _seed_run (line 116) | def _seed_run(hub_env: dict[str, Any]) -> None: class TestResearchSessionModel (line 204) | class TestResearchSessionModel: method test_from_notebook (line 205) | def test_from_notebook(self) -> None: method test_roundtrip (line 221) | def test_roundtrip(self) -> None: class TestMaterializeResult (line 229) | class TestMaterializeResult: method test_from_facet (line 230) | def test_from_facet(self) -> None: class TestHubStore (line 238) | class TestHubStore: method test_persist_and_load_session_uses_notebook_and_sqlite (line 239) | def test_persist_and_load_session_uses_notebook_and_sqlite(self, hub_e... method test_promote_run_to_package_persists_metadata_and_payload (line 251) | def test_promote_run_to_package_persists_metadata_and_payload(self, hu... method test_materialize_result_for_run_uses_reports_and_facets (line 267) | def test_materialize_result_for_run_uses_reports_and_facets(self, hub_... method test_adopt_package_records_promotion (line 280) | def test_adopt_package_records_promotion(self, hub_env: dict[str, Any]... FILE: autocontext/tests/test_research_persistence.py function _make_brief (line 14) | def _make_brief(goal: str = "test", n_findings: int = 2): class TestResearchStore (line 29) | class TestResearchStore: method test_save_and_load_brief (line 30) | def test_save_and_load_brief(self, tmp_path: Path) -> None: method test_list_briefs_by_session (line 45) | def test_list_briefs_by_session(self, tmp_path: Path) -> None: method test_load_nonexistent_returns_none (line 57) | def test_load_nonexistent_returns_none(self, tmp_path: Path) -> None: method test_briefs_persist_across_instances (line 63) | def test_briefs_persist_across_instances(self, tmp_path: Path) -> None: method test_manifest_merges_across_store_instances (line 74) | def test_manifest_merges_across_store_instances(self, tmp_path: Path) ... method test_citations_round_trip (line 90) | def test_citations_round_trip(self, tmp_path: Path) -> None: method test_brief_count (line 102) | def test_brief_count(self, tmp_path: Path) -> None: method test_delete_brief (line 111) | def test_delete_brief(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_research_prompt_wiring.py function _brief (line 13) | def _brief(n: int = 2, confidence: float = 0.8) -> ResearchBrief: class TestResearchPromptInjector (line 26) | class TestResearchPromptInjector: method test_inject_brief_as_section (line 27) | def test_inject_brief_as_section(self) -> None: method test_empty_brief_returns_empty (line 37) | def test_empty_brief_returns_empty(self) -> None: method test_respects_token_budget (line 44) | def test_respects_token_budget(self) -> None: method test_highest_confidence_first (line 52) | def test_highest_confidence_first(self) -> None: method test_inject_into_prompt (line 68) | def test_inject_into_prompt(self) -> None: method test_inject_no_placeholder_appends (line 77) | def test_inject_no_placeholder_appends(self) -> None: method test_inject_empty_brief_returns_base (line 86) | def test_inject_empty_brief_returns_base(self) -> None: method test_citation_formatting (line 94) | def test_citation_formatting(self) -> None: FILE: autocontext/tests/test_research_protocol.py class TestProtocolSettings (line 17) | class TestProtocolSettings: method test_protocol_enabled_defaults_false (line 18) | def test_protocol_enabled_defaults_false(self) -> None: method test_load_settings_reads_protocol_env (line 22) | def test_load_settings_reads_protocol_env(self, monkeypatch: pytest.Mo... class TestResearchProtocol (line 31) | class TestResearchProtocol: method test_default_protocol (line 32) | def test_default_protocol(self) -> None: method test_protocol_to_markdown (line 41) | def test_protocol_to_markdown(self) -> None: method test_protocol_roundtrip (line 62) | def test_protocol_roundtrip(self) -> None: class TestParseProtocol (line 82) | class TestParseProtocol: method test_parse_exploration_mode (line 83) | def test_parse_exploration_mode(self) -> None: method test_parse_constraints (line 90) | def test_parse_constraints(self) -> None: method test_parse_tuning_overrides (line 108) | def test_parse_tuning_overrides(self) -> None: method test_parse_empty_protocol (line 125) | def test_parse_empty_protocol(self) -> None: class TestValidateTuningOverrides (line 138) | class TestValidateTuningOverrides: method test_valid_overrides_accepted (line 139) | def test_valid_overrides_accepted(self) -> None: method test_unknown_keys_filtered (line 154) | def test_unknown_keys_filtered(self) -> None: method test_out_of_range_filtered (line 167) | def test_out_of_range_filtered(self) -> None: class TestArchitectProtocolParsing (line 183) | class TestArchitectProtocolParsing: method test_parse_protocol_from_architect_output (line 184) | def test_parse_protocol_from_architect_output(self) -> None: method test_parse_protocol_from_architect_no_markers (line 203) | def test_parse_protocol_from_architect_no_markers(self) -> None: class TestArtifactStoreProtocol (line 214) | class TestArtifactStoreProtocol: method _make_store (line 215) | def _make_store(self, tmp_path: Path) -> ArtifactStore: method test_read_protocol_empty (line 223) | def test_read_protocol_empty(self, tmp_path: Path) -> None: method test_write_read_protocol_roundtrip (line 227) | def test_write_read_protocol_roundtrip(self, tmp_path: Path) -> None: class TestPromptBundleProtocol (line 238) | class TestPromptBundleProtocol: method _obs (line 239) | def _obs(self) -> Observation: method test_prompt_bundle_includes_protocol (line 242) | def test_prompt_bundle_includes_protocol(self) -> None: method test_prompt_bundle_empty_protocol_omitted (line 261) | def test_prompt_bundle_empty_protocol_omitted(self) -> None: FILE: autocontext/tests/test_research_runtime.py class StubAdapter (line 12) | class StubAdapter: method __init__ (line 15) | def __init__(self, response: str = "Stub result") -> None: method search (line 19) | def search(self, query: ResearchQuery) -> ResearchResult: class TestResearchEnabledSession (line 28) | class TestResearchEnabledSession: method test_session_accepts_research_adapter (line 31) | def test_session_accepts_research_adapter(self) -> None: method test_session_without_adapter (line 41) | def test_session_without_adapter(self) -> None: method test_disabled_config_blocks_research (line 47) | def test_disabled_config_blocks_research(self) -> None: method test_research_query_during_session (line 63) | def test_research_query_during_session(self) -> None: method test_research_without_adapter_returns_none (line 76) | def test_research_without_adapter_returns_none(self) -> None: method test_research_respects_budget (line 84) | def test_research_respects_budget(self) -> None: method test_research_events_emitted (line 100) | def test_research_events_emitted(self) -> None: method test_research_results_accumulated (line 111) | def test_research_results_accumulated(self) -> None: FILE: autocontext/tests/test_restore_versioning.py function _make_store (line 9) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_restore_archives_existing_playbook (line 19) | def test_restore_archives_existing_playbook(tmp_path: Path) -> None: FILE: autocontext/tests/test_retry_learning.py class PromptCapturingClient (line 22) | class PromptCapturingClient(LanguageModelClient): method __init__ (line 25) | def __init__(self) -> None: method generate (line 29) | def generate( method generate_multiturn (line 43) | def generate_multiturn( method reset_rlm_turns (line 58) | def reset_rlm_turns(self) -> None: function _make_settings (line 62) | def _make_settings(tmp_path: Path, **overrides: Any) -> AppSettings: function _make_runner (line 78) | def _make_runner(settings: AppSettings) -> GenerationRunner: function test_retry_context_dataclass (line 87) | def test_retry_context_dataclass() -> None: function test_retry_varies_seeds (line 116) | def test_retry_varies_seeds(tmp_path: Path) -> None: function test_retry_reinvokes_competitor (line 152) | def test_retry_reinvokes_competitor(tmp_path: Path) -> None: function test_retry_uses_revised_strategy (line 182) | def test_retry_uses_revised_strategy(tmp_path: Path) -> None: function test_retry_preserves_other_agent_outputs (line 232) | def test_retry_preserves_other_agent_outputs(tmp_path: Path) -> None: function test_no_retry_when_max_retries_zero (line 267) | def test_no_retry_when_max_retries_zero(tmp_path: Path) -> None: FILE: autocontext/tests/test_retry_provider.py class FakeProvider (line 13) | class FakeProvider(LLMProvider): method __init__ (line 16) | def __init__(self, fail_count: int = 0, error_msg: str = "rate limit e... method complete (line 21) | def complete(self, system_prompt, user_prompt, **kwargs) -> Completion... method default_model (line 27) | def default_model(self) -> str: class TestIsTransient (line 31) | class TestIsTransient: method test_rate_limit (line 32) | def test_rate_limit(self): method test_429 (line 35) | def test_429(self): method test_timeout (line 38) | def test_timeout(self): method test_server_error_500 (line 41) | def test_server_error_500(self): method test_502 (line 44) | def test_502(self): method test_503 (line 47) | def test_503(self): method test_overloaded (line 50) | def test_overloaded(self): method test_connection (line 53) | def test_connection(self): method test_not_transient (line 56) | def test_not_transient(self): method test_not_transient_auth (line 59) | def test_not_transient_auth(self): class TestRetryProvider (line 63) | class TestRetryProvider: method test_success_no_retry (line 64) | def test_success_no_retry(self): method test_retry_on_transient_error (line 71) | def test_retry_on_transient_error(self): method test_exhaust_retries (line 78) | def test_exhaust_retries(self): method test_no_retry_on_non_transient (line 85) | def test_no_retry_on_non_transient(self): method test_retry_all_flag (line 92) | def test_retry_all_flag(self): method test_backoff_increases_delay (line 99) | def test_backoff_increases_delay(self): method test_max_delay_cap (line 112) | def test_max_delay_cap(self): method test_zero_retries (line 124) | def test_zero_retries(self): method test_default_model_delegates (line 131) | def test_default_model_delegates(self): method test_name_wraps (line 136) | def test_name_wraps(self): method test_passes_kwargs (line 142) | def test_passes_kwargs(self): FILE: autocontext/tests/test_revise_output_fix.py class TestBuildRevisionPrompt (line 17) | class TestBuildRevisionPrompt: method test_includes_original_output (line 18) | def test_includes_original_output(self) -> None: method test_includes_judge_reasoning (line 33) | def test_includes_judge_reasoning(self) -> None: method test_includes_weak_dimensions (line 48) | def test_includes_weak_dimensions(self) -> None: method test_includes_revision_prompt_when_provided (line 66) | def test_includes_revision_prompt_when_provided(self) -> None: method test_includes_task_prompt_when_no_revision_prompt (line 81) | def test_includes_task_prompt_when_no_revision_prompt(self) -> None: method test_includes_score (line 93) | def test_includes_score(self) -> None: method test_no_weak_dimensions_when_all_high (line 105) | def test_no_weak_dimensions_when_all_high(self) -> None: class TestGeneratedReviseOutputTemplate (line 128) | class TestGeneratedReviseOutputTemplate: method test_generated_code_uses_shared_runtime_helper (line 129) | def test_generated_code_uses_shared_runtime_helper(self) -> None: method test_generated_code_single_round_still_noop (line 144) | def test_generated_code_single_round_still_noop(self) -> None: method test_generated_revise_output_imports_revision_module (line 164) | def test_generated_revise_output_imports_revision_module(self) -> None: class TestLegacyGeneratedTaskUpgrade (line 178) | class TestLegacyGeneratedTaskUpgrade: method test_registry_patches_legacy_generated_agent_task (line 179) | def test_registry_patches_legacy_generated_agent_task(self, tmp_path: ... method test_registry_preserves_custom_revise_output (line 239) | def test_registry_preserves_custom_revise_output(self, tmp_path: Path)... class TestPatchLegacyEvaluateOutput (line 297) | class TestPatchLegacyEvaluateOutput: method test_legacy_evaluate_source_is_detected (line 298) | def test_legacy_evaluate_source_is_detected(self) -> None: method test_patch_replaces_evaluate_output (line 313) | def test_patch_replaces_evaluate_output(self, tmp_path: Path) -> None: method test_non_legacy_source_is_not_patched (line 375) | def test_non_legacy_source_is_not_patched(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_rlm_competitor.py function tmp_artifacts (line 33) | def tmp_artifacts(tmp_path: Path) -> Any: function tmp_sqlite (line 54) | def tmp_sqlite(tmp_path: Path) -> Any: function context_loader (line 65) | def context_loader(tmp_artifacts: Any, tmp_sqlite: Any) -> Any: function seeded_artifacts (line 73) | def seeded_artifacts(tmp_artifacts: Any, tmp_path: Path) -> Any: class TestContextLoaderCompetitor (line 112) | class TestContextLoaderCompetitor: method test_load_for_competitor_populates_replays (line 113) | def test_load_for_competitor_populates_replays( method test_load_for_competitor_populates_metrics (line 125) | def test_load_for_competitor_populates_metrics( method test_load_for_competitor_populates_match_scores (line 136) | def test_load_for_competitor_populates_match_scores( method test_load_for_competitor_populates_playbook (line 145) | def test_load_for_competitor_populates_playbook( method test_load_for_competitor_populates_coach_hints (line 155) | def test_load_for_competitor_populates_coach_hints( method test_load_for_competitor_populates_scenario_context (line 165) | def test_load_for_competitor_populates_scenario_context( method test_load_for_competitor_summary_format (line 181) | def test_load_for_competitor_summary_format( class TestCompetitorPrompts (line 203) | class TestCompetitorPrompts: method test_competitor_rlm_system_has_placeholders (line 204) | def test_competitor_rlm_system_has_placeholders(self) -> None: method test_competitor_rlm_constrained_has_constraints (line 213) | def test_competitor_rlm_constrained_has_constraints(self) -> None: method test_competitor_monty_rlm_has_state_instructions (line 219) | def test_competitor_monty_rlm_has_state_instructions(self) -> None: method test_competitor_monty_constrained_has_constraints (line 227) | def test_competitor_monty_constrained_has_constraints(self) -> None: class TestConfigRlmCompetitor (line 239) | class TestConfigRlmCompetitor: method test_config_rlm_competitor_default_false (line 240) | def test_config_rlm_competitor_default_false(self) -> None: method test_config_rlm_competitor_env_var (line 245) | def test_config_rlm_competitor_env_var(self, monkeypatch: pytest.Monke... class _CompetitorReadyClient (line 259) | class _CompetitorReadyClient(LanguageModelClient): method __init__ (line 262) | def __init__(self) -> None: method generate_multiturn (line 265) | def generate_multiturn( class _NeverReadyClient (line 291) | class _NeverReadyClient(LanguageModelClient): method generate_multiturn (line 294) | def generate_multiturn( class TestCompetitorRlmSession (line 310) | class TestCompetitorRlmSession: method test_competitor_rlm_session_produces_strategy (line 311) | def test_competitor_rlm_session_produces_strategy(self) -> None: method test_competitor_rlm_answer_protocol (line 342) | def test_competitor_rlm_answer_protocol(self) -> None: method test_competitor_rlm_turn_limit (line 370) | def test_competitor_rlm_turn_limit(self) -> None: method test_competitor_rlm_exec_backend (line 386) | def test_competitor_rlm_exec_backend(self) -> None: method test_competitor_rlm_monty_backend (line 403) | def test_competitor_rlm_monty_backend(self) -> None: class TestOrchestratorCompetitorRlm (line 429) | class TestOrchestratorCompetitorRlm: method test_orchestrator_uses_rlm_when_enabled (line 430) | def test_orchestrator_uses_rlm_when_enabled( method test_orchestrator_skips_rlm_when_disabled (line 469) | def test_orchestrator_skips_rlm_when_disabled( method test_orchestrator_passes_scenario_rules_and_strategy (line 506) | def test_orchestrator_passes_scenario_rules_and_strategy( method test_orchestrator_passes_scenario_rules_to_analyst_and_architect (line 553) | def test_orchestrator_passes_scenario_rules_to_analyst_and_architect( class TestBuildTrialSummary (line 614) | class TestBuildTrialSummary: method test_summary_includes_generation_and_turns (line 615) | def test_summary_includes_generation_and_turns(self) -> None: method test_summary_counts_errors (line 635) | def test_summary_counts_errors(self) -> None: method test_summary_shows_ready_flag (line 653) | def test_summary_shows_ready_flag(self) -> None: class TestExperimentLog (line 670) | class TestExperimentLog: method test_build_experiment_log_empty_when_no_trials (line 671) | def test_build_experiment_log_empty_when_no_trials(self, tmp_sqlite: A... method _seed_run (line 680) | def _seed_run(sqlite: Any, run_id: str, generations: list[int]) -> None: method test_build_experiment_log_collects_summaries (line 687) | def test_build_experiment_log_collects_summaries(self, tmp_sqlite: Any... method test_build_experiment_log_ignores_other_roles (line 701) | def test_build_experiment_log_ignores_other_roles(self, tmp_sqlite: An... method test_build_experiment_log_compacts_noisy_history (line 714) | def test_build_experiment_log_compacts_noisy_history(self, tmp_sqlite:... class TestRlmTrialStorage (line 734) | class TestRlmTrialStorage: method test_rlm_competitor_stores_trial_summary (line 735) | def test_rlm_competitor_stores_trial_summary( FILE: autocontext/tests/test_rlm_context_loader.py function store_pair (line 14) | def store_pair(tmp_path: Path) -> tuple[ArtifactStore, SQLiteStore]: class TestLoadForAnalyst (line 28) | class TestLoadForAnalyst: method test_populates_expected_variables (line 29) | def test_populates_expected_variables(self, store_pair: tuple[Artifact... class TestLoadForArchitect (line 78) | class TestLoadForArchitect: method test_includes_existing_tools (line 79) | def test_includes_existing_tools(self, store_pair: tuple[ArtifactStore... method test_empty_when_no_data (line 98) | def test_empty_when_no_data(self, store_pair: tuple[ArtifactStore, SQL... FILE: autocontext/tests/test_rlm_integration.py function test_rlm_enabled_single_generation (line 10) | def test_rlm_enabled_single_generation(tmp_path: Path) -> None: function test_rlm_two_generations_with_context_accumulation (line 63) | def test_rlm_two_generations_with_context_accumulation(tmp_path: Path) -... FILE: autocontext/tests/test_rlm_repl_worker.py class TestReplWorkerStdout (line 16) | class TestReplWorkerStdout: method test_print_captured (line 17) | def test_print_captured(self) -> None: method test_trailing_expression_captured (line 23) | def test_trailing_expression_captured(self) -> None: method test_print_and_expression (line 28) | def test_print_and_expression(self) -> None: class TestReplWorkerNamespace (line 35) | class TestReplWorkerNamespace: method test_namespace_persists_across_calls (line 36) | def test_namespace_persists_across_calls(self) -> None: method test_custom_namespace_injected (line 42) | def test_custom_namespace_injected(self) -> None: method test_safe_modules_available (line 47) | def test_safe_modules_available(self) -> None: class TestReplWorkerTruncation (line 57) | class TestReplWorkerTruncation: method test_stdout_truncated (line 58) | def test_stdout_truncated(self) -> None: class TestReplWorkerErrors (line 65) | class TestReplWorkerErrors: method test_syntax_error (line 66) | def test_syntax_error(self) -> None: method test_runtime_error (line 72) | def test_runtime_error(self) -> None: method test_name_error_after_error (line 78) | def test_name_error_after_error(self) -> None: class TestReplWorkerAnswerProtocol (line 86) | class TestReplWorkerAnswerProtocol: method test_answer_default (line 87) | def test_answer_default(self) -> None: method test_answer_content_set (line 92) | def test_answer_content_set(self) -> None: method test_answer_ready (line 98) | def test_answer_ready(self) -> None: class TestReplWorkerRestrictions (line 106) | class TestReplWorkerRestrictions: method test_open_blocked (line 107) | def test_open_blocked(self) -> None: method test_os_blocked (line 112) | def test_os_blocked(self) -> None: method test_import_os_blocked (line 117) | def test_import_os_blocked(self) -> None: method test_subprocess_blocked (line 122) | def test_subprocess_blocked(self) -> None: class TestReplWorkerTimeout (line 128) | class TestReplWorkerTimeout: method test_timeout_raises (line 129) | def test_timeout_raises(self) -> None: class TestPeek (line 137) | class TestPeek: method test_returns_substring (line 138) | def test_returns_substring(self) -> None: method test_default_offset (line 141) | def test_default_offset(self) -> None: method test_beyond_bounds (line 147) | def test_beyond_bounds(self) -> None: class TestGrep (line 151) | class TestGrep: method test_finds_matching_lines (line 152) | def test_finds_matching_lines(self) -> None: method test_case_insensitive (line 156) | def test_case_insensitive(self) -> None: method test_with_context_lines (line 160) | def test_with_context_lines(self) -> None: method test_no_matches (line 168) | def test_no_matches(self) -> None: class TestChunkBySize (line 172) | class TestChunkBySize: method test_basic (line 173) | def test_basic(self) -> None: method test_with_overlap (line 178) | def test_with_overlap(self) -> None: method test_empty (line 184) | def test_empty(self) -> None: class TestChunkByHeaders (line 188) | class TestChunkByHeaders: method test_markdown (line 189) | def test_markdown(self) -> None: method test_no_headers (line 198) | def test_no_headers(self) -> None: class TestHelpersInNamespace (line 206) | class TestHelpersInNamespace: method test_helpers_available_in_namespace (line 207) | def test_helpers_available_in_namespace(self) -> None: FILE: autocontext/tests/test_rlm_session.py class TestRlmSession (line 8) | class TestRlmSession: method test_runs_to_completion (line 9) | def test_runs_to_completion(self) -> None: method test_respects_max_turns (line 27) | def test_respects_max_turns(self) -> None: method test_soft_finalizes_explicit_final_answer_marker (line 42) | def test_soft_finalizes_explicit_final_answer_marker(self) -> None: method test_soft_finalizes_natural_language_closure_without_ready_mutation (line 61) | def test_soft_finalizes_natural_language_closure_without_ready_mutatio... method test_soft_finalizes_after_repeated_no_progress_turns (line 79) | def test_soft_finalizes_after_repeated_no_progress_turns(self) -> None: method test_distinct_read_only_inspection_turns_are_not_no_progress (line 98) | def test_distinct_read_only_inspection_turns_are_not_no_progress(self)... method test_usage_aggregated_across_turns (line 116) | def test_usage_aggregated_across_turns(self) -> None: method test_deterministic_client_resets (line 132) | def test_deterministic_client_resets(self) -> None: class TestMakeLlmBatch (line 153) | class TestMakeLlmBatch: method test_returns_correct_count (line 154) | def test_returns_correct_count(self) -> None: method test_empty_prompts (line 161) | def test_empty_prompts(self) -> None: method test_injected_in_worker (line 166) | def test_injected_in_worker(self) -> None: class TestRlmSessionExecutionHistory (line 187) | class TestRlmSessionExecutionHistory: method test_session_tracks_execution_history (line 188) | def test_session_tracks_execution_history(self) -> None: method test_session_history_includes_errors (line 201) | def test_session_history_includes_errors(self) -> None: method test_session_history_available_after_run (line 214) | def test_session_history_available_after_run(self) -> None: method test_session_history_count_matches_turns (line 228) | def test_session_history_count_matches_turns(self) -> None: class _ErrorThenReadyClient (line 239) | class _ErrorThenReadyClient(LanguageModelClient): method __init__ (line 242) | def __init__(self) -> None: method generate_multiturn (line 245) | def generate_multiturn( class _NeverReadyClient (line 260) | class _NeverReadyClient(LanguageModelClient): method generate_multiturn (line 263) | def generate_multiturn( class _ChangingNeverReadyClient (line 273) | class _ChangingNeverReadyClient(LanguageModelClient): method __init__ (line 276) | def __init__(self) -> None: method generate_multiturn (line 279) | def generate_multiturn( class _SilentNoProgressClient (line 291) | class _SilentNoProgressClient(LanguageModelClient): method generate_multiturn (line 294) | def generate_multiturn( class _DistinctInspectionClient (line 304) | class _DistinctInspectionClient(LanguageModelClient): method __init__ (line 307) | def __init__(self) -> None: method generate_multiturn (line 310) | def generate_multiturn( class _StaticMultiturnClient (line 322) | class _StaticMultiturnClient(LanguageModelClient): method __init__ (line 323) | def __init__(self, text: str) -> None: method generate_multiturn (line 326) | def generate_multiturn( FILE: autocontext/tests/test_role_router.py class TestProviderClass (line 12) | class TestProviderClass: method test_all_classes_defined (line 13) | def test_all_classes_defined(self) -> None: class TestProviderConfig (line 28) | class TestProviderConfig: method test_create_config (line 29) | def test_create_config(self) -> None: method test_config_with_none_model (line 43) | def test_config_with_none_model(self) -> None: class TestRoutingContext (line 60) | class TestRoutingContext: method test_defaults (line 61) | def test_defaults(self) -> None: method test_with_artifacts (line 71) | def test_with_artifacts(self) -> None: class TestDefaultRoutingTable (line 86) | class TestDefaultRoutingTable: method test_default_table_has_all_roles (line 87) | def test_default_table_has_all_roles(self) -> None: method test_competitor_prefers_frontier (line 93) | def test_competitor_prefers_frontier(self) -> None: method test_analyst_prefers_mid_tier (line 98) | def test_analyst_prefers_mid_tier(self) -> None: method test_architect_prefers_frontier (line 103) | def test_architect_prefers_frontier(self) -> None: method test_translator_prefers_fast (line 108) | def test_translator_prefers_fast(self) -> None: method test_curator_prefers_fast (line 113) | def test_curator_prefers_fast(self) -> None: function _settings (line 124) | def _settings(**overrides: Any) -> MagicMock: class TestRoleRouterAutoMode (line 145) | class TestRoleRouterAutoMode: method test_auto_routes_competitor_to_frontier (line 146) | def test_auto_routes_competitor_to_frontier(self) -> None: method test_auto_routes_analyst_to_mid_tier (line 153) | def test_auto_routes_analyst_to_mid_tier(self) -> None: method test_auto_routes_architect_to_frontier (line 160) | def test_auto_routes_architect_to_frontier(self) -> None: method test_auto_routes_translator_to_fast (line 167) | def test_auto_routes_translator_to_fast(self) -> None: method test_auto_routes_curator_to_fast (line 174) | def test_auto_routes_curator_to_fast(self) -> None: method test_auto_routes_coach_to_mid_tier (line 181) | def test_auto_routes_coach_to_mid_tier(self) -> None: method test_auto_returns_correct_model_for_frontier (line 188) | def test_auto_returns_correct_model_for_frontier(self) -> None: method test_auto_returns_correct_model_for_mid_tier (line 195) | def test_auto_returns_correct_model_for_mid_tier(self) -> None: method test_auto_returns_correct_model_for_fast (line 202) | def test_auto_returns_correct_model_for_fast(self) -> None: class TestRoleRouterExplicitOverrides (line 215) | class TestRoleRouterExplicitOverrides: method test_explicit_provider_overrides_auto (line 216) | def test_explicit_provider_overrides_auto(self) -> None: method test_explicit_provider_sets_local_class (line 223) | def test_explicit_provider_sets_local_class(self) -> None: method test_explicit_openclaw_provider (line 230) | def test_explicit_openclaw_provider(self) -> None: class TestRoleRouterDisabledMode (line 243) | class TestRoleRouterDisabledMode: method test_disabled_returns_default_provider (line 244) | def test_disabled_returns_default_provider(self) -> None: method test_disabled_uses_configured_model (line 251) | def test_disabled_uses_configured_model(self) -> None: class TestRoleRouterLocalArtifacts (line 264) | class TestRoleRouterLocalArtifacts: method test_competitor_uses_local_when_available (line 265) | def test_competitor_uses_local_when_available(self) -> None: method test_translator_uses_local_when_available (line 276) | def test_translator_uses_local_when_available(self) -> None: method test_analyst_uses_local_when_available (line 287) | def test_analyst_uses_local_when_available(self) -> None: method test_architect_ignores_local_models (line 295) | def test_architect_ignores_local_models(self) -> None: class TestRoleRouterCustomTable (line 310) | class TestRoleRouterCustomTable: method test_custom_table_overrides_default (line 311) | def test_custom_table_overrides_default(self) -> None: method test_unknown_role_defaults_to_mid_tier (line 323) | def test_unknown_role_defaults_to_mid_tier(self) -> None: class TestCostEstimation (line 336) | class TestCostEstimation: method test_cost_for_frontier (line 337) | def test_cost_for_frontier(self) -> None: method test_cost_for_local_is_zero (line 345) | def test_cost_for_local_is_zero(self) -> None: method test_estimate_run_cost (line 353) | def test_estimate_run_cost(self) -> None: method test_estimate_run_cost_savings (line 363) | def test_estimate_run_cost_savings(self) -> None: method test_estimate_run_cost_with_local (line 371) | def test_estimate_run_cost_with_local(self) -> None: class TestSettings (line 387) | class TestSettings: method test_role_routing_setting (line 388) | def test_role_routing_setting(self) -> None: method test_role_routing_auto (line 395) | def test_role_routing_auto(self) -> None: FILE: autocontext/tests/test_rubric_calibration.py class _MockJudgeProvider (line 14) | class _MockJudgeProvider(LLMProvider): method __init__ (line 15) | def __init__(self, response: str) -> None: method complete (line 18) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 21) | def default_model(self): function _judge_response (line 25) | def _judge_response(score: float, reasoning: str = "aligned") -> str: class TestCalibrationAnchor (line 40) | class TestCalibrationAnchor: method test_construction (line 41) | def test_construction(self) -> None: method test_roundtrip (line 55) | def test_roundtrip(self) -> None: class TestCalibrationSet (line 77) | class TestCalibrationSet: method test_construction (line 78) | def test_construction(self) -> None: method test_score_bands (line 114) | def test_score_bands(self) -> None: method test_roundtrip (line 159) | def test_roundtrip(self) -> None: class TestMeasureJudgeVariance (line 189) | class TestMeasureJudgeVariance: method test_identical_scores_zero_variance (line 190) | def test_identical_scores_zero_variance(self) -> None: method test_varying_scores (line 198) | def test_varying_scores(self) -> None: method test_single_score (line 207) | def test_single_score(self) -> None: method test_empty_scores (line 214) | def test_empty_scores(self) -> None: class TestComputeAlignment (line 227) | class TestComputeAlignment: method test_perfect_alignment (line 228) | def test_perfect_alignment(self) -> None: method test_systematic_overestimation (line 238) | def test_systematic_overestimation(self) -> None: method test_high_correlation_with_offset (line 247) | def test_high_correlation_with_offset(self) -> None: method test_no_correlation (line 256) | def test_no_correlation(self) -> None: method test_empty_scores (line 264) | def test_empty_scores(self) -> None: method test_rejects_mismatched_anchor_sets (line 271) | def test_rejects_mismatched_anchor_sets(self) -> None: class TestAlignmentTolerance (line 283) | class TestAlignmentTolerance: method test_construction (line 284) | def test_construction(self) -> None: method test_check_passes (line 295) | def test_check_passes(self) -> None: method test_check_fails_on_mae (line 312) | def test_check_fails_on_mae(self) -> None: class TestCalibrationReport (line 336) | class TestCalibrationReport: method test_construction (line 337) | def test_construction(self) -> None: method test_summary (line 366) | def test_summary(self) -> None: method test_roundtrip (line 396) | def test_roundtrip(self) -> None: class TestRunJudgeCalibration (line 428) | class TestRunJudgeCalibration: method test_builds_live_report_from_human_feedback_examples (line 429) | def test_builds_live_report_from_human_feedback_examples(self) -> None: FILE: autocontext/tests/test_rubric_coherence.py function test_detects_contradictory_adjective_pairs (line 8) | def test_detects_contradictory_adjective_pairs() -> None: function test_detects_vague_rubric_with_generic_terms (line 15) | def test_detects_vague_rubric_with_generic_terms() -> None: function test_detects_underspecified_short_rubric (line 23) | def test_detects_underspecified_short_rubric() -> None: function test_clean_rubric_passes (line 29) | def test_clean_rubric_passes() -> None: function test_multiple_warnings_accumulate (line 39) | def test_multiple_warnings_accumulate() -> None: function test_detects_multiple_contradictory_pairs (line 48) | def test_detects_multiple_contradictory_pairs() -> None: function test_detects_same_span_depth_vs_child_accessibility_conflict (line 57) | def test_detects_same_span_depth_vs_child_accessibility_conflict() -> None: function test_allows_explicit_multi_section_depth_and_beginner_rubric (line 66) | def test_allows_explicit_multi_section_depth_and_beginner_rubric() -> None: FILE: autocontext/tests/test_rubric_drift_calibration.py function _make_drift_facets (line 17) | def _make_drift_facets() -> list[Any]: function _make_healthy_facets (line 151) | def _make_healthy_facets() -> list[Any]: class TestRubricSnapshot (line 193) | class TestRubricSnapshot: method test_construction (line 194) | def test_construction(self) -> None: method test_roundtrip (line 221) | def test_roundtrip(self) -> None: class TestDriftThresholds (line 256) | class TestDriftThresholds: method test_defaults (line 257) | def test_defaults(self) -> None: method test_custom (line 268) | def test_custom(self) -> None: class TestDriftWarning (line 285) | class TestDriftWarning: method test_construction (line 286) | def test_construction(self) -> None: method test_roundtrip (line 306) | def test_roundtrip(self) -> None: class TestRubricDriftMonitor (line 335) | class TestRubricDriftMonitor: method test_compute_snapshot_basic (line 336) | def test_compute_snapshot_basic(self) -> None: method test_detect_score_inflation (line 349) | def test_detect_score_inflation(self) -> None: method test_detect_perfect_rate (line 364) | def test_detect_perfect_rate(self) -> None: method test_detect_score_compression (line 379) | def test_detect_score_compression(self) -> None: method test_detect_revision_jump_rate (line 415) | def test_detect_revision_jump_rate(self) -> None: method test_no_drift_on_healthy_facets (line 430) | def test_no_drift_on_healthy_facets(self) -> None: method test_detect_dimension_level_drift_from_generation_summaries (line 441) | def test_detect_dimension_level_drift_from_generation_summaries(self) ... method test_detects_within_generation_dimension_variance_zero_streak (line 500) | def test_detects_within_generation_dimension_variance_zero_streak(self... method test_default_dimension_decline_threshold_catches_slow_ac268_sized_drift (line 538) | def test_default_dimension_decline_threshold_catches_slow_ac268_sized_... method test_analyze_combines_snapshot_and_warnings (line 562) | def test_analyze_combines_snapshot_and_warnings(self) -> None: method test_warnings_carry_snapshot_scenarios (line 575) | def test_warnings_carry_snapshot_scenarios(self) -> None: method test_empty_facets (line 589) | def test_empty_facets(self) -> None: method test_baseline_comparison (line 598) | def test_baseline_comparison(self) -> None: class TestDriftStore (line 642) | class TestDriftStore: method test_persist_and_load_snapshot (line 643) | def test_persist_and_load_snapshot(self, tmp_path: Path) -> None: method test_load_missing_snapshot (line 666) | def test_load_missing_snapshot(self, tmp_path: Path) -> None: method test_persist_and_load_warning (line 672) | def test_persist_and_load_warning(self, tmp_path: Path) -> None: method test_load_missing_warning (line 697) | def test_load_missing_warning(self, tmp_path: Path) -> None: method test_list_snapshots (line 703) | def test_list_snapshots(self, tmp_path: Path) -> None: method test_list_warnings (line 721) | def test_list_warnings(self, tmp_path: Path) -> None: class TestCalibrationSample (line 747) | class TestCalibrationSample: method test_construction (line 748) | def test_construction(self) -> None: method test_roundtrip (line 769) | def test_roundtrip(self) -> None: class TestCalibrationOutcome (line 797) | class TestCalibrationOutcome: method test_construction (line 798) | def test_construction(self) -> None: method test_roundtrip (line 815) | def test_roundtrip(self) -> None: class TestCalibrationRound (line 840) | class TestCalibrationRound: method test_construction (line 841) | def test_construction(self) -> None: method test_roundtrip (line 855) | def test_roundtrip(self) -> None: class TestSpotCheckSampler (line 901) | class TestSpotCheckSampler: method test_sample_high_risk (line 902) | def test_sample_high_risk(self) -> None: method test_sample_with_drift_warnings (line 917) | def test_sample_with_drift_warnings(self) -> None: method test_sample_max_limit (line 948) | def test_sample_max_limit(self) -> None: method test_empty_facets (line 957) | def test_empty_facets(self) -> None: class TestCalibrationStore (line 971) | class TestCalibrationStore: method test_persist_and_load_round (line 972) | def test_persist_and_load_round(self, tmp_path: Path) -> None: method test_load_missing_round (line 992) | def test_load_missing_round(self, tmp_path: Path) -> None: method test_persist_and_load_outcome (line 998) | def test_persist_and_load_outcome(self, tmp_path: Path) -> None: method test_load_missing_outcome (line 1023) | def test_load_missing_outcome(self, tmp_path: Path) -> None: method test_list_rounds (line 1029) | def test_list_rounds(self, tmp_path: Path) -> None: method test_list_outcomes (line 1045) | def test_list_outcomes(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_run_trace.py function _make_actor (line 16) | def _make_actor(actor_type: str = "role", actor_id: str = "competitor") ... function _make_resource (line 22) | def _make_resource( function _make_event (line 36) | def _make_event( function _make_trace (line 68) | def _make_trace(**overrides: Any) -> Any: class TestActorRef (line 105) | class TestActorRef: method test_construction (line 106) | def test_construction(self) -> None: method test_roundtrip (line 112) | def test_roundtrip(self) -> None: class TestResourceRef (line 127) | class TestResourceRef: method test_construction (line 128) | def test_construction(self) -> None: method test_roundtrip (line 134) | def test_roundtrip(self) -> None: class TestTraceEvent (line 149) | class TestTraceEvent: method test_construction (line 150) | def test_construction(self) -> None: method test_roundtrip (line 157) | def test_roundtrip(self) -> None: method test_with_parent (line 168) | def test_with_parent(self) -> None: method test_with_causes_and_evidence (line 172) | def test_with_causes_and_evidence(self) -> None: method test_all_categories_accepted (line 181) | def test_all_categories_accepted(self) -> None: method test_all_severity_levels (line 192) | def test_all_severity_levels(self) -> None: method test_all_stages (line 197) | def test_all_stages(self) -> None: class TestCausalEdge (line 209) | class TestCausalEdge: method test_construction (line 210) | def test_construction(self) -> None: method test_roundtrip (line 221) | def test_roundtrip(self) -> None: method test_all_relations (line 234) | def test_all_relations(self) -> None: class TestRunTrace (line 247) | class TestRunTrace: method test_construction (line 248) | def test_construction(self) -> None: method test_roundtrip (line 255) | def test_roundtrip(self) -> None: method test_generation_scoped (line 267) | def test_generation_scoped(self) -> None: method test_schema_version (line 271) | def test_schema_version(self) -> None: method test_events_ordered_by_sequence (line 275) | def test_events_ordered_by_sequence(self) -> None: method test_dependency_edges_present (line 280) | def test_dependency_edges_present(self) -> None: method test_evidence_chain (line 289) | def test_evidence_chain(self) -> None: class TestTraceStore (line 303) | class TestTraceStore: method test_persist_and_load (line 304) | def test_persist_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 317) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_traces (line 323) | def test_list_traces(self, tmp_path: Path) -> None: method test_list_by_run_id (line 331) | def test_list_by_run_id(self, tmp_path: Path) -> None: method test_list_by_generation (line 343) | def test_list_by_generation(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_runner_integration.py function test_single_generation_persists_metadata_and_artifacts (line 10) | def test_single_generation_persists_metadata_and_artifacts(tmp_path: Pat... function test_playbook_not_updated_on_rollback (line 91) | def test_playbook_not_updated_on_rollback(tmp_path: Path) -> None: function test_run_completed_omits_session_report_path_when_reports_disabled (line 130) | def test_run_completed_omits_session_report_path_when_reports_disabled(t... function test_resume_is_idempotent_for_existing_generation (line 162) | def test_resume_is_idempotent_for_existing_generation(tmp_path: Path) ->... FILE: autocontext/tests/test_runtime_bridge_provider.py function test_runtime_bridge_provider_closes_underlying_runtime (line 8) | def test_runtime_bridge_provider_closes_underlying_runtime() -> None: function test_runtime_bridge_provider_exposes_runtime_concurrency_capability (line 17) | def test_runtime_bridge_provider_exposes_runtime_concurrency_capability(... FILE: autocontext/tests/test_runtime_budget.py class TestStartingNow (line 27) | class TestStartingNow: method test_starts_with_full_budget_remaining (line 28) | def test_starts_with_full_budget_remaining(self): method test_zero_budget_is_immediately_expired (line 33) | def test_zero_budget_is_immediately_expired(self): method test_negative_budget_is_rejected (line 38) | def test_negative_budget_is_rejected(self): class TestExplicitConstruction (line 44) | class TestExplicitConstruction: method test_remaining_decreases_with_elapsed_time (line 45) | def test_remaining_decreases_with_elapsed_time(self): method test_remaining_clamped_to_zero_after_deadline (line 53) | def test_remaining_clamped_to_zero_after_deadline(self): class TestExpired (line 64) | class TestExpired: method test_not_expired_before_deadline (line 65) | def test_not_expired_before_deadline(self): method test_expired_at_deadline (line 70) | def test_expired_at_deadline(self): method test_expired_after_deadline (line 76) | def test_expired_after_deadline(self): class TestPerCallTimeout (line 85) | class TestPerCallTimeout: method test_returns_min_of_requested_and_remaining (line 86) | def test_returns_min_of_requested_and_remaining(self): method test_cap_returns_zero_when_expired (line 94) | def test_cap_returns_zero_when_expired(self): method test_cap_handles_unbounded_per_call (line 99) | def test_cap_handles_unbounded_per_call(self): class TestEnsureNotExpired (line 109) | class TestEnsureNotExpired: method test_passes_silently_when_budget_remains (line 110) | def test_passes_silently_when_budget_remains(self): method test_raises_domain_exception_when_expired (line 115) | def test_raises_domain_exception_when_expired(self): method test_exception_carries_total_and_elapsed (line 123) | def test_exception_carries_total_and_elapsed(self): class TestImmutable (line 136) | class TestImmutable: method test_cannot_mutate_total_seconds (line 137) | def test_cannot_mutate_total_seconds(self): method test_cannot_mutate_start_at (line 142) | def test_cannot_mutate_start_at(self): class TestMonotonicClock (line 151) | class TestMonotonicClock: method test_remaining_uses_monotonic_clock_by_default (line 152) | def test_remaining_uses_monotonic_clock_by_default(self): FILE: autocontext/tests/test_runtime_context_layers.py function _write_skill (line 6) | def _write_skill(root: Path, name: str, description: str) -> Path: function test_runtime_context_layer_order_is_canonical (line 24) | def test_runtime_context_layer_order_is_canonical() -> None: function test_repo_instruction_discovery_is_missing_safe_and_child_cwd_specific (line 49) | def test_repo_instruction_discovery_is_missing_safe_and_child_cwd_specif... function test_runtime_skill_discovery_is_cwd_specific_and_deduplicates (line 72) | def test_runtime_skill_discovery_is_cwd_specific_and_deduplicates(tmp_pa... function test_knowledge_components_respect_include_exclude_and_empty_values (line 93) | def test_knowledge_components_respect_include_exclude_and_empty_values()... function test_runtime_context_assembler_materializes_ordered_bundle_with_provenance (line 114) | def test_runtime_context_assembler_materializes_ordered_bundle_with_prov... function test_runtime_context_assembler_recomputes_workspace_layers_for_child_cwd (line 170) | def test_runtime_context_assembler_recomputes_workspace_layers_for_child... FILE: autocontext/tests/test_runtime_session_api.py function _make_store (line 18) | def _make_store(tmp_path: Path) -> SQLiteStore: function _seed_run (line 24) | def _seed_run(store: SQLiteStore, run_id: str = "test-run-1") -> None: function _persist_runtime_session (line 29) | def _persist_runtime_session(db_path: Path) -> None: function cockpit_env (line 58) | def cockpit_env(tmp_path: Path) -> Generator[dict[str, Any], None, None]: function test_cockpit_lists_and_reads_runtime_sessions (line 78) | def test_cockpit_lists_and_reads_runtime_sessions(cockpit_env: dict[str,... function test_cockpit_returns_runtime_session_timeline (line 107) | def test_cockpit_returns_runtime_session_timeline(cockpit_env: dict[str,... function test_cockpit_run_views_include_runtime_session_discovery (line 120) | def test_cockpit_run_views_include_runtime_session_discovery(cockpit_env... function test_cockpit_runtime_session_missing_run_returns_404 (line 137) | def test_cockpit_runtime_session_missing_run_returns_404(cockpit_env: di... FILE: autocontext/tests/test_runtime_session_events.py function _concurrent_log (line 8) | def _concurrent_log(): function test_runtime_session_event_log_uses_typescript_compatible_json_shape (line 90) | def test_runtime_session_event_log_uses_typescript_compatible_json_shape... function test_runtime_session_event_log_assigns_unique_sequences_for_concurrent_appends (line 119) | def test_runtime_session_event_log_assigns_unique_sequences_for_concurre... function test_runtime_session_event_store_round_trips_logs_and_children (line 136) | def test_runtime_session_event_store_round_trips_logs_and_children(tmp_p... function test_runtime_session_event_store_does_not_truncate_newer_events_on_stale_save (line 174) | def test_runtime_session_event_store_does_not_truncate_newer_events_on_s... function test_runtime_session_event_store_closes_operation_connections (line 203) | def test_runtime_session_event_store_closes_operation_connections(tmp_pa... function test_runtime_session_records_successful_prompt_with_request_correlation (line 254) | def test_runtime_session_records_successful_prompt_with_request_correlat... function test_runtime_session_records_handler_failure_without_raising (line 314) | def test_runtime_session_records_handler_failure_without_raising(tmp_pat... function test_runtime_session_event_sink_failures_do_not_interrupt_recording (line 351) | def test_runtime_session_event_sink_failures_do_not_interrupt_recording(... function test_runtime_session_sanitizes_non_json_metadata_before_recording (line 379) | def test_runtime_session_sanitizes_non_json_metadata_before_recording(tm... function test_runtime_session_records_child_task_lineage (line 418) | def test_runtime_session_records_child_task_lineage(tmp_path: Path) -> N... function test_runtime_session_records_scoped_command_grant_events (line 506) | def test_runtime_session_records_scoped_command_grant_events(tmp_path: P... function test_runtime_child_tasks_receive_scoped_workspace_and_grant_events (line 548) | def test_runtime_child_tasks_receive_scoped_workspace_and_grant_events()... function test_runtime_session_reused_task_ids_keep_distinct_child_logs (line 603) | def test_runtime_session_reused_task_ids_keep_distinct_child_logs(tmp_pa... function test_runtime_session_child_task_depth_limit_is_recorded (line 657) | def test_runtime_session_child_task_depth_limit_is_recorded(tmp_path: Pa... function test_runtime_session_read_model_resolves_run_ids_and_summaries (line 703) | def test_runtime_session_read_model_resolves_run_ids_and_summaries() -> ... function test_runtime_session_timeline_pairs_concurrent_responses_by_request_id (line 729) | def test_runtime_session_timeline_pairs_concurrent_responses_by_request_... function test_runtime_session_timeline_keeps_unmatched_correlated_response_generic (line 770) | def test_runtime_session_timeline_keeps_unmatched_correlated_response_ge... function test_runtime_session_timeline_pairs_child_completions_by_child_session_id (line 789) | def test_runtime_session_timeline_pairs_child_completions_by_child_sessi... function test_runtime_session_timeline_surfaces_compaction_details (line 840) | def test_runtime_session_timeline_surfaces_compaction_details() -> None: FILE: autocontext/tests/test_runtime_session_mcp_tools.py function _make_ctx (line 9) | def _make_ctx(tmp_path: Path) -> MtsToolContext: function _persist_runtime_session (line 20) | def _persist_runtime_session(db_path: Path) -> None: function test_mcp_runtime_session_tools_read_summaries_logs_and_timelines (line 42) | def test_mcp_runtime_session_tools_read_summaries_logs_and_timelines(tmp... function test_mcp_runtime_session_tool_errors_are_structured (line 55) | def test_mcp_runtime_session_tool_errors_are_structured(tmp_path: Path) ... FILE: autocontext/tests/test_runtime_session_run_trace.py function test_runtime_session_log_to_run_trace_maps_allowlisted_events (line 8) | def test_runtime_session_log_to_run_trace_maps_allowlisted_events() -> N... function test_runtime_session_log_to_run_trace_correlates_concurrent_prompt_responses (line 209) | def test_runtime_session_log_to_run_trace_correlates_concurrent_prompt_r... FILE: autocontext/tests/test_runtime_session_run_wiring.py class _DeterministicAgentRuntime (line 24) | class _DeterministicAgentRuntime: method __init__ (line 27) | def __init__(self) -> None: method generate (line 30) | def generate(self, prompt: str) -> AgentOutput: class _FailingAgentRuntime (line 44) | class _FailingAgentRuntime: method generate (line 47) | def generate(self, prompt: str) -> AgentOutput: class _ClosableAgentRuntime (line 52) | class _ClosableAgentRuntime(_DeterministicAgentRuntime): method __init__ (line 53) | def __init__(self) -> None: method close (line 57) | def close(self) -> None: class _PromptCapturingAgentRuntime (line 61) | class _PromptCapturingAgentRuntime: method __init__ (line 64) | def __init__(self) -> None: method generate (line 67) | def generate(self, prompt: str) -> AgentOutput: function _prompts (line 72) | def _prompts(): function test_orchestrator_records_run_scoped_runtime_session_for_runtime_bridge (line 84) | def test_orchestrator_records_run_scoped_runtime_session_for_runtime_bri... function test_prompt_compaction_records_run_scoped_runtime_session_event (line 137) | def test_prompt_compaction_records_run_scoped_runtime_session_event(tmp_... function test_resolve_role_runtime_records_run_scoped_runtime_session (line 224) | def test_resolve_role_runtime_records_run_scoped_runtime_session(tmp_pat... function test_runtime_session_recording_preserves_runtime_failure_semantics (line 270) | def test_runtime_session_recording_preserves_runtime_failure_semantics(t... function test_runtime_session_recording_closes_budgeted_runtime_client (line 308) | def test_runtime_session_recording_closes_budgeted_runtime_client(tmp_pa... function test_runtime_session_recording_logs_hook_mutated_provider_prompt (line 354) | def test_runtime_session_recording_logs_hook_mutated_provider_prompt(tmp... FILE: autocontext/tests/test_runtime_workspace_env.py function test_in_memory_workspace_normalizes_paths_and_files (line 19) | def test_in_memory_workspace_normalizes_paths_and_files() -> None: function test_in_memory_workspace_scopes_without_copying_filesystem (line 39) | def test_in_memory_workspace_scopes_without_copying_filesystem() -> None: function test_local_workspace_maps_file_operations_through_virtual_root (line 52) | def test_local_workspace_maps_file_operations_through_virtual_root(tmp_p... function test_local_workspace_stats_and_removes_symlink_without_deleting_target (line 63) | def test_local_workspace_stats_and_removes_symlink_without_deleting_targ... function test_local_workspace_rejects_paths_that_escape_virtual_root (line 82) | def test_local_workspace_rejects_paths_that_escape_virtual_root(tmp_path... function test_local_workspace_executes_commands_inside_virtual_cwd (line 94) | def test_local_workspace_executes_commands_inside_virtual_cwd(tmp_path: ... function test_local_workspace_rejects_exec_cwd_symlink_escape_for_grants (line 105) | def test_local_workspace_rejects_exec_cwd_symlink_escape_for_grants(tmp_... function test_scoped_command_grants_are_not_visible_to_parent (line 127) | def test_scoped_command_grants_are_not_visible_to_parent() -> None: function test_in_memory_workspace_rejects_file_as_parent_directory (line 142) | def test_in_memory_workspace_rejects_file_as_parent_directory() -> None: function test_in_memory_workspace_rejects_file_directory_same_path_collision (line 153) | def test_in_memory_workspace_rejects_file_directory_same_path_collision(... function test_command_grants_receive_trusted_env_and_virtual_cwd (line 167) | def test_command_grants_receive_trusted_env_and_virtual_cwd() -> None: function test_command_grants_emit_redacted_lifecycle_events (line 189) | def test_command_grants_emit_redacted_lifecycle_events() -> None: function test_command_grants_redact_overlapping_secrets_longest_first (line 231) | def test_command_grants_redact_overlapping_secrets_longest_first() -> None: function test_command_grants_emit_configured_kind (line 260) | def test_command_grants_emit_configured_kind() -> None: function test_local_command_grants_do_not_inherit_host_env_by_default (line 282) | def test_local_command_grants_do_not_inherit_host_env_by_default(tmp_pat... function test_local_command_grants_apply_call_site_timeout (line 304) | def test_local_command_grants_apply_call_site_timeout(tmp_path: Path) ->... function test_command_grant_child_task_inheritance_policy (line 324) | def test_command_grant_child_task_inheritance_policy() -> None: function test_cleanup_closes_in_memory_workspace (line 341) | def test_cleanup_closes_in_memory_workspace() -> None: FILE: autocontext/tests/test_runtimes.py class TestAgentOutput (line 20) | class TestAgentOutput: method test_defaults (line 21) | def test_defaults(self): method test_all_fields (line 28) | def test_all_fields(self): class _MockProvider (line 46) | class _MockProvider(LLMProvider): method __init__ (line 47) | def __init__(self, response: str = "mock output"): method complete (line 51) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 55) | def default_model(self): class TestDirectAPIRuntime (line 59) | class TestDirectAPIRuntime: method test_generate (line 60) | def test_generate(self): method test_generate_with_system (line 67) | def test_generate_with_system(self): method test_revise (line 73) | def test_revise(self): method test_model_passthrough (line 81) | def test_model_passthrough(self): method test_name (line 87) | def test_name(self): class TestClaudeCLIConfig (line 97) | class TestClaudeCLIConfig: method test_defaults (line 98) | def test_defaults(self): method test_custom (line 105) | def test_custom(self): method test_retry_defaults_bound_total_runtime (line 110) | def test_retry_defaults_bound_total_runtime(self): function _mock_claude_json (line 121) | def _mock_claude_json(result: str = "output text", cost: float = 0.05, i... class TestClaudeCLIRuntime (line 138) | class TestClaudeCLIRuntime: method test_build_args_defaults (line 139) | def test_build_args_defaults(self): method test_build_args_with_tools (line 152) | def test_build_args_with_tools(self): method test_build_args_no_tools (line 163) | def test_build_args_no_tools(self): method test_build_args_with_session (line 173) | def test_build_args_with_session(self): method test_build_args_with_schema (line 182) | def test_build_args_with_schema(self): method test_build_args_with_system_prompt (line 189) | def test_build_args_with_system_prompt(self): method test_parse_output_success (line 197) | def test_parse_output_success(self): method test_parse_output_accumulates_cost (line 207) | def test_parse_output_accumulates_cost(self): method test_parse_output_invalid_json (line 213) | def test_parse_output_invalid_json(self): method test_parse_output_with_structured (line 218) | def test_parse_output_with_structured(self): method test_generate_calls_subprocess (line 230) | def test_generate_calls_subprocess(self, mock_run): method test_revise_includes_feedback (line 246) | def test_revise_includes_feedback(self, mock_run): method test_timeout_handling (line 265) | def test_timeout_handling(self, mock_run): method test_timeout_retries_are_bounded_and_observable (line 274) | def test_timeout_retries_are_bounded_and_observable( method test_timeout_retry_can_recover (line 307) | def test_timeout_retry_can_recover(self, mock_run, mock_sleep): method test_timeout_retry_skips_sleep_that_would_exhaust_total_cap (line 334) | def test_timeout_retry_skips_sleep_that_would_exhaust_total_cap(self, ... method test_missing_cli (line 353) | def test_missing_cli(self, mock_run): method test_nonzero_exit_with_output (line 360) | def test_nonzero_exit_with_output(self, mock_run): method test_nonzero_exit_no_output (line 373) | def test_nonzero_exit_no_output(self, mock_run): class TestCreateSessionRuntime (line 392) | class TestCreateSessionRuntime: method test_creates_with_session_id (line 393) | def test_creates_with_session_id(self): method test_unique_session_ids (line 399) | def test_unique_session_ids(self): FILE: autocontext/tests/test_sample_states.py class FakeScenario (line 16) | class FakeScenario(ScenarioInterface): method __init__ (line 21) | def __init__(self, max_turns: int = 10) -> None: method describe_rules (line 24) | def describe_rules(self) -> str: method describe_strategy_interface (line 27) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 30) | def describe_evaluation_criteria(self) -> str: method initial_state (line 33) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 36) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 39) | def validate_actions( method step (line 44) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 49) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 52) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 55) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 58) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: class FakeScenarioWithLegalActions (line 62) | class FakeScenarioWithLegalActions(FakeScenario): method enumerate_legal_actions (line 65) | def enumerate_legal_actions(self, state: Mapping[str, Any]) -> list[di... class TestSampleState (line 77) | class TestSampleState: method test_fields (line 78) | def test_fields(self) -> None: method test_frozen (line 90) | def test_frozen(self) -> None: method test_none_legal_actions (line 95) | def test_none_legal_actions(self) -> None: class TestSampleStateGeneratorGenerate (line 103) | class TestSampleStateGeneratorGenerate: method test_generates_at_least_n_states (line 104) | def test_generates_at_least_n_states(self) -> None: method test_default_50_states (line 109) | def test_default_50_states(self) -> None: method test_all_states_have_description (line 114) | def test_all_states_have_description(self) -> None: method test_all_states_have_valid_difficulty (line 121) | def test_all_states_have_valid_difficulty(self) -> None: method test_covers_all_phases (line 128) | def test_covers_all_phases(self) -> None: method test_states_are_dicts (line 136) | def test_states_are_dicts(self) -> None: method test_no_legal_actions_without_enumeration (line 142) | def test_no_legal_actions_without_enumeration(self) -> None: method test_small_n_states (line 148) | def test_small_n_states(self) -> None: method test_caching (line 153) | def test_caching(self) -> None: class TestSampleStateGeneratorGroundTruth (line 164) | class TestSampleStateGeneratorGroundTruth: method test_includes_legal_actions (line 165) | def test_includes_legal_actions(self) -> None: method test_ground_truth_has_actions (line 174) | def test_ground_truth_has_actions(self) -> None: method test_scenario_without_enumeration_returns_none (line 180) | def test_scenario_without_enumeration_returns_none(self) -> None: class TestSampleStateGeneratorRealScenarios (line 190) | class TestSampleStateGeneratorRealScenarios: method test_grid_ctf (line 191) | def test_grid_ctf(self) -> None: method test_othello (line 199) | def test_othello(self) -> None: method test_grid_ctf_with_ground_truth (line 207) | def test_grid_ctf_with_ground_truth(self) -> None: method test_grid_ctf_random_actions_respect_constraints (line 216) | def test_grid_ctf_random_actions_respect_constraints(self) -> None: FILE: autocontext/tests/test_sandbox.py function _make_settings (line 13) | def _make_settings(tmp_path: Path) -> AppSettings: function test_create_sandbox (line 26) | def test_create_sandbox(tmp_path: Path) -> None: function test_sandbox_id_format (line 36) | def test_sandbox_id_format(tmp_path: Path) -> None: function test_knowledge_seeded (line 44) | def test_knowledge_seeded(tmp_path: Path) -> None: function test_hint_state_seeded (line 63) | def test_hint_state_seeded(tmp_path: Path) -> None: function test_tools_seeded (line 84) | def test_tools_seeded(tmp_path: Path) -> None: function test_main_knowledge_unchanged (line 98) | def test_main_knowledge_unchanged(tmp_path: Path) -> None: function test_run_generation_in_sandbox (line 112) | def test_run_generation_in_sandbox(tmp_path: Path) -> None: function test_sandbox_playbook_evolves (line 124) | def test_sandbox_playbook_evolves(tmp_path: Path) -> None: function test_list_sandboxes (line 136) | def test_list_sandboxes(tmp_path: Path) -> None: function test_destroy_cleans_up (line 148) | def test_destroy_cleans_up(tmp_path: Path) -> None: function test_max_generations_enforced (line 161) | def test_max_generations_enforced(tmp_path: Path) -> None: FILE: autocontext/tests/test_scenario_artifact_paths.py function _make_store (line 21) | def _make_store(tmp_path: Path) -> ArtifactStore: function _progress_report (line 30) | def _progress_report() -> RunProgressReport: function _weakness_report (line 43) | def _weakness_report() -> WeaknessReport: function test_scenario_scoped_artifact_methods_accept_normal_names (line 47) | def test_scenario_scoped_artifact_methods_accept_normal_names(tmp_path: ... function test_scenario_scoped_writes_reject_unsafe_names (line 92) | def test_scenario_scoped_writes_reject_unsafe_names( function test_scenario_scoped_reads_reject_unsafe_names (line 123) | def test_scenario_scoped_reads_reject_unsafe_names( FILE: autocontext/tests/test_scenario_behavioral_contract.py class TestOperatorLoopContract (line 22) | class TestOperatorLoopContract: method contract (line 26) | def contract(self) -> ScenarioBehavioralContract: method test_flags_missing_escalation_when_prompt_requires_it (line 35) | def test_flags_missing_escalation_when_prompt_requires_it(self, contra... method test_passes_when_escalation_prompt_met (line 50) | def test_passes_when_escalation_prompt_met(self, contract: ScenarioBeh... method test_no_escalation_required_when_prompt_does_not_ask (line 59) | def test_no_escalation_required_when_prompt_does_not_ask(self, contrac... method test_missing_clarification_is_warning_not_failure (line 71) | def test_missing_clarification_is_warning_not_failure(self, contract: ... method test_handles_missing_count_keys_gracefully (line 88) | def test_handles_missing_count_keys_gracefully(self, contract: Scenari... method test_no_contract_for_unregistered_family (line 98) | def test_no_contract_for_unregistered_family(self) -> None: class TestContractResult (line 104) | class TestContractResult: method test_satisfied_result_has_no_missing_signals (line 107) | def test_satisfied_result_has_no_missing_signals(self) -> None: method test_violated_result_has_missing_signals_and_ceiling (line 112) | def test_violated_result_has_missing_signals_and_ceiling(self) -> None: FILE: autocontext/tests/test_scenario_capabilities.py class _MockGameScenario (line 17) | class _MockGameScenario: method describe_rules (line 22) | def describe_rules(self) -> str: method describe_strategy_interface (line 25) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 28) | def describe_evaluation_criteria(self) -> str: method initial_state (line 31) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method validate_actions (line 34) | def validate_actions(self, state: Any, player_id: str, actions: Any) -... method execute_match (line 37) | def execute_match(self, strategy: Any, seed: int) -> Any: class _MockAgentTask (line 41) | class _MockAgentTask: method get_task_prompt (line 46) | def get_task_prompt(self, state: dict[str, Any]) -> str: method evaluate_output (line 49) | def evaluate_output(self, output: str, state: dict[str, Any], **kwargs... method get_rubric (line 52) | def get_rubric(self) -> str: method initial_state (line 55) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method describe_task (line 58) | def describe_task(self) -> str: class _MockBareScenario (line 62) | class _MockBareScenario: method initial_state (line 67) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: class TestScenarioCapabilities (line 76) | class TestScenarioCapabilities: method test_construction (line 77) | def test_construction(self) -> None: class TestResolveCapabilities (line 99) | class TestResolveCapabilities: method test_game_scenario (line 100) | def test_game_scenario(self) -> None: method test_agent_task (line 112) | def test_agent_task(self) -> None: method test_bare_scenario (line 124) | def test_bare_scenario(self) -> None: class TestGetDescription (line 139) | class TestGetDescription: method test_game_scenario_uses_rules (line 140) | def test_game_scenario_uses_rules(self) -> None: method test_agent_task_uses_describe_task (line 146) | def test_agent_task_uses_describe_task(self) -> None: method test_bare_returns_empty (line 152) | def test_bare_returns_empty(self) -> None: class TestGetEvaluationCriteria (line 164) | class TestGetEvaluationCriteria: method test_game_scenario (line 165) | def test_game_scenario(self) -> None: method test_agent_task_returns_rubric (line 171) | def test_agent_task_returns_rubric(self) -> None: method test_bare_returns_empty (line 177) | def test_bare_returns_empty(self) -> None: class TestCanValidateActions (line 188) | class TestCanValidateActions: method test_game_true (line 189) | def test_game_true(self) -> None: method test_agent_task_false (line 194) | def test_agent_task_false(self) -> None: method test_bare_false (line 199) | def test_bare_false(self) -> None: class TestCanRunMatch (line 205) | class TestCanRunMatch: method test_game_true (line 206) | def test_game_true(self) -> None: method test_agent_task_false (line 211) | def test_agent_task_false(self) -> None: class TestGetTaskPromptSafe (line 222) | class TestGetTaskPromptSafe: method test_agent_task_returns_prompt (line 223) | def test_agent_task_returns_prompt(self) -> None: method test_game_returns_none (line 230) | def test_game_returns_none(self) -> None: class TestGetRubricSafe (line 236) | class TestGetRubricSafe: method test_agent_task_returns_rubric (line 237) | def test_agent_task_returns_rubric(self) -> None: method test_game_returns_none (line 244) | def test_game_returns_none(self) -> None: class TestGetStrategyInterfaceSafe (line 255) | class TestGetStrategyInterfaceSafe: method test_game_returns_interface (line 256) | def test_game_returns_interface(self) -> None: method test_agent_task_returns_none (line 263) | def test_agent_task_returns_none(self) -> None: FILE: autocontext/tests/test_scenario_creator.py function creator (line 17) | def creator(tmp_path: Path) -> ScenarioCreator: class TestDeriveName (line 23) | class TestDeriveName: method test_simple (line 24) | def test_simple(self, creator: ScenarioCreator) -> None: method test_strips_filler_words (line 29) | def test_strips_filler_words(self, creator: ScenarioCreator) -> None: method test_max_three_words (line 34) | def test_max_three_words(self, creator: ScenarioCreator) -> None: class TestDeriveNameImproved (line 39) | class TestDeriveNameImproved: method test_prefers_longer_words (line 40) | def test_prefers_longer_words(self, creator: ScenarioCreator) -> None: method test_filters_expanded_stop_words (line 46) | def test_filters_expanded_stop_words(self, creator: ScenarioCreator) -... class TestParseSpecFromResponse (line 54) | class TestParseSpecFromResponse: method test_valid_response (line 55) | def test_valid_response(self) -> None: method test_missing_delimiters (line 80) | def test_missing_delimiters(self) -> None: method test_invalid_json (line 84) | def test_invalid_json(self) -> None: class TestGenerateSpec (line 90) | class TestGenerateSpec: method test_deterministic_client (line 91) | def test_deterministic_client(self, creator: ScenarioCreator) -> None: method test_spec_is_valid (line 99) | def test_spec_is_valid(self, creator: ScenarioCreator) -> None: class TestBuildAndValidate (line 107) | class TestBuildAndValidate: method test_full_pipeline (line 108) | def test_full_pipeline(self, creator: ScenarioCreator) -> None: method test_persists_to_disk (line 116) | def test_persists_to_disk(self, creator: ScenarioCreator) -> None: method test_loaded_class_in_sys_modules (line 123) | def test_loaded_class_in_sys_modules(self, creator: ScenarioCreator) -... method test_scenario_runs_match (line 129) | def test_scenario_runs_match(self, creator: ScenarioCreator) -> None: function _make_manual_spec (line 139) | def _make_manual_spec(name: str, param_name: str, env_name: str = "press... class TestEndToEnd (line 178) | class TestEndToEnd: method test_description_to_match (line 179) | def test_description_to_match(self, creator: ScenarioCreator) -> None: method test_revise_spec (line 191) | def test_revise_spec(self, creator: ScenarioCreator) -> None: class TestReloadingGeneratedScenarios (line 199) | class TestReloadingGeneratedScenarios: method test_build_and_validate_reloads_when_same_name_is_regenerated (line 200) | def test_build_and_validate_reloads_when_same_name_is_regenerated(self... FILE: autocontext/tests/test_scenario_dispatch.py function _settings (line 20) | def _settings(tmp_path: Path) -> AppSettings: class TestCliDispatch (line 33) | class TestCliDispatch: method test_agent_task_family_uses_direct_agent_task_path (line 34) | def test_agent_task_family_uses_direct_agent_task_path(self) -> None: method test_negotiation_family_does_not_use_agent_task_path (line 49) | def test_negotiation_family_does_not_use_agent_task_path(self) -> None: method test_run_routes_negotiation_family_through_generation_runner (line 64) | def test_run_routes_negotiation_family_through_generation_runner(self,... class TestScenarioInfoTypes (line 100) | class TestScenarioInfoTypes: method test_negotiation_accepted (line 101) | def test_negotiation_accepted(self) -> None: method test_schema_evolution_accepted (line 112) | def test_schema_evolution_accepted(self) -> None: method test_tool_fragility_accepted (line 123) | def test_tool_fragility_accepted(self) -> None: method test_operator_loop_accepted (line 134) | def test_operator_loop_accepted(self) -> None: method test_coordination_accepted (line 145) | def test_coordination_accepted(self) -> None: method test_all_registered_scenario_markers_accepted (line 156) | def test_all_registered_scenario_markers_accepted(self) -> None: FILE: autocontext/tests/test_scenario_families.py class _StubGameScenario (line 32) | class _StubGameScenario(ScenarioInterface): method describe_rules (line 35) | def describe_rules(self) -> str: method describe_strategy_interface (line 38) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 41) | def describe_evaluation_criteria(self) -> str: method initial_state (line 44) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 47) | def get_observation(self, state: Any, player_id: str) -> Any: method validate_actions (line 50) | def validate_actions(self, state: Any, player_id: str, actions: Any) -... method step (line 53) | def step(self, state: Any, actions: Any) -> dict[str, Any]: method is_terminal (line 56) | def is_terminal(self, state: Any) -> bool: method get_result (line 59) | def get_result(self, state: Any) -> Any: method replay_to_narrative (line 62) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 65) | def render_frame(self, state: Any) -> dict[str, Any]: class _StubAgentTask (line 69) | class _StubAgentTask(AgentTaskInterface): method get_task_prompt (line 70) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 73) | def evaluate_output(self, output: str, state: dict, **kwargs: Any) -> ... method get_rubric (line 76) | def get_rubric(self) -> str: method initial_state (line 79) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 82) | def describe_task(self) -> str: class _StubSimulation (line 86) | class _StubSimulation(SimulationInterface): method describe_scenario (line 89) | def describe_scenario(self) -> str: method describe_environment (line 92) | def describe_environment(self) -> Any: method initial_state (line 103) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 106) | def get_available_actions(self, state: dict[str, Any]) -> list: method execute_action (line 111) | def execute_action(self, state: dict[str, Any], action: Any) -> tuple: method is_terminal (line 116) | def is_terminal(self, state: Any) -> bool: method evaluate_trace (line 119) | def evaluate_trace(self, trace: Any, final_state: dict[str, Any]) -> Any: method get_rubric (line 127) | def get_rubric(self) -> str: class TestScenarioFamily (line 136) | class TestScenarioFamily: method test_construction (line 137) | def test_construction(self) -> None: method test_defaults (line 152) | def test_defaults(self) -> None: method test_with_capabilities (line 165) | def test_with_capabilities(self) -> None: class TestRegistration (line 185) | class TestRegistration: method test_register_family (line 186) | def test_register_family(self) -> None: method test_register_duplicate_raises (line 202) | def test_register_duplicate_raises(self) -> None: method test_get_family_exists (line 218) | def test_get_family_exists(self) -> None: method test_get_family_not_found (line 223) | def test_get_family_not_found(self) -> None: method test_list_families (line 227) | def test_list_families(self) -> None: class TestBuiltinFamilies (line 241) | class TestBuiltinFamilies: method test_game_family (line 242) | def test_game_family(self) -> None: method test_agent_task_family (line 249) | def test_agent_task_family(self) -> None: method test_simulation_family (line 256) | def test_simulation_family(self) -> None: method test_game_scenario_type_marker (line 263) | def test_game_scenario_type_marker(self) -> None: method test_agent_task_scenario_type_marker (line 267) | def test_agent_task_scenario_type_marker(self) -> None: method test_simulation_scenario_type_marker (line 271) | def test_simulation_scenario_type_marker(self) -> None: method test_get_family_by_marker (line 275) | def test_get_family_by_marker(self) -> None: class TestDetectFamily (line 286) | class TestDetectFamily: method test_detect_game_scenario (line 287) | def test_detect_game_scenario(self) -> None: method test_detect_agent_task (line 293) | def test_detect_agent_task(self) -> None: method test_detect_simulation (line 299) | def test_detect_simulation(self) -> None: method test_detect_unknown_returns_none (line 305) | def test_detect_unknown_returns_none(self) -> None: method test_simulation_detected_before_game (line 309) | def test_simulation_detected_before_game(self) -> None: class TestIntrospection (line 322) | class TestIntrospection: method test_family_has_description (line 323) | def test_family_has_description(self) -> None: method test_family_has_evaluation_mode (line 327) | def test_family_has_evaluation_mode(self) -> None: method test_family_has_output_modes (line 331) | def test_family_has_output_modes(self) -> None: method test_all_families_have_distinct_markers (line 335) | def test_all_families_have_distinct_markers(self) -> None: class TestScenarioRegistryIntegration (line 346) | class TestScenarioRegistryIntegration: method test_detect_family_for_builtin_grid_ctf (line 347) | def test_detect_family_for_builtin_grid_ctf(self) -> None: method test_detect_family_for_builtin_othello (line 357) | def test_detect_family_for_builtin_othello(self) -> None: FILE: autocontext/tests/test_scenario_routing.py function _registry_with_models (line 16) | def _registry_with_models(tmp_path: Path) -> Any: class TestScenarioRoutingContext (line 64) | class TestScenarioRoutingContext: method test_construction (line 65) | def test_construction(self) -> None: method test_defaults (line 77) | def test_defaults(self) -> None: class TestRoutingDecision (line 91) | class TestRoutingDecision: method test_construction (line 92) | def test_construction(self) -> None: method test_roundtrip (line 105) | def test_roundtrip(self) -> None: class TestResolveProviderForContext (line 126) | class TestResolveProviderForContext: method test_resolves_active_local_model (line 127) | def test_resolves_active_local_model(self, tmp_path: Path) -> None: method test_falls_back_when_no_active (line 144) | def test_falls_back_when_no_active(self, tmp_path: Path) -> None: method test_manual_override_wins (line 162) | def test_manual_override_wins(self, tmp_path: Path) -> None: method test_captures_scenario_in_decision (line 179) | def test_captures_scenario_in_decision(self, tmp_path: Path) -> None: class TestPiModelHandoff (line 197) | class TestPiModelHandoff: method test_construction (line 198) | def test_construction(self) -> None: method test_roundtrip (line 211) | def test_roundtrip(self) -> None: class TestResolvePiModel (line 228) | class TestResolvePiModel: method test_resolves_pi_runtime_model (line 229) | def test_resolves_pi_runtime_model(self, tmp_path: Path) -> None: method test_returns_none_when_no_pi_model (line 239) | def test_returns_none_when_no_pi_model(self, tmp_path: Path) -> None: method test_manual_override (line 247) | def test_manual_override(self, tmp_path: Path) -> None: class TestPiExecutionTrace (line 265) | class TestPiExecutionTrace: method test_construction (line 266) | def test_construction(self) -> None: method test_roundtrip (line 280) | def test_roundtrip(self) -> None: FILE: autocontext/tests/test_scenario_templates.py function _judge_response (line 15) | def _judge_response(score: float, dimensions: dict[str, float]) -> str: class _StaticProvider (line 24) | class _StaticProvider(LLMProvider): method __init__ (line 25) | def __init__(self, response: str) -> None: method complete (line 28) | def complete( method default_model (line 38) | def default_model(self) -> str: class TestTemplateDirectoryStructure (line 46) | class TestTemplateDirectoryStructure: method test_template_dir_exists (line 49) | def test_template_dir_exists(self) -> None: method test_template_subdirectory_exists (line 53) | def test_template_subdirectory_exists(self, template_name: str) -> None: method test_template_has_spec_yaml (line 58) | def test_template_has_spec_yaml(self, template_name: str) -> None: method test_template_has_readme (line 63) | def test_template_has_readme(self, template_name: str) -> None: method test_template_has_example_input (line 68) | def test_template_has_example_input(self, template_name: str) -> None: method test_template_has_example_output (line 73) | def test_template_has_example_output(self, template_name: str) -> None: class TestTemplateSpec (line 83) | class TestTemplateSpec: method test_template_spec_from_yaml (line 86) | def test_template_spec_from_yaml(self) -> None: method test_template_spec_defaults (line 102) | def test_template_spec_defaults(self) -> None: method test_template_spec_optional_fields (line 115) | def test_template_spec_optional_fields(self) -> None: method test_template_spec_to_agent_task_spec (line 134) | def test_template_spec_to_agent_task_spec(self) -> None: class TestTemplateLoader (line 154) | class TestTemplateLoader: method test_list_templates (line 157) | def test_list_templates(self) -> None: method test_get_template (line 166) | def test_get_template(self) -> None: method test_get_template_not_found (line 174) | def test_get_template_not_found(self) -> None: method test_load_template_creates_agent_task (line 179) | def test_load_template_creates_agent_task(self, tmp_path: Path) -> None: method test_scaffold_to_directory (line 195) | def test_scaffold_to_directory(self, tmp_path: Path) -> None: class TestShippedTemplateSpecs (line 216) | class TestShippedTemplateSpecs: method test_spec_yaml_parses (line 220) | def test_spec_yaml_parses(self, template_name: str) -> None: method test_spec_has_required_fields (line 228) | def test_spec_has_required_fields(self, template_name: str) -> None: method test_example_input_is_valid_json (line 237) | def test_example_input_is_valid_json(self, template_name: str) -> None: method test_example_output_is_valid_json (line 243) | def test_example_output_is_valid_json(self, template_name: str) -> None: class TestTemplateSmoke (line 254) | class TestTemplateSmoke: method test_template_agent_task_smoke (line 258) | def test_template_agent_task_smoke(self, template_name: str) -> None: FILE: autocontext/tests/test_scenario_type_completeness.py class TestScenarioTypeCompleteness (line 18) | class TestScenarioTypeCompleteness: method test_registry_matches_registered_family_markers (line 21) | def test_registry_matches_registered_family_markers(self) -> None: method test_types_are_frozen (line 27) | def test_types_are_frozen(self) -> None: method test_all_types_are_lowercase_strings (line 32) | def test_all_types_are_lowercase_strings(self) -> None: method test_all_registry_types_are_accepted_by_scenario_info (line 40) | def test_all_registry_types_are_accepted_by_scenario_info(self) -> None: method test_historical_game_alias_is_not_accepted (line 51) | def test_historical_game_alias_is_not_accepted(self) -> None: FILE: autocontext/tests/test_scenarios.py function test_grid_ctf_validation_and_execution (line 5) | def test_grid_ctf_validation_and_execution() -> None: function test_othello_works_for_scenario_swap_contract (line 15) | def test_othello_works_for_scenario_swap_contract() -> None: FILE: autocontext/tests/test_schema_evolution_tool_fragility.py class TestSchemaMutation (line 24) | class TestSchemaMutation: method test_construction (line 25) | def test_construction(self) -> None: method test_breaking_change (line 40) | def test_breaking_change(self) -> None: method test_to_dict_from_dict (line 54) | def test_to_dict_from_dict(self) -> None: class TestContextValidity (line 73) | class TestContextValidity: method test_valid (line 74) | def test_valid(self) -> None: method test_invalid (line 85) | def test_invalid(self) -> None: method test_to_dict_from_dict (line 96) | def test_to_dict_from_dict(self) -> None: class TestSchemaEvolutionResult (line 111) | class TestSchemaEvolutionResult: method test_construction (line 112) | def test_construction(self) -> None: method test_to_dict_from_dict (line 129) | def test_to_dict_from_dict(self) -> None: class TestSchemaEvolutionInterfaceABC (line 154) | class TestSchemaEvolutionInterfaceABC: method test_cannot_instantiate_abc (line 155) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 161) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_scenario (line 165) | def test_describe_scenario(self) -> None: method test_get_schema_version (line 169) | def test_get_schema_version(self) -> None: method test_get_mutation_log (line 176) | def test_get_mutation_log(self) -> None: method test_apply_mutation (line 185) | def test_apply_mutation(self) -> None: method test_check_context_validity (line 199) | def test_check_context_validity(self) -> None: method test_evaluate_adaptation (line 208) | def test_evaluate_adaptation(self) -> None: method test_initial_state (line 217) | def test_initial_state(self) -> None: method _make_mock (line 222) | def _make_mock(self) -> Any: class TestToolContract (line 322) | class TestToolContract: method test_construction (line 323) | def test_construction(self) -> None: method test_to_dict_from_dict (line 336) | def test_to_dict_from_dict(self) -> None: class TestToolDrift (line 353) | class TestToolDrift: method test_construction (line 354) | def test_construction(self) -> None: method test_non_breaking_drift (line 368) | def test_non_breaking_drift(self) -> None: method test_to_dict_from_dict (line 381) | def test_to_dict_from_dict(self) -> None: class TestFailureAttribution (line 399) | class TestFailureAttribution: method test_construction (line 400) | def test_construction(self) -> None: method test_valid_failure_classes (line 413) | def test_valid_failure_classes(self) -> None: method test_to_dict_from_dict (line 423) | def test_to_dict_from_dict(self) -> None: class TestToolFragilityResult (line 437) | class TestToolFragilityResult: method test_construction (line 438) | def test_construction(self) -> None: method test_to_dict_from_dict (line 455) | def test_to_dict_from_dict(self) -> None: class TestToolFragilityInterfaceABC (line 487) | class TestToolFragilityInterfaceABC: method test_cannot_instantiate_abc (line 488) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 494) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_scenario (line 498) | def test_describe_scenario(self) -> None: method test_get_tool_contracts (line 502) | def test_get_tool_contracts(self) -> None: method test_get_drift_log (line 512) | def test_get_drift_log(self) -> None: method test_inject_drift (line 521) | def test_inject_drift(self) -> None: method test_attribute_failure (line 533) | def test_attribute_failure(self) -> None: method test_evaluate_fragility (line 545) | def test_evaluate_fragility(self) -> None: method test_initial_state (line 554) | def test_initial_state(self) -> None: method _make_mock (line 559) | def _make_mock(self) -> Any: class TestFamilyRegistration (line 657) | class TestFamilyRegistration: method test_schema_evolution_family_registered (line 658) | def test_schema_evolution_family_registered(self) -> None: method test_schema_evolution_scenario_type_marker (line 665) | def test_schema_evolution_scenario_type_marker(self) -> None: method test_tool_fragility_family_registered (line 671) | def test_tool_fragility_family_registered(self) -> None: method test_tool_fragility_scenario_type_marker (line 678) | def test_tool_fragility_scenario_type_marker(self) -> None: method test_detect_family_schema_evolution (line 684) | def test_detect_family_schema_evolution(self) -> None: method test_detect_family_tool_fragility (line 692) | def test_detect_family_tool_fragility(self) -> None: class TestSchemaEvolutionPipeline (line 706) | class TestSchemaEvolutionPipeline: method test_pipeline_registered (line 707) | def test_pipeline_registered(self) -> None: method test_pipeline_spec_validation_valid (line 712) | def test_pipeline_spec_validation_valid(self) -> None: method test_pipeline_spec_validation_missing_fields (line 728) | def test_pipeline_spec_validation_missing_fields(self) -> None: method test_pipeline_spec_empty_mutations (line 736) | def test_pipeline_spec_empty_mutations(self) -> None: method test_pipeline_source_validation (line 750) | def test_pipeline_source_validation(self) -> None: method test_pipeline_source_missing_get_mutations (line 776) | def test_pipeline_source_missing_get_mutations(self) -> None: method test_pipeline_source_wrong_base_class (line 801) | def test_pipeline_source_wrong_base_class(self) -> None: class TestToolFragilityPipeline (line 812) | class TestToolFragilityPipeline: method test_pipeline_registered (line 813) | def test_pipeline_registered(self) -> None: method test_pipeline_spec_validation_valid (line 818) | def test_pipeline_spec_validation_valid(self) -> None: method test_pipeline_spec_validation_missing_fields (line 834) | def test_pipeline_spec_validation_missing_fields(self) -> None: method test_pipeline_spec_empty_tool_contracts (line 842) | def test_pipeline_spec_empty_tool_contracts(self) -> None: method test_pipeline_source_validation (line 856) | def test_pipeline_source_validation(self) -> None: method test_pipeline_source_wrong_base_class (line 881) | def test_pipeline_source_wrong_base_class(self) -> None: class TestClassifierRouting (line 902) | class TestClassifierRouting: method test_classify_schema_evolution_description (line 903) | def test_classify_schema_evolution_description(self) -> None: method test_classify_tool_fragility_description (line 912) | def test_classify_tool_fragility_description(self) -> None: method test_route_schema_evolution (line 921) | def test_route_schema_evolution(self) -> None: method test_route_tool_fragility (line 930) | def test_route_tool_fragility(self) -> None: class TestSchemaEvolutionDesigner (line 945) | class TestSchemaEvolutionDesigner: method test_parse_spec (line 946) | def test_parse_spec(self) -> None: method test_design_fn_calls_llm (line 982) | def test_design_fn_calls_llm(self) -> None: class TestToolFragilityDesigner (line 1012) | class TestToolFragilityDesigner: method test_parse_spec (line 1013) | def test_parse_spec(self) -> None: method test_design_fn_calls_llm (line 1041) | def test_design_fn_calls_llm(self) -> None: class TestSchemaEvolutionCodegen (line 1073) | class TestSchemaEvolutionCodegen: method test_generate_class (line 1074) | def test_generate_class(self) -> None: method test_generated_class_has_get_mutations (line 1099) | def test_generated_class_has_get_mutations(self) -> None: method test_get_mutations_returns_spec_mutations (line 1127) | def test_get_mutations_returns_spec_mutations(self) -> None: method test_base_interface_requires_get_mutations (line 1182) | def test_base_interface_requires_get_mutations(self) -> None: class TestToolFragilityCodegen (line 1189) | class TestToolFragilityCodegen: method test_generate_class (line 1190) | def test_generate_class(self) -> None: class TestSchemaEvolutionCreator (line 1218) | class TestSchemaEvolutionCreator: method test_create_and_persist (line 1219) | def test_create_and_persist(self, tmp_path: Path) -> None: class TestToolFragilityCreator (line 1260) | class TestToolFragilityCreator: method test_create_and_persist (line 1261) | def test_create_and_persist(self, tmp_path: Path) -> None: class TestAgentTaskCreatorRouting (line 1301) | class TestAgentTaskCreatorRouting: method test_routes_to_schema_evolution (line 1302) | def test_routes_to_schema_evolution(self, tmp_path: Path) -> None: method test_routes_to_tool_fragility (line 1335) | def test_routes_to_tool_fragility(self, tmp_path: Path) -> None: class TestCrossFamilyMismatch (line 1371) | class TestCrossFamilyMismatch: method test_schema_evo_spec_through_tool_fragility_pipeline (line 1372) | def test_schema_evo_spec_through_tool_fragility_pipeline(self) -> None: method test_tool_fragility_spec_through_schema_evo_pipeline (line 1386) | def test_tool_fragility_spec_through_schema_evo_pipeline(self) -> None: FILE: autocontext/tests/test_score_trajectory.py function _make_store (line 15) | def _make_store(tmp_path: Path) -> SQLiteStore: function _insert_generation (line 21) | def _insert_generation( function test_trajectory_empty_run (line 45) | def test_trajectory_empty_run(tmp_path: Path) -> None: function test_trajectory_single_gen (line 52) | def test_trajectory_single_gen(tmp_path: Path) -> None: function test_trajectory_multi_gen (line 67) | def test_trajectory_multi_gen(tmp_path: Path) -> None: function test_trajectory_includes_gate (line 87) | def test_trajectory_includes_gate(tmp_path: Path) -> None: function test_trajectory_includes_dimension_history_when_available (line 98) | def test_trajectory_includes_dimension_history_when_available(tmp_path: ... function test_trajectory_switches_to_backend_metadata_for_glicko (line 134) | def test_trajectory_switches_to_backend_metadata_for_glicko(tmp_path: Pa... function test_registry_empty (line 159) | def test_registry_empty(tmp_path: Path) -> None: function test_registry_maps_strategy_to_score (line 166) | def test_registry_maps_strategy_to_score(tmp_path: Path) -> None: function test_registry_truncates_long_strategies (line 179) | def test_registry_truncates_long_strategies(tmp_path: Path) -> None: function test_trajectory_in_competitor_prompt (line 194) | def test_trajectory_in_competitor_prompt(tmp_path: Path) -> None: function test_trajectory_in_analyst_prompt (line 210) | def test_trajectory_in_analyst_prompt(tmp_path: Path) -> None: function test_trajectory_absent_when_empty (line 226) | def test_trajectory_absent_when_empty(tmp_path: Path) -> None: FILE: autocontext/tests/test_scoring_backends.py class TestTrialResult (line 14) | class TestTrialResult: method test_construction (line 15) | def test_construction(self) -> None: method test_win_loss_from_threshold (line 22) | def test_win_loss_from_threshold(self) -> None: method test_roundtrip (line 31) | def test_roundtrip(self) -> None: class TestRatingUpdate (line 45) | class TestRatingUpdate: method test_construction (line 46) | def test_construction(self) -> None: class TestEloBackend (line 65) | class TestEloBackend: method test_name (line 66) | def test_name(self) -> None: method test_update_on_wins (line 71) | def test_update_on_wins(self) -> None: method test_update_on_losses (line 83) | def test_update_on_losses(self) -> None: method test_preserves_continuous_scores (line 94) | def test_preserves_continuous_scores(self) -> None: method test_continuous_scores_change_rating_delta (line 103) | def test_continuous_scores_change_rating_delta(self) -> None: method test_no_uncertainty (line 117) | def test_no_uncertainty(self) -> None: class TestGlickoBackend (line 131) | class TestGlickoBackend: method test_name (line 132) | def test_name(self) -> None: method test_update_has_uncertainty (line 137) | def test_update_has_uncertainty(self) -> None: method test_uncertainty_decreases_with_more_trials (line 151) | def test_uncertainty_decreases_with_more_trials(self) -> None: method test_continuous_scores_change_rating_delta (line 165) | def test_continuous_scores_change_rating_delta(self) -> None: class TestGetBackend (line 187) | class TestGetBackend: method test_get_elo (line 188) | def test_get_elo(self) -> None: method test_get_glicko (line 194) | def test_get_glicko(self) -> None: method test_get_unknown_falls_back_to_elo (line 200) | def test_get_unknown_falls_back_to_elo(self) -> None: FILE: autocontext/tests/test_sdk.py class TestMTSInit (line 19) | class TestMTSInit: method test_creates_with_defaults (line 22) | def test_creates_with_defaults(self, tmp_path: Path) -> None: method test_creates_with_path_overrides (line 29) | def test_creates_with_path_overrides(self, tmp_path: Path) -> None: method test_accepts_extra_settings_overrides (line 41) | def test_accepts_extra_settings_overrides(self, tmp_path: Path) -> None: method test_reuses_settings_object (line 46) | def test_reuses_settings_object(self, tmp_path: Path) -> None: method test_uses_load_settings_as_base (line 52) | def test_uses_load_settings_as_base(self, tmp_path: Path) -> None: class TestListScenarios (line 65) | class TestListScenarios: method test_returns_scenario_list (line 68) | def test_returns_scenario_list(self, tmp_path: Path) -> None: class TestDescribeScenario (line 79) | class TestDescribeScenario: method test_returns_description_dict (line 82) | def test_returns_description_dict(self, tmp_path: Path) -> None: class TestValidate (line 99) | class TestValidate: method test_valid_strategy_returns_typed_result (line 102) | def test_valid_strategy_returns_typed_result(self, tmp_path: Path) -> ... method test_invalid_strategy_returns_typed_result (line 112) | def test_invalid_strategy_returns_typed_result(self, tmp_path: Path) -... method test_unknown_scenario_error_returns_invalid_result (line 122) | def test_unknown_scenario_error_returns_invalid_result(self, tmp_path:... class TestEvaluate (line 132) | class TestEvaluate: method test_returns_typed_evaluate_result (line 135) | def test_returns_typed_evaluate_result(self, tmp_path: Path) -> None: method test_evaluate_passes_matches_and_seed (line 152) | def test_evaluate_passes_matches_and_seed(self, tmp_path: Path) -> None: method test_evaluate_error_propagates (line 166) | def test_evaluate_error_propagates(self, tmp_path: Path) -> None: method test_evaluate_invalid_strategy_stops_before_tournament (line 177) | def test_evaluate_invalid_strategy_stops_before_tournament(self, tmp_p... class TestMatch (line 187) | class TestMatch: method test_returns_typed_match_result (line 190) | def test_returns_typed_match_result(self, tmp_path: Path) -> None: method test_match_passes_seed (line 208) | def test_match_passes_seed(self, tmp_path: Path) -> None: method test_match_invalid_strategy_stops_before_execution (line 218) | def test_match_invalid_strategy_stops_before_execution(self, tmp_path:... class TestSearch (line 233) | class TestSearch: method test_returns_typed_search_results (line 236) | def test_returns_typed_search_results(self, tmp_path: Path) -> None: method test_search_passes_top_k (line 255) | def test_search_passes_top_k(self, tmp_path: Path) -> None: method test_search_empty_results (line 261) | def test_search_empty_results(self, tmp_path: Path) -> None: class TestExport (line 268) | class TestExport: method test_export_skill_returns_dict (line 271) | def test_export_skill_returns_dict(self, tmp_path: Path) -> None: method test_export_package_returns_dict (line 280) | def test_export_package_returns_dict(self, tmp_path: Path) -> None: class TestListArtifacts (line 295) | class TestListArtifacts: method test_list_all_artifacts (line 298) | def test_list_all_artifacts(self, tmp_path: Path) -> None: method test_list_artifacts_with_filters (line 307) | def test_list_artifacts_with_filters(self, tmp_path: Path) -> None: class TestPublicAPI (line 319) | class TestPublicAPI: method test_import_from_autocontext (line 322) | def test_import_from_autocontext(self) -> None: FILE: autocontext/tests/test_secret_scanner.py class TestScanFinding (line 33) | class TestScanFinding: method test_from_trufflehog_json (line 34) | def test_from_trufflehog_json(self) -> None: method test_from_trufflehog_json_handles_missing_fields (line 48) | def test_from_trufflehog_json_handles_missing_fields(self) -> None: method test_finding_to_dict_roundtrips (line 54) | def test_finding_to_dict_roundtrips(self) -> None: class TestScanResult (line 66) | class TestScanResult: method test_clean_result (line 67) | def test_clean_result(self) -> None: method test_dirty_result (line 72) | def test_dirty_result(self) -> None: method test_flagged_files (line 81) | def test_flagged_files(self) -> None: method test_unavailable_scanner_is_clean (line 90) | def test_unavailable_scanner_is_clean(self) -> None: method test_to_dict (line 94) | def test_to_dict(self) -> None: class TestSecretScanner (line 101) | class TestSecretScanner: method test_scanner_reports_availability (line 102) | def test_scanner_reports_availability(self) -> None: method test_scan_empty_directory (line 107) | def test_scan_empty_directory(self) -> None: method test_scan_clean_directory (line 114) | def test_scan_clean_directory(self) -> None: method test_nonzero_exit_without_findings_returns_scan_error (line 122) | def test_nonzero_exit_without_findings_returns_scan_error(self, monkey... method test_scan_detects_fake_secret (line 142) | def test_scan_detects_fake_secret(self) -> None: class TestEvidenceWorkspaceIntegration (line 161) | class TestEvidenceWorkspaceIntegration: method test_flagged_artifacts_excluded_from_manifest (line 164) | def test_flagged_artifacts_excluded_from_manifest(self) -> None: method test_scan_disabled_skips_scanning (line 187) | def test_scan_disabled_skips_scanning(self) -> None: method test_scan_result_persisted_to_workspace (line 206) | def test_scan_result_persisted_to_workspace(self) -> None: method test_scan_failure_excludes_all_workspace_artifacts (line 228) | def test_scan_failure_excludes_all_workspace_artifacts(self, monkeypat... FILE: autocontext/tests/test_seed_tools.py function _make_store (line 11) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_seed_tools_called_before_gen_1 (line 20) | def test_seed_tools_called_before_gen_1(tmp_path: Path, monkeypatch: obj... function test_seed_tools_not_called_when_tools_exist (line 51) | def test_seed_tools_not_called_when_tools_exist(tmp_path: Path, monkeypa... function test_seed_tools_persisted_via_persist_tools (line 86) | def test_seed_tools_persisted_via_persist_tools(tmp_path: Path) -> None: function test_seed_tools_empty_dict_no_op (line 98) | def test_seed_tools_empty_dict_no_op(tmp_path: Path) -> None: FILE: autocontext/tests/test_self_play.py class TestSelfPlayOpponent (line 15) | class TestSelfPlayOpponent: method test_construction (line 16) | def test_construction(self) -> None: method test_roundtrip (line 29) | def test_roundtrip(self) -> None: class TestSelfPlayConfig (line 46) | class TestSelfPlayConfig: method test_defaults (line 47) | def test_defaults(self) -> None: method test_custom (line 55) | def test_custom(self) -> None: method test_roundtrip (line 62) | def test_roundtrip(self) -> None: class TestSelfPlayPool (line 77) | class TestSelfPlayPool: method test_add_and_get (line 78) | def test_add_and_get(self) -> None: method test_pool_size_limit (line 94) | def test_pool_size_limit(self) -> None: method test_disabled_pool_returns_empty (line 114) | def test_disabled_pool_returns_empty(self) -> None: method test_empty_pool (line 127) | def test_empty_pool(self) -> None: class TestBuildOpponentPool (line 142) | class TestBuildOpponentPool: method test_baselines_only_when_disabled (line 143) | def test_baselines_only_when_disabled(self) -> None: method test_includes_self_play_opponents (line 156) | def test_includes_self_play_opponents(self) -> None: method test_weight_shapes_live_schedule_when_trials_provided (line 174) | def test_weight_shapes_live_schedule_when_trials_provided(self) -> None: method test_self_play_tagged (line 192) | def test_self_play_tagged(self) -> None: method test_empty_baselines_with_self_play (line 208) | def test_empty_baselines_with_self_play(self) -> None: class TestLoadSelfPlayPool (line 223) | class TestLoadSelfPlayPool: method test_loads_prior_advanced_strategies_only (line 224) | def test_loads_prior_advanced_strategies_only(self) -> None: method test_accepts_tuple_sequence_history (line 258) | def test_accepts_tuple_sequence_history(self) -> None: method test_ignores_future_and_invalid_rows (line 284) | def test_ignores_future_and_invalid_rows(self) -> None: FILE: autocontext/tests/test_semantic_compaction_benchmark.py function test_benchmark_report_measures_semantic_signal_preservation (line 8) | def test_benchmark_report_measures_semantic_signal_preservation() -> None: FILE: autocontext/tests/test_serde_conventions.py function _count_manual_serde (line 19) | def _count_manual_serde(directory: Path) -> list[tuple[str, str, int]]: class TestOverallSerdeBudget (line 60) | class TestOverallSerdeBudget: method test_total_manual_serde_under_budget (line 63) | def test_total_manual_serde_under_budget(self) -> None: class TestExecutionModuleSerde (line 75) | class TestExecutionModuleSerde: method test_execution_uses_pydantic_serde (line 78) | def test_execution_uses_pydantic_serde(self) -> None: class TestAgentsProvidersMisc (line 88) | class TestAgentsProvidersMisc: method test_agents_uses_pydantic_serde (line 91) | def test_agents_uses_pydantic_serde(self) -> None: method test_providers_uses_pydantic_serde (line 100) | def test_providers_uses_pydantic_serde(self) -> None: method test_loop_uses_pydantic_serde (line 107) | def test_loop_uses_pydantic_serde(self) -> None: class TestScenariosModuleSerde (line 115) | class TestScenariosModuleSerde: method test_scenarios_uses_pydantic_serde (line 118) | def test_scenarios_uses_pydantic_serde(self) -> None: FILE: autocontext/tests/test_server_health.py function test_server_health_endpoint (line 6) | def test_server_health_endpoint() -> None: function test_server_root_endpoint_returns_api_info (line 13) | def test_server_root_endpoint_returns_api_info() -> None: function test_dashboard_path_returns_api_info_placeholder (line 22) | def test_dashboard_path_returns_api_info_placeholder() -> None: FILE: autocontext/tests/test_service_layer.py function store (line 17) | def store(tmp_path: Path) -> SQLiteStore: class TestListRuns (line 25) | class TestListRuns: method test_list_runs_empty (line 26) | def test_list_runs_empty(self, store: SQLiteStore) -> None: method test_list_runs_returns_recent (line 30) | def test_list_runs_returns_recent(self, store: SQLiteStore) -> None: method test_list_runs_respects_limit (line 38) | def test_list_runs_respects_limit(self, store: SQLiteStore) -> None: class TestRunStatus (line 45) | class TestRunStatus: method test_run_status_missing (line 46) | def test_run_status_missing(self, store: SQLiteStore) -> None: method test_run_status_preserves_generation_status_fields (line 50) | def test_run_status_preserves_generation_status_fields(self, store: SQ... class TestListSolved (line 79) | class TestListSolved: method test_list_solved_empty (line 80) | def test_list_solved_empty(self, store: SQLiteStore) -> None: method test_list_solved_returns_best_snapshots (line 84) | def test_list_solved_returns_best_snapshots(self, store: SQLiteStore) ... FILE: autocontext/tests/test_session_notebook.py function store (line 15) | def store(tmp_path: Path) -> SQLiteStore: class TestSessionNotebookType (line 27) | class TestSessionNotebookType: method test_default_fields (line 28) | def test_default_fields(self) -> None: method test_custom_fields (line 45) | def test_custom_fields(self) -> None: class TestNotebookStore (line 71) | class TestNotebookStore: method test_upsert_and_get (line 72) | def test_upsert_and_get(self, store: SQLiteStore) -> None: method test_get_nonexistent (line 88) | def test_get_nonexistent(self, store: SQLiteStore) -> None: method test_upsert_updates_existing (line 92) | def test_upsert_updates_existing(self, store: SQLiteStore) -> None: method test_upsert_partial_update (line 99) | def test_upsert_partial_update(self, store: SQLiteStore) -> None: method test_list_notebooks (line 116) | def test_list_notebooks(self, store: SQLiteStore) -> None: method test_multiple_sessions_can_share_scenario (line 126) | def test_multiple_sessions_can_share_scenario(self, store: SQLiteStore... method test_list_notebooks_empty (line 134) | def test_list_notebooks_empty(self, store: SQLiteStore) -> None: method test_delete_notebook (line 138) | def test_delete_notebook(self, store: SQLiteStore) -> None: method test_delete_nonexistent (line 144) | def test_delete_nonexistent(self, store: SQLiteStore) -> None: method test_json_list_fields_roundtrip (line 148) | def test_json_list_fields_roundtrip(self, store: SQLiteStore) -> None: method test_timestamps_are_set (line 164) | def test_timestamps_are_set(self, store: SQLiteStore) -> None: class TestNotebookArtifacts (line 177) | class TestNotebookArtifacts: method artifacts (line 179) | def artifacts(self, tmp_path: Path) -> object: method test_write_and_read (line 189) | def test_write_and_read(self, artifacts: object) -> None: method test_read_nonexistent (line 206) | def test_read_nonexistent(self, artifacts: object) -> None: method test_write_creates_file (line 214) | def test_write_creates_file(self, artifacts: object, tmp_path: Path) -... method test_delete_removes_file (line 225) | def test_delete_removes_file(self, artifacts: object, tmp_path: Path) ... class TestNotebookAPI (line 242) | class TestNotebookAPI: method client (line 244) | def client(self, tmp_path: Path) -> TestClient: method test_list_empty (line 270) | def test_list_empty(self, client: TestClient) -> None: method test_put_and_get (line 275) | def test_put_and_get(self, client: TestClient) -> None: method test_get_nonexistent (line 293) | def test_get_nonexistent(self, client: TestClient) -> None: method test_delete (line 297) | def test_delete(self, client: TestClient) -> None: method test_create_requires_scenario_name (line 305) | def test_create_requires_scenario_name(self, client: TestClient) -> None: method test_delete_nonexistent (line 309) | def test_delete_nonexistent(self, client: TestClient) -> None: method test_put_partial_update (line 313) | def test_put_partial_update(self, client: TestClient) -> None: method test_list_multiple (line 324) | def test_list_multiple(self, client: TestClient) -> None: class TestNotebookInjection (line 340) | class TestNotebookInjection: method test_format_notebook_context (line 341) | def test_format_notebook_context(self) -> None: method test_format_empty_notebook (line 367) | def test_format_empty_notebook(self) -> None: method test_format_partial_notebook (line 376) | def test_format_partial_notebook(self) -> None: class TestNotebookSettings (line 396) | class TestNotebookSettings: method test_notebook_enabled_default (line 397) | def test_notebook_enabled_default(self) -> None: method test_notebook_enabled_false (line 403) | def test_notebook_enabled_false(self) -> None: FILE: autocontext/tests/test_session_report_wiring.py function _make_settings (line 16) | def _make_settings(tmp_path: Path, **overrides: Any) -> AppSettings: function _make_runner_with_mocks (line 34) | def _make_runner_with_mocks(settings: AppSettings) -> tuple[Any, dict[st... function _run_with_pipeline_mock (line 86) | def _run_with_pipeline_mock( class TestSessionReportOnRunCompletion (line 107) | class TestSessionReportOnRunCompletion: method test_report_generated_when_enabled (line 110) | def test_report_generated_when_enabled(self, tmp_path: Path) -> None: method test_report_not_generated_when_disabled (line 134) | def test_report_not_generated_when_disabled(self, tmp_path: Path) -> N... class TestSessionReportTrajectoryData (line 147) | class TestSessionReportTrajectoryData: method test_report_uses_trajectory_from_sqlite (line 150) | def test_report_uses_trajectory_from_sqlite(self, tmp_path: Path) -> N... class TestSessionReportPersistence (line 178) | class TestSessionReportPersistence: method test_report_written_via_artifacts (line 181) | def test_report_written_via_artifacts(self, tmp_path: Path) -> None: class TestWeaknessReportWiring (line 200) | class TestWeaknessReportWiring: method test_weakness_report_generated_on_run_completion (line 203) | def test_weakness_report_generated_on_run_completion(self, tmp_path: P... class TestProgressReportWiring (line 284) | class TestProgressReportWiring: method test_progress_report_generated_on_run_completion (line 287) | def test_progress_report_generated_on_run_completion(self, tmp_path: P... class TestAggregateAnalyticsWiring (line 324) | class TestAggregateAnalyticsWiring: method test_aggregate_analytics_persisted_on_run_completion (line 327) | def test_aggregate_analytics_persisted_on_run_completion(self, tmp_pat... class TestRunTraceWiring (line 441) | class TestRunTraceWiring: method test_run_trace_and_inspection_persisted_on_run_completion (line 444) | def test_run_trace_and_inspection_persisted_on_run_completion(self, tm... class TestSessionReportEmptyTrajectory (line 566) | class TestSessionReportEmptyTrajectory: method test_report_generated_with_empty_trajectory (line 569) | def test_report_generated_with_empty_trajectory(self, tmp_path: Path) ... class TestSessionReportDuration (line 587) | class TestSessionReportDuration: method test_duration_is_positive (line 590) | def test_duration_is_positive(self, tmp_path: Path) -> None: class TestMutationLogWiring (line 606) | class TestMutationLogWiring: method test_run_appends_outcome_and_creates_checkpoint (line 609) | def test_run_appends_outcome_and_creates_checkpoint(self, tmp_path: Pa... method test_run_logs_failed_generation_outcome (line 652) | def test_run_logs_failed_generation_outcome(self, tmp_path: Path) -> N... class TestSessionReportDeadEnds (line 679) | class TestSessionReportDeadEnds: method test_dead_ends_counted_from_file (line 682) | def test_dead_ends_counted_from_file(self, tmp_path: Path) -> None: method test_no_dead_ends_file (line 703) | def test_no_dead_ends_file(self, tmp_path: Path) -> None: class TestSessionReportExplorationMode (line 718) | class TestSessionReportExplorationMode: method test_exploration_mode_passed_to_report (line 721) | def test_exploration_mode_passed_to_report(self, tmp_path: Path) -> None: class TestSessionReportPlacement (line 736) | class TestSessionReportPlacement: method test_report_generated_after_mark_completed (line 739) | def test_report_generated_after_mark_completed(self, tmp_path: Path) -... class TestSessionReportLessonHealth (line 772) | class TestSessionReportLessonHealth: method test_report_includes_structured_lesson_health (line 775) | def test_report_includes_structured_lesson_health(self, tmp_path: Path... FILE: autocontext/tests/test_session_reports.py class TestSessionReportSettings (line 14) | class TestSessionReportSettings: method test_session_reports_enabled_defaults_true (line 15) | def test_session_reports_enabled_defaults_true(self) -> None: method test_load_settings_reads_session_reports_env (line 19) | def test_load_settings_reads_session_reports_env(self, monkeypatch: ob... class TestSessionReport (line 28) | class TestSessionReport: method test_session_report_to_markdown (line 29) | def test_session_report_to_markdown(self) -> None: method test_session_report_empty_improvements (line 65) | def test_session_report_empty_improvements(self) -> None: method test_session_report_duration_formatting (line 82) | def test_session_report_duration_formatting(self) -> None: class TestGenerateSessionReport (line 118) | class TestGenerateSessionReport: method test_generate_from_trajectory (line 119) | def test_generate_from_trajectory(self) -> None: method test_generate_empty_trajectory (line 143) | def test_generate_empty_trajectory(self) -> None: method test_generate_gate_counts (line 160) | def test_generate_gate_counts(self) -> None: method test_generate_glicko_report_includes_backend_metadata (line 179) | def test_generate_glicko_report_includes_backend_metadata(self) -> None: class TestArtifactStoreReports (line 218) | class TestArtifactStoreReports: method _make_store (line 219) | def _make_store(self, tmp_path: Path) -> ArtifactStore: method test_write_read_session_report (line 227) | def test_write_read_session_report(self, tmp_path: Path) -> None: method test_read_latest_reports_ordering (line 235) | def test_read_latest_reports_ordering(self, tmp_path: Path) -> None: method test_read_latest_reports_compacts_verbose_reports (line 250) | def test_read_latest_reports_compacts_verbose_reports(self, tmp_path: ... function _obs (line 270) | def _obs() -> Observation: class TestPromptBundleReports (line 274) | class TestPromptBundleReports: method test_prompt_bundle_includes_session_reports (line 275) | def test_prompt_bundle_includes_session_reports(self) -> None: method test_prompt_bundle_empty_reports_omitted (line 292) | def test_prompt_bundle_empty_reports_omitted(self) -> None: FILE: autocontext/tests/test_session_runtime.py class TestSessionDomainModel (line 13) | class TestSessionDomainModel: method test_create_session (line 16) | def test_create_session(self) -> None: method test_session_submit_turn (line 27) | def test_session_submit_turn(self) -> None: method test_session_complete_turn (line 37) | def test_session_complete_turn(self) -> None: method test_session_interrupt_turn (line 47) | def test_session_interrupt_turn(self) -> None: method test_interrupted_turn_not_mistaken_for_success (line 56) | def test_interrupted_turn_not_mistaken_for_success(self) -> None: method test_session_lifecycle_transitions (line 64) | def test_session_lifecycle_transitions(self) -> None: method test_terminal_sessions_cannot_resume_or_accept_new_turns (line 81) | def test_terminal_sessions_cannot_resume_or_accept_new_turns( method test_cannot_submit_turn_when_paused (line 96) | def test_cannot_submit_turn_when_paused(self) -> None: method test_session_tracks_usage (line 104) | def test_session_tracks_usage(self) -> None: class TestSessionBranchLineage (line 116) | class TestSessionBranchLineage: method test_session_starts_on_main_branch (line 119) | def test_session_starts_on_main_branch(self) -> None: method test_fork_from_turn_creates_branch_with_parent_lineage (line 129) | def test_fork_from_turn_creates_branch_with_parent_lineage(self) -> None: method test_switch_branch_sets_next_turn_parent_to_branch_leaf (line 151) | def test_switch_branch_sets_next_turn_parent_to_branch_leaf(self) -> N... method test_branch_path_returns_only_turns_on_active_lineage (line 167) | def test_branch_path_returns_only_turns_on_active_lineage(self) -> None: class TestSessionEvents (line 182) | class TestSessionEvents: method test_session_emits_events (line 185) | def test_session_emits_events(self) -> None: method test_turn_events_recorded (line 192) | def test_turn_events_recorded(self) -> None: class TestSessionStore (line 204) | class TestSessionStore: method test_save_and_load (line 207) | def test_save_and_load(self, tmp_path: Path) -> None: method test_list_sessions (line 227) | def test_list_sessions(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_session_supervisor.py class TestSupervisedEntry (line 14) | class TestSupervisedEntry: method test_create_entry (line 17) | def test_create_entry(self) -> None: method test_entry_lifecycle_transitions (line 33) | def test_entry_lifecycle_transitions(self) -> None: method test_entry_stop_lifecycle (line 53) | def test_entry_stop_lifecycle(self) -> None: method test_entry_failure (line 64) | def test_entry_failure(self) -> None: method test_heartbeat_updates_last_activity (line 73) | def test_heartbeat_updates_last_activity(self) -> None: method test_is_alive (line 82) | def test_is_alive(self) -> None: method test_terminal_entries_cannot_reenter_active_states (line 93) | def test_terminal_entries_cannot_reenter_active_states( class TestSupervisor (line 110) | class TestSupervisor: method test_launch_registers_entry (line 113) | def test_launch_registers_entry(self) -> None: method test_list_active (line 121) | def test_list_active(self) -> None: method test_stop_session (line 134) | def test_stop_session(self) -> None: method test_stop_terminal_session_raises (line 144) | def test_stop_terminal_session_raises(self) -> None: method test_stop_nonexistent_raises (line 155) | def test_stop_nonexistent_raises(self) -> None: method test_cleanup_stale_entries (line 162) | def test_cleanup_stale_entries(self) -> None: method test_duplicate_launch_raises (line 176) | def test_duplicate_launch_raises(self) -> None: class TestSupervisorStore (line 185) | class TestSupervisorStore: method test_save_and_restore (line 188) | def test_save_and_restore(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_settings_cleanup.py function test_unused_fields_removed (line 7) | def test_unused_fields_removed() -> None: function test_active_fields_still_exist (line 30) | def test_active_fields_still_exist() -> None: function test_load_settings_without_removed_env_vars (line 44) | def test_load_settings_without_removed_env_vars() -> None: FILE: autocontext/tests/test_shared_tools.py function _make_store (line 9) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_shared_tools_dir_created (line 18) | def test_shared_tools_dir_created(tmp_path: Path) -> None: function test_read_tool_context_includes_shared (line 28) | def test_read_tool_context_includes_shared(tmp_path: Path) -> None: function test_shared_tools_labeled_separately (line 45) | def test_shared_tools_labeled_separately(tmp_path: Path) -> None: FILE: autocontext/tests/test_sharing.py class TestContentRedactor (line 21) | class TestContentRedactor: method test_redacts_anthropic_api_key (line 24) | def test_redacts_anthropic_api_key(self) -> None: method test_redacts_openai_api_key (line 32) | def test_redacts_openai_api_key(self) -> None: method test_redacts_aws_access_key (line 39) | def test_redacts_aws_access_key(self) -> None: method test_redacts_github_token (line 46) | def test_redacts_github_token(self) -> None: method test_redacts_slack_token (line 53) | def test_redacts_slack_token(self) -> None: method test_redacts_email_addresses (line 62) | def test_redacts_email_addresses(self) -> None: method test_redacts_ip_addresses (line 70) | def test_redacts_ip_addresses(self) -> None: method test_redacts_absolute_paths (line 78) | def test_redacts_absolute_paths(self) -> None: method test_redacts_env_file_content (line 85) | def test_redacts_env_file_content(self) -> None: method test_preserves_non_sensitive_content (line 93) | def test_preserves_non_sensitive_content(self) -> None: method test_returns_redaction_report (line 100) | def test_returns_redaction_report(self) -> None: class TestSessionCollector (line 115) | class TestSessionCollector: method test_collects_from_run_directory (line 118) | def test_collects_from_run_directory(self) -> None: method test_collects_empty_for_missing_run (line 142) | def test_collects_empty_for_missing_run(self) -> None: class TestExportBundle (line 159) | class TestExportBundle: method test_bundle_structure (line 162) | def test_bundle_structure(self) -> None: method test_bundle_contains_redacted_content (line 182) | def test_bundle_contains_redacted_content(self) -> None: class TestAttestation (line 205) | class TestAttestation: method test_create_attestation (line 208) | def test_create_attestation(self) -> None: method test_attestation_to_dict (line 220) | def test_attestation_to_dict(self) -> None: method test_rejected_attestation (line 228) | def test_rejected_attestation(self) -> None: class TestReviewSurface (line 241) | class TestReviewSurface: method test_highlight_suspicious_patterns (line 244) | def test_highlight_suspicious_patterns(self) -> None: method test_no_suspicious_in_clean_text (line 252) | def test_no_suspicious_in_clean_text(self) -> None: method test_generate_review_summary (line 259) | def test_generate_review_summary(self) -> None: class TestGistPublisher (line 278) | class TestGistPublisher: method test_publish_calls_gh_cli (line 281) | def test_publish_calls_gh_cli(self) -> None: method test_publish_raises_on_gh_failure (line 295) | def test_publish_raises_on_gh_failure(self) -> None: class TestHfPublisher (line 307) | class TestHfPublisher: method test_publish_calls_hf_cli (line 310) | def test_publish_calls_hf_cli(self) -> None: method test_publish_raises_on_hf_failure (line 324) | def test_publish_raises_on_hf_failure(self) -> None: class TestFullPipeline (line 341) | class TestFullPipeline: method test_share_pipeline_produces_clean_bundle (line 344) | def test_share_pipeline_produces_clean_bundle(self) -> None: FILE: autocontext/tests/test_signature_surfacer.py class TestExtractSymbols (line 25) | class TestExtractSymbols: method test_single_function_with_annotations (line 26) | def test_single_function_with_annotations(self) -> None: method test_unannotated_function (line 39) | def test_unannotated_function(self) -> None: method test_docstring_first_line_captured (line 45) | def test_docstring_first_line_captured(self) -> None: method test_private_symbols_skipped (line 57) | def test_private_symbols_skipped(self) -> None: method test_class_with_public_methods (line 66) | def test_class_with_public_methods(self) -> None: method test_async_function (line 81) | def test_async_function(self) -> None: method test_function_with_defaults (line 86) | def test_function_with_defaults(self) -> None: method test_function_with_star_args (line 91) | def test_function_with_star_args(self) -> None: method test_invalid_syntax_returns_empty (line 96) | def test_invalid_syntax_returns_empty(self) -> None: class TestResolveImports (line 101) | class TestResolveImports: method test_from_import_resolves_to_sibling_file (line 102) | def test_from_import_resolves_to_sibling_file(self, tmp_path: Path) ->... method test_import_x_resolves (line 109) | def test_import_x_resolves(self, tmp_path: Path) -> None: method test_unresolvable_import_is_skipped (line 115) | def test_unresolvable_import_is_skipped(self, tmp_path: Path) -> None: method test_multiple_search_roots (line 121) | def test_multiple_search_roots(self, tmp_path: Path) -> None: method test_invalid_syntax_returns_empty (line 132) | def test_invalid_syntax_returns_empty(self, tmp_path: Path) -> None: class TestSurfaceSignatures (line 136) | class TestSurfaceSignatures: method test_end_to_end (line 137) | def test_end_to_end(self, tmp_path: Path) -> None: method test_from_import_specific_filters_to_imported_names (line 154) | def test_from_import_specific_filters_to_imported_names(self, tmp_path... method test_from_import_star_surfaces_all_public (line 168) | def test_from_import_star_surfaces_all_public(self, tmp_path: Path) ->... method test_no_imports_returns_empty (line 181) | def test_no_imports_returns_empty(self, tmp_path: Path) -> None: method test_multiple_from_statements_for_same_module_union (line 184) | def test_multiple_from_statements_for_same_module_union(self, tmp_path... method test_dotted_import_resolves_submodule (line 200) | def test_dotted_import_resolves_submodule(self, tmp_path: Path) -> None: method test_bare_dotted_import_resolves_submodule (line 211) | def test_bare_dotted_import_resolves_submodule(self, tmp_path: Path) -... class TestRefinementPromptIntegration (line 222) | class TestRefinementPromptIntegration: method test_signature_block_included_in_refinement_prompt (line 223) | def test_signature_block_included_in_refinement_prompt(self, tmp_path:... method test_no_signatures_means_no_block (line 249) | def test_no_signatures_means_no_block(self) -> None: class TestRenderSignatures (line 263) | class TestRenderSignatures: method test_renders_compact_block (line 264) | def test_renders_compact_block(self) -> None: method test_empty_list_renders_nothing (line 285) | def test_empty_list_renders_nothing(self) -> None: method test_methods_qualified (line 288) | def test_methods_qualified(self) -> None: class TestSurfaceForStrategy (line 301) | class TestSurfaceForStrategy: method test_code_strategy_with_local_imports (line 308) | def test_code_strategy_with_local_imports(self, tmp_path: Path) -> None: method test_disabled_returns_empty (line 321) | def test_disabled_returns_empty(self, tmp_path: Path) -> None: method test_non_code_strategy_returns_empty (line 325) | def test_non_code_strategy_returns_empty(self, tmp_path: Path) -> None: method test_non_dict_strategy_returns_empty (line 330) | def test_non_dict_strategy_returns_empty(self, tmp_path: Path) -> None: method test_code_with_no_local_imports_returns_empty (line 334) | def test_code_with_no_local_imports_returns_empty(self, tmp_path: Path... FILE: autocontext/tests/test_simulate_bug_fixes.py class TestAbstractClassFiltering (line 16) | class TestAbstractClassFiltering: method test_inspect_isabstract_detects_abstract_class (line 19) | def test_inspect_isabstract_detects_abstract_class(self) -> None: method test_inspect_isabstract_detects_operator_loop (line 25) | def test_inspect_isabstract_detects_operator_loop(self) -> None: method test_concrete_subclass_is_not_abstract (line 30) | def test_concrete_subclass_is_not_abstract(self) -> None: method test_find_scenario_class_skips_abstract (line 46) | def test_find_scenario_class_skips_abstract(self) -> None: method test_find_scenario_class_returns_none_when_all_abstract (line 75) | def test_find_scenario_class_returns_none_when_all_abstract(self) -> N... class TestCliJsonExitCode (line 83) | class TestCliJsonExitCode: method test_simulate_json_failed_exits_nonzero (line 86) | def test_simulate_json_failed_exits_nonzero(self) -> None: method test_simulate_json_success_does_not_exit (line 94) | def test_simulate_json_success_does_not_exit(self) -> None: method test_simulate_json_missing_status_does_not_exit (line 100) | def test_simulate_json_missing_status_does_not_exit(self) -> None: FILE: autocontext/tests/test_simulate_command.py function tmp_knowledge (line 17) | def tmp_knowledge(tmp_path: Path) -> Path: function _mock_llm_fn (line 21) | def _mock_llm_fn(spec_json: str | None = None): function _mock_operator_loop_result (line 42) | def _mock_operator_loop_result( class TestSimulationEngine (line 62) | class TestSimulationEngine: method test_run_from_description (line 63) | def test_run_from_description(self, tmp_knowledge: Path) -> None: method test_persists_artifacts (line 77) | def test_persists_artifacts(self, tmp_knowledge: Path) -> None: method test_structured_summary_with_score (line 88) | def test_structured_summary_with_score(self, tmp_knowledge: Path) -> N... method test_variable_overrides (line 98) | def test_variable_overrides(self, tmp_knowledge: Path) -> None: method test_sweep_execution (line 110) | def test_sweep_execution(self, tmp_knowledge: Path) -> None: method test_sweep_best_worst_case (line 123) | def test_sweep_best_worst_case(self, tmp_knowledge: Path) -> None: method test_schema_evolution_prompt_preserves_family_metadata (line 135) | def test_schema_evolution_prompt_preserves_family_metadata(self, tmp_k... method test_sweep_cells_change_execution_when_variables_change_runtime (line 171) | def test_sweep_cells_change_execution_when_variables_change_runtime(se... method test_tolerates_postconditions_in_llm_generated_actions (line 186) | def test_tolerates_postconditions_in_llm_generated_actions(self, tmp_k... method test_structured_preconditions_keep_action_dependencies (line 225) | def test_structured_preconditions_keep_action_dependencies(self, tmp_k... method test_operator_loop_run_prefers_safe_autonomy_over_unnecessary_escalation (line 259) | def test_operator_loop_run_prefers_safe_autonomy_over_unnecessary_esca... method test_operator_loop_run_uses_family_designer_and_counts_explicit_escalation_actions (line 298) | def test_operator_loop_run_uses_family_designer_and_counts_explicit_es... method test_operator_loop_escalation_for_clarification_records_both_signals (line 356) | def test_operator_loop_escalation_for_clarification_records_both_signals( method test_operator_loop_multi_run_preserves_contract_signal_counts (line 408) | def test_operator_loop_multi_run_preserves_contract_signal_counts(self... method test_operator_loop_sweep_preserves_contract_signal_counts (line 426) | def test_operator_loop_sweep_preserves_contract_signal_counts(self, tm... method test_clarification_only_prompt_routes_to_operator_loop_contract (line 443) | def test_clarification_only_prompt_routes_to_operator_loop_contract(se... class TestSimulateReplay (line 461) | class TestSimulateReplay: method test_replay_saved_simulation (line 462) | def test_replay_saved_simulation(self, tmp_knowledge: Path) -> None: method test_replay_deterministic (line 475) | def test_replay_deterministic(self, tmp_knowledge: Path) -> None: method test_replay_nonexistent_fails (line 484) | def test_replay_nonexistent_fails(self, tmp_knowledge: Path) -> None: method test_replay_override_variables_change_execution (line 492) | def test_replay_override_variables_change_execution(self, tmp_knowledg... method test_operator_loop_replay_reapplies_behavioral_contract (line 508) | def test_operator_loop_replay_reapplies_behavioral_contract(self, tmp_... class TestSimulateCompare (line 535) | class TestSimulateCompare: method test_compare_two_simulations (line 536) | def test_compare_two_simulations(self, tmp_knowledge: Path) -> None: method test_compare_nonexistent_fails (line 550) | def test_compare_nonexistent_fails(self, tmp_knowledge: Path) -> None: class TestSimulateExport (line 566) | class TestSimulateExport: method test_export_json (line 567) | def test_export_json(self, tmp_knowledge: Path) -> None: method test_export_markdown (line 583) | def test_export_markdown(self, tmp_knowledge: Path) -> None: method test_export_replay_id (line 596) | def test_export_replay_id(self, tmp_knowledge: Path) -> None: method test_export_csv (line 610) | def test_export_csv(self, tmp_knowledge: Path) -> None: method test_export_invalid_format_fails_cleanly (line 629) | def test_export_invalid_format_fails_cleanly(self, tmp_knowledge: Path... FILE: autocontext/tests/test_simulation_contract.py class TestActionSpec (line 31) | class TestActionSpec: method test_construction (line 32) | def test_construction(self) -> None: method test_with_preconditions_and_effects (line 44) | def test_with_preconditions_and_effects(self) -> None: class TestAction (line 56) | class TestAction: method test_construction (line 57) | def test_construction(self) -> None: method test_with_reasoning (line 63) | def test_with_reasoning(self) -> None: class TestActionResult (line 72) | class TestActionResult: method test_success (line 73) | def test_success(self) -> None: method test_failure (line 83) | def test_failure(self) -> None: class TestActionRecord (line 96) | class TestActionRecord: method test_construction (line 97) | def test_construction(self) -> None: class TestActionTrace (line 117) | class TestActionTrace: method _make_trace (line 118) | def _make_trace(self, n: int = 3, failures: int = 0) -> ActionTrace: method test_actions_property (line 138) | def test_actions_property(self) -> None: method test_success_rate_all_pass (line 144) | def test_success_rate_all_pass(self) -> None: method test_success_rate_some_fail (line 148) | def test_success_rate_some_fail(self) -> None: method test_success_rate_empty (line 152) | def test_success_rate_empty(self) -> None: method test_to_dict_from_dict_roundtrip (line 156) | def test_to_dict_from_dict_roundtrip(self) -> None: method test_to_dict_structure (line 166) | def test_to_dict_structure(self) -> None: class TestEnvironmentSpec (line 184) | class TestEnvironmentSpec: method test_construction (line 185) | def test_construction(self) -> None: method test_with_failure_modes (line 200) | def test_with_failure_modes(self) -> None: class TestSimulationResult (line 217) | class TestSimulationResult: method test_construction (line 218) | def test_construction(self) -> None: method test_to_dict_from_dict_roundtrip (line 237) | def test_to_dict_from_dict_roundtrip(self) -> None: class _MockSimulation (line 263) | class _MockSimulation(SimulationInterface): method __init__ (line 268) | def __init__(self) -> None: method describe_scenario (line 271) | def describe_scenario(self) -> str: method describe_environment (line 274) | def describe_environment(self) -> EnvironmentSpec: method initial_state (line 286) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_available_actions (line 289) | def get_available_actions(self, state: dict[str, Any]) -> list[ActionS... method execute_action (line 298) | def execute_action(self, state: dict[str, Any], action: Action) -> tup... method is_terminal (line 318) | def is_terminal(self, state: dict[str, Any]) -> bool: method evaluate_trace (line 321) | def evaluate_trace(self, trace: ActionTrace, final_state: dict[str, An... method get_rubric (line 348) | def get_rubric(self) -> str: method inject_fault (line 354) | def inject_fault(self, state: dict[str, Any], step: int) -> dict[str, ... class TestSimulationInterfaceABC (line 360) | class TestSimulationInterfaceABC: method test_cannot_instantiate_abc (line 361) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_subclass_instantiates (line 365) | def test_concrete_subclass_instantiates(self) -> None: method test_describe_scenario (line 369) | def test_describe_scenario(self) -> None: method test_describe_environment (line 373) | def test_describe_environment(self) -> None: method test_initial_state (line 380) | def test_initial_state(self) -> None: method test_get_available_actions (line 387) | def test_get_available_actions(self) -> None: method test_get_available_actions_with_errors (line 394) | def test_get_available_actions_with_errors(self) -> None: method test_execute_action (line 400) | def test_execute_action(self) -> None: method test_execute_deploy (line 408) | def test_execute_deploy(self) -> None: method test_execute_unknown_action (line 415) | def test_execute_unknown_action(self) -> None: method test_is_terminal_false (line 422) | def test_is_terminal_false(self) -> None: method test_is_terminal_after_deployments (line 427) | def test_is_terminal_after_deployments(self) -> None: method test_is_terminal_after_max_steps (line 432) | def test_is_terminal_after_max_steps(self) -> None: method test_get_rubric (line 437) | def test_get_rubric(self) -> None: class TestEndToEndSimulation (line 450) | class TestEndToEndSimulation: method test_successful_workflow (line 451) | def test_successful_workflow(self) -> None: method test_workflow_with_recovery (line 482) | def test_workflow_with_recovery(self) -> None: method test_incomplete_workflow (line 515) | def test_incomplete_workflow(self) -> None: class TestEmptyActionsValidation (line 542) | class TestEmptyActionsValidation: method test_empty_actions_list_passes_validation (line 543) | def test_empty_actions_list_passes_validation(self) -> None: method test_missing_actions_key_still_fails (line 550) | def test_missing_actions_key_still_fails(self) -> None: method test_non_list_actions_still_fails (line 557) | def test_non_list_actions_still_fails(self) -> None: method test_empty_actions_produces_valid_result (line 564) | def test_empty_actions_produces_valid_result(self) -> None: class TestDefaultMethods (line 577) | class TestDefaultMethods: method test_validate_action_default (line 578) | def test_validate_action_default(self) -> None: method test_max_steps_default (line 584) | def test_max_steps_default(self) -> None: method test_inject_fault_default_noop (line 588) | def test_inject_fault_default_noop(self) -> None: method test_inject_fault_override (line 594) | def test_inject_fault_override(self) -> None: class TestRegistryCompatibility (line 612) | class TestRegistryCompatibility: method test_can_store_in_scenario_registry (line 613) | def test_can_store_in_scenario_registry(self) -> None: method test_detection_via_hasattr (line 627) | def test_detection_via_hasattr(self) -> None: method test_has_rubric_like_agent_task (line 643) | def test_has_rubric_like_agent_task(self) -> None: method test_has_initial_state_like_both_interfaces (line 649) | def test_has_initial_state_like_both_interfaces(self) -> None: FILE: autocontext/tests/test_simulation_helpers.py class TestInferFamily (line 6) | class TestInferFamily: method test_routes_geopolitical_crisis_to_simulation (line 7) | def test_routes_geopolitical_crisis_to_simulation(self) -> None: method test_routes_ac276_geopolitical_stress_prompt_to_simulation (line 16) | def test_routes_ac276_geopolitical_stress_prompt_to_simulation(self) -... method test_routes_compact_geopolitical_wargame_with_escalation_terms_to_simulation (line 27) | def test_routes_compact_geopolitical_wargame_with_escalation_terms_to_... method test_routes_statecraft_when_to_escalate_prompt_to_simulation (line 34) | def test_routes_statecraft_when_to_escalate_prompt_to_simulation(self)... method test_keeps_explicit_operator_loop_prompts_on_operator_loop (line 41) | def test_keeps_explicit_operator_loop_prompts_on_operator_loop(self) -... method test_routes_clarification_only_prompts_to_operator_loop (line 48) | def test_routes_clarification_only_prompts_to_operator_loop(self) -> N... FILE: autocontext/tests/test_simulation_spec.py class TestSimulationActionSpecModelNormalization (line 9) | class TestSimulationActionSpecModelNormalization: method test_from_dict_maps_postconditions_to_effects (line 10) | def test_from_dict_maps_postconditions_to_effects(self) -> None: method test_from_dict_prefers_explicit_effects_when_present (line 21) | def test_from_dict_prefers_explicit_effects_when_present(self) -> None: method test_normalize_simulation_spec_dict_coerces_llm_friendly_shapes (line 32) | def test_normalize_simulation_spec_dict_coerces_llm_friendly_shapes(se... method test_from_dict_prefers_action_ids_for_structured_preconditions (line 56) | def test_from_dict_prefers_action_ids_for_structured_preconditions(sel... FILE: autocontext/tests/test_skeptic.py function _make_runtime (line 22) | def _make_runtime() -> SubagentRuntime: function _full_skeptic_output (line 27) | def _full_skeptic_output( class TestParseSkepticReview (line 50) | class TestParseSkepticReview: method test_parse_skeptic_review_all_markers (line 51) | def test_parse_skeptic_review_all_markers(self) -> None: method test_parse_skeptic_review_high_risk (line 66) | def test_parse_skeptic_review_high_risk(self) -> None: method test_parse_skeptic_review_block (line 73) | def test_parse_skeptic_review_block(self) -> None: method test_parse_skeptic_review_no_markers (line 79) | def test_parse_skeptic_review_no_markers(self) -> None: method test_parse_skeptic_review_concerns_extraction (line 88) | def test_parse_skeptic_review_concerns_extraction(self) -> None: method test_parse_skeptic_review_confidence_clamping (line 101) | def test_parse_skeptic_review_confidence_clamping(self) -> None: method test_parse_skeptic_review_case_insensitive (line 120) | def test_parse_skeptic_review_case_insensitive(self) -> None: class TestSkepticAgent (line 136) | class TestSkepticAgent: method test_skeptic_agent_returns_review_and_execution (line 137) | def test_skeptic_agent_returns_review_and_execution(self) -> None: method test_skeptic_agent_constraint_mode (line 151) | def test_skeptic_agent_constraint_mode(self) -> None: method test_skeptic_agent_includes_trajectory (line 176) | def test_skeptic_agent_includes_trajectory(self) -> None: method test_skeptic_agent_includes_match_results (line 198) | def test_skeptic_agent_includes_match_results(self) -> None: function _make_ctx (line 226) | def _make_ctx( function _make_events (line 276) | def _make_events() -> Any: function _make_sqlite (line 280) | def _make_sqlite() -> Any: function _make_artifacts (line 284) | def _make_artifacts(tmp_path: Path) -> Any: function _make_trajectory_builder (line 291) | def _make_trajectory_builder() -> Any: class TestStageSkepticReview (line 297) | class TestStageSkepticReview: method test_stage_skeptic_skips_when_disabled (line 298) | def test_stage_skeptic_skips_when_disabled(self) -> None: method test_stage_skeptic_skips_non_advance (line 313) | def test_stage_skeptic_skips_non_advance(self, tmp_path: Path) -> None: method test_stage_skeptic_block_clears_playbook (line 329) | def test_stage_skeptic_block_clears_playbook(self, tmp_path: Path) -> ... method test_stage_skeptic_block_ignored_when_not_enabled (line 369) | def test_stage_skeptic_block_ignored_when_not_enabled(self, tmp_path: ... method test_stage_skeptic_emits_events (line 409) | def test_stage_skeptic_emits_events(self, tmp_path: Path) -> None: class TestSkepticSettings (line 467) | class TestSkepticSettings: method test_skeptic_settings_defaults (line 468) | def test_skeptic_settings_defaults(self) -> None: method test_skeptic_settings_from_env (line 474) | def test_skeptic_settings_from_env(self, monkeypatch: pytest.MonkeyPat... class TestDeterministicSkepticBranch (line 489) | class TestDeterministicSkepticBranch: method test_deterministic_client_skeptic_response (line 490) | def test_deterministic_client_skeptic_response(self) -> None: FILE: autocontext/tests/test_skill_consolidation.py function _make_store (line 10) | def _make_store(tmp_path: Path) -> ArtifactStore: function _seed_skill (line 19) | def _seed_skill(tmp_path: Path, scenario: str, lesson_count: int) -> None: function test_read_skill_lessons_raw (line 32) | def test_read_skill_lessons_raw(tmp_path: Path) -> None: function test_replace_skill_lessons (line 40) | def test_replace_skill_lessons(tmp_path: Path) -> None: function test_consolidation_triggered_at_interval (line 54) | def test_consolidation_triggered_at_interval(tmp_path: Path) -> None: function test_consolidation_skipped_under_threshold (line 62) | def test_consolidation_skipped_under_threshold(tmp_path: Path) -> None: function test_consolidation_reduces_count (line 70) | def test_consolidation_reduces_count(tmp_path: Path) -> None: function test_curator_lesson_roundtrip (line 83) | def test_curator_lesson_roundtrip(tmp_path: Path) -> None: FILE: autocontext/tests/test_skill_registry.py function _write_skill (line 10) | def _write_skill(root: Path, name: str, body: str = "", description: str... class TestSkillManifest (line 27) | class TestSkillManifest: method test_parse_from_skill_md (line 30) | def test_parse_from_skill_md(self, tmp_path: Path) -> None: method test_missing_skill_md_returns_none (line 39) | def test_missing_skill_md_returns_none(self, tmp_path: Path) -> None: method test_malformed_frontmatter (line 46) | def test_malformed_frontmatter(self, tmp_path: Path) -> None: method test_quoted_frontmatter_values_are_normalized (line 57) | def test_quoted_frontmatter_values_are_normalized(self, tmp_path: Path... class TestSkillEntry (line 81) | class TestSkillEntry: method test_body_not_loaded_until_accessed (line 84) | def test_body_not_loaded_until_accessed(self, tmp_path: Path) -> None: method test_body_cached_after_first_load (line 96) | def test_body_cached_after_first_load(self, tmp_path: Path) -> None: class TestSkillRegistry (line 107) | class TestSkillRegistry: method test_discover_from_root (line 110) | def test_discover_from_root(self, tmp_path: Path) -> None: method test_deduplicates_same_skill (line 120) | def test_deduplicates_same_skill(self, tmp_path: Path) -> None: method test_filter_by_description_keyword (line 133) | def test_filter_by_description_keyword(self, tmp_path: Path) -> None: method test_get_by_name (line 145) | def test_get_by_name(self, tmp_path: Path) -> None: method test_get_nonexistent_returns_none (line 156) | def test_get_nonexistent_returns_none(self) -> None: method test_validation_reports_errors (line 162) | def test_validation_reports_errors(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_smoke_judge.py class _MockProvider (line 15) | class _MockProvider(LLMProvider): method __init__ (line 16) | def __init__(self, response_text: str) -> None: method complete (line 19) | def complete(self, system_prompt: str, user_prompt: str, model: str | ... method default_model (line 23) | def default_model(self) -> str: function _make_judge_response (line 36) | def _make_judge_response( class TestSmokeJudgeEval (line 48) | class TestSmokeJudgeEval: method test_judge_returns_valid_result (line 51) | def test_judge_returns_valid_result(self) -> None: method test_all_three_dimensions_scored (line 59) | def test_all_three_dimensions_scored(self) -> None: method test_dimension_scores_independent (line 68) | def test_dimension_scores_independent(self) -> None: method test_reasoning_non_empty (line 76) | def test_reasoning_non_empty(self) -> None: method test_parse_succeeds_first_attempt (line 83) | def test_parse_succeeds_first_attempt(self) -> None: FILE: autocontext/tests/test_solve_cli_aliases.py function _solve_command_params (line 20) | def _solve_command_params() -> dict[str, list[str]]: class TestFlagSurface (line 32) | class TestFlagSurface: method test_task_file_flag_is_registered (line 33) | def test_task_file_flag_is_registered(self): method test_generations_alias_is_registered (line 38) | def test_generations_alias_is_registered(self): method test_gens_short_form_still_works (line 43) | def test_gens_short_form_still_works(self): class TestTaskFileEndToEnd (line 53) | class TestTaskFileEndToEnd: method test_task_file_routes_to_description (line 54) | def test_task_file_routes_to_description( method test_task_file_and_description_together_errors (line 88) | def test_task_file_and_description_together_errors( method test_neither_description_nor_task_file_errors (line 114) | def test_neither_description_nor_task_file_errors(self): method test_missing_task_file_errors (line 132) | def test_missing_task_file_errors(self, tmp_path: Path): FILE: autocontext/tests/test_solve_family_override.py class TestValidateFamilyOverride (line 12) | class TestValidateFamilyOverride: method test_empty_string_is_accepted (line 13) | def test_empty_string_is_accepted(self) -> None: method test_none_is_accepted (line 17) | def test_none_is_accepted(self) -> None: method test_unknown_family_raises_typer_exit (line 21) | def test_unknown_family_raises_typer_exit(self) -> None: method test_all_registered_families_are_accepted (line 27) | def test_all_registered_families_are_accepted(self, family_name: str) ... class TestSolveJobFamilyOverride (line 31) | class TestSolveJobFamilyOverride: method test_solve_sync_defaults_family_override_to_none (line 32) | def test_solve_sync_defaults_family_override_to_none(self, tmp_path) -... method test_solve_sync_stores_family_override_on_job (line 51) | def test_solve_sync_stores_family_override_on_job(self, tmp_path) -> N... class TestSolveScenarioBuilderFamilyOverride (line 71) | class TestSolveScenarioBuilderFamilyOverride: method _make_builder (line 74) | def _make_builder(self, tmp_path): method test_build_skips_classifier_when_family_override_provided (line 87) | def test_build_skips_classifier_when_family_override_provided(self, tm... method test_build_uses_classifier_when_no_override (line 109) | def test_build_uses_classifier_when_no_override(self, tmp_path) -> None: class TestRunSolveCommandFamilyOverride (line 141) | class TestRunSolveCommandFamilyOverride: method test_run_solve_command_forwards_family_override (line 144) | def test_run_solve_command_forwards_family_override(self, tmp_path) ->... method test_run_solve_command_defaults_family_override_to_none (line 192) | def test_run_solve_command_defaults_family_override_to_none(self, tmp_... FILE: autocontext/tests/test_solve_family_typo.py function _strip_ansi_and_collapse (line 16) | def _strip_ansi_and_collapse(s: str) -> str: class TestSolveFamilyTypo (line 27) | class TestSolveFamilyTypo: method test_dash_typo_is_rejected_with_suggestion (line 28) | def test_dash_typo_is_rejected_with_suggestion(self): method test_completely_unknown_family_lists_valid_set (line 43) | def test_completely_unknown_family_lists_valid_set(self): method test_correct_family_does_not_error_at_validation (line 58) | def test_correct_family_does_not_error_at_validation(self): FILE: autocontext/tests/test_solve_verbatim_prompt.py class TestVerbatimSolveRequest (line 35) | class TestVerbatimSolveRequest: method test_minimum_required_fields (line 36) | def test_minimum_required_fields(self): method test_judge_rubric_defaults_to_compile_clean_rubric (line 44) | def test_judge_rubric_defaults_to_compile_clean_rubric(self): method test_explicit_judge_rubric_is_kept_verbatim (line 55) | def test_explicit_judge_rubric_is_kept_verbatim(self): method test_name_override_is_optional (line 63) | def test_name_override_is_optional(self): method test_explicit_name_override_is_carried (line 67) | def test_explicit_name_override_is_carried(self): method test_empty_task_prompt_is_rejected (line 75) | def test_empty_task_prompt_is_rejected(self): method test_whitespace_only_task_prompt_is_rejected (line 81) | def test_whitespace_only_task_prompt_is_rejected(self): class TestBuildVerbatimSolveScenario (line 89) | class TestBuildVerbatimSolveScenario: method test_returns_a_built_scenario_with_verbatim_prompt (line 90) | def test_returns_a_built_scenario_with_verbatim_prompt(self, tmp_path:... method test_no_llm_call_is_made (line 101) | def test_no_llm_call_is_made(self, tmp_path: Path, monkeypatch): method test_generated_scenario_class_returns_verbatim_task_prompt (line 125) | def test_generated_scenario_class_returns_verbatim_task_prompt( method test_name_override_wins_over_derived_name (line 146) | def test_name_override_wins_over_derived_name(self, tmp_path: Path): method test_default_name_is_derived_from_description (line 155) | def test_default_name_is_derived_from_description(self, tmp_path: Path): FILE: autocontext/tests/test_solve_verbatim_wiring.py function isolated_settings (line 19) | def isolated_settings(tmp_path: Path) -> AppSettings: class TestSolveManagerVerbatimMode (line 28) | class TestSolveManagerVerbatimMode: method test_verbatim_task_prompt_does_not_call_llm_designer (line 29) | def test_verbatim_task_prompt_does_not_call_llm_designer( method test_solve_sync_signature_accepts_verbatim_task_prompt (line 104) | def test_solve_sync_signature_accepts_verbatim_task_prompt( class TestCliVerbatimFlag (line 118) | class TestCliVerbatimFlag: method test_solve_cli_exposes_task_prompt_flag (line 119) | def test_solve_cli_exposes_task_prompt_flag(self): function typer_to_click_main (line 132) | def typer_to_click_main(app): FILE: autocontext/tests/test_sqlite_store.py function _make_store (line 8) | def _make_store(tmp_path: Path) -> SQLiteStore: function test_connect_applies_sqlite_tuning (line 14) | def test_connect_applies_sqlite_tuning(tmp_path: Path) -> None: function test_append_generation_agent_activity_batches_outputs_and_metrics (line 25) | def test_append_generation_agent_activity_batches_outputs_and_metrics(tm... function test_latest_competitor_output_is_canonical_for_generation_queries (line 81) | def test_latest_competitor_output_is_canonical_for_generation_queries(tm... function test_self_play_strategy_history_includes_elo (line 100) | def test_self_play_strategy_history_includes_elo(tmp_path: Path) -> None: function test_generation_and_snapshot_store_scoring_backend_metadata (line 119) | def test_generation_and_snapshot_store_scoring_backend_metadata(tmp_path... FILE: autocontext/tests/test_sqlite_store_bootstrap.py class TestBootstrapSchema (line 12) | class TestBootstrapSchema: method test_migrate_falls_back_when_migrations_are_missing (line 15) | def test_migrate_falls_back_when_migrations_are_missing(self, tmp_path... method test_bootstrapped_db_can_later_run_real_migrations (line 41) | def test_bootstrapped_db_can_later_run_real_migrations(self, tmp_path:... method test_ensure_core_tables_is_idempotent (line 51) | def test_ensure_core_tables_is_idempotent(self, tmp_path: Path) -> None: method test_migrate_then_ensure_does_not_conflict (line 61) | def test_migrate_then_ensure_does_not_conflict(self, tmp_path: Path) -... method test_list_runs_on_fresh_db (line 72) | def test_list_runs_on_fresh_db(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_ssh_executor.py class TestSSHHostCapabilities (line 34) | class TestSSHHostCapabilities: method test_defaults (line 35) | def test_defaults(self) -> None: method test_custom_values (line 43) | def test_custom_values(self) -> None: class TestSSHHostConfig (line 61) | class TestSSHHostConfig: method test_minimal_config (line 62) | def test_minimal_config(self) -> None: method test_full_config (line 74) | def test_full_config(self) -> None: method test_hostname_required (line 92) | def test_hostname_required(self) -> None: method test_name_required (line 96) | def test_name_required(self) -> None: class TestSSHCommandResult (line 106) | class TestSSHCommandResult: method test_construction (line 107) | def test_construction(self) -> None: method test_failure (line 118) | def test_failure(self) -> None: class TestSSHClientExecute (line 128) | class TestSSHClientExecute: method _make_client (line 129) | def _make_client(self, **overrides: Any) -> SSHClient: method test_execute_command_success (line 133) | def test_execute_command_success(self) -> None: method test_execute_command_builds_ssh_args (line 143) | def test_execute_command_builds_ssh_args(self) -> None: method test_execute_command_timeout (line 161) | def test_execute_command_timeout(self) -> None: method test_execute_command_with_environment (line 168) | def test_execute_command_with_environment(self) -> None: method test_execute_nonzero_exit (line 182) | def test_execute_nonzero_exit(self) -> None: class TestSSHClientHealthCheck (line 198) | class TestSSHClientHealthCheck: method test_health_check_success (line 199) | def test_health_check_success(self) -> None: method test_health_check_unreachable (line 210) | def test_health_check_unreachable(self) -> None: method test_health_check_connection_error (line 217) | def test_health_check_connection_error(self) -> None: class TestSSHClientFileTransfer (line 233) | class TestSSHClientFileTransfer: method test_upload_file (line 234) | def test_upload_file(self, tmp_path: Path) -> None: method test_download_file (line 248) | def test_download_file(self, tmp_path: Path) -> None: method test_upload_file_with_user_and_port (line 261) | def test_upload_file_with_user_and_port(self, tmp_path: Path) -> None: method test_upload_failure_raises (line 275) | def test_upload_failure_raises(self, tmp_path: Path) -> None: class TestSSHClientWorkingDir (line 292) | class TestSSHClientWorkingDir: method test_ensure_working_directory (line 293) | def test_ensure_working_directory(self) -> None: method test_ensure_working_directory_failure_raises (line 309) | def test_ensure_working_directory_failure_raises(self) -> None: class TestSSHClientRuntimePreflight (line 324) | class TestSSHClientRuntimePreflight: method test_validate_runtime_success (line 325) | def test_validate_runtime_success(self) -> None: method test_validate_runtime_unhealthy_host_raises (line 341) | def test_validate_runtime_unhealthy_host_raises(self) -> None: method test_validate_runtime_import_failure_raises (line 349) | def test_validate_runtime_import_failure_raises(self) -> None: class TestSSHExecutor (line 369) | class TestSSHExecutor: method _make_executor (line 370) | def _make_executor(self, **client_overrides: Any) -> tuple[SSHExecutor... method test_execute_success (line 376) | def test_execute_success(self) -> None: method test_execute_nonzero_exit_with_fallback (line 417) | def test_execute_nonzero_exit_with_fallback(self) -> None: method test_execute_nonzero_exit_without_fallback (line 454) | def test_execute_nonzero_exit_without_fallback(self) -> None: method test_execute_invalid_json_with_fallback (line 473) | def test_execute_invalid_json_with_fallback(self) -> None: method test_execute_builds_eval_command (line 508) | def test_execute_builds_eval_command(self) -> None: method test_execute_timeout_in_limits (line 541) | def test_execute_timeout_in_limits(self) -> None: class TestSSHSettings (line 570) | class TestSSHSettings: method test_defaults (line 571) | def test_defaults(self) -> None: method test_custom_values (line 582) | def test_custom_values(self) -> None: class TestGenerationRunnerSSHWiring (line 603) | class TestGenerationRunnerSSHWiring: method test_ssh_executor_mode_creates_ssh_executor_after_preflight (line 604) | def test_ssh_executor_mode_creates_ssh_executor_after_preflight(self) ... method test_ssh_preflight_falls_back_to_local_when_allowed (line 618) | def test_ssh_preflight_falls_back_to_local_when_allowed(self) -> None: method test_ssh_preflight_raises_when_fallback_disabled (line 635) | def test_ssh_preflight_raises_when_fallback_disabled(self) -> None: FILE: autocontext/tests/test_stage_preflight.py function _make_settings (line 31) | def _make_settings(**overrides: Any) -> AppSettings: function _make_store (line 44) | def _make_store(tmp_path: Path) -> ArtifactStore: function _make_scenario_mock (line 53) | def _make_scenario_mock() -> MagicMock: function _make_ctx (line 66) | def _make_ctx( function _make_events (line 94) | def _make_events(tmp_path: Path) -> MagicMock: class TestPreflightConfig (line 105) | class TestPreflightConfig: method test_harness_preflight_enabled_default_false (line 106) | def test_harness_preflight_enabled_default_false(self) -> None: method test_harness_preflight_max_iterations_default (line 110) | def test_harness_preflight_max_iterations_default(self) -> None: method test_harness_preflight_target_accuracy_default (line 114) | def test_harness_preflight_target_accuracy_default(self) -> None: method test_harness_preflight_force_default_false (line 118) | def test_harness_preflight_force_default_false(self) -> None: method test_harness_preflight_enabled_can_be_set (line 122) | def test_harness_preflight_enabled_can_be_set(self) -> None: method test_harness_preflight_max_iterations_validation (line 126) | def test_harness_preflight_max_iterations_validation(self) -> None: method test_harness_preflight_target_accuracy_bounds (line 130) | def test_harness_preflight_target_accuracy_bounds(self) -> None: class TestPreflightSkips (line 143) | class TestPreflightSkips: method test_skips_when_disabled (line 144) | def test_skips_when_disabled(self, tmp_path: Path) -> None: method test_skips_when_generation_not_1 (line 156) | def test_skips_when_generation_not_1(self, tmp_path: Path) -> None: method test_skips_when_harness_exists (line 167) | def test_skips_when_harness_exists(self, tmp_path: Path) -> None: method test_force_ignores_existing_harness (line 192) | def test_force_ignores_existing_harness(self, tmp_path: Path) -> None: class TestPreflightExecution (line 234) | class TestPreflightExecution: method test_runs_synthesis_and_saves_output (line 235) | def test_runs_synthesis_and_saves_output(self, tmp_path: Path) -> None: method test_emits_preflight_start_event (line 268) | def test_emits_preflight_start_event(self, tmp_path: Path) -> None: method test_emits_preflight_complete_when_converged (line 299) | def test_emits_preflight_complete_when_converged(self, tmp_path: Path)... method test_emits_preflight_incomplete_when_not_converged (line 333) | def test_emits_preflight_incomplete_when_not_converged(self, tmp_path:... method test_passes_settings_to_synthesizer (line 367) | def test_passes_settings_to_synthesizer(self, tmp_path: Path) -> None: method test_returns_ctx (line 401) | def test_returns_ctx(self, tmp_path: Path) -> None: class TestPreflightPipelineWiring (line 432) | class TestPreflightPipelineWiring: method test_pipeline_imports_stage_preflight (line 433) | def test_pipeline_imports_stage_preflight(self) -> None: method test_pipeline_calls_preflight_on_gen_1 (line 439) | def test_pipeline_calls_preflight_on_gen_1(self, tmp_path: Path) -> None: class TestPreflightFixtures (line 454) | class TestPreflightFixtures: method test_fixture_loader_disabled_by_default (line 455) | def test_fixture_loader_disabled_by_default(self) -> None: method test_skips_when_fixture_loader_disabled (line 459) | def test_skips_when_fixture_loader_disabled(self, tmp_path: Path) -> N... method test_skips_when_not_gen_1 (line 470) | def test_skips_when_not_gen_1(self, tmp_path: Path) -> None: method test_missing_manifest_is_no_op (line 480) | def test_missing_manifest_is_no_op(self, tmp_path: Path) -> None: method test_loads_manifest_and_populates_ctx_fixtures (line 492) | def test_loads_manifest_and_populates_ctx_fixtures(self, tmp_path: Pat... FILE: autocontext/tests/test_stage_probe.py function _make_ctx (line 9) | def _make_ctx(probe_matches: int = 0) -> MagicMock: function test_probe_disabled_returns_unchanged (line 25) | def test_probe_disabled_returns_unchanged() -> None: function test_probe_runs_single_match_and_refines (line 32) | def test_probe_runs_single_match_and_refines() -> None: function test_probe_keeps_original_on_failure (line 64) | def test_probe_keeps_original_on_failure() -> None: FILE: autocontext/tests/test_stage_staged_validation.py class FakeScenario (line 19) | class FakeScenario: method __init__ (line 24) | def __init__( method initial_state (line 33) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method validate_actions (line 36) | def validate_actions( function _make_ctx (line 42) | def _make_ctx( function _make_events (line 66) | def _make_events() -> MagicMock: function _make_sqlite (line 71) | def _make_sqlite() -> MagicMock: class TestStagedValidationConfig (line 79) | class TestStagedValidationConfig: method test_config_field_exists (line 80) | def test_config_field_exists(self) -> None: method test_config_defaults_to_true (line 84) | def test_config_defaults_to_true(self) -> None: method test_config_can_be_disabled (line 88) | def test_config_can_be_disabled(self) -> None: class TestContextFields (line 96) | class TestContextFields: method test_context_has_staged_validation_results_field (line 97) | def test_context_has_staged_validation_results_field(self) -> None: method test_context_has_staged_validation_metrics_field (line 101) | def test_context_has_staged_validation_metrics_field(self) -> None: class TestStageStagedValidation (line 109) | class TestStageStagedValidation: method test_disabled_returns_ctx_unchanged (line 110) | def test_disabled_returns_ctx_unchanged(self) -> None: method test_valid_dict_strategy_passes_all_stages (line 121) | def test_valid_dict_strategy_passes_all_stages(self) -> None: method test_none_strategy_fails_at_syntax (line 135) | def test_none_strategy_fails_at_syntax(self) -> None: method test_emits_started_and_completed_events (line 150) | def test_emits_started_and_completed_events(self) -> None: method test_completed_event_includes_stage_results (line 162) | def test_completed_event_includes_stage_results(self) -> None: method test_metrics_attached_to_context (line 181) | def test_metrics_attached_to_context(self) -> None: method test_failed_validation_sets_gate_decision_retry (line 192) | def test_failed_validation_sets_gate_decision_retry(self) -> None: method test_passed_validation_does_not_override_gate_decision (line 202) | def test_passed_validation_does_not_override_gate_decision(self) -> None: method test_code_strategy_with_choose_action_passes (line 211) | def test_code_strategy_with_choose_action_passes(self) -> None: method test_code_strategy_missing_choose_action_fails_contract (line 235) | def test_code_strategy_missing_choose_action_fails_contract(self) -> N... method test_skipped_stages_do_not_block (line 249) | def test_skipped_stages_do_not_block(self) -> None: class TestStagedValidationPersistence (line 266) | class TestStagedValidationPersistence: method test_results_persisted_to_sqlite (line 267) | def test_results_persisted_to_sqlite(self) -> None: method test_persistence_failure_does_not_crash_stage (line 280) | def test_persistence_failure_does_not_crash_stage(self) -> None: class TestPipelineWiring (line 295) | class TestPipelineWiring: method test_generation_pipeline_imports_stage (line 296) | def test_generation_pipeline_imports_stage(self) -> None: FILE: autocontext/tests/test_stage_tree_search.py class _FakeScenario (line 25) | class _FakeScenario(ScenarioInterface): method describe_rules (line 30) | def describe_rules(self) -> str: method describe_strategy_interface (line 33) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 36) | def describe_evaluation_criteria(self) -> str: method initial_state (line 39) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 42) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 45) | def validate_actions( method step (line 50) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 56) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 59) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 63) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 66) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: function _make_inline_supervisor (line 70) | def _make_inline_supervisor() -> ExecutionSupervisor: function _make_settings (line 90) | def _make_settings(**overrides: object) -> AppSettings: function _make_orchestrator (line 102) | def _make_orchestrator(settings: AppSettings | None = None) -> AgentOrch... function _make_prompts (line 108) | def _make_prompts(scenario: ScenarioInterface | None = None) -> PromptBu... function _make_ctx (line 122) | def _make_ctx( class TestTreeSearchStage (line 148) | class TestTreeSearchStage: method test_produces_outputs_and_strategy (line 151) | def test_produces_outputs_and_strategy(self) -> None: method test_emits_tree_search_start_event (line 177) | def test_emits_tree_search_start_event(self) -> None: method test_emits_tournament_completed_event (line 197) | def test_emits_tournament_completed_event(self) -> None: method test_persists_agent_outputs_to_sqlite (line 218) | def test_persists_agent_outputs_to_sqlite(self) -> None: method test_runs_analyst_coach_architect (line 240) | def test_runs_analyst_coach_architect(self) -> None: method test_updates_score_history (line 263) | def test_updates_score_history(self) -> None: method test_advance_updates_previous_best (line 283) | def test_advance_updates_previous_best(self) -> None: method test_writes_replay_narrative (line 304) | def test_writes_replay_narrative(self) -> None: method test_max_hypotheses_respected (line 324) | def test_max_hypotheses_respected(self) -> None: method test_on_role_event_callback (line 344) | def test_on_role_event_callback(self) -> None: class TestTreeSearchPipelineIntegration (line 374) | class TestTreeSearchPipelineIntegration: method test_pipeline_uses_tree_search (line 377) | def test_pipeline_uses_tree_search(self) -> None: method test_pipeline_skips_tree_search_for_linear (line 432) | def test_pipeline_skips_tree_search_for_linear(self) -> None: FILE: autocontext/tests/test_staged_runner.py class TestSyntaxStage (line 25) | class TestSyntaxStage: method test_valid_json_strategy_passes (line 26) | def test_valid_json_strategy_passes(self) -> None: method test_valid_python_code_passes (line 31) | def test_valid_python_code_passes(self) -> None: method test_invalid_python_code_fails (line 37) | def test_invalid_python_code_fails(self) -> None: method test_none_candidate_fails (line 43) | def test_none_candidate_fails(self) -> None: method test_empty_dict_passes (line 49) | def test_empty_dict_passes(self) -> None: method test_empty_string_passes (line 54) | def test_empty_string_passes(self) -> None: method test_list_candidate_passes (line 60) | def test_list_candidate_passes(self) -> None: method test_ast_unsafe_code_fails (line 66) | def test_ast_unsafe_code_fails(self) -> None: class TestContractStage (line 78) | class TestContractStage: method test_dict_strategy_with_matching_scenario_passes (line 79) | def test_dict_strategy_with_matching_scenario_passes(self) -> None: method test_dict_strategy_failing_scenario_validation (line 87) | def test_dict_strategy_failing_scenario_validation(self) -> None: method test_code_candidate_must_define_choose_action (line 97) | def test_code_candidate_must_define_choose_action(self) -> None: method test_code_candidate_with_choose_action_passes (line 104) | def test_code_candidate_with_choose_action_passes(self) -> None: method test_no_scenario_dict_candidate_passes (line 110) | def test_no_scenario_dict_candidate_passes(self) -> None: class TestDeterministicStage (line 120) | class TestDeterministicStage: method test_consistent_dict_strategy_passes (line 121) | def test_consistent_dict_strategy_passes(self) -> None: method test_deterministic_code_passes (line 127) | def test_deterministic_code_passes(self) -> None: method test_nondeterministic_code_fails (line 135) | def test_nondeterministic_code_fails(self) -> None: method test_no_scenario_code_skips (line 151) | def test_no_scenario_code_skips(self) -> None: method test_timeout_while_executing_code_fails_fast (line 158) | def test_timeout_while_executing_code_fails_fast(self) -> None: class TestEdgeCaseStage (line 171) | class TestEdgeCaseStage: method test_skipped_when_no_edge_fixtures (line 172) | def test_skipped_when_no_edge_fixtures(self) -> None: method test_skipped_when_no_scenario (line 179) | def test_skipped_when_no_scenario(self) -> None: method test_passes_all_edge_fixtures (line 184) | def test_passes_all_edge_fixtures(self) -> None: method test_fails_on_edge_fixture (line 195) | def test_fails_on_edge_fixture(self) -> None: method test_code_candidate_executes_against_edge_fixtures (line 207) | def test_code_candidate_executes_against_edge_fixtures(self) -> None: class TestEvaluationReadyStage (line 234) | class TestEvaluationReadyStage: method test_dict_strategy_passes (line 235) | def test_dict_strategy_passes(self) -> None: method test_code_with_choose_action_passes (line 240) | def test_code_with_choose_action_passes(self) -> None: method test_code_that_crashes_on_execution_fails (line 248) | def test_code_that_crashes_on_execution_fails(self) -> None: class TestValidationMetrics (line 261) | class TestValidationMetrics: method test_empty_metrics (line 262) | def test_empty_metrics(self) -> None: method test_record_pass (line 268) | def test_record_pass(self) -> None: method test_record_failure (line 278) | def test_record_failure(self) -> None: method test_record_multiple (line 289) | def test_record_multiple(self) -> None: method test_estimated_evaluations_saved (line 304) | def test_estimated_evaluations_saved(self) -> None: method test_to_event_payload (line 313) | def test_to_event_payload(self) -> None: class TestValidationRunner (line 328) | class TestValidationRunner: method test_runner_runs_pipeline_and_tracks_metrics (line 329) | def test_runner_runs_pipeline_and_tracks_metrics(self) -> None: method test_runner_tracks_rejections (line 339) | def test_runner_tracks_rejections(self) -> None: method test_runner_multiple_validations (line 347) | def test_runner_multiple_validations(self) -> None: method test_runner_reset_metrics (line 359) | def test_runner_reset_metrics(self) -> None: class TestDefaultPipeline (line 371) | class TestDefaultPipeline: method test_default_pipeline_has_five_stages (line 372) | def test_default_pipeline_has_five_stages(self) -> None: method test_default_pipeline_stage_order (line 376) | def test_default_pipeline_stage_order(self) -> None: method test_default_pipeline_runs_valid_strategy (line 381) | def test_default_pipeline_runs_valid_strategy(self) -> None: FILE: autocontext/tests/test_staged_validation.py class AlwaysPassStage (line 23) | class AlwaysPassStage(ValidationStage): method name (line 27) | def name(self) -> str: method run (line 30) | def run(self, candidate: Any, scenario: Any) -> StageResult: class AlwaysFailStage (line 34) | class AlwaysFailStage(ValidationStage): method name (line 38) | def name(self) -> str: method run (line 41) | def run(self, candidate: Any, scenario: Any) -> StageResult: class SkippableStage (line 48) | class SkippableStage(ValidationStage): method name (line 52) | def name(self) -> str: method run (line 55) | def run(self, candidate: Any, scenario: Any) -> StageResult: class TrackingStage (line 59) | class TrackingStage(ValidationStage): method __init__ (line 62) | def __init__(self, order: int, stage_name: str = "tracking") -> None: method name (line 68) | def name(self) -> str: method run (line 71) | def run(self, candidate: Any, scenario: Any) -> StageResult: class SlowStage (line 76) | class SlowStage(ValidationStage): method name (line 80) | def name(self) -> str: method run (line 83) | def run(self, candidate: Any, scenario: Any) -> StageResult: class TestStageStatus (line 93) | class TestStageStatus: method test_status_values (line 94) | def test_status_values(self) -> None: method test_status_is_str_enum (line 99) | def test_status_is_str_enum(self) -> None: class TestStageResult (line 107) | class TestStageResult: method test_stage_result_passed (line 108) | def test_stage_result_passed(self) -> None: method test_stage_result_failed_with_error_and_code (line 118) | def test_stage_result_failed_with_error_and_code(self) -> None: method test_stage_result_skipped (line 128) | def test_stage_result_skipped(self) -> None: method test_stage_result_is_frozen (line 133) | def test_stage_result_is_frozen(self) -> None: class TestValidationStage (line 142) | class TestValidationStage: method test_cannot_instantiate_abc (line 143) | def test_cannot_instantiate_abc(self) -> None: method test_concrete_stage_has_name_and_order (line 147) | def test_concrete_stage_has_name_and_order(self) -> None: method test_stage_run_returns_stage_result (line 152) | def test_stage_run_returns_stage_result(self) -> None: class TestValidationPipeline (line 162) | class TestValidationPipeline: method test_empty_pipeline_returns_empty_results (line 163) | def test_empty_pipeline_returns_empty_results(self) -> None: method test_empty_pipeline_all_passed_is_true (line 169) | def test_empty_pipeline_all_passed_is_true(self) -> None: method test_all_stages_pass (line 173) | def test_all_stages_pass(self) -> None: method test_early_exit_on_failure (line 180) | def test_early_exit_on_failure(self) -> None: method test_skipped_stage_does_not_halt_pipeline (line 198) | def test_skipped_stage_does_not_halt_pipeline(self) -> None: method test_all_passed_with_skipped_stages (line 212) | def test_all_passed_with_skipped_stages(self) -> None: method test_stages_run_in_order (line 221) | def test_stages_run_in_order(self) -> None: method test_duplicate_stage_orders_preserve_insertion_order (line 232) | def test_duplicate_stage_orders_preserve_insertion_order(self) -> None: method test_results_include_timing (line 242) | def test_results_include_timing(self) -> None: method test_failed_stage_reports_which_stage (line 248) | def test_failed_stage_reports_which_stage(self) -> None: method test_pipeline_with_single_stage (line 259) | def test_pipeline_with_single_stage(self) -> None: method test_pipeline_first_stage_fails (line 265) | def test_pipeline_first_stage_fails(self) -> None: method test_pipeline_passes_candidate_and_scenario_to_stages (line 273) | def test_pipeline_passes_candidate_and_scenario_to_stages(self) -> None: method test_stage_exception_becomes_failure_with_error_code (line 298) | def test_stage_exception_becomes_failure_with_error_code(self) -> None: method test_pipeline_all_passed_property (line 320) | def test_pipeline_all_passed_property(self) -> None: method test_pipeline_all_passed_false_on_failure (line 326) | def test_pipeline_all_passed_false_on_failure(self) -> None: method test_pipeline_failed_stage_name (line 331) | def test_pipeline_failed_stage_name(self) -> None: method test_pipeline_failed_stage_none_when_all_pass (line 341) | def test_pipeline_failed_stage_none_when_all_pass(self) -> None: method test_imports_from_package_init (line 346) | def test_imports_from_package_init(self) -> None: FILE: autocontext/tests/test_staged_validation_storage.py function sqlite_store (line 16) | def sqlite_store(tmp_path: Path) -> SQLiteStore: class TestInsertStagedValidationResults (line 27) | class TestInsertStagedValidationResults: method test_insert_single_result (line 28) | def test_insert_single_result(self, sqlite_store: SQLiteStore) -> None: method test_insert_multiple_results (line 46) | def test_insert_multiple_results(self, sqlite_store: SQLiteStore) -> N... method test_insert_empty_results (line 74) | def test_insert_empty_results(self, sqlite_store: SQLiteStore) -> None: method test_results_ordered_by_stage (line 79) | def test_results_ordered_by_stage(self, sqlite_store: SQLiteStore) -> ... method test_duration_ms_preserved (line 111) | def test_duration_ms_preserved(self, sqlite_store: SQLiteStore) -> None: method test_no_results_for_nonexistent_generation (line 126) | def test_no_results_for_nonexistent_generation(self, sqlite_store: SQL... FILE: autocontext/tests/test_stages_enriched_retry.py function test_failure_report_injected_into_retry_context (line 8) | def test_failure_report_injected_into_retry_context() -> None: function test_failure_report_includes_error_context (line 32) | def test_failure_report_includes_error_context() -> None: FILE: autocontext/tests/test_stagnation.py class TestStagnationDetector (line 19) | class TestStagnationDetector: method test_consecutive_rollbacks_at_threshold_triggers (line 20) | def test_consecutive_rollbacks_at_threshold_triggers(self) -> None: method test_consecutive_rollbacks_below_threshold (line 30) | def test_consecutive_rollbacks_below_threshold(self) -> None: method test_score_plateau_triggers (line 39) | def test_score_plateau_triggers(self) -> None: method test_score_plateau_high_variance_no_trigger (line 49) | def test_score_plateau_high_variance_no_trigger(self) -> None: method test_insufficient_history_no_stagnation (line 57) | def test_insufficient_history_no_stagnation(self) -> None: method test_interleaved_advance_rollback_resets_count (line 65) | def test_interleaved_advance_rollback_resets_count(self) -> None: method test_empty_history_no_stagnation (line 73) | def test_empty_history_no_stagnation(self) -> None: method test_exact_epsilon_boundary_no_trigger (line 79) | def test_exact_epsilon_boundary_no_trigger(self) -> None: class TestStagnationReportNoStagnation (line 90) | class TestStagnationReportNoStagnation: method test_static_factory (line 91) | def test_static_factory(self) -> None: class TestExecuteFreshStart (line 103) | class TestExecuteFreshStart: method test_archives_playbook_and_writes_distilled (line 104) | def test_archives_playbook_and_writes_distilled(self, tmp_path: object... method test_clears_hints (line 129) | def test_clears_hints(self, tmp_path: object) -> None: method test_retains_top_n_lessons (line 148) | def test_retains_top_n_lessons(self, tmp_path: object) -> None: method test_returns_fresh_start_hint (line 170) | def test_returns_fresh_start_hint(self, tmp_path: object) -> None: method test_handles_empty_lessons (line 188) | def test_handles_empty_lessons(self, tmp_path: object) -> None: function _make_ctx (line 212) | def _make_ctx( class TestStageStagnationCheck (line 252) | class TestStageStagnationCheck: method test_noop_when_disabled (line 253) | def test_noop_when_disabled(self, tmp_path: object) -> None: method test_noop_on_ablation (line 267) | def test_noop_on_ablation(self, tmp_path: object) -> None: method test_triggers_on_consecutive_rollbacks (line 280) | def test_triggers_on_consecutive_rollbacks(self, tmp_path: object) -> ... FILE: autocontext/tests/test_startup_verification.py function test_all_checks_pass (line 10) | def test_all_checks_pass(tmp_path: Path) -> None: function test_missing_knowledge_dir (line 26) | def test_missing_knowledge_dir(tmp_path: Path) -> None: function test_invalid_progress_json (line 36) | def test_invalid_progress_json(tmp_path: Path) -> None: function test_empty_playbook_warning (line 51) | def test_empty_playbook_warning(tmp_path: Path) -> None: function test_db_check_skipped_when_none (line 66) | def test_db_check_skipped_when_none(tmp_path: Path) -> None: FILE: autocontext/tests/test_strategy_package.py function _make_skill_package (line 21) | def _make_skill_package(**overrides: object) -> SkillPackage: function _make_artifacts (line 40) | def _make_artifacts(tmp_path: Path) -> ArtifactStore: function _make_sqlite (line 50) | def _make_sqlite(tmp_path: Path) -> SQLiteStore: class TestStrategyPackageModel (line 62) | class TestStrategyPackageModel: method test_minimal_valid_package (line 63) | def test_minimal_valid_package(self) -> None: method test_full_roundtrip_json (line 75) | def test_full_roundtrip_json(self) -> None: method test_from_dict_rejects_missing_scenario (line 96) | def test_from_dict_rejects_missing_scenario(self) -> None: method test_from_file_roundtrip (line 102) | def test_from_file_roundtrip(self, tmp_path: Path) -> None: method test_display_name_auto_generated (line 113) | def test_display_name_auto_generated(self) -> None: method test_metadata_defaults (line 119) | def test_metadata_defaults(self) -> None: method test_format_version_field (line 126) | def test_format_version_field(self) -> None: class TestFromSkillPackage (line 136) | class TestFromSkillPackage: method test_game_scenario_conversion (line 137) | def test_game_scenario_conversion(self) -> None: method test_agent_task_conversion (line 147) | def test_agent_task_conversion(self) -> None: method test_harness_preserved (line 158) | def test_harness_preserved(self) -> None: method test_source_run_id_propagated (line 165) | def test_source_run_id_propagated(self) -> None: method test_mts_version_populated (line 172) | def test_mts_version_populated(self) -> None: class TestToSkillPackage (line 184) | class TestToSkillPackage: method test_roundtrip_game_scenario (line 185) | def test_roundtrip_game_scenario(self) -> None: method test_roundtrip_agent_task (line 196) | def test_roundtrip_agent_task(self) -> None: class TestImportStrategyPackage (line 209) | class TestImportStrategyPackage: method test_import_writes_playbook_on_empty (line 210) | def test_import_writes_playbook_on_empty(self, tmp_path: Path) -> None: method test_import_merge_skips_existing_playbook (line 219) | def test_import_merge_skips_existing_playbook(self, tmp_path: Path) ->... method test_import_overwrite_replaces_playbook (line 229) | def test_import_overwrite_replaces_playbook(self, tmp_path: Path) -> N... method test_import_skip_never_overwrites (line 239) | def test_import_skip_never_overwrites(self, tmp_path: Path) -> None: method test_import_writes_hints (line 249) | def test_import_writes_hints(self, tmp_path: Path) -> None: method test_import_merge_appends_hints (line 258) | def test_import_merge_appends_hints(self, tmp_path: Path) -> None: method test_import_writes_harness_validators (line 270) | def test_import_writes_harness_validators(self, tmp_path: Path) -> None: method test_import_merge_skips_existing_harness (line 281) | def test_import_merge_skips_existing_harness(self, tmp_path: Path) -> ... method test_import_overwrite_replaces_harness (line 294) | def test_import_overwrite_replaces_harness(self, tmp_path: Path) -> None: method test_import_writes_skill_md (line 308) | def test_import_writes_skill_md(self, tmp_path: Path) -> None: method test_import_skip_preserves_existing_skill_md (line 325) | def test_import_skip_preserves_existing_skill_md(self, tmp_path: Path)... method test_import_merge_keeps_existing_skill_and_adds_lessons (line 343) | def test_import_merge_keeps_existing_skill_and_adds_lessons(self, tmp_... method test_import_persists_snapshot_and_strategy_for_reexport (line 368) | def test_import_persists_snapshot_and_strategy_for_reexport(self, tmp_... method test_import_result_reports_actions (line 406) | def test_import_result_reports_actions(self, tmp_path: Path) -> None: method test_import_empty_package_safe (line 421) | def test_import_empty_package_safe(self, tmp_path: Path) -> None: method _mock_registry (line 432) | def _mock_registry() -> dict[str, object]: class TestExportStrategyPackage (line 443) | class TestExportStrategyPackage: method tool_ctx (line 445) | def tool_ctx(self, tmp_path: Path) -> MagicMock: method _mock_registry (line 461) | def _mock_registry(self) -> dict: method test_export_produces_valid_package (line 469) | def test_export_produces_valid_package(self, tool_ctx: MagicMock) -> N... method test_export_includes_format_version (line 478) | def test_export_includes_format_version(self, tool_ctx: MagicMock) -> ... method test_export_includes_mts_version (line 486) | def test_export_includes_mts_version(self, tool_ctx: MagicMock) -> None: method test_export_includes_source_run_id (line 494) | def test_export_includes_source_run_id(self, tool_ctx: MagicMock) -> N... method test_export_can_target_specific_run (line 500) | def test_export_can_target_specific_run(self, tool_ctx: MagicMock) -> ... method test_export_rejects_run_without_generation_metrics (line 524) | def test_export_rejects_run_without_generation_metrics(self, tool_ctx:... class TestExportImportRoundtrip (line 538) | class TestExportImportRoundtrip: method test_roundtrip_preserves_all_fields (line 539) | def test_roundtrip_preserves_all_fields(self, tmp_path: Path) -> None: method test_roundtrip_harness_content_intact (line 567) | def test_roundtrip_harness_content_intact(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_strategy_package_cli.py function _setup_db_and_artifacts (line 17) | def _setup_db_and_artifacts(tmp_path: Path) -> tuple[SQLiteStore, Artifa... function _seed_scenario (line 34) | def _seed_scenario(db: SQLiteStore, artifacts: ArtifactStore, scenario: ... class TestExportCommand (line 63) | class TestExportCommand: method test_export_creates_json_file (line 64) | def test_export_creates_json_file(self, tmp_path: Path) -> None: method test_export_default_filename (line 84) | def test_export_default_filename(self, tmp_path: Path) -> None: method test_export_unknown_scenario_fails (line 101) | def test_export_unknown_scenario_fails(self, tmp_path: Path) -> None: method test_export_accepts_positional_run_id (line 115) | def test_export_accepts_positional_run_id(self, tmp_path: Path) -> None: class TestImportCommand (line 140) | class TestImportCommand: method _write_package_file (line 141) | def _write_package_file(self, tmp_path: Path, **overrides: object) -> ... method test_import_from_file (line 157) | def test_import_from_file(self, tmp_path: Path) -> None: method test_import_with_scenario_override (line 175) | def test_import_with_scenario_override(self, tmp_path: Path) -> None: method test_import_with_conflict_overwrite (line 193) | def test_import_with_conflict_overwrite(self, tmp_path: Path) -> None: method test_import_invalid_json_fails (line 215) | def test_import_invalid_json_fails(self, tmp_path: Path) -> None: method test_import_missing_file_fails (line 230) | def test_import_missing_file_fails(self, tmp_path: Path) -> None: method test_import_restores_exportable_snapshot (line 242) | def test_import_restores_exportable_snapshot(self, tmp_path: Path) -> ... FILE: autocontext/tests/test_strategy_translator.py function _make_runtime (line 13) | def _make_runtime(response_text: str) -> MagicMock: class TestStrategyTranslator (line 41) | class TestStrategyTranslator: method test_translate_extracts_json_from_narrative (line 42) | def test_translate_extracts_json_from_narrative(self) -> None: method test_translate_maps_abbreviated_keys (line 56) | def test_translate_maps_abbreviated_keys(self) -> None: method test_translate_passthrough_valid_json (line 71) | def test_translate_passthrough_valid_json(self) -> None: method test_translate_raises_on_unparseable (line 84) | def test_translate_raises_on_unparseable(self) -> None: method test_translate_tracks_usage (line 95) | def test_translate_tracks_usage(self) -> None: method test_translate_prompt_contains_interface_and_output (line 111) | def test_translate_prompt_contains_interface_and_output(self) -> None: method test_translate_strips_markdown_fences (line 129) | def test_translate_strips_markdown_fences(self) -> None: method test_translate_strips_plain_fences (line 142) | def test_translate_strips_plain_fences(self) -> None: method test_translate_uses_deterministic_extraction_for_matching_json (line 155) | def test_translate_uses_deterministic_extraction_for_matching_json(sel... method test_translate_falls_back_for_abbreviated_keys (line 170) | def test_translate_falls_back_for_abbreviated_keys(self) -> None: method test_translate_action_plan_prompt_allows_nested_non_numeric_values (line 183) | def test_translate_action_plan_prompt_allows_nested_non_numeric_values... FILE: autocontext/tests/test_subscription_cli_provider_surface.py function _settings (line 17) | def _settings(**overrides: object) -> AppSettings: class TestTopLevelAgentProviderSurface (line 26) | class TestTopLevelAgentProviderSurface: method test_build_client_accepts_claude_cli_provider (line 27) | def test_build_client_accepts_claude_cli_provider(self) -> None: method test_build_client_accepts_codex_provider (line 34) | def test_build_client_accepts_codex_provider(self) -> None: method test_claude_cli_settings_flow_into_runtime (line 41) | def test_claude_cli_settings_flow_into_runtime(self) -> None: method test_codex_settings_flow_into_runtime (line 61) | def test_codex_settings_flow_into_runtime(self) -> None: class TestJudgeProviderSurface (line 82) | class TestJudgeProviderSurface: method test_get_provider_accepts_claude_cli (line 83) | def test_get_provider_accepts_claude_cli(self) -> None: method test_get_provider_accepts_codex (line 91) | def test_get_provider_accepts_codex(self) -> None: FILE: autocontext/tests/test_task_input.py class TestFromText (line 19) | class TestFromText: method test_from_text_carries_payload (line 20) | def test_from_text_carries_payload(self): method test_from_text_strips_trailing_whitespace (line 24) | def test_from_text_strips_trailing_whitespace(self): method test_from_text_rejects_empty_string (line 29) | def test_from_text_rejects_empty_string(self): method test_from_text_rejects_whitespace_only (line 33) | def test_from_text_rejects_whitespace_only(self): class TestFromFile (line 38) | class TestFromFile: method test_from_file_reads_contents (line 39) | def test_from_file_reads_contents(self, tmp_path: Path): method test_from_file_rejects_missing_path (line 45) | def test_from_file_rejects_missing_path(self, tmp_path: Path): method test_from_file_rejects_directory (line 51) | def test_from_file_rejects_directory(self, tmp_path: Path): method test_from_file_rejects_empty_file (line 55) | def test_from_file_rejects_empty_file(self, tmp_path: Path): method test_from_file_accepts_string_path (line 61) | def test_from_file_accepts_string_path(self, tmp_path: Path): class TestFromArgs (line 72) | class TestFromArgs: method test_text_only (line 73) | def test_text_only(self): method test_file_only (line 77) | def test_file_only(self, tmp_path: Path): method test_neither_is_an_error (line 83) | def test_neither_is_an_error(self): method test_both_is_an_error (line 89) | def test_both_is_an_error(self, tmp_path: Path): method test_empty_string_treated_as_missing (line 97) | def test_empty_string_treated_as_missing(self, tmp_path: Path): class TestImmutability (line 110) | class TestImmutability: method test_text_field_is_read_only (line 111) | def test_text_field_is_read_only(self, tmp_path: Path): FILE: autocontext/tests/test_task_metrics.py class _FixedScoreTask (line 15) | class _FixedScoreTask(AgentTaskInterface): method __init__ (line 18) | def __init__(self, scores: list[float]) -> None: method get_task_prompt (line 22) | def get_task_prompt(self, state: dict) -> str: method evaluate_output (line 25) | def evaluate_output( method get_rubric (line 38) | def get_rubric(self) -> str: method initial_state (line 41) | def initial_state(self, seed: int | None = None) -> dict: method describe_task (line 44) | def describe_task(self) -> str: method revise_output (line 47) | def revise_output(self, output: str, judge_result: AgentTaskResult, st... class TestResultHasDurationMs (line 51) | class TestResultHasDurationMs: method test_result_has_duration_ms (line 52) | def test_result_has_duration_ms(self) -> None: class TestResultHasJudgeCallsCount (line 61) | class TestResultHasJudgeCallsCount: method test_result_has_judge_calls_count (line 62) | def test_result_has_judge_calls_count(self) -> None: class TestPerRoundTiming (line 70) | class TestPerRoundTiming: method test_per_round_timing (line 71) | def test_per_round_timing(self) -> None: FILE: autocontext/tests/test_task_queue_priority.py function store (line 15) | def store(tmp_path): class TestPriorityOrdering (line 22) | class TestPriorityOrdering: method test_higher_priority_dequeued_first (line 23) | def test_higher_priority_dequeued_first(self, store): method test_same_priority_fifo (line 37) | def test_same_priority_fifo(self, store): method test_empty_queue_returns_none (line 50) | def test_empty_queue_returns_none(self, store): method test_already_running_not_dequeued (line 53) | def test_already_running_not_dequeued(self, store): method test_completed_tasks_not_dequeued (line 60) | def test_completed_tasks_not_dequeued(self, store): method test_mixed_status_only_pending (line 67) | def test_mixed_status_only_pending(self, store): method test_default_priority_zero (line 81) | def test_default_priority_zero(self, store): class TestConcurrentAccess (line 90) | class TestConcurrentAccess: method test_no_double_processing (line 91) | def test_no_double_processing(self, store): method test_concurrent_priority_order (line 120) | def test_concurrent_priority_order(self, store): method test_scheduled_task_not_dequeued_early (line 150) | def test_scheduled_task_not_dequeued_early(self, store): FILE: autocontext/tests/test_task_runner.py class _MockProvider (line 31) | class _MockProvider(LLMProvider): method __init__ (line 34) | def __init__(self, responses: list[str] | None = None) -> None: method complete (line 39) | def complete(self, system_prompt, user_prompt, model=None, temperature... method default_model (line 45) | def default_model(self): function _judge_response (line 49) | def _judge_response(score: float, reasoning: str = "ok") -> str: function store (line 55) | def store(tmp_path): class TestTaskConfig (line 66) | class TestTaskConfig: method test_from_none (line 67) | def test_from_none(self): method test_from_json (line 73) | def test_from_json(self): method test_from_empty_string (line 88) | def test_from_empty_string(self): class TestTaskQueue (line 97) | class TestTaskQueue: method test_enqueue_and_get (line 98) | def test_enqueue_and_get(self, store): method test_dequeue_returns_highest_priority (line 106) | def test_dequeue_returns_highest_priority(self, store): method test_dequeue_empty_returns_none (line 116) | def test_dequeue_empty_returns_none(self, store): method test_dequeue_skips_running (line 119) | def test_dequeue_skips_running(self, store): method test_complete_task (line 124) | def test_complete_task(self, store): method test_fail_task (line 135) | def test_fail_task(self, store): method test_list_tasks (line 143) | def test_list_tasks(self, store): method test_list_tasks_by_status (line 154) | def test_list_tasks_by_status(self, store): method test_pending_count (line 164) | def test_pending_count(self, store): method test_enqueue_with_config (line 172) | def test_enqueue_with_config(self, store): class TestSimpleAgentTask (line 184) | class TestSimpleAgentTask: method test_generate_output (line 185) | def test_generate_output(self): method test_generate_output_includes_reference_context_and_required_concepts (line 191) | def test_generate_output_includes_reference_context_and_required_conce... method test_evaluate_output (line 208) | def test_evaluate_output(self): method test_evaluate_output_penalizes_dual_section_escape_for_contradictory_rubric (line 214) | def test_evaluate_output_penalizes_dual_section_escape_for_contradicto... method test_revise_output (line 237) | def test_revise_output(self): method test_revise_output_includes_reference_context_and_required_concepts (line 244) | def test_revise_output_includes_reference_context_and_required_concept... class TestTaskRunner (line 270) | class TestTaskRunner: method test_sqlite_store_satisfies_task_queue_store_contract (line 271) | def test_sqlite_store_satisfies_task_queue_store_contract(self, store): method test_run_once_empty_queue (line 275) | def test_run_once_empty_queue(self, store): method test_run_once_processes_task (line 281) | def test_run_once_processes_task(self, store): method test_run_once_with_revision (line 298) | def test_run_once_with_revision(self, store): method test_run_once_task_failure (line 321) | def test_run_once_task_failure(self, store): method test_run_processes_multiple_then_stops (line 337) | def test_run_processes_multiple_then_stops(self, store): method test_shutdown_stops_runner (line 349) | def test_shutdown_stops_runner(self, store): method test_run_batch_processes_multiple (line 358) | def test_run_batch_processes_multiple(self, store): method test_run_batch_empty_queue (line 378) | def test_run_batch_empty_queue(self, store): method test_run_batch_respects_limit (line 383) | def test_run_batch_respects_limit(self, store): method test_priority_ordering (line 398) | def test_priority_ordering(self, store): method test_run_once_merges_browser_context_into_reference_context (line 413) | def test_run_once_merges_browser_context_into_reference_context(self, ... class TestEnqueueFunction (line 479) | class TestEnqueueFunction: method test_enqueue_returns_id (line 480) | def test_enqueue_returns_id(self, store): method test_enqueue_with_all_options (line 487) | def test_enqueue_with_all_options(self, store): method test_run_once_multi_generation_persists_trajectory (line 528) | def test_run_once_multi_generation_persists_trajectory(self, store): method test_run_once_persists_objective_verification (line 561) | def test_run_once_persists_objective_verification(self, store): method test_run_once_enforces_objective_guardrail_before_threshold (line 593) | def test_run_once_enforces_objective_guardrail_before_threshold(self, ... method test_run_once_enforces_evaluator_guardrail_before_threshold (line 627) | def test_run_once_enforces_evaluator_guardrail_before_threshold(self, ... method test_run_once_persists_dataset_provenance_for_objective_verification (line 656) | def test_run_once_persists_dataset_provenance_for_objective_verificati... method test_run_once_feeds_oracle_misses_into_revision_prompt (line 695) | def test_run_once_feeds_oracle_misses_into_revision_prompt(self, store): method test_run_once_persists_rubric_calibration (line 736) | def test_run_once_persists_rubric_calibration(self, store): class TestSerialization (line 774) | class TestSerialization: method test_serialize_result (line 775) | def test_serialize_result(self): method test_serialize_result_with_duration (line 803) | def test_serialize_result_with_duration(self): method test_serialize_result_without_duration (line 819) | def test_serialize_result_without_duration(self): method test_serialize_evolution_result_includes_optimizer_surface (line 834) | def test_serialize_evolution_result_includes_optimizer_surface(self): class TestMinRoundsWiring (line 882) | class TestMinRoundsWiring: method test_task_config_parses_min_rounds (line 883) | def test_task_config_parses_min_rounds(self): method test_task_config_defaults_min_rounds (line 887) | def test_task_config_defaults_min_rounds(self): method test_enqueue_passes_min_rounds (line 891) | def test_enqueue_passes_min_rounds(self, store): method test_enqueue_default_min_rounds (line 897) | def test_enqueue_default_min_rounds(self, store): method test_process_task_uses_min_rounds (line 903) | def test_process_task_uses_min_rounds(self, store): class TestRunUsesRunBatch (line 931) | class TestRunUsesRunBatch: method test_run_with_concurrency_processes_all (line 932) | def test_run_with_concurrency_processes_all(self, store): class TestDimensionAwareRevision (line 956) | class TestDimensionAwareRevision: method test_revision_includes_dimension_scores (line 957) | def test_revision_includes_dimension_scores(self): method test_revision_first_round_no_annotation (line 999) | def test_revision_first_round_no_annotation(self): class TestTaskRunnerTiming (line 1031) | class TestTaskRunnerTiming: method test_completed_task_includes_duration (line 1032) | def test_completed_task_includes_duration(self, store): class TestTaskRunnerFactory (line 1053) | class TestTaskRunnerFactory: method test_create_task_runner_from_settings_wires_browser_context_service (line 1054) | def test_create_task_runner_from_settings_wires_browser_context_servic... method test_create_task_runner_from_settings_preserves_fail_closed_behavior_when_disabled (line 1108) | def test_create_task_runner_from_settings_preserves_fail_closed_behavi... FILE: autocontext/tests/test_time_budget.py function _make_ctx (line 20) | def _make_ctx( class TestSettings (line 60) | class TestSettings: method test_default_is_zero (line 61) | def test_default_is_zero(self) -> None: method test_env_var_override (line 68) | def test_env_var_override(self) -> None: class TestContextFields (line 80) | class TestContextFields: method test_timing_fields_exist (line 81) | def test_timing_fields_exist(self, tmp_path: Path) -> None: class TestBudgetHelpers (line 93) | class TestBudgetHelpers: method test_over_budget_false_when_unlimited (line 94) | def test_over_budget_false_when_unlimited(self, tmp_path: Path) -> None: method test_over_budget_false_when_within_budget (line 99) | def test_over_budget_false_when_within_budget(self, tmp_path: Path) ->... method test_over_budget_true_when_exceeded (line 104) | def test_over_budget_true_when_exceeded(self, tmp_path: Path) -> None: method test_time_remaining_none_when_unlimited (line 109) | def test_time_remaining_none_when_unlimited(self, tmp_path: Path) -> N... method test_time_remaining_positive_within_budget (line 114) | def test_time_remaining_positive_within_budget(self, tmp_path: Path) -... method test_time_remaining_zero_when_exceeded (line 121) | def test_time_remaining_zero_when_exceeded(self, tmp_path: Path) -> None: class TestPipelineBudget (line 133) | class TestPipelineBudget: method test_pipeline_skips_optional_stages_when_over_budget (line 134) | def test_pipeline_skips_optional_stages_when_over_budget(self, tmp_pat... method test_pipeline_runs_all_stages_when_unlimited (line 210) | def test_pipeline_runs_all_stages_when_unlimited(self, tmp_path: Path)... method test_pipeline_emits_timing_event (line 228) | def test_pipeline_emits_timing_event(self, tmp_path: Path) -> None: method test_pipeline_persists_completed_generation_duration (line 262) | def test_pipeline_persists_completed_generation_duration(self, tmp_pat... class TestSQLiteStore (line 290) | class TestSQLiteStore: method test_upsert_generation_accepts_duration (line 291) | def test_upsert_generation_accepts_duration(self, tmp_path: Path) -> N... method test_upsert_generation_duration_defaults_none (line 312) | def test_upsert_generation_duration_defaults_none(self, tmp_path: Path... class TestMigration (line 338) | class TestMigration: method test_migration_adds_duration_column (line 339) | def test_migration_adds_duration_column(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_timeline_inspector.py function _actor (line 16) | def _actor(actor_type: str = "role", actor_id: str = "competitor") -> Any: function _resource (line 22) | def _resource(resource_id: str = "playbook-v3") -> Any: function _evt (line 31) | def _evt( function _make_rich_trace (line 71) | def _make_rich_trace() -> Any: function _make_multi_gen_traces (line 118) | def _make_multi_gen_traces() -> list[Any]: class TestTimelineFilter (line 151) | class TestTimelineFilter: method test_defaults (line 152) | def test_defaults(self) -> None: method test_custom (line 163) | def test_custom(self) -> None: class TestTimelineEntry (line 182) | class TestTimelineEntry: method test_construction (line 183) | def test_construction(self) -> None: method test_roundtrip (line 199) | def test_roundtrip(self) -> None: class TestTimelineBuilder (line 225) | class TestTimelineBuilder: method test_build_basic (line 226) | def test_build_basic(self) -> None: method test_build_filter_by_category (line 238) | def test_build_filter_by_category(self) -> None: method test_build_filter_by_stage (line 251) | def test_build_filter_by_stage(self) -> None: method test_build_filter_by_role (line 264) | def test_build_filter_by_role(self) -> None: method test_build_filter_by_severity (line 277) | def test_build_filter_by_severity(self) -> None: method test_build_summary_collapses (line 291) | def test_build_summary_collapses(self) -> None: method test_compare_generations (line 306) | def test_compare_generations(self) -> None: method test_build_empty_trace (line 317) | def test_build_empty_trace(self) -> None: method test_highlight_failures (line 330) | def test_highlight_failures(self) -> None: class TestRunInspection (line 350) | class TestRunInspection: method test_construction (line 351) | def test_construction(self) -> None: class TestGenerationInspection (line 374) | class TestGenerationInspection: method test_construction (line 375) | def test_construction(self) -> None: class TestStateInspector (line 396) | class TestStateInspector: method test_inspect_run (line 397) | def test_inspect_run(self) -> None: method test_inspect_generation (line 410) | def test_inspect_generation(self) -> None: method test_find_failure_paths (line 426) | def test_find_failure_paths(self) -> None: method test_find_recovery_paths (line 439) | def test_find_recovery_paths(self) -> None: method test_dependency_chain (line 451) | def test_dependency_chain(self) -> None: method test_dependency_chain_unknown_event (line 464) | def test_dependency_chain_unknown_event(self) -> None: method test_dependency_chain_uses_causal_edges_without_inline_causes (line 472) | def test_dependency_chain_uses_causal_edges_without_inline_causes(self... method test_empty_trace (line 520) | def test_empty_trace(self) -> None: FILE: autocontext/tests/test_tool_context_full.py function _make_store (line 9) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_read_tool_context_returns_full_source (line 18) | def test_read_tool_context_returns_full_source(tmp_path: Path) -> None: function test_read_tool_context_separates_files (line 33) | def test_read_tool_context_separates_files(tmp_path: Path) -> None: function test_read_tool_context_empty_dir (line 47) | def test_read_tool_context_empty_dir(tmp_path: Path) -> None: function test_read_tool_context_ignores_non_python (line 57) | def test_read_tool_context_ignores_non_python(tmp_path: Path) -> None: FILE: autocontext/tests/test_tool_validation.py function _make_store (line 9) | def _make_store(tmp_path: Path) -> ArtifactStore: function test_valid_tool_persisted (line 18) | def test_valid_tool_persisted(tmp_path: Path) -> None: function test_invalid_syntax_skipped (line 26) | def test_invalid_syntax_skipped(tmp_path: Path) -> None: function test_empty_code_skipped (line 34) | def test_empty_code_skipped(tmp_path: Path) -> None: function test_partial_batch_persists_valid_only (line 41) | def test_partial_batch_persists_valid_only(tmp_path: Path) -> None: FILE: autocontext/tests/test_tournament_helpers.py function _make_eval_result (line 16) | def _make_eval_result( function _make_tournament (line 34) | def _make_tournament( class TestResolveGateDecision (line 60) | class TestResolveGateDecision: method test_rapid_advance_on_improvement (line 61) | def test_rapid_advance_on_improvement(self) -> None: method test_rapid_rollback_on_no_improvement (line 80) | def test_rapid_rollback_on_no_improvement(self) -> None: method test_standard_gate_advance (line 98) | def test_standard_gate_advance(self) -> None: method test_standard_gate_retry (line 120) | def test_standard_gate_retry(self) -> None: method test_standard_gate_rollback_max_retries (line 140) | def test_standard_gate_rollback_max_retries(self) -> None: method test_trend_aware_gate (line 161) | def test_trend_aware_gate(self) -> None: method test_standard_gate_rolls_back_on_high_error_rate (line 182) | def test_standard_gate_rolls_back_on_high_error_rate(self) -> None: method test_resolved_truth_without_prior_truth_baseline_does_not_mix_with_proxy_baseline (line 206) | def test_resolved_truth_without_prior_truth_baseline_does_not_mix_with... class TestBuildRetryPrompt (line 234) | class TestBuildRetryPrompt: method test_includes_attempt_and_score (line 235) | def test_includes_attempt_and_score(self) -> None: method test_includes_strategy_json_for_non_code (line 251) | def test_includes_strategy_json_for_non_code(self) -> None: method test_code_strategy_mode (line 266) | def test_code_strategy_mode(self) -> None: method test_code_strategy_suffix_can_be_forced_without_interface_text (line 281) | def test_code_strategy_suffix_can_be_forced_without_interface_text(sel... method test_includes_failure_report (line 297) | def test_includes_failure_report(self) -> None: method test_empty_failure_report_ok (line 312) | def test_empty_failure_report_ok(self) -> None: class TestApplyTournamentOutcome (line 333) | class TestApplyTournamentOutcome: method test_advance_updates_previous_best (line 334) | def test_advance_updates_previous_best(self) -> None: method test_rollback_preserves_previous_best (line 351) | def test_rollback_preserves_previous_best(self) -> None: method test_retry_preserves_previous_best (line 366) | def test_retry_preserves_previous_best(self) -> None: method test_appends_to_histories (line 380) | def test_appends_to_histories(self) -> None: method test_gate_delta_computed (line 397) | def test_gate_delta_computed(self) -> None: class TestBuildValidityRollback (line 417) | class TestBuildValidityRollback: method test_returns_rollback_state (line 418) | def test_returns_rollback_state(self) -> None: method test_score_zero (line 437) | def test_score_zero(self) -> None: FILE: autocontext/tests/test_trace_reporter.py function _actor (line 17) | def _actor(actor_id: str = "competitor") -> Any: function _resource (line 23) | def _resource(resource_id: str = "playbook-v3") -> Any: function _evt (line 32) | def _evt( function _make_trace_with_failures (line 71) | def _make_trace_with_failures() -> Any: function _make_clean_trace (line 128) | def _make_clean_trace() -> Any: class TestTraceFinding (line 160) | class TestTraceFinding: method test_construction (line 161) | def test_construction(self) -> None: method test_roundtrip (line 176) | def test_roundtrip(self) -> None: class TestFailureMotif (line 200) | class TestFailureMotif: method test_construction (line 201) | def test_construction(self) -> None: method test_roundtrip (line 214) | def test_roundtrip(self) -> None: class TestRecoveryPath (line 235) | class TestRecoveryPath: method test_construction (line 236) | def test_construction(self) -> None: method test_roundtrip (line 249) | def test_roundtrip(self) -> None: class TestTraceWriteup (line 270) | class TestTraceWriteup: method test_construction (line 271) | def test_construction(self) -> None: method test_roundtrip (line 287) | def test_roundtrip(self) -> None: class TestWeaknessReport (line 329) | class TestWeaknessReport: method test_construction (line 330) | def test_construction(self) -> None: method test_roundtrip (line 345) | def test_roundtrip(self) -> None: class TestTraceReporterExtractFindings (line 379) | class TestTraceReporterExtractFindings: method test_finds_failures_as_weaknesses (line 380) | def test_finds_failures_as_weaknesses(self) -> None: method test_finds_recoveries_as_strengths (line 391) | def test_finds_recoveries_as_strengths(self) -> None: method test_evidence_references_trace_events (line 402) | def test_evidence_references_trace_events(self) -> None: method test_empty_trace (line 414) | def test_empty_trace(self) -> None: method test_clean_trace_no_weaknesses (line 426) | def test_clean_trace_no_weaknesses(self) -> None: class TestTraceReporterExtractMotifs (line 442) | class TestTraceReporterExtractMotifs: method test_groups_recurring_failures (line 443) | def test_groups_recurring_failures(self) -> None: method test_single_occurrence_also_reported (line 455) | def test_single_occurrence_also_reported(self) -> None: method test_no_failures_no_motifs (line 467) | def test_no_failures_no_motifs(self) -> None: class TestTraceReporterExtractRecoveryPaths (line 480) | class TestTraceReporterExtractRecoveryPaths: method test_finds_recovery_chain (line 481) | def test_finds_recovery_chain(self) -> None: method test_no_recoveries_no_paths (line 494) | def test_no_recoveries_no_paths(self) -> None: method test_uses_causal_edges_when_inline_causes_are_missing (line 501) | def test_uses_causal_edges_when_inline_causes_are_missing(self) -> None: class TestTraceReporterGenerateWriteup (line 523) | class TestTraceReporterGenerateWriteup: method test_basic_writeup (line 524) | def test_basic_writeup(self) -> None: method test_writeup_cites_evidence (line 536) | def test_writeup_cites_evidence(self) -> None: method test_clean_writeup (line 547) | def test_clean_writeup(self) -> None: class TestTraceReporterGenerateWeaknessReport (line 564) | class TestTraceReporterGenerateWeaknessReport: method test_basic_report (line 565) | def test_basic_report(self) -> None: method test_report_includes_recovery_analysis (line 576) | def test_report_includes_recovery_analysis(self) -> None: method test_weakness_findings_only (line 585) | def test_weakness_findings_only(self) -> None: method test_clean_trace_no_weaknesses (line 596) | def test_clean_trace_no_weaknesses(self) -> None: class TestReportStore (line 611) | class TestReportStore: method test_persist_and_load_writeup (line 612) | def test_persist_and_load_writeup(self, tmp_path: Path) -> None: method test_load_missing_writeup (line 631) | def test_load_missing_writeup(self, tmp_path: Path) -> None: method test_persist_and_load_weakness_report (line 637) | def test_persist_and_load_weakness_report(self, tmp_path: Path) -> None: method test_load_missing_weakness_report (line 656) | def test_load_missing_weakness_report(self, tmp_path: Path) -> None: method test_list_writeups (line 662) | def test_list_writeups(self, tmp_path: Path) -> None: method test_list_weakness_reports (line 675) | def test_list_weakness_reports(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_train_cuda.py function _summary_metrics (line 15) | def _summary_metrics() -> dict[str, float]: function test_parser_accepts_cuda_backend (line 27) | def test_parser_accepts_cuda_backend() -> None: function test_run_training_routes_cuda_backend (line 44) | def test_run_training_routes_cuda_backend(tmp_path: Path) -> None: function test_run_training_rejects_unknown_backend (line 59) | def test_run_training_rejects_unknown_backend(tmp_path: Path) -> None: function test_require_torch_cuda_accepts_cuda_runtime (line 71) | def test_require_torch_cuda_accepts_cuda_runtime(monkeypatch: pytest.Mon... function test_require_torch_cuda_rejects_unavailable_cuda (line 78) | def test_require_torch_cuda_rejects_unavailable_cuda(monkeypatch: pytest... FILE: autocontext/tests/test_train_mlx.py function test_model_instantiation (line 15) | def test_model_instantiation() -> None: function test_forward_pass_shape (line 29) | def test_forward_pass_shape() -> None: function test_training_step_reduces_loss (line 44) | def test_training_step_reduces_loss() -> None: function test_summary_block_format (line 79) | def test_summary_block_format() -> None: function test_checkpoint_save_load (line 102) | def test_checkpoint_save_load(tmp_path: str) -> None: FILE: autocontext/tests/test_train_summary.py function test_format_summary_no_mlx (line 5) | def test_format_summary_no_mlx() -> None: FILE: autocontext/tests/test_training_backend.py class TestTrainingBackend (line 19) | class TestTrainingBackend: method test_mlx_backend_name (line 20) | def test_mlx_backend_name(self) -> None: method test_cuda_backend_name (line 26) | def test_cuda_backend_name(self) -> None: method test_mlx_supported (line 32) | def test_mlx_supported(self) -> None: method test_cuda_not_available_without_gpu (line 40) | def test_cuda_not_available_without_gpu(self) -> None: method test_cuda_requires_actual_cuda_runtime (line 47) | def test_cuda_requires_actual_cuda_runtime(self, monkeypatch) -> None: method test_cuda_available_when_torch_reports_cuda (line 57) | def test_cuda_available_when_torch_reports_cuda(self, monkeypatch) -> ... method test_mlx_default_checkpoint_dir (line 67) | def test_mlx_default_checkpoint_dir(self) -> None: method test_cuda_default_checkpoint_dir (line 75) | def test_cuda_default_checkpoint_dir(self) -> None: method test_cuda_publishes_checkpoint_artifacts_only (line 83) | def test_cuda_publishes_checkpoint_artifacts_only(self) -> None: method test_backend_metadata (line 88) | def test_backend_metadata(self) -> None: class TestBackendRegistry (line 102) | class TestBackendRegistry: method test_register_and_get (line 103) | def test_register_and_get(self) -> None: method test_get_unknown_returns_none (line 113) | def test_get_unknown_returns_none(self) -> None: method test_list_backends (line 119) | def test_list_backends(self) -> None: method test_default_registry_has_builtins (line 134) | def test_default_registry_has_builtins(self) -> None: class TestEndToEndActivationFlow (line 147) | class TestEndToEndActivationFlow: method test_publish_activate_resolve (line 148) | def test_publish_activate_resolve(self, tmp_path: Path) -> None: method test_fallback_when_no_model (line 192) | def test_fallback_when_no_model(self, tmp_path: Path) -> None: method test_multi_scenario_isolation (line 213) | def test_multi_scenario_isolation(self, tmp_path: Path) -> None: FILE: autocontext/tests/test_training_export.py function _make_stores (line 12) | def _make_stores(tmp_path: Path) -> tuple[SQLiteStore, ArtifactStore]: function _seed_run (line 25) | def _seed_run( function test_empty_run_returns_empty_iterator (line 62) | def test_empty_run_returns_empty_iterator(tmp_path: Path) -> None: function test_single_generation_exports_one_record (line 69) | def test_single_generation_exports_one_record(tmp_path: Path) -> None: function test_multi_generation_mixed_gate_decisions (line 85) | def test_multi_generation_mixed_gate_decisions(tmp_path: Path) -> None: function test_kept_only_excludes_non_advance (line 99) | def test_kept_only_excludes_non_advance(tmp_path: Path) -> None: function test_strategy_json_preserved_exactly (line 114) | def test_strategy_json_preserved_exactly(tmp_path: Path) -> None: function test_latest_competitor_output_wins_for_generation (line 125) | def test_latest_competitor_output_wins_for_generation(tmp_path: Path) ->... function test_context_fields_populated (line 137) | def test_context_fields_populated(tmp_path: Path) -> None: function test_include_matches_yields_match_records (line 154) | def test_include_matches_yields_match_records(tmp_path: Path) -> None: function test_scenario_filter_exports_all_runs_for_scenario (line 178) | def test_scenario_filter_exports_all_runs_for_scenario(tmp_path: Path) -... FILE: autocontext/tests/test_training_init.py function test_training_has_mlx_flag_exists (line 10) | def test_training_has_mlx_flag_exists() -> None: function test_mts_train_runs_successfully (line 17) | def test_mts_train_runs_successfully() -> None: FILE: autocontext/tests/test_training_pi_provider.py function test_training_agent_client_passes_scenario_name (line 12) | def test_training_agent_client_passes_scenario_name( FILE: autocontext/tests/test_training_runner.py class TestTrainingConfig (line 27) | class TestTrainingConfig: method test_defaults (line 28) | def test_defaults(self) -> None: method test_custom_values (line 39) | def test_custom_values(self) -> None: class TestExperimentResult (line 62) | class TestExperimentResult: method test_kept_result (line 63) | def test_kept_result(self) -> None: method test_discarded_result (line 75) | def test_discarded_result(self) -> None: method test_error_result (line 86) | def test_error_result(self) -> None: class TestWorkspaceSetup (line 105) | class TestWorkspaceSetup: method test_copies_template_files (line 106) | def test_copies_template_files(self, tmp_path: Path) -> None: method test_creates_git_branch (line 117) | def test_creates_git_branch(self, tmp_path: Path) -> None: method test_renders_program_md_with_scenario (line 136) | def test_renders_program_md_with_scenario(self, tmp_path: Path) -> None: method test_initializes_results_tsv (line 147) | def test_initializes_results_tsv(self, tmp_path: Path) -> None: class TestGitStateMachine (line 166) | class TestGitStateMachine: method git_workspace (line 168) | def git_workspace(self, tmp_path: Path) -> tuple[TrainingRunner, Path]: method test_keep_preserves_commit (line 177) | def test_keep_preserves_commit(self, git_workspace: tuple[TrainingRunn... method test_discard_resets_head (line 190) | def test_discard_resets_head(self, git_workspace: tuple[TrainingRunner... method test_record_result_appends_to_tsv (line 202) | def test_record_result_appends_to_tsv(self, git_workspace: tuple[Train... class TestConstraints (line 226) | class TestConstraints: method test_max_experiments_respected (line 227) | def test_max_experiments_respected(self, tmp_path: Path) -> None: method test_max_experiments_zero_means_unlimited (line 238) | def test_max_experiments_zero_means_unlimited(self, tmp_path: Path) ->... method test_time_budget_subprocess_timeout (line 248) | def test_time_budget_subprocess_timeout(self, tmp_path: Path) -> None: method test_experiment_subprocess_receives_selected_backend (line 259) | def test_experiment_subprocess_receives_selected_backend(self, tmp_pat... method test_convergence_nudge_after_consecutive_discards (line 276) | def test_convergence_nudge_after_consecutive_discards(self, tmp_path: ... class TestSummaryParsing (line 294) | class TestSummaryParsing: method test_parse_valid_summary (line 295) | def test_parse_valid_summary(self, tmp_path: Path) -> None: method test_parse_missing_summary_returns_none (line 318) | def test_parse_missing_summary_returns_none(self, tmp_path: Path) -> N... class TestTrainingResult (line 330) | class TestTrainingResult: method test_best_checkpoint_from_results (line 331) | def test_best_checkpoint_from_results(self) -> None: method test_empty_results (line 351) | def test_empty_results(self) -> None: class TestTrainingLoop (line 371) | class TestTrainingLoop: method test_run_raises_on_failed_baseline (line 372) | def test_run_raises_on_failed_baseline(self, tmp_path: Path) -> None: method test_run_keeps_best_and_discards_regressions (line 391) | def test_run_keeps_best_and_discards_regressions(self, tmp_path: Path)... method test_build_training_result_publishes_best_checkpoint (line 443) | def test_build_training_result_publishes_best_checkpoint(self, tmp_pat... method test_build_training_result_respects_selected_backend (line 486) | def test_build_training_result_respects_selected_backend(self, tmp_pat... method test_propose_train_py_uses_competitor_model_when_agent_model_empty (line 528) | def test_propose_train_py_uses_competitor_model_when_agent_model_empty... class TestTrainCLI (line 580) | class TestTrainCLI: method test_parses_all_arguments (line 581) | def test_parses_all_arguments(self) -> None: method test_missing_data_uses_default (line 622) | def test_missing_data_uses_default(self) -> None: method test_keyboard_interrupt_handled (line 640) | def test_keyboard_interrupt_handled(self) -> None: FILE: autocontext/tests/test_trajectory_harness.py function _make_trajectory (line 16) | def _make_trajectory( class TestPlaybookInspector (line 38) | class TestPlaybookInspector: method test_snapshots_at_key_points (line 39) | def test_snapshots_at_key_points(self) -> None: method test_midpoint_calculation (line 57) | def test_midpoint_calculation(self) -> None: method test_growth_summary (line 66) | def test_growth_summary(self) -> None: class TestTrajectoryComparison (line 86) | class TestTrajectoryComparison: method test_construction (line 87) | def test_construction(self) -> None: method test_roundtrip (line 104) | def test_roundtrip(self) -> None: method test_summary (line 123) | def test_summary(self) -> None: class TestValidateImprovement (line 148) | class TestValidateImprovement: method test_consistent_positive_improvements (line 149) | def test_consistent_positive_improvements(self) -> None: method test_inconsistent_improvements (line 157) | def test_inconsistent_improvements(self) -> None: method test_all_below_threshold (line 164) | def test_all_below_threshold(self) -> None: method test_empty_improvements (line 171) | def test_empty_improvements(self) -> None: method test_single_seed (line 177) | def test_single_seed(self) -> None: class TestTrajectoryReport (line 190) | class TestTrajectoryReport: method test_construction (line 191) | def test_construction(self) -> None: method test_mean_scores_per_generation (line 207) | def test_mean_scores_per_generation(self) -> None: method test_comparison (line 225) | def test_comparison(self) -> None: class TestMultiSeedTrajectoryRunner (line 247) | class TestMultiSeedTrajectoryRunner: method test_runs_multiple_seeds (line 248) | def test_runs_multiple_seeds(self) -> None: method test_trajectory_report_has_correct_structure (line 275) | def test_trajectory_report_has_correct_structure(self) -> None: method test_playbook_inspector_available (line 302) | def test_playbook_inspector_available(self) -> None: method test_enriched_prompt_drives_improvement_without_generation_cheat (line 325) | def test_enriched_prompt_drives_improvement_without_generation_cheat(s... FILE: autocontext/tests/test_translator_simplification.py class TestExtractStrategyDeterministic (line 15) | class TestExtractStrategyDeterministic: method test_clean_json (line 16) | def test_clean_json(self) -> None: method test_json_in_markdown_fences (line 25) | def test_json_in_markdown_fences(self) -> None: method test_json_in_plain_fences (line 39) | def test_json_in_plain_fences(self) -> None: method test_json_with_surrounding_prose (line 49) | def test_json_with_surrounding_prose(self) -> None: method test_returns_none_for_unparseable (line 59) | def test_returns_none_for_unparseable(self) -> None: method test_returns_none_for_array (line 66) | def test_returns_none_for_array(self) -> None: method test_returns_none_for_empty (line 73) | def test_returns_none_for_empty(self) -> None: method test_nested_json_extracts_outermost (line 79) | def test_nested_json_extracts_outermost(self) -> None: method test_multiple_json_objects_extracts_first (line 87) | def test_multiple_json_objects_extracts_first(self) -> None: method test_validates_values_are_numeric_or_string (line 97) | def test_validates_values_are_numeric_or_string(self) -> None: class TestConsolidatedRoleOutput (line 111) | class TestConsolidatedRoleOutput: method test_construction (line 112) | def test_construction(self) -> None: method test_roundtrip (line 129) | def test_roundtrip(self) -> None: class TestParseConsolidatedOutput (line 153) | class TestParseConsolidatedOutput: method test_parses_well_formed_output (line 154) | def test_parses_well_formed_output(self) -> None: method test_handles_missing_sections (line 188) | def test_handles_missing_sections(self) -> None: method test_handles_empty_input (line 202) | def test_handles_empty_input(self) -> None: class TestRoleBenchmarkResult (line 215) | class TestRoleBenchmarkResult: method test_construction (line 216) | def test_construction(self) -> None: method test_roundtrip (line 233) | def test_roundtrip(self) -> None: class TestCompareRoleOutputs (line 258) | class TestCompareRoleOutputs: method test_comparison_computes_deltas (line 259) | def test_comparison_computes_deltas(self) -> None: method test_consolidated_viable_when_quality_close (line 285) | def test_consolidated_viable_when_quality_close(self) -> None: method test_two_role_preferred_when_quality_drops (line 308) | def test_two_role_preferred_when_quality_drops(self) -> None: method test_two_role_preferred_when_root_causes_drop_below_threshold (line 331) | def test_two_role_preferred_when_root_causes_drop_below_threshold(self... FILE: autocontext/tests/test_trend_gate_integration.py function _make_settings (line 21) | def _make_settings(tmp_path: Path, **overrides: Any) -> AppSettings: function _make_runner (line 37) | def _make_runner(settings: AppSettings) -> GenerationRunner: function test_trend_mode_uses_trend_aware_gate (line 44) | def test_trend_mode_uses_trend_aware_gate(tmp_path: Path) -> None: function test_simple_mode_uses_backpressure_gate (line 51) | def test_simple_mode_uses_backpressure_gate(tmp_path: Path) -> None: function test_trend_gate_receives_score_history (line 58) | def test_trend_gate_receives_score_history(tmp_path: Path) -> None: function test_trend_gate_receives_custom_metrics (line 93) | def test_trend_gate_receives_custom_metrics(tmp_path: Path) -> None: function test_simple_mode_full_run_unchanged (line 116) | def test_simple_mode_full_run_unchanged(tmp_path: Path) -> None: function test_trend_mode_gate_history_includes_decisions (line 132) | def test_trend_mode_gate_history_includes_decisions(tmp_path: Path) -> N... FILE: autocontext/tests/test_two_tier_tournament.py function _make_settings (line 38) | def _make_settings(**overrides: Any) -> AppSettings: class _FakeScenario (line 46) | class _FakeScenario(ScenarioInterface): method describe_rules (line 51) | def describe_rules(self) -> str: method describe_strategy_interface (line 54) | def describe_strategy_interface(self) -> str: method describe_evaluation_criteria (line 57) | def describe_evaluation_criteria(self) -> str: method initial_state (line 60) | def initial_state(self, seed: int | None = None) -> dict[str, Any]: method get_observation (line 63) | def get_observation(self, state: Mapping[str, Any], player_id: str) ->... method validate_actions (line 66) | def validate_actions( method step (line 71) | def step(self, state: Mapping[str, Any], actions: Mapping[str, Any]) -... method is_terminal (line 77) | def is_terminal(self, state: Mapping[str, Any]) -> bool: method get_result (line 80) | def get_result(self, state: Mapping[str, Any]) -> Result: method replay_to_narrative (line 84) | def replay_to_narrative(self, replay: list[dict[str, Any]]) -> str: method render_frame (line 87) | def render_frame(self, state: Mapping[str, Any]) -> dict[str, Any]: function _make_inline_supervisor (line 91) | def _make_inline_supervisor() -> ExecutionSupervisor: function _make_tournament_ctx (line 112) | def _make_tournament_ctx( function _run_tournament (line 137) | def _run_tournament( class TestTwoTierConfig (line 168) | class TestTwoTierConfig: method test_two_tier_gating_enabled_default_false (line 169) | def test_two_tier_gating_enabled_default_false(self) -> None: method test_validity_max_retries_default (line 173) | def test_validity_max_retries_default(self) -> None: method test_two_tier_gating_enabled_can_be_set (line 177) | def test_two_tier_gating_enabled_can_be_set(self) -> None: method test_validity_max_retries_can_be_set (line 181) | def test_validity_max_retries_can_be_set(self) -> None: method test_validity_max_retries_validation (line 185) | def test_validity_max_retries_validation(self) -> None: class TestTwoTierDisabled (line 196) | class TestTwoTierDisabled: method test_disabled_flow_works_normally (line 197) | def test_disabled_flow_works_normally(self) -> None: method test_disabled_does_not_call_validity_gate (line 205) | def test_disabled_does_not_call_validity_gate(self) -> None: class TestTwoTierEnabled (line 234) | class TestTwoTierEnabled: method test_validity_check_runs_when_enabled (line 235) | def test_validity_check_runs_when_enabled(self) -> None: method test_validity_pass_emits_event (line 280) | def test_validity_pass_emits_event(self) -> None: method test_validity_failure_emits_event (line 311) | def test_validity_failure_emits_event(self) -> None: method test_invalid_strategy_rolls_back_without_running_tournament (line 347) | def test_invalid_strategy_rolls_back_without_running_tournament(self) ... method test_validity_budget_exhaustion_uses_validity_rollback_helper (line 384) | def test_validity_budget_exhaustion_uses_validity_rollback_helper(self... method test_validity_retry_revises_before_tournament (line 434) | def test_validity_retry_revises_before_tournament(self) -> None: class TestTwoTierRetryBudget (line 480) | class TestTwoTierRetryBudget: method test_validity_retries_do_not_consume_quality_budget (line 481) | def test_validity_retries_do_not_consume_quality_budget(self) -> None: method test_validity_exhaustion_causes_rollback (line 527) | def test_validity_exhaustion_causes_rollback(self) -> None: class TestTwoTierValidFlow (line 571) | class TestTwoTierValidFlow: method test_valid_strategy_gets_tournament_score (line 572) | def test_valid_strategy_gets_tournament_score(self) -> None: method test_valid_strategy_tournament_and_gate_events_emitted (line 607) | def test_valid_strategy_tournament_and_gate_events_emitted(self) -> None: FILE: autocontext/tests/test_typed_contracts.py function test_competitor_output_defaults (line 19) | def test_competitor_output_defaults() -> None: function test_analyst_output_defaults (line 27) | def test_analyst_output_defaults() -> None: function test_coach_output_defaults (line 36) | def test_coach_output_defaults() -> None: function test_architect_output_defaults (line 45) | def test_architect_output_defaults() -> None: function test_extract_bullets_single_heading (line 56) | def test_extract_bullets_single_heading() -> None: function test_extract_bullets_no_matching_heading (line 62) | def test_extract_bullets_no_matching_heading() -> None: function test_extract_bullets_stops_at_next_heading (line 68) | def test_extract_bullets_stops_at_next_heading() -> None: function test_extract_bullets_no_bullets_under_heading (line 74) | def test_extract_bullets_no_bullets_under_heading() -> None: function test_extract_bullets_stops_at_sub_heading (line 80) | def test_extract_bullets_stops_at_sub_heading() -> None: function test_parse_competitor_basic (line 89) | def test_parse_competitor_basic() -> None: function test_parse_competitor_code_strategy (line 96) | def test_parse_competitor_code_strategy() -> None: function test_parse_analyst_well_formed (line 105) | def test_parse_analyst_well_formed() -> None: function test_parse_analyst_missing_sections (line 119) | def test_parse_analyst_missing_sections() -> None: function test_parse_analyst_failure (line 128) | def test_parse_analyst_failure() -> None: function test_parse_coach_well_formed (line 149) | def test_parse_coach_well_formed() -> None: function test_parse_coach_missing_markers (line 162) | def test_parse_coach_missing_markers() -> None: function test_parse_coach_failure (line 171) | def test_parse_coach_failure() -> None: function test_parse_architect_with_tools (line 192) | def test_parse_architect_with_tools() -> None: function test_parse_architect_no_json_block (line 203) | def test_parse_architect_no_json_block() -> None: function test_agent_outputs_with_typed_fields (line 213) | def test_agent_outputs_with_typed_fields() -> None: FILE: autocontext/tests/test_typed_dict_rows.py function store (line 17) | def store(tmp_path: Path) -> SQLiteStore: class TestRunRowTypedDict (line 25) | class TestRunRowTypedDict: method test_list_runs_returns_typed_rows (line 28) | def test_list_runs_returns_typed_rows(self, store: SQLiteStore) -> None: method test_get_run_returns_typed_row (line 39) | def test_get_run_returns_typed_row(self, store: SQLiteStore) -> None: class TestGenerationRowTypedDict (line 49) | class TestGenerationRowTypedDict: method test_get_generation_metrics_returns_typed_rows (line 52) | def test_get_generation_metrics_returns_typed_rows(self, store: SQLite... class TestRowTypesModuleExists (line 67) | class TestRowTypesModuleExists: method test_row_types_importable (line 70) | def test_row_types_importable(self) -> None: FILE: autocontext/tests/test_validity_gate.py class TestValidityGateResult (line 14) | class TestValidityGateResult: method test_passed_result (line 15) | def test_passed_result(self) -> None: method test_failed_result_with_errors (line 29) | def test_failed_result_with_errors(self) -> None: method test_frozen_dataclass (line 43) | def test_frozen_dataclass(self) -> None: class TestValidityGateScenarioOnly (line 54) | class TestValidityGateScenarioOnly: method _make_scenario (line 55) | def _make_scenario(self, *, valid: bool = True, reason: str = "") -> M... method test_valid_strategy_passes (line 61) | def test_valid_strategy_passes(self) -> None: method test_invalid_strategy_fails (line 69) | def test_invalid_strategy_fails(self) -> None: method test_custom_max_retries (line 78) | def test_custom_max_retries(self) -> None: method test_state_passed_to_scenario (line 84) | def test_state_passed_to_scenario(self) -> None: method test_default_state_from_scenario (line 91) | def test_default_state_from_scenario(self) -> None: class TestValidityGateWithHarness (line 102) | class TestValidityGateWithHarness: method _make_scenario (line 103) | def _make_scenario(self, *, valid: bool = True, reason: str = "") -> M... method _make_harness (line 109) | def _make_harness(self, *, passed: bool = True, errors: list[str] | No... method test_both_pass (line 116) | def test_both_pass(self) -> None: method test_harness_fails_scenario_passes (line 124) | def test_harness_fails_scenario_passes(self) -> None: method test_scenario_fails_harness_passes (line 133) | def test_scenario_fails_harness_passes(self) -> None: method test_both_fail_combines_errors (line 142) | def test_both_fail_combines_errors(self) -> None: class TestValidityGateRetryBudget (line 156) | class TestValidityGateRetryBudget: method _make_gate (line 157) | def _make_gate(self, *, max_retries: int = 5) -> ValidityGate: method test_initial_budget (line 163) | def test_initial_budget(self) -> None: method test_consume_retry_decrements (line 168) | def test_consume_retry_decrements(self) -> None: method test_consume_retry_exhausted (line 174) | def test_consume_retry_exhausted(self) -> None: method test_reset_restores_budget (line 180) | def test_reset_restores_budget(self) -> None: method test_budget_tracks_correctly_through_multiple_checks (line 188) | def test_budget_tracks_correctly_through_multiple_checks(self) -> None: method test_budget_independent_of_check_calls (line 196) | def test_budget_independent_of_check_calls(self) -> None: class TestValidityGateEdgeCases (line 209) | class TestValidityGateEdgeCases: method test_empty_strategy (line 210) | def test_empty_strategy(self) -> None: method test_scenario_validate_actions_raises (line 218) | def test_scenario_validate_actions_raises(self) -> None: method test_harness_validate_strategy_raises (line 228) | def test_harness_validate_strategy_raises(self) -> None: method test_zero_max_retries (line 240) | def test_zero_max_retries(self) -> None: FILE: autocontext/tests/test_verbatim_solve_default_rubric.py class TestDefaultVerbatimRubric (line 23) | class TestDefaultVerbatimRubric: method test_rubric_is_nonempty (line 24) | def test_rubric_is_nonempty(self) -> None: method test_rubric_describes_scoring_criteria (line 27) | def test_rubric_describes_scoring_criteria(self) -> None: method test_rubric_does_not_force_bare_decimal_output (line 33) | def test_rubric_does_not_force_bare_decimal_output(self) -> None: method test_rubric_does_not_mention_markers_either (line 41) | def test_rubric_does_not_mention_markers_either(self) -> None: class TestVerbatimSolveRequestUsesDefault (line 49) | class TestVerbatimSolveRequestUsesDefault: method test_empty_judge_rubric_is_replaced_with_default (line 50) | def test_empty_judge_rubric_is_replaced_with_default(self) -> None: method test_explicit_judge_rubric_is_preserved (line 54) | def test_explicit_judge_rubric_is_preserved(self) -> None: FILE: autocontext/tests/test_verification_dataset.py function _make_items (line 19) | def _make_items() -> list[Any]: function _make_provenance (line 38) | def _make_provenance() -> Any: class TestDatasetProvenance (line 56) | class TestDatasetProvenance: method test_construction (line 57) | def test_construction(self) -> None: method test_roundtrip (line 62) | def test_roundtrip(self) -> None: class TestVerificationDataset (line 77) | class TestVerificationDataset: method test_construction (line 78) | def test_construction(self) -> None: method test_roundtrip (line 91) | def test_roundtrip(self) -> None: method test_build_oracle (line 106) | def test_build_oracle(self) -> None: class TestDatasetRegistry (line 125) | class TestDatasetRegistry: method test_register_and_load (line 126) | def test_register_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 145) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_datasets (line 151) | def test_list_datasets(self, tmp_path: Path) -> None: method test_version_update (line 167) | def test_version_update(self, tmp_path: Path) -> None: method test_rejects_overwrite_of_existing_version (line 205) | def test_rejects_overwrite_of_existing_version(self, tmp_path: Path) -... class TestVerificationRunRecord (line 240) | class TestVerificationRunRecord: method test_construction (line 241) | def test_construction(self) -> None: method test_roundtrip (line 255) | def test_roundtrip(self) -> None: class TestOracleRevisionFeedback (line 274) | class TestOracleRevisionFeedback: method test_construction (line 275) | def test_construction(self) -> None: method test_is_empty_when_no_issues (line 287) | def test_is_empty_when_no_issues(self) -> None: method test_roundtrip (line 296) | def test_roundtrip(self) -> None: class TestLiveResolutionHelpers (line 311) | class TestLiveResolutionHelpers: method test_resolve_dataset_reference_builds_live_config (line 312) | def test_resolve_dataset_reference_builds_live_config(self, tmp_path: ... method test_not_empty_when_has_misses (line 340) | def test_not_empty_when_has_misses(self) -> None: class TestOracleToRevisionFeedback (line 351) | class TestOracleToRevisionFeedback: method test_converts_misses_to_feedback (line 352) | def test_converts_misses_to_feedback(self) -> None: method test_perfect_result_empty_feedback (line 373) | def test_perfect_result_empty_feedback(self) -> None: method test_weight_mismatch_feedback (line 391) | def test_weight_mismatch_feedback(self) -> None: FILE: autocontext/tests/test_weakness_reports.py class TestWeakness (line 22) | class TestWeakness: method test_construction (line 23) | def test_construction(self) -> None: method test_construction_with_frequency (line 39) | def test_construction_with_frequency(self) -> None: method test_to_dict_from_dict_roundtrip (line 52) | def test_to_dict_from_dict_roundtrip(self) -> None: class TestWeaknessReport (line 78) | class TestWeaknessReport: method test_construction_empty (line 79) | def test_construction_empty(self) -> None: method test_construction_with_weaknesses (line 91) | def test_construction_with_weaknesses(self) -> None: method test_to_markdown (line 119) | def test_to_markdown(self) -> None: method test_to_markdown_empty (line 145) | def test_to_markdown_empty(self) -> None: method test_to_dict_from_dict_roundtrip (line 157) | def test_to_dict_from_dict_roundtrip(self) -> None: method test_high_severity_count (line 182) | def test_high_severity_count(self) -> None: class TestWeaknessAnalyzerScoreRegression (line 203) | class TestWeaknessAnalyzerScoreRegression: method test_detects_score_regression (line 204) | def test_detects_score_regression(self) -> None: method test_no_regression_when_all_advance (line 221) | def test_no_regression_when_all_advance(self) -> None: class TestWeaknessAnalyzerValidation (line 240) | class TestWeaknessAnalyzerValidation: method test_detects_validation_failures (line 241) | def test_detects_validation_failures(self) -> None: method test_no_validation_weakness_when_all_pass (line 262) | def test_no_validation_weakness_when_all_pass(self) -> None: class TestWeaknessAnalyzerMatchVariance (line 285) | class TestWeaknessAnalyzerMatchVariance: method test_detects_high_match_variance (line 286) | def test_detects_high_match_variance(self) -> None: method test_no_variance_weakness_when_consistent (line 304) | def test_no_variance_weakness_when_consistent(self) -> None: class TestWeaknessAnalyzerStagnation (line 328) | class TestWeaknessAnalyzerStagnation: method test_detects_stagnation_risk (line 329) | def test_detects_stagnation_risk(self) -> None: method test_no_stagnation_when_advancing (line 342) | def test_no_stagnation_when_advancing(self) -> None: class TestWeaknessAnalyzerDeadEnds (line 361) | class TestWeaknessAnalyzerDeadEnds: method test_detects_dead_end_pattern (line 362) | def test_detects_dead_end_pattern(self) -> None: method test_no_dead_ends_when_no_rollbacks (line 379) | def test_no_dead_ends_when_no_rollbacks(self) -> None: class TestWeaknessAnalyzerEdgeCases (line 397) | class TestWeaknessAnalyzerEdgeCases: method test_empty_trajectory (line 398) | def test_empty_trajectory(self) -> None: method test_single_generation (line 406) | def test_single_generation(self) -> None: method test_analyze_returns_correct_metadata (line 417) | def test_analyze_returns_correct_metadata(self) -> None: class TestArtifactStoreWeaknessIntegration (line 436) | class TestArtifactStoreWeaknessIntegration: method artifact_store (line 438) | def artifact_store(self, tmp_path: Path): method test_persist_weakness_report (line 448) | def test_persist_weakness_report(self, artifact_store) -> None: method test_read_weakness_report (line 467) | def test_read_weakness_report(self, artifact_store) -> None: method test_read_missing_report_returns_none (line 490) | def test_read_missing_report_returns_none(self, artifact_store) -> None: method test_read_latest_weakness_reports (line 494) | def test_read_latest_weakness_reports(self, artifact_store) -> None: method test_read_latest_weakness_reports_markdown (line 509) | def test_read_latest_weakness_reports_markdown(self, artifact_store) -... method test_reads_trace_grounded_weakness_report_schema (line 532) | def test_reads_trace_grounded_weakness_report_schema(self, artifact_st... FILE: autocontext/tests/test_websocket_protocol_contract.py function _contract (line 14) | def _contract() -> dict[str, Any]: function _message_types (line 19) | def _message_types(schema: dict[str, Any]) -> set[str]: function _runtime_only_types (line 28) | def _runtime_only_types(contract: dict[str, Any], key: str) -> set[str]: function test_python_websocket_protocol_matches_shared_contract (line 32) | def test_python_websocket_protocol_matches_shared_contract() -> None: function test_python_protocol_excludes_typescript_only_messages (line 41) | def test_python_protocol_excludes_typescript_only_messages() -> None: function test_python_protocol_forbids_unknown_top_level_client_fields (line 53) | def test_python_protocol_forbids_unknown_top_level_client_fields() -> None: function test_python_event_stream_envelope_matches_shared_contract (line 60) | def test_python_event_stream_envelope_matches_shared_contract(tmp_path: ... FILE: autocontext/tests/test_world_state.py function _entity (line 17) | def _entity(entity_id: str = "agent-1", **overrides: Any) -> Any: function _resource (line 31) | def _resource(resource_id: str = "gold-1", **overrides: Any) -> Any: function _dependency (line 46) | def _dependency(src: str = "task-1", tgt: str = "task-2") -> Any: function _hidden_var (line 56) | def _hidden_var(variable_id: str = "trap-1") -> Any: function _make_world_state (line 68) | def _make_world_state() -> Any: class TestWorldEntity (line 87) | class TestWorldEntity: method test_construction (line 88) | def test_construction(self) -> None: method test_roundtrip (line 94) | def test_roundtrip(self) -> None: class TestWorldResource (line 109) | class TestWorldResource: method test_construction (line 110) | def test_construction(self) -> None: method test_roundtrip (line 116) | def test_roundtrip(self) -> None: class TestDependencyEdge (line 131) | class TestDependencyEdge: method test_construction (line 132) | def test_construction(self) -> None: method test_roundtrip (line 137) | def test_roundtrip(self) -> None: class TestHiddenVariable (line 154) | class TestHiddenVariable: method test_construction (line 155) | def test_construction(self) -> None: method test_roundtrip (line 161) | def test_roundtrip(self) -> None: class TestStateDelta (line 176) | class TestStateDelta: method test_construction (line 177) | def test_construction(self) -> None: method test_roundtrip (line 190) | def test_roundtrip(self) -> None: class TestStateTransition (line 211) | class TestStateTransition: method test_construction (line 212) | def test_construction(self) -> None: method test_roundtrip (line 230) | def test_roundtrip(self) -> None: class TestWorldState (line 256) | class TestWorldState: method test_construction (line 257) | def test_construction(self) -> None: method test_roundtrip (line 265) | def test_roundtrip(self) -> None: method test_empty_state (line 276) | def test_empty_state(self) -> None: class TestWorldStateManager (line 293) | class TestWorldStateManager: method test_init_and_snapshot (line 294) | def test_init_and_snapshot(self) -> None: method test_get_entity (line 303) | def test_get_entity(self) -> None: method test_get_resource (line 312) | def test_get_resource(self) -> None: method test_apply_entity_update (line 321) | def test_apply_entity_update(self) -> None: method test_apply_resource_change (line 345) | def test_apply_resource_change(self) -> None: method test_apply_entity_create (line 368) | def test_apply_entity_create(self) -> None: method test_apply_entity_remove (line 396) | def test_apply_entity_remove(self) -> None: method test_apply_variable_reveal (line 419) | def test_apply_variable_reveal(self) -> None: method test_apply_dependency_add (line 443) | def test_apply_dependency_add(self) -> None: method test_apply_dependency_remove (line 470) | def test_apply_dependency_remove(self) -> None: method test_diff_detects_entity_property_change (line 495) | def test_diff_detects_entity_property_change(self) -> None: method test_diff_detects_resource_change (line 517) | def test_diff_detects_resource_change(self) -> None: method test_diff_detects_dependency_and_hidden_variable_changes (line 536) | def test_diff_detects_dependency_and_hidden_variable_changes(self) -> ... method test_diff_detects_resource_lifecycle_and_metadata_changes (line 569) | def test_diff_detects_resource_lifecycle_and_metadata_changes(self) ->... method test_to_event_payload (line 613) | def test_to_event_payload(self) -> None: class TestWorldStateStore (line 644) | class TestWorldStateStore: method test_persist_and_load (line 645) | def test_persist_and_load(self, tmp_path: Path) -> None: method test_load_missing (line 658) | def test_load_missing(self, tmp_path: Path) -> None: method test_list_states (line 664) | def test_list_states(self, tmp_path: Path) -> None: FILE: examples/agent-runtime/.autoctx/agents/support.ts type SupportPayload (line 3) | type SupportPayload = { function supportAgent (line 10) | async function supportAgent( FILE: pi/src/index.ts constant TOOL_OUTPUT_LIMITS (line 35) | const TOOL_OUTPUT_LIMITS = { function ok (line 40) | function ok(text: string, details: Record = {}) { function okTruncated (line 44) | function okTruncated(text: string, details: Record = {}) { function throwIfAborted (line 52) | function throwIfAborted(signal?: AbortSignal): void { type AutoctxModule (line 60) | type AutoctxModule = any; function loadAutoctx (line 62) | async function loadAutoctx(): Promise { function resolveProvider (line 66) | function resolveProvider(ac: AutoctxModule) { function renderScore (line 89) | function renderScore(score: number): string { function autocontextExtension (line 100) | function autocontextExtension(pi: ExtensionAPI): void { FILE: pi/src/runtime-snapshot.ts type AutoctxModule (line 5) | type AutoctxModule = any; type SettingsLike (line 7) | type SettingsLike = { type StoreLike (line 21) | type StoreLike = { type SessionStoreLike (line 34) | type SessionStoreLike = { constant EVENT_STREAM_TAIL_BYTES (line 40) | const EVENT_STREAM_TAIL_BYTES = 64 * 1024; constant COMPACTION_LEDGER_TAIL_BYTES (line 41) | const COMPACTION_LEDGER_TAIL_BYTES = 64 * 1024; type RuntimeSnapshotRequest (line 43) | type RuntimeSnapshotRequest = { function isRecord (line 52) | function isRecord(value: unknown): value is Record { function recordArray (line 56) | function recordArray(value: unknown): Record[] { function readString (line 60) | function readString(value: Record, key: string, fallbac... function readNumber (line 65) | function readNumber(value: Record, key: string): number... function clampLimit (line 70) | function clampLimit(value: unknown): number { function resolveSettings (line 75) | function resolveSettings(ac: AutoctxModule): SettingsLike { function resolveDbPath (line 83) | function resolveDbPath(settings: SettingsLike): string { function resolveRunsRoot (line 87) | function resolveRunsRoot(settings: SettingsLike): string { function resolveContainedPath (line 91) | function resolveContainedPath(root: string, ...segments: string[]): stri... function resolveStore (line 101) | function resolveStore(ac: AutoctxModule): StoreLike | null { function runIdOf (line 110) | function runIdOf(run: Record): string { function selectedGenerationIndex (line 114) | function selectedGenerationIndex( function compactOutput (line 123) | function compactOutput(output: Record): Record, runId: string):... function readTailText (line 166) | function readTailText(path: string, maxBytes: number): string { function readRecentEvents (line 186) | function readRecentEvents(settings: SettingsLike, request: RuntimeSnapsh... function readCompactionLedger (line 211) | function readCompactionLedger(settings: SettingsLike, request: RuntimeSn... function buildSessionSummary (line 235) | function buildSessionSummary(sessionValue: unknown): Record): R... function collectRuntimeSnapshot (line 286) | function collectRuntimeSnapshot( function bestScoreFromSnapshot (line 370) | function bestScoreFromSnapshot(snapshot: Record): numbe... function renderRuntimeSnapshot (line 378) | function renderRuntimeSnapshot(snapshot: Record): string { FILE: pi/tests/extension.test.ts type RegisteredTool (line 20) | interface RegisteredTool { type RegisteredCommand (line 28) | interface RegisteredCommand { function createMockPiAPI (line 33) | function createMockPiAPI() { type MockState (line 59) | type MockState = { function resetMockState (line 110) | function resetMockState(): void { function installAutoctxMock (line 192) | function installAutoctxMock(): void { function loadExtension (line 319) | async function loadExtension() { method constructor (line 522) | constructor() { FILE: scripts/escalation-sweep/fetch_manifest.py function _load_key (line 24) | def _load_key() -> str: function _gql (line 40) | def _gql(key: str, query: str, variables: dict | None = None) -> dict: function fetch_scenarios (line 54) | def fetch_scenarios(key: str) -> list[dict]: function to_manifest_entry (line 83) | def to_manifest_entry(issue: dict) -> dict: function main (line 95) | def main(argv: list[str]) -> int: FILE: scripts/escalation-sweep/summarize.py function classify_error (line 64) | def classify_error(message: str) -> str: function read_json (line 73) | def read_json(path: Path) -> dict | None: function extract_structured_payload (line 80) | def extract_structured_payload(out_path: Path) -> dict: function main (line 110) | def main(argv: list[str]) -> int: FILE: scripts/generate_protocol.py function _write_json_schema (line 28) | def _write_json_schema(schema: dict[str, Any], path: Path) -> None: function _json_schema_to_zod_type (line 34) | def _json_schema_to_zod_type(prop: dict[str, Any], defs: dict[str, Any])... function _build_object_fields (line 126) | def _build_object_fields( function _generate_zod_schema (line 152) | def _generate_zod_schema( function _generate_discriminated_union (line 174) | def _generate_discriminated_union( function _extract_union_members (line 183) | def _extract_union_members(union_schema: dict[str, Any], defs: dict[str,... function _topo_sort_shared (line 193) | def _topo_sort_shared(names: list[str], defs: dict[str, Any]) -> list[str]: function generate_typescript (line 247) | def generate_typescript(schema: dict[str, Any]) -> str: function check_parity (line 322) | def check_parity(schema: dict[str, Any]) -> bool: function main (line 358) | def main() -> None: FILE: scripts/sync_banner_surfaces.py function load_banner_module (line 14) | def load_banner_module(): function replace_block (line 36) | def replace_block(text: str, start_marker: str, end_marker: str, replace... function write_if_changed (line 46) | def write_if_changed(path: Path, updated: str) -> None: function main (line 52) | def main() -> int: FILE: ts/examples/run-repl-session.mjs constant THIS_DIR (line 8) | const THIS_DIR = dirname(fileURLToPath(import.meta.url)); constant TS_ROOT (line 9) | const TS_ROOT = join(THIS_DIR, ".."); constant HELP (line 11) | const HELP = ` function parseArgs (line 41) | function parseArgs(argv) { function main (line 127) | async function main() { FILE: ts/migrations/007_task_queue.sql type task_queue (line 2) | CREATE TABLE IF NOT EXISTS task_queue ( type idx_task_queue_status (line 21) | CREATE INDEX IF NOT EXISTS idx_task_queue_status ON task_queue(status) type idx_task_queue_priority (line 22) | CREATE INDEX IF NOT EXISTS idx_task_queue_priority ON task_queue(priorit... type idx_task_queue_spec (line 23) | CREATE INDEX IF NOT EXISTS idx_task_queue_spec ON task_queue(spec_name) FILE: ts/migrations/008_human_feedback.sql type human_feedback (line 1) | CREATE TABLE IF NOT EXISTS human_feedback ( type idx_feedback_scenario (line 10) | CREATE INDEX IF NOT EXISTS idx_feedback_scenario ON human_feedback(scena... FILE: ts/migrations/009_generation_loop.sql type runs (line 4) | CREATE TABLE IF NOT EXISTS runs ( type generations (line 15) | CREATE TABLE IF NOT EXISTS generations ( type matches (line 35) | CREATE TABLE IF NOT EXISTS matches ( type agent_outputs (line 50) | CREATE TABLE IF NOT EXISTS agent_outputs ( type generation_recovery (line 60) | CREATE TABLE IF NOT EXISTS generation_recovery ( type agent_role_metrics (line 71) | CREATE TABLE IF NOT EXISTS agent_role_metrics ( type knowledge_snapshots (line 86) | CREATE TABLE IF NOT EXISTS knowledge_snapshots ( type idx_knowledge_snapshots_scenario (line 100) | CREATE INDEX IF NOT EXISTS idx_knowledge_snapshots_scenario FILE: ts/migrations/010_session_notebook.sql type session_notebooks (line 3) | CREATE TABLE IF NOT EXISTS session_notebooks ( type idx_session_notebooks_scenario (line 18) | CREATE INDEX IF NOT EXISTS idx_session_notebooks_scenario FILE: ts/migrations/011_monitors.sql type monitor_conditions (line 3) | CREATE TABLE IF NOT EXISTS monitor_conditions ( type monitor_alerts (line 13) | CREATE TABLE IF NOT EXISTS monitor_alerts ( type idx_monitor_conditions_active (line 25) | CREATE INDEX IF NOT EXISTS idx_monitor_conditions_active ON monitor_cond... type idx_monitor_alerts_condition (line 26) | CREATE INDEX IF NOT EXISTS idx_monitor_alerts_condition ON monitor_alert... type idx_monitor_alerts_fired_at (line 27) | CREATE INDEX IF NOT EXISTS idx_monitor_alerts_fired_at ON monitor_alerts... FILE: ts/migrations/012_consultation_log.sql type consultation_log (line 3) | CREATE TABLE IF NOT EXISTS consultation_log ( type idx_consultation_log_run (line 20) | CREATE INDEX IF NOT EXISTS idx_consultation_log_run ON consultation_log(... FILE: ts/migrations/012_research_hub.sql type hub_sessions (line 1) | CREATE TABLE IF NOT EXISTS hub_sessions ( type idx_hub_sessions_status (line 15) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_status ON hub_sessions(status) type idx_hub_sessions_shared (line 16) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_shared ON hub_sessions(shared) type idx_hub_sessions_heartbeat (line 17) | CREATE INDEX IF NOT EXISTS idx_hub_sessions_heartbeat ON hub_sessions(la... type hub_packages (line 19) | CREATE TABLE IF NOT EXISTS hub_packages ( type idx_hub_packages_scenario (line 38) | CREATE INDEX IF NOT EXISTS idx_hub_packages_scenario ON hub_packages(sce... type idx_hub_packages_family (line 39) | CREATE INDEX IF NOT EXISTS idx_hub_packages_family ON hub_packages(scena... type idx_hub_packages_source_run (line 40) | CREATE INDEX IF NOT EXISTS idx_hub_packages_source_run ON hub_packages(s... type idx_hub_packages_created_at (line 41) | CREATE INDEX IF NOT EXISTS idx_hub_packages_created_at ON hub_packages(c... type hub_results (line 43) | CREATE TABLE IF NOT EXISTS hub_results ( type idx_hub_results_scenario (line 58) | CREATE INDEX IF NOT EXISTS idx_hub_results_scenario ON hub_results(scena... type idx_hub_results_run (line 59) | CREATE INDEX IF NOT EXISTS idx_hub_results_run ON hub_results(run_id) type idx_hub_results_package (line 60) | CREATE INDEX IF NOT EXISTS idx_hub_results_package ON hub_results(packag... type idx_hub_results_created_at (line 61) | CREATE INDEX IF NOT EXISTS idx_hub_results_created_at ON hub_results(cre... type hub_promotions (line 63) | CREATE TABLE IF NOT EXISTS hub_promotions ( type idx_hub_promotions_package (line 74) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_package ON hub_promotions(... type idx_hub_promotions_source_run (line 75) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_source_run ON hub_promotio... type idx_hub_promotions_created_at (line 76) | CREATE INDEX IF NOT EXISTS idx_hub_promotions_created_at ON hub_promotio... FILE: ts/migrations/013_runs_status_default_parity.sql type runs_without_status_default (line 7) | CREATE TABLE runs_without_status_default ( FILE: ts/scripts/check-instrument-schemas.mjs constant TS_ROOT (line 31) | const TS_ROOT = resolve(__dirname, ".."); constant SCHEMAS_DIR (line 32) | const SCHEMAS_DIR = join(TS_ROOT, "src/control-plane/instrument/contract... constant EXPECTED_SCHEMAS (line 34) | const EXPECTED_SCHEMAS = [ FILE: ts/scripts/check-integrations-anthropic-bundle-size.mjs constant ROOT (line 26) | const ROOT = resolve(__dirname, ".."); constant BUDGET_BYTES (line 28) | const BUDGET_BYTES = 40_960; constant ENTRY (line 30) | const ENTRY = join(ROOT, "src", "integrations", "anthropic", "index.ts"); constant NODE_BUILTINS (line 39) | const NODE_BUILTINS = [ FILE: ts/scripts/check-integrations-openai-bundle-size.mjs constant ROOT (line 26) | const ROOT = resolve(__dirname, ".."); constant BUDGET_BYTES (line 28) | const BUDGET_BYTES = 40_960; constant ENTRY (line 30) | const ENTRY = join(ROOT, "src", "integrations", "openai", "index.ts"); constant NODE_BUILTINS (line 39) | const NODE_BUILTINS = [ FILE: ts/scripts/check-integrations-shared-bundle-size.mjs constant ROOT (line 19) | const ROOT = resolve(__dirname, ".."); constant BUDGET_BYTES (line 21) | const BUDGET_BYTES = 15_360; constant ENTRY (line 23) | const ENTRY = join(ROOT, "src", "integrations", "_shared", "index.ts"); constant NODE_BUILTINS (line 32) | const NODE_BUILTINS = [ FILE: ts/scripts/check-license-compatibility.mjs constant ROOT (line 22) | const ROOT = resolve(__dirname, ".."); constant PKG_LOCK (line 23) | const PKG_LOCK = join(ROOT, "package-lock.json"); constant NODE_MODULES (line 24) | const NODE_MODULES = join(ROOT, "node_modules"); constant ALLOWLIST (line 26) | const ALLOWLIST = new Set([ constant SDK_RUNTIME_ROOTS (line 42) | const SDK_RUNTIME_ROOTS = ["ajv", "ajv-formats", "ulid", "openai"]; function resolveLicense (line 59) | function resolveLicense(name, lockEntry) { function reachable (line 77) | function reachable(roots) { FILE: ts/scripts/check-no-postinstall-scripts.mjs constant ROOT (line 26) | const ROOT = resolve(__dirname, ".."); constant PKG_LOCK (line 27) | const PKG_LOCK = join(ROOT, "package-lock.json"); constant NODE_MODULES (line 28) | const NODE_MODULES = join(ROOT, "node_modules"); constant SELF_PKG (line 29) | const SELF_PKG = join(ROOT, "package.json"); constant STRICT_HOOKS (line 31) | const STRICT_HOOKS = ["preinstall", "install", "postinstall"]; constant SELF_ONLY_HOOKS (line 32) | const SELF_ONLY_HOOKS = ["prepublish", "prepare"]; constant SDK_RUNTIME_ROOTS (line 35) | const SDK_RUNTIME_ROOTS = ["ajv", "ajv-formats", "ulid", "openai"]; function loadPkg (line 37) | function loadPkg(path) { function reachable (line 71) | function reachable(roots) { FILE: ts/scripts/check-no-telemetry.mjs constant ROOT (line 23) | const ROOT = resolve(__dirname, ".."); constant NODE_MODULES (line 24) | const NODE_MODULES = join(ROOT, "node_modules"); constant PKG_LOCK (line 25) | const PKG_LOCK = join(ROOT, "package-lock.json"); constant SUBPATH_SRC_DIRS (line 28) | const SUBPATH_SRC_DIRS = [ constant SDK_RUNTIME_ROOTS (line 36) | const SDK_RUNTIME_ROOTS = ["ajv", "ajv-formats", "ulid", "openai"]; constant TELEMETRY_IMPORT_RES (line 38) | const TELEMETRY_IMPORT_RES = [ constant FETCH_EXTERNAL_RE (line 55) | const FETCH_EXTERNAL_RE = /fetch\s*\(\s*["'](https?:\/\/(?!(?:localhost|... constant HTTP_REQUEST_EXTERNAL_RE (line 56) | const HTTP_REQUEST_EXTERNAL_RE = /(?:http|https)\.request\s*\(\s*["'](ht... function listSourceFiles (line 58) | function listSourceFiles(dir, exts) { function reachable (line 82) | function reachable(roots) { FILE: ts/scripts/check-production-traces-sdk-bundle-size.mjs constant ROOT (line 28) | const ROOT = resolve(__dirname, ".."); constant BUDGET_BYTES (line 30) | const BUDGET_BYTES = 102_400; constant ENTRY (line 32) | const ENTRY = join(ROOT, "src", "production-traces", "sdk", "index.ts"); constant NODE_BUILTINS (line 47) | const NODE_BUILTINS = [ FILE: ts/scripts/check-sdk-import-discipline.mjs constant ROOT (line 37) | const ROOT = resolve(__dirname, ".."); function isAllowedImportFor (line 39) | function isAllowedImportFor(spec, allowedRelPrefixes, allowedBare) { function listTsFiles (line 48) | function listTsFiles(dir) { constant IMPORT_RE (line 60) | const IMPORT_RE = /^\s*(?:import|export)\s+(?:[^'"]*\s+from\s+)?["']([^"... constant SUBPATH_CHECKS (line 63) | const SUBPATH_CHECKS = [ FILE: ts/scripts/check-side-effects.mjs constant ROOT (line 25) | const ROOT = resolve(__dirname, ".."); constant SRC (line 26) | const SRC = join(ROOT, "src"); constant PKG (line 27) | const PKG = JSON.parse(readFileSync(join(ROOT, "package.json"), "utf-8")); constant GLOBS (line 38) | const GLOBS = PKG.sideEffects; function globToRegex (line 40) | function globToRegex(glob) { constant GLOB_RES (line 47) | const GLOB_RES = GLOBS.map(globToRegex); function matchesAnyGlob (line 49) | function matchesAnyGlob(relPath) { function listTsFiles (line 54) | function listTsFiles(dir) { function collectImportedNames (line 65) | function collectImportedNames(source) { constant BARE_CALL_RE (line 101) | const BARE_CALL_RE = /^[ \t]*(?:await\s+)?([A-Za-z_$][A-Za-z0-9_$]*)\s*\(/; constant SAFE_BARE_CALLS (line 103) | const SAFE_BARE_CALLS = new Set([ constant IGNORE_KEYWORDS (line 114) | const IGNORE_KEYWORDS = new Set([ function stripStringLiterals (line 138) | function stripStringLiterals(line) { function sanitize (line 172) | function sanitize(line) { function hasImportedRegistrarCall (line 190) | function hasImportedRegistrarCall(source) { FILE: ts/scripts/drive-anthropic-parity-fixture.mjs constant ROOT (line 12) | const ROOT = resolve(__dirname, ".."); constant FIXTURES_DIR (line 13) | const FIXTURES_DIR = join(ROOT, "tests", "integrations", "anthropic", "p... function normalizeTrace (line 155) | function normalizeTrace(trace, fixtureName) { function canonicalJson (line 173) | function canonicalJson(obj) { FILE: ts/scripts/drive-parity-fixture.mjs constant ROOT (line 21) | const ROOT = resolve(__dirname, ".."); constant FIXTURES_DIR (line 22) | const FIXTURES_DIR = join(ROOT, "tests", "integrations", "openai", "pari... function normalizeTrace (line 191) | function normalizeTrace(trace, fixtureName) { function canonicalJson (line 220) | function canonicalJson(obj) { FILE: ts/scripts/generate-browser-contract-types.mjs constant TS_ROOT (line 8) | const TS_ROOT = resolve(__dirname, ".."); constant SCHEMAS_DIR (line 9) | const SCHEMAS_DIR = join(TS_ROOT, "src/integrations/browser/contract/jso... constant OUTPUT_FILE (line 10) | const OUTPUT_FILE = join(TS_ROOT, "src/integrations/browser/contract/gen... constant BANNER (line 12) | const BANNER = [ method read (line 37) | async read(file) { function dedupeDeclarations (line 87) | function dedupeDeclarations(src) { FILE: ts/scripts/generate-production-traces-types.mjs constant TS_ROOT (line 19) | const TS_ROOT = resolve(__dirname, ".."); constant SCHEMAS_DIR (line 20) | const SCHEMAS_DIR = join(TS_ROOT, "src/production-traces/contract/json-s... constant OUTPUT_FILE (line 21) | const OUTPUT_FILE = join(TS_ROOT, "src/production-traces/contract/genera... constant BANNER (line 23) | const BANNER = [ method read (line 50) | async read(file) { function dedupeDeclarations (line 116) | function dedupeDeclarations(src) { FILE: ts/scripts/regenerate-cross-runtime-fixtures.mjs constant ROOT (line 24) | const ROOT = resolve(__dirname, ".."); constant FIXTURES (line 25) | const FIXTURES = join(ROOT, "tests", "_fixtures", "cross-runtime-emit"); constant HELPER (line 26) | const HELPER = join(ROOT, "tests", "_helpers", "build_trace_canonical.py"); constant PY_PKG (line 27) | const PY_PKG = resolve(ROOT, "..", "autocontext"); function resolvePython (line 29) | function resolvePython() { FILE: ts/scripts/sync-python-browser-contract-schemas.mjs constant TS_ROOT (line 19) | const TS_ROOT = resolve(__dirname, ".."); constant PY_ROOT (line 20) | const PY_ROOT = resolve(TS_ROOT, "..", "autocontext"); constant SRC_DIR (line 22) | const SRC_DIR = join(TS_ROOT, "src/integrations/browser/contract/json-sc... constant DST_SCHEMAS_DIR (line 23) | const DST_SCHEMAS_DIR = join(PY_ROOT, "src/autocontext/integrations/brow... constant MODELS_PY_PATH (line 24) | const MODELS_PY_PATH = join(PY_ROOT, "src/autocontext/integrations/brows... constant URL_PREFIX (line 26) | const URL_PREFIX = "https://autocontext.dev/schema/browser/"; constant AGGREGATE_FOR_PYDANTIC (line 27) | const AGGREGATE_FOR_PYDANTIC = "browser-contract.schema.json"; FILE: ts/scripts/sync-python-production-traces-schemas.mjs constant TS_ROOT (line 45) | const TS_ROOT = resolve(__dirname, ".."); constant PY_ROOT (line 46) | const PY_ROOT = resolve(TS_ROOT, "..", "autocontext"); constant SRC_DIR (line 48) | const SRC_DIR = join(TS_ROOT, "src/production-traces/contract/json-schem... constant DST_SCHEMAS_DIR (line 49) | const DST_SCHEMAS_DIR = join(PY_ROOT, "src/autocontext/production_traces... constant MODELS_PY_PATH (line 50) | const MODELS_PY_PATH = join(PY_ROOT, "src/autocontext/production_traces/... constant URL_PREFIX (line 52) | const URL_PREFIX = "https://autocontext.dev/schema/production-traces/"; constant AGGREGATE_FOR_PYDANTIC (line 53) | const AGGREGATE_FOR_PYDANTIC = "production-trace.schema.json"; constant OUR_BANNER (line 159) | const OUR_BANNER = `# AUTO-GENERATED from ts/src/production-traces/contr... FILE: ts/src/agent-runtime/index.ts constant AUTOCTX_AGENT_DIR (line 20) | const AUTOCTX_AGENT_DIR = ".autoctx/agents"; constant AUTOCTX_AGENT_RUNTIME_EXPERIMENTAL (line 21) | const AUTOCTX_AGENT_RUNTIME_EXPERIMENTAL = true; type AutoctxAgentExtension (line 23) | type AutoctxAgentExtension = ".ts" | ".tsx" | ".mts" | ".js" | ".mjs"; constant AUTOCTX_AGENT_EXTENSIONS (line 24) | const AUTOCTX_AGENT_EXTENSIONS: readonly AutoctxAgentExtension[] = [ type AutoctxAgentDescriptor (line 32) | interface AutoctxAgentDescriptor { type AutoctxAgentEntry (line 38) | interface AutoctxAgentEntry extends AutoctxAgentDescriptor { type AutoctxAgentTriggers (line 44) | type AutoctxAgentTriggers = Record; type AutoctxAgentEnv (line 45) | type AutoctxAgentEnv = Record; type MaybePromise (line 46) | type MaybePromise = T | Promise; type AutoctxAgentContext (line 48) | interface AutoctxAgentContext< type AutoctxAgentHandler (line 59) | type AutoctxAgentHandler< type AutoctxLoadedAgent (line 64) | interface AutoctxLoadedAgent< type AutoctxAgentInitOptions (line 72) | interface AutoctxAgentInitOptions { type AutoctxAgentSessionOptions (line 83) | interface AutoctxAgentSessionOptions { type AutoctxAgentPromptOptions (line 94) | interface AutoctxAgentPromptOptions { type AutoctxAgentSession (line 104) | interface AutoctxAgentSession { type AutoctxAgentRuntime (line 109) | interface AutoctxAgentRuntime { type AutoctxAgentDiscoveryOptions (line 114) | interface AutoctxAgentDiscoveryOptions { type AutoctxAgentInvocationOptions (line 118) | interface AutoctxAgentInvocationOptions< function discoverAutoctxAgents (line 134) | async function discoverAutoctxAgents( function loadAutoctxAgent (line 164) | async function loadAutoctxAgent< function invokeAutoctxAgent (line 189) | async function invokeAutoctxAgent< function createAutoctxAgentContext (line 205) | function createAutoctxAgentContext< type RuntimeBackedAutoctxAgentOptions (line 237) | interface RuntimeBackedAutoctxAgentOptions { class RuntimeBackedAutoctxAgent (line 250) | class RuntimeBackedAutoctxAgent implements AutoctxAgentRuntime { method constructor (line 263) | constructor(options: RuntimeBackedAutoctxAgentOptions) { method session (line 276) | async session( method close (line 309) | close(): void { class RuntimeBackedAutoctxAgentSession (line 314) | class RuntimeBackedAutoctxAgentSession implements AutoctxAgentSession { method constructor (line 321) | constructor(options: { method prompt (line 335) | async prompt( function normalizeLoadedAgent (line 364) | function normalizeLoadedAgent< function autoctxAgentSessionId (line 381) | function autoctxAgentSessionId(agentName: string, sessionKey: string): s... function safeSessionSegment (line 385) | function safeSessionSegment(value: string): string { function autoctxAgentExtension (line 390) | function autoctxAgentExtension(filePath: string): AutoctxAgentExtension ... function importAgentModule (line 394) | async function importAgentModule( function isTypeScriptAgentExtension (line 406) | function isTypeScriptAgentExtension( function readRecord (line 412) | function readRecord(value: unknown): Record | undefined { function unwrapAgentModule (line 417) | function unwrapAgentModule(imported: Record): Record( function toPosixPath (line 438) | function toPosixPath(value: string): string { function agentPromptMetadata (line 442) | function agentPromptMetadata( FILE: ts/src/agentos/adapter.ts type TurnResult (line 16) | interface TurnResult { type SessionBinding (line 21) | interface SessionBinding { class AgentOsSessionAdapter (line 27) | class AgentOsSessionAdapter { method constructor (line 32) | constructor(runtime: AgentOsRuntimePort, config: AgentOsConfig) { method startSession (line 37) | async startSession(goal: string): Promise { method submitTurn (line 59) | async submitTurn(sessionId: string, prompt: string): Promise { method activeSessions (line 93) | get activeSessions(): Session[] { method getSession (line 99) | getSession(sessionId: string): Session | undefined { method #getBinding (line 103) | #getBinding(sessionId: string): SessionBinding { FILE: ts/src/agentos/lifecycle.ts constant SANDBOX_KEYWORDS (line 12) | const SANDBOX_KEYWORDS = [ type SandboxKeyword (line 17) | type SandboxKeyword = (typeof SANDBOX_KEYWORDS)[number]; class AgentOsLifecycle (line 19) | class AgentOsLifecycle { method constructor (line 25) | constructor(runtime: AgentOsRuntimePort) { method mountedPaths (line 29) | get mountedPaths(): string[] { return [...this.#mountedPaths]; } method isShutdown (line 30) | get isShutdown(): boolean { return this.#isShutdown; } method mountWorkspace (line 32) | async mountWorkspace(hostPath: string): Promise { method startSession (line 38) | async startSession(sessionId: string, agentType: string): Promise { method shutdown (line 52) | async shutdown(): Promise { method needsSandbox (line 67) | needsSandbox(taskDescription: string): boolean { FILE: ts/src/agentos/types.ts type AgentOsRuntimePort (line 15) | interface AgentOsRuntimePort { constant AGENT_OS_FILESYSTEM_MODES (line 25) | const AGENT_OS_FILESYSTEM_MODES = ["none", "readonly", "readwrite"] as c... type AgentOsFilesystemMode (line 26) | type AgentOsFilesystemMode = (typeof AGENT_OS_FILESYSTEM_MODES)[number]; constant AGENT_OS_PERMISSIONS_DEFAULTS (line 28) | const AGENT_OS_PERMISSIONS_DEFAULTS = { type AgentOsPermissionsOpts (line 35) | type AgentOsPermissionsOpts = Partial & { class AgentOsConfig (line 66) | class AgentOsConfig { method constructor (line 73) | constructor(opts: AgentOsConfigOpts = {}) { FILE: ts/src/agents/curator-parser.ts type CuratorPlaybookDecision (line 6) | interface CuratorPlaybookDecision { type CuratorLessonResult (line 13) | interface CuratorLessonResult { constant CURATOR_DECISION_REGEX (line 19) | const CURATOR_DECISION_REGEX = //; constant LESSONS_REMOVED_REGEX (line 21) | const LESSONS_REMOVED_REGEX = //; constant CONSOLIDATED_LESSONS_BLOCK_REGEX (line 22) | const CONSOLIDATED_LESSONS_BLOCK_REGEX = function parseCuratorPlaybookDecision (line 25) | function parseCuratorPlaybookDecision(text: string): CuratorPlaybookDeci... function parseCuratorLessonResult (line 50) | function parseCuratorLessonResult(text: string): CuratorLessonResult { FILE: ts/src/agents/model-router.ts constant TIER_CONFIG_DEFAULTS (line 6) | const TIER_CONFIG_DEFAULTS = { type TierConfigOpts (line 19) | type TierConfigOpts = Partial; class TierConfig (line 21) | class TierConfig { method constructor (line 33) | constructor(opts: TierConfigOpts = {}) { type SelectOpts (line 39) | interface SelectOpts { constant TIER_ORDER (line 45) | const TIER_ORDER = ["haiku", "sonnet", "opus"] as const; class ModelRouter (line 47) | class ModelRouter { method constructor (line 51) | constructor(config: TierConfig) { method select (line 60) | select(role: string, opts: SelectOpts): string | null { method #maxTier (line 91) | #maxTier(a: string, b: string): string { FILE: ts/src/agents/orchestrator.ts type GenerationPrompts (line 18) | interface GenerationPrompts { type GenerationResult (line 25) | interface GenerationResult { type AgentOrchestratorOpts (line 32) | interface AgentOrchestratorOpts { class AgentOrchestrator (line 37) | class AgentOrchestrator { method constructor (line 42) | constructor(provider: LLMProvider, opts: AgentOrchestratorOpts = {}) { method #providerForRole (line 48) | #providerForRole(role: GenerationRole): LLMProvider { method #completeRole (line 52) | #completeRole(role: GenerationRole, userPrompt: string) { method runGeneration (line 60) | async runGeneration(prompts: GenerationPrompts): Promise = { type CompetitorOutput (line 39) | interface CompetitorOutput { type AnalystOutput (line 46) | interface AnalystOutput { type CoachOutput (line 54) | interface CoachOutput { type ArchitectOutput (line 62) | interface ArchitectOutput { function extractDelimitedSection (line 74) | function extractDelimitedSection( function extractSectionBullets (line 91) | function extractSectionBullets(markdown: string, heading: string): strin... function parseCompetitorOutput (line 109) | function parseCompetitorOutput( function parseAnalystOutput (line 122) | function parseAnalystOutput(rawMarkdown: string): AnalystOutput { function parseCoachOutput (line 136) | function parseCoachOutput(rawMarkdown: string): CoachOutput { function parseArchitectOutput (line 165) | function parseArchitectOutput(rawMarkdown: string): ArchitectOutput { function parseArchitectToolSpecs (line 180) | function parseArchitectToolSpecs(markdown: string): Array | null { class AnalysisEngine (line 102) | class AnalysisEngine { method constructor (line 107) | constructor(opts: string | AnalysisEngineOpts) { method analyze (line 123) | analyze(request: AnalysisRequest): AnalysisResult { method compare (line 169) | compare(request: CompareRequest): AnalysisResult { method loadArtifact (line 241) | private loadArtifact(id: string, type: AnalysisTargetType): Record | ... method loadMissionArtifact (line 262) | private loadMissionArtifact(id: string): Record | null { method loadRunArtifact (line 314) | private loadRunArtifact(id: string): Record | null { method loadLatestCheckpoint (line 361) | private loadLatestCheckpoint(checkpointDir: string): Record, type: Analy... method extractRegressions (line 482) | private extractRegressions(artifact: Record, type: An... method buildSummary (line 516) | private buildSummary(artifact: Record, type: Analysis... method buildLimitations (line 554) | private buildLimitations(artifact: Record, type: Anal... method compareFindings (line 586) | private compareFindings( method compareRegressions (line 627) | private compareRegressions(left: Record, right: Recor... method computeAttribution (line 644) | private computeAttribution(left: Record, right: Recor... method buildCompareSummary (line 660) | private buildCompareSummary( method extractScore (line 688) | private extractScore(artifact: Record): number | null { method extractDimensionScores (line 698) | private extractDimensionScores(artifact: Record): Rec... method extractSessionReportSummary (line 707) | private extractSessionReportSummary(report: string): string { FILE: ts/src/analytics/credit-assignment-attribution-workflow.ts type AttributionChangeLike (line 4) | interface AttributionChangeLike { type AttributionVectorLike (line 9) | interface AttributionVectorLike { function buildAttributedCredits (line 15) | function buildAttributedCredits( FILE: ts/src/analytics/credit-assignment-contracts.ts type ComponentChangeDict (line 1) | interface ComponentChangeDict { type GenerationChangeVectorDict (line 8) | interface GenerationChangeVectorDict { type AttributionResultDict (line 15) | interface AttributionResultDict { type CreditAssignmentRecordDict (line 22) | interface CreditAssignmentRecordDict { type CreditPatternComponentSummary (line 30) | interface CreditPatternComponentSummary { type CreditPatternSummary (line 40) | interface CreditPatternSummary { FILE: ts/src/analytics/credit-assignment-contribution-workflow.ts function recordContributionDelta (line 1) | function recordContributionDelta( function recordAttributedCredits (line 11) | function recordAttributedCredits( function summarizeContributionCredits (line 20) | function summarizeContributionCredits( FILE: ts/src/analytics/credit-assignment-magnitude.ts type ComponentChangeMagnitude (line 3) | interface ComponentChangeMagnitude { function textChangeMagnitude (line 9) | function textChangeMagnitude(oldValue: string, newValue: string): number { function listChangeMagnitude (line 31) | function listChangeMagnitude(oldValues: unknown[], newValues: unknown[])... function buildComponentChangeMagnitudes (line 52) | function buildComponentChangeMagnitudes( FILE: ts/src/analytics/credit-assignment-models.ts class ComponentChange (line 19) | class ComponentChange { method constructor (line 25) | constructor( method toDict (line 37) | toDict(): ComponentChangeDict { method fromDict (line 41) | static fromDict(data: Record): ComponentChange { class GenerationChangeVector (line 52) | class GenerationChangeVector { method constructor (line 58) | constructor( method totalChangeMagnitude (line 70) | get totalChangeMagnitude(): number { method toDict (line 74) | toDict(): GenerationChangeVectorDict { method fromDict (line 78) | static fromDict(data: Record): GenerationChangeVector { class AttributionResult (line 89) | class AttributionResult { method constructor (line 95) | constructor( method toDict (line 107) | toDict(): AttributionResultDict { method fromDict (line 111) | static fromDict(data: Record): AttributionResult { class CreditAssignmentRecord (line 122) | class CreditAssignmentRecord { method constructor (line 129) | constructor( method toDict (line 143) | toDict(): CreditAssignmentRecordDict { method fromDict (line 147) | static fromDict(data: Record): CreditAssignmentRecord { FILE: ts/src/analytics/credit-assignment-reporting.ts constant ROLE_COMPONENT_PRIORITY (line 9) | const ROLE_COMPONENT_PRIORITY: Record = { constant ROLE_TITLES (line 16) | const ROLE_TITLES: Record = { constant ROLE_GUIDANCE (line 23) | const ROLE_GUIDANCE: Record = { function formatAttributionForAgent (line 30) | function formatAttributionForAgent(result: AttributionResult, role: stri... function summarizeCreditPatterns (line 76) | function summarizeCreditPatterns( FILE: ts/src/analytics/credit-assignment-serialization-workflow.ts function normalizeComponentChangeData (line 9) | function normalizeComponentChangeData( function buildComponentChangeDict (line 25) | function buildComponentChangeDict(change: { function buildGenerationChangeVectorDict (line 39) | function buildGenerationChangeVectorDict(vector: { function normalizeGenerationChangeVectorData (line 53) | function normalizeGenerationChangeVectorData( function normalizeCreditsMap (line 71) | function normalizeCreditsMap( function buildAttributionResultDict (line 83) | function buildAttributionResultDict(result: { function normalizeAttributionResultData (line 97) | function normalizeAttributionResultData( function buildCreditAssignmentRecordDict (line 113) | function buildCreditAssignmentRecordDict(record: { function normalizeCreditAssignmentRecordData (line 129) | function normalizeCreditAssignmentRecordData( function computeTotalChangeMagnitude (line 147) | function computeTotalChangeMagnitude( function buildZeroCredits (line 153) | function buildZeroCredits( FILE: ts/src/analytics/credit-assignment-vector-workflow.ts function computeGenerationChangeVector (line 4) | function computeGenerationChangeVector( FILE: ts/src/analytics/credit-assignment.ts function computeChangeVector (line 47) | function computeChangeVector( function attributeCredit (line 61) | function attributeCredit(vector: GenerationChangeVector): AttributionRes... function formatAttributionForAgent (line 69) | function formatAttributionForAgent(result: AttributionResult, role: stri... function summarizeCreditPatterns (line 73) | function summarizeCreditPatterns(records: CreditAssignmentRecord[]): Cre... class CreditAssigner (line 77) | class CreditAssigner { method recordContribution (line 80) | recordContribution(component: string, scoreDelta: number): void { method getCredits (line 84) | getCredits(): Record { method computeChangeVector (line 88) | computeChangeVector( method attributeCredit (line 97) | attributeCredit(vector: GenerationChangeVector): AttributionResult { method formatAttributionForAgent (line 103) | formatAttributionForAgent(result: AttributionResult, role: string): st... method summarizeCreditPatterns (line 107) | summarizeCreditPatterns(records: CreditAssignmentRecord[]): CreditPatt... FILE: ts/src/analytics/number-utils.ts function clamp (line 10) | function clamp(value: number, min: number, max: number): number { function roundToDecimals (line 14) | function roundToDecimals(value: number, digits = 6): number { function normalizeDecisionMetric (line 19) | function normalizeDecisionMetric(value: number, digits = 6): number { function normalizeConfidence (line 23) | function normalizeConfidence(value: number, digits = 4): number { function normalizePreviewThreshold (line 30) | function normalizePreviewThreshold(value: number, digits = 3): number { FILE: ts/src/analytics/rubric-drift-statistics.ts constant PERFECT_THRESHOLD (line 5) | const PERFECT_THRESHOLD = 0.95; function mean (line 7) | function mean(values: number[]): number { function median (line 14) | function median(values: number[]): number { function populationStddev (line 26) | function populationStddev(values: number[]): number { function syntheticTimestamp (line 35) | function syntheticTimestamp(index: number): string { function randomId (line 39) | function randomId(prefix: string): string { function computeRubricSnapshot (line 43) | function computeRubricSnapshot( FILE: ts/src/analytics/rubric-drift-types.ts type DelightSignalLike (line 1) | interface DelightSignalLike { type RunFacetLike (line 5) | interface RunFacetLike { type RubricSnapshot (line 15) | interface RubricSnapshot { type DriftThresholds (line 37) | interface DriftThresholds { type DriftWarning (line 46) | interface DriftWarning { type DriftReport (line 62) | interface DriftReport { FILE: ts/src/analytics/rubric-drift-warnings.ts constant DEFAULT_THRESHOLDS (line 9) | const DEFAULT_THRESHOLDS: DriftThresholds = { function makeWarning (line 18) | function makeWarning( function detectRubricDrift (line 50) | function detectRubricDrift( FILE: ts/src/analytics/rubric-drift.ts class RubricDriftMonitor (line 31) | class RubricDriftMonitor { method constructor (line 35) | constructor(thresholds: Partial = {}) { method recordScore (line 39) | recordScore(score: number): void { method computeSnapshot (line 51) | computeSnapshot( method detectDrift (line 64) | detectDrift(current: RubricSnapshot, baseline?: RubricSnapshot) { method analyze (line 68) | analyze( FILE: ts/src/analytics/run-trace.ts type ActorRefDict (line 7) | interface ActorRefDict { type TraceEventDict (line 13) | interface TraceEventDict { type RunTraceDict (line 20) | interface RunTraceDict { class ActorRef (line 27) | class ActorRef { method constructor (line 32) | constructor(actorType: string, actorId: string, actorName: string) { method toDict (line 38) | toDict(): ActorRefDict { method fromDict (line 46) | static fromDict(data: ActorRefDict): ActorRef { type TraceEventInit (line 55) | interface TraceEventInit { class TraceEvent (line 62) | class TraceEvent { method constructor (line 68) | constructor(init: TraceEventInit) { method toDict (line 75) | toDict(): TraceEventDict { method fromDict (line 84) | static fromDict(data: TraceEventDict): TraceEvent { class RunTrace (line 94) | class RunTrace { method constructor (line 100) | constructor(runId: string, scenarioType: string, createdAt?: string) { method addEvent (line 106) | addEvent(event: TraceEvent): void { method toDict (line 110) | toDict(): RunTraceDict { method toJSON (line 119) | toJSON(): string { method fromDict (line 123) | static fromDict(data: RunTraceDict): RunTrace { method fromJSON (line 136) | static fromJSON(json: string): RunTrace { FILE: ts/src/analytics/runtime-session-run-trace.ts type RuntimeSessionRunTraceOpts (line 13) | interface RuntimeSessionRunTraceOpts { type RuntimeEventRecord (line 20) | interface RuntimeEventRecord { function runtimeSessionLogToRunTrace (line 26) | function runtimeSessionLogToRunTrace( function flattenRuntimeEvents (line 48) | function flattenRuntimeEvents( function compareRuntimeEventRecords (line 59) | function compareRuntimeEventRecords(a: RuntimeEventRecord, b: RuntimeEve... function traceEventType (line 66) | function traceEventType(event: RuntimeSessionEvent): string { function actorFor (line 70) | function actorFor(record: RuntimeEventRecord): ActorRef { function detailFor (line 94) | function detailFor(record: RuntimeEventRecord): Record { function inferRunId (line 139) | function inferRunId(log: RuntimeSessionEventLog): string { function inferScenarioType (line 150) | function inferScenarioType(log: RuntimeSessionEventLog): string { function copyString (line 156) | function copyString( function copyNumber (line 168) | function copyNumber( function copyBoolean (line 180) | function copyBoolean( function copyStringArray (line 192) | function copyStringArray( function readString (line 204) | function readString(value: unknown): string { function compareString (line 208) | function compareString(a: string, b: string): number { FILE: ts/src/analytics/timeline-inspector.ts type TimelineEvent (line 7) | interface TimelineEvent { type GenerationSummary (line 14) | interface GenerationSummary { type TimelineSummary (line 21) | interface TimelineSummary { class TimelineInspector (line 26) | class TimelineInspector { method addEvent (line 29) | addEvent(event: TimelineEvent): void { method summarize (line 33) | summarize(): TimelineSummary { FILE: ts/src/analytics/trace-findings.ts constant TRACE_FINDING_CATEGORIES (line 22) | const TRACE_FINDING_CATEGORIES = [ type TraceFindingCategory (line 29) | type TraceFindingCategory = (typeof TRACE_FINDING_CATEGORIES)[number]; type TraceFinding (line 42) | type TraceFinding = z.infer; type FailureMotif (line 52) | type FailureMotif = z.infer; type TraceFindingReport (line 65) | type TraceFindingReport = z.infer; constant REFUSAL_PATTERN (line 70) | const REFUSAL_PATTERN = /^\s*I(?:'|\s+a)?\s*(cannot|can\s*not|can't|won'... constant LOW_SCORE_THRESHOLD (line 71) | const LOW_SCORE_THRESHOLD = 0.5; constant DIMENSION_INCONSISTENCY_SPREAD (line 72) | const DIMENSION_INCONSISTENCY_SPREAD = 0.5; function extractFindings (line 74) | function extractFindings(trace: PublicTrace): TraceFinding[] { function extractFailureMotifs (line 136) | function extractFailureMotifs(findings: readonly TraceFinding[]): Failur... type GenerateTraceFindingReportOptions (line 167) | interface GenerateTraceFindingReportOptions { function generateTraceFindingReport (line 171) | function generateTraceFindingReport( function renderTraceFindingReportMarkdown (line 195) | function renderTraceFindingReportMarkdown(report: TraceFindingReport): s... type WeaknessReport (line 246) | type WeaknessReport = z.infer; constant RECOMMENDATION_BY_CATEGORY (line 251) | const RECOMMENDATION_BY_CATEGORY: Record = { function composeRecoveryAnalysis (line 262) | function composeRecoveryAnalysis(trace: PublicTrace, weaknessCount: numb... function generateWeaknessReport (line 278) | function generateWeaknessReport( function renderWeaknessReportMarkdown (line 316) | function renderWeaknessReportMarkdown(report: WeaknessReport): string { constant HTML_ENTITIES (line 357) | const HTML_ENTITIES: Record = { function htmlEscape (line 365) | function htmlEscape(value: string): string { function evidenceHtml (line 369) | function evidenceHtml(indexes: readonly number[]): string { constant TRACE_FINDINGS_STYLE (line 377) | const TRACE_FINDINGS_STYLE = ` function renderTraceFindingReportHtml (line 393) | function renderTraceFindingReportHtml(report: TraceFindingReport): string { FILE: ts/src/blobstore/cache.ts class HydrationCache (line 17) | class HydrationCache { method constructor (line 21) | constructor(root: string, maxMb: number = 500) { method put (line 31) | put(key: string, data: Buffer, _digest: string): void { method get (line 42) | get(key: string, expectedDigest?: string): Buffer | null { method totalSizeBytes (line 68) | totalSizeBytes(): number { method clear (line 91) | clear(): void { method #evictIfNeeded (line 109) | #evictIfNeeded(): void { FILE: ts/src/blobstore/factory.ts function createBlobStore (line 6) | function createBlobStore(opts: { FILE: ts/src/blobstore/fs-errors.ts function isNotFoundError (line 1) | function isNotFoundError(error: unknown): boolean { function fsError (line 10) | function fsError(action: string, target: string, error: unknown): Error { FILE: ts/src/blobstore/local.ts class LocalBlobStore (line 23) | class LocalBlobStore implements BlobStore { method constructor (line 26) | constructor(root: string) { method put (line 35) | put(key: string, data: Buffer): string { method get (line 46) | get(key: string): Buffer | null { method head (line 56) | head(key: string): BlobStoreMeta | null { method listPrefix (line 71) | listPrefix(prefix: string): string[] { method delete (line 94) | delete(key: string): boolean { method putFile (line 105) | putFile(key: string, path: string): string { method getFile (line 116) | getFile(key: string, dest: string): boolean { function sha256 (line 129) | function sha256(data: Buffer): string { function guessContentType (line 133) | function guessContentType(key: string): string { FILE: ts/src/blobstore/mirror.ts class BlobMirror (line 8) | class BlobMirror { method constructor (line 13) | constructor(store: BlobStore, minSizeBytes: number = 1024, registry?: ... method mirrorArtifact (line 19) | mirrorArtifact( method mirrorFile (line 39) | mirrorFile( FILE: ts/src/blobstore/ref.ts type BlobRef (line 5) | interface BlobRef { function createBlobRef (line 16) | function createBlobRef( function isHydrated (line 31) | function isHydrated(ref: BlobRef): boolean { FILE: ts/src/blobstore/registry.ts class BlobRegistry (line 15) | class BlobRegistry { method register (line 18) | register(runId: string, name: string, ref: BlobRef): void { method lookup (line 23) | lookup(runId: string, name: string): BlobRef | null { method listForRun (line 27) | listForRun(runId: string): BlobRef[] { method save (line 31) | save(path: string): void { method load (line 40) | static load(path: string): BlobRegistry { FILE: ts/src/blobstore/store.ts type BlobStoreMeta (line 5) | interface BlobStoreMeta { type BlobStore (line 11) | interface BlobStore { function normalizeBlobKey (line 21) | function normalizeBlobKey( function resolveBlobPath (line 49) | function resolveBlobPath(root: string, key: string): string { function prefixMatches (line 60) | function prefixMatches(key: string, prefix: string): boolean { FILE: ts/src/blobstore/sync.ts type SyncResult (line 8) | interface SyncResult { class SyncManager (line 16) | class SyncManager { method constructor (line 20) | constructor(store: BlobStore, runsRoot: string) { method syncRun (line 25) | syncRun(runId: string): SyncResult { method status (line 79) | status(): { function digestFile (line 103) | function digestFile(path: string): string { FILE: ts/src/bootstrap/collector.ts constant SUBPROCESS_TIMEOUT (line 17) | const SUBPROCESS_TIMEOUT = 500; constant MAX_NOTABLE_FILES (line 18) | const MAX_NOTABLE_FILES = 50; constant KNOWN_LOCKFILES (line 20) | const KNOWN_LOCKFILES = [ constant RUNTIME_CHECKS (line 36) | const RUNTIME_CHECKS: [string, string, string[]][] = [ function safeExec (line 46) | function safeExec(cmd: string, args: string[]): string { function collectSnapshot (line 58) | function collectSnapshot(): EnvironmentSnapshot { function collectCore (line 79) | function collectCore(): Pick< function collectRuntimes (line 104) | function collectRuntimes(): Pick< function collectPackages (line 121) | function collectPackages(): Pick< function collectFilesystem (line 159) | function collectFilesystem( function collectGit (line 186) | function collectGit(): Pick< function collectSystem (line 212) | function collectSystem(): Pick< FILE: ts/src/bootstrap/redactor.ts type RedactionConfig (line 5) | interface RedactionConfig { constant DEFAULT_REDACTION (line 11) | const DEFAULT_REDACTION: RedactionConfig = { constant REDACTED (line 17) | const REDACTED = "[REDACTED]"; function redactSnapshot (line 19) | function redactSnapshot( function redactPathLike (line 63) | function redactPathLike(value: string): string { FILE: ts/src/bootstrap/renderer.ts function renderPromptSection (line 5) | function renderPromptSection(snapshot: EnvironmentSnapshot): string { function renderFullJson (line 55) | function renderFullJson(snapshot: EnvironmentSnapshot): string { FILE: ts/src/bootstrap/snapshot.ts type PackageInfo (line 3) | interface PackageInfo { type EnvironmentSnapshot (line 8) | interface EnvironmentSnapshot { FILE: ts/src/cli/agent-command-workflow.ts constant AGENT_COMMAND_HELP_TEXT (line 14) | const AGENT_COMMAND_HELP_TEXT = `autoctx agent — Run local programmable ... type AutoctxAgentCommandValues (line 41) | interface AutoctxAgentCommandValues { type AutoctxAgentRunCommandPlan (line 55) | interface AutoctxAgentRunCommandPlan { type AutoctxAgentDevCommandPlan (line 69) | interface AutoctxAgentDevCommandPlan { type AutoctxAgentCommandPlan (line 82) | type AutoctxAgentCommandPlan = type AutoctxAgentCommandResult (line 86) | interface AutoctxAgentCommandResult { type AutoctxAgentRunSuccessEnvelope (line 92) | interface AutoctxAgentRunSuccessEnvelope { type AutoctxAgentErrorEnvelope (line 99) | interface AutoctxAgentErrorEnvelope { type AutoctxAgentRuntimeHandle (line 107) | type AutoctxAgentRuntimeHandle = type AutoctxAgentRuntimeFactoryPlan (line 111) | interface AutoctxAgentRuntimeFactoryPlan type AutoctxAgentRuntimeFactory (line 117) | type AutoctxAgentRuntimeFactory = ( type ExecuteAutoctxAgentRunCommandWorkflowOptions (line 121) | interface ExecuteAutoctxAgentRunCommandWorkflowOptions { type AutoctxAgentDevServerOptions (line 128) | interface AutoctxAgentDevServerOptions { function planAutoctxAgentCommand (line 139) | function planAutoctxAgentCommand( function loadAutoctxAgentEnvFile (line 185) | function loadAutoctxAgentEnvFile( function executeAutoctxAgentRunCommandWorkflow (line 198) | async function executeAutoctxAgentRunCommandWorkflow( function renderAutoctxAgentCommandError (line 242) | function renderAutoctxAgentCommandError( function createAutoctxAgentDevServer (line 258) | async function createAutoctxAgentDevServer( function parsePayload (line 266) | function parsePayload(raw: string | undefined): unknown { function parsePort (line 277) | function parsePort(raw: string | undefined): number { function normalizeRequiredString (line 285) | function normalizeRequiredString(value: string | undefined, label: strin... function normalizeOptionalString (line 291) | function normalizeOptionalString(value: string | undefined): string | un... function parseEnvFile (line 296) | function parseEnvFile(content: string): Record { function parseEnvValue (line 311) | function parseEnvValue(value: string): string { function resolveAgentEntry (line 322) | async function resolveAgentEntry(root: string, agentName: string): Promi... function renderAutoctxAgentRunSuccess (line 334) | function renderAutoctxAgentRunSuccess( type NormalizedRuntimeHandle (line 343) | type NormalizedRuntimeHandle = { runtime: AgentRuntime; close?: () => vo... function normalizeRuntimeHandle (line 345) | function normalizeRuntimeHandle( function closeRuntimeHandle (line 353) | async function closeRuntimeHandle(handle: NormalizedRuntimeHandle | unde... function createLazyRuntimeHandle (line 358) | function createLazyRuntimeHandle( class LazyAutoctxAgentRuntime (line 370) | class LazyAutoctxAgentRuntime implements AgentRuntime { method constructor (line 377) | constructor(factory: AutoctxAgentRuntimeFactory, plan: AutoctxAgentRun... method name (line 382) | get name(): string { method supportsConcurrentRequests (line 386) | get supportsConcurrentRequests(): boolean | undefined { method generate (line 390) | async generate(opts: { method revise (line 398) | async revise(opts: { method close (line 407) | close(): void { method closeResolvedRuntime (line 412) | async closeResolvedRuntime(): Promise { method #resolveRuntime (line 424) | async #resolveRuntime(): Promise { method #resolveHandle (line 435) | async #resolveHandle(): Promise { function handleAgentDevRequest (line 447) | async function handleAgentDevRequest( function buildManifest (line 498) | async function buildManifest(options: AutoctxAgentDevServerOptions): Pro... function readJsonBody (line 521) | async function readJsonBody(request: IncomingMessage): Promise { function readOptionalString (line 550) | function readOptionalString(value: unknown): string | undefined { function writeJson (line 554) | async function writeJson( FILE: ts/src/cli/auth-provider-command-workflow.ts constant LOGIN_HELP_TEXT (line 1) | const LOGIN_HELP_TEXT = `autoctx login — Store provider credentials pers... constant LOGOUT_HELP_TEXT (line 22) | const LOGOUT_HELP_TEXT = [ type LoginCommandValues (line 27) | interface LoginCommandValues { type ResolvedLoginCommand (line 35) | interface ResolvedLoginCommand { type ProviderSummary (line 43) | interface ProviderSummary { type KnownProviderSummary (line 52) | interface KnownProviderSummary { function resolveLoginCommandRequest (line 58) | async function resolveLoginCommandRequest( function buildStoredProviderCredentials (line 106) | function buildStoredProviderCredentials(request: { function buildLoginSuccessMessage (line 118) | function buildLoginSuccessMessage(request: { function buildWhoamiPayload (line 128) | function buildWhoamiPayload(input: { function buildProvidersPayload (line 152) | function buildProvidersPayload( function renderModelsResult (line 181) | function renderModelsResult(models: unknown[]): string[] { function buildLogoutMessage (line 191) | function buildLogoutMessage(existingProvider?: string): string { FILE: ts/src/cli/autocontext-shim.ts function resolveRealCliPath (line 17) | function resolveRealCliPath(currentFile: string): string { function namingCallout (line 22) | function namingCallout(): string { function childExecArgvFor (line 31) | function childExecArgvFor(realCli: string): string[] { function isDirectExecution (line 35) | function isDirectExecution(metaUrl: string, argvPath = process.argv[1]):... function main (line 40) | function main(currentFile = fileURLToPath(import.meta.url), args = proce... FILE: ts/src/cli/benchmark-command-workflow.ts constant BENCHMARK_HELP_TEXT (line 1) | const BENCHMARK_HELP_TEXT = `autoctx benchmark — Run benchmark (multiple... type BenchmarkCommandValues (line 18) | interface BenchmarkCommandValues { type BenchmarkCommandPlan (line 26) | interface BenchmarkCommandPlan { type BenchmarkResult (line 34) | interface BenchmarkResult { function planBenchmarkCommand (line 44) | async function planBenchmarkCommand( function executeBenchmarkCommandWorkflow (line 57) | async function executeBenchmarkCommandWorkflow< function renderBenchmarkResult (line 132) | function renderBenchmarkResult( FILE: ts/src/cli/blob-command-workflow.ts constant BLOB_HELP_TEXT (line 3) | const BLOB_HELP_TEXT = `autoctx blob — Manage blob store for large artif... function getBlobSubcommand (line 17) | function getBlobSubcommand( function renderBlobStatusResult (line 26) | function renderBlobStatusResult( function executeBlobStatusWorkflow (line 39) | function executeBlobStatusWorkflow(opts: { function renderBlobSyncResult (line 48) | function renderBlobSyncResult( function executeBlobSyncWorkflow (line 61) | function executeBlobSyncWorkflow(opts: { function executeBlobHydrateWorkflow (line 74) | function executeBlobHydrateWorkflow(opts: { FILE: ts/src/cli/campaign-command-execution.ts function executeCampaignCreateCommand (line 10) | function executeCampaignCreateCommand(opts: { function executeCampaignStatusCommand (line 25) | function executeCampaignStatusCommand(opts: { function executeCampaignAddMissionCommand (line 45) | function executeCampaignAddMissionCommand(opts: { function executeCampaignProgressCommand (line 61) | function executeCampaignProgressCommand(opts: { function executeCampaignLifecycleCommand (line 72) | function executeCampaignLifecycleCommand( function buildCampaignProgressPayload (line 175) | function buildCampaignProgressPayload( function buildCampaignAddMissionResult (line 185) | function buildCampaignAddMissionResult( FILE: ts/src/cli/capabilities-command-workflow.ts constant CAPABILITIES_COMMANDS (line 4) | const CAPABILITIES_COMMANDS: readonly string[] = visibleSupportedCommand... type CapabilitiesCommandPayload (line 6) | interface CapabilitiesCommandPayload function buildCapabilitiesPayload (line 19) | function buildCapabilitiesPayload( FILE: ts/src/cli/command-registry.ts type CommandGroup (line 1) | type CommandGroup = "primary" | "control-plane" | "python-only"; type CommandDescriptor (line 3) | interface CommandDescriptor { type NoDbCommandName (line 11) | type NoDbCommandName = type DbCommandName (line 30) | type DbCommandName = type ControlPlaneCommandName (line 55) | type ControlPlaneCommandName = type CliCommandRoute (line 63) | type CliCommandRoute = constant COMMANDS (line 71) | const COMMANDS: readonly CommandDescriptor[] = [ constant COMMAND_ROUTE_BY_NAME (line 389) | const COMMAND_ROUTE_BY_NAME = new Map(COMMANDS.map((command) => [command... function resolveCliCommand (line 391) | function resolveCliCommand(command: string): CliCommandRoute { function buildCliHelp (line 395) | function buildCliHelp(): string { function visibleCommandNames (line 425) | function visibleCommandNames(): string[] { function visibleSupportedCommandNames (line 429) | function visibleSupportedCommandNames(): string[] { function visibleCommands (line 435) | function visibleCommands(group: CommandGroup): CommandDescriptor[] { function formatCommandList (line 439) | function formatCommandList(group: CommandGroup): string { FILE: ts/src/cli/context-selection-command-workflow.ts constant CONTEXT_SELECTION_HELP_TEXT (line 6) | const CONTEXT_SELECTION_HELP_TEXT = `autoctx context-selection — Inspect... type ContextSelectionCommandPlan (line 21) | interface ContextSelectionCommandPlan { type ContextSelectionCommandResult (line 26) | interface ContextSelectionCommandResult { function planContextSelectionCommand (line 32) | function planContextSelectionCommand( function executeContextSelectionCommandWorkflow (line 50) | function executeContextSelectionCommandWorkflow(opts: { function renderFailure (line 78) | function renderFailure(runId: string, error: string, json: boolean): Con... function errorMessage (line 86) | function errorMessage(error: unknown): string { FILE: ts/src/cli/emit-engine-result.ts type EngineResultLike (line 9) | interface EngineResultLike { type EmitOptions (line 14) | interface EmitOptions { constant FAILURE_STATUSES (line 23) | const FAILURE_STATUSES = new Set(["failed", "error", "incomplete"]); function isFailureStatus (line 25) | function isFailureStatus(status: string): boolean { function emitEngineResult (line 29) | function emitEngineResult( FILE: ts/src/cli/export-command-workflow.ts constant EXPORT_HELP_TEXT (line 4) | const EXPORT_HELP_TEXT = `autoctx export — Export strategy package for a... type ExportCommandValues (line 19) | interface ExportCommandValues { type ExportCommandPlan (line 27) | interface ExportCommandPlan { function planExportCommand (line 34) | async function planExportCommand( function writeOutputFileWithParents (line 88) | function writeOutputFileWithParents(path: string, content: string): void { function executeExportCommandWorkflow (line 93) | function executeExportCommandWorkflow< FILE: ts/src/cli/export-training-data-command-workflow.ts constant EXPORT_TRAINING_DATA_HELP_TEXT (line 4) | const EXPORT_TRAINING_DATA_HELP_TEXT = [ type ExportTrainingDataCommandValues (line 12) | interface ExportTrainingDataCommandValues { type ExportTrainingDataCommandPlan (line 21) | interface ExportTrainingDataCommandPlan { type ExportTrainingDataProgress (line 30) | interface ExportTrainingDataProgress { function planExportTrainingDataCommand (line 40) | function planExportTrainingDataCommand( function renderExportTrainingDataProgress (line 61) | function renderExportTrainingDataProgress( function writeOutputFileWithParents (line 73) | function writeOutputFileWithParents(path: string, content: string): void { function executeExportTrainingDataCommandWorkflow (line 78) | function executeExportTrainingDataCommandWorkflow< FILE: ts/src/cli/import-package-command-workflow.ts constant IMPORT_PACKAGE_HELP_TEXT (line 3) | const IMPORT_PACKAGE_HELP_TEXT = type ImportPackageCommandValues (line 6) | interface ImportPackageCommandValues { type ImportPackageCommandPlan (line 13) | interface ImportPackageCommandPlan { function planImportPackageCommand (line 20) | function planImportPackageCommand(values: ImportPackageCommandValues): I... function executeImportPackageCommandWorkflow (line 38) | function executeImportPackageCommandWorkflow(opts: { FILE: ts/src/cli/improve-command-workflow.ts constant IMPROVE_HELP_TEXT (line 1) | const IMPROVE_HELP_TEXT = `autoctx improve — Run multi-round improvement... type ImproveCommandValues (line 26) | interface ImproveCommandValues { type ImproveSavedScenario (line 46) | interface ImproveSavedScenario { type ImprovePlan (line 57) | interface ImprovePlan { type ImproveWorkflowResult (line 69) | interface ImproveWorkflowResult { function getImproveUsageExitCode (line 91) | function getImproveUsageExitCode( function planImproveCommand (line 101) | function planImproveCommand( function executeImproveCommandWorkflow (line 152) | async function executeImproveCommandWorkflow< function renderImproveResult (line 227) | function renderImproveResult( FILE: ts/src/cli/index.ts function getMigrationsDir (line 30) | function getMigrationsDir(): string { constant HELP (line 35) | const HELP = buildCliHelp(); constant NO_DB_COMMAND_HANDLERS (line 37) | const NO_DB_COMMAND_HANDLERS: Record Promise Pro... function main (line 83) | async function main(): Promise { function formatFatalCliError (line 136) | function formatFatalCliError(err: unknown): string { function errorMessage (line 147) | function errorMessage(err: unknown): string { function parsePositiveInteger (line 151) | function parsePositiveInteger(raw: string | undefined, label: string): n... function getDbPath (line 159) | async function getDbPath(): Promise { function loadProjectDefaults (line 167) | async function loadProjectDefaults() { type SavedAgentTaskScenario (line 172) | interface SavedAgentTaskScenario { function mergeUniqueStrings (line 184) | function mergeUniqueStrings(primary?: string[], secondary?: string[]): s... function loadSavedAgentTaskScenario (line 191) | async function loadSavedAgentTaskScenario(name: string): Promise { function summarizeDirectory (line 232) | async function summarizeDirectory( function buildProjectConfigSummary (line 259) | async function buildProjectConfigSummary(): Promise { function normalizeOllamaBaseUrl (line 338) | function normalizeOllamaBaseUrl(baseUrl?: string): string { function validateOllamaConnection (line 343) | async function validateOllamaConnection(baseUrl: string): Promise { function getProvider (line 359) | async function getProvider( function cmdAgent (line 380) | async function cmdAgent(): Promise { function createAutoctxAgentCliRuntime (line 472) | async function createAutoctxAgentCliRuntime(plan: { function withTemporaryProcessEnv (line 502) | function withTemporaryProcessEnv(env: Readonly... function cmdRun (line 521) | async function cmdRun(dbPath: string): Promise { function cmdSolve (line 665) | async function cmdSolve(dbPath: string): Promise { function cmdTui (line 738) | async function cmdTui(dbPath: string): Promise { function cmdJudge (line 818) | async function cmdJudge(_dbPath: string): Promise { function cmdImprove (line 906) | async function cmdImprove(_dbPath: string): Promise { function cmdRepl (line 992) | async function cmdRepl(_dbPath: string): Promise { function cmdQueue (line 1051) | async function cmdQueue(dbPath: string): Promise { function cmdWorker (line 1096) | async function cmdWorker(dbPath: string): Promise { function cmdStatus (line 1169) | async function cmdStatus(dbPath: string): Promise { function cmdServeHttp (line 1218) | async function cmdServeHttp(dbPath: string): Promise { function cmdMcpServe (line 1283) | async function cmdMcpServe(dbPath: string): Promise { function cmdList (line 1329) | async function cmdList(dbPath: string): Promise { function cmdRuntimeSessions (line 1365) | async function cmdRuntimeSessions(dbPath: string): Promise { function cmdReplay (line 1399) | async function cmdReplay(_dbPath: string): Promise { function cmdShow (line 1446) | async function cmdShow(dbPath: string): Promise { function cmdWatch (line 1493) | async function cmdWatch(dbPath: string): Promise { function loadRuntimeSessionSummaryForRun (line 1557) | async function loadRuntimeSessionSummaryForRun(dbPath: string, runId: st... function cmdBenchmark (line 1570) | async function cmdBenchmark(dbPath: string): Promise { function cmdExport (line 1650) | async function cmdExport(dbPath: string): Promise { function cmdExportTrainingData (line 1719) | async function cmdExportTrainingData(dbPath: string): Promise { function cmdImportPackage (line 1786) | async function cmdImportPackage(_dbPath: string): Promise { function cmdNewScenario (line 1840) | async function cmdNewScenario(_dbPath: string): Promise { function cmdInit (line 2042) | async function cmdInit(): Promise { function cmdCapabilities (line 2102) | async function cmdCapabilities(): Promise { function cmdLogin (line 2111) | async function cmdLogin(): Promise { function cmdWhoami (line 2169) | async function cmdWhoami(): Promise { function cmdLogout (line 2240) | async function cmdLogout(): Promise { function cmdProviders (line 2272) | async function cmdProviders(): Promise { function cmdModels (line 2282) | async function cmdModels(): Promise { function cmdMission (line 2298) | async function cmdMission(dbPath: string): Promise { function cmdCampaign (line 2561) | async function cmdCampaign(dbPath: string): Promise { function cmdSimulate (line 2801) | async function cmdSimulate(): Promise { function cmdInvestigate (line 2977) | async function cmdInvestigate(): Promise { function cmdAnalyze (line 3041) | async function cmdAnalyze(): Promise { function cmdContextSelection (line 3141) | async function cmdContextSelection(): Promise { function cmdTrain (line 3191) | async function cmdTrain(): Promise { function cmdBlob (line 3254) | async function cmdBlob(): Promise { function cmdControlPlane (line 3369) | async function cmdControlPlane(topCommand: string): Promise { function cmdProductionTraces (line 3382) | async function cmdProductionTraces(): Promise { function cmdInstrument (line 3393) | async function cmdInstrument(): Promise { function cmdTraceFindings (line 3402) | async function cmdTraceFindings(): Promise { FILE: ts/src/cli/init-command-workflow.ts constant INIT_HELP_TEXT (line 1) | const INIT_HELP_TEXT = `autoctx init — Scaffold project config and AGENT... type InitCommandValues (line 21) | interface InitCommandValues { type InitPlan (line 30) | interface InitPlan { type InitProjectDefaults (line 36) | interface InitProjectDefaults { type InitPersistedCredentials (line 42) | interface InitPersistedCredentials { function planInitCommand (line 47) | function planInitCommand( function buildInitSuccessMessages (line 104) | function buildInitSuccessMessages(input: { FILE: ts/src/cli/investigate-command-workflow.ts constant INVESTIGATE_HELP_TEXT (line 11) | const INVESTIGATE_HELP_TEXT = `autoctx investigate — run a plain-languag... type InvestigateCommandValues (line 30) | interface InvestigateCommandValues { type InvestigateCommandEngine (line 39) | interface InvestigateCommandEngine { type PrepareInvestigateRequestDependencies (line 43) | interface PrepareInvestigateRequestDependencies { constant DEFAULT_PREPARE_DEPENDENCIES (line 47) | const DEFAULT_PREPARE_DEPENDENCIES: PrepareInvestigateRequestDependencie... function planInvestigateCommand (line 51) | function planInvestigateCommand( function prepareInvestigateRequest (line 72) | async function prepareInvestigateRequest( function executeInvestigateCommandWorkflow (line 99) | async function executeInvestigateCommandWorkflow(opts: { function renderInvestigationSuccess (line 108) | function renderInvestigationSuccess( FILE: ts/src/cli/judge-command-workflow.ts constant JUDGE_HELP_TEXT (line 1) | const JUDGE_HELP_TEXT = `autoctx judge — One-shot evaluation of output a... type JudgeCommandValues (line 22) | interface JudgeCommandValues { function getJudgeUsageExitCode (line 31) | function getJudgeUsageExitCode(values: JudgeCommandValues): 0 | 1 | null { function parseDelegatedJudgeInput (line 42) | function parseDelegatedJudgeInput(input: string): { function planJudgeCommand (line 68) | function planJudgeCommand( function executeJudgeCommandWorkflow (line 105) | async function executeJudgeCommandWorkflow(opts: { function renderJudgeResult (line 153) | function renderJudgeResult(result: { FILE: ts/src/cli/list-command-workflow.ts constant LIST_HELP_TEXT (line 1) | const LIST_HELP_TEXT = `autoctx list — List recent runs type ListCommandValues (line 12) | interface ListCommandValues { type ListCommandPlan (line 18) | interface ListCommandPlan { type ListedRun (line 24) | interface ListedRun { function planListCommand (line 31) | function planListCommand(values: ListCommandValues): ListCommandPlan { function renderListRuns (line 39) | function renderListRuns(runs: ListedRun[], json: boolean): string { function executeListCommandWorkflow (line 51) | function executeListCommandWorkflow(opts: { FILE: ts/src/cli/mcp-serve-command-workflow.ts constant MCP_SERVE_HELP_TEXT (line 1) | const MCP_SERVE_HELP_TEXT = `autoctx mcp-serve — Start MCP server on stdio function buildMcpServeRequest (line 27) | function buildMcpServeRequest(input: { FILE: ts/src/cli/mission-command-execution.ts type MissionCreatePlan (line 10) | type MissionCreatePlan = ReturnType; type MissionRunPlan (line 11) | type MissionRunPlan = ReturnType; type MissionLifecycleAction (line 12) | type MissionLifecycleAction = "pause" | "resume" | "cancel"; type MissionCheckpointBudget (line 14) | type MissionCheckpointBudget = Pick; type GenericMissionCreateInput (line 16) | type GenericMissionCreateInput = { type CodeMissionCreateInput (line 22) | type CodeMissionCreateInput = GenericMissionCreateInput & { function buildMissionCheckpointResult (line 30) | function buildMissionCheckpointResult(opts: { function executeMissionListCommand (line 126) | function executeMissionListCommand(opts: { function executeMissionArtifactsCommand (line 133) | function executeMissionArtifactsCommand(opts: { function executeMissionLifecycleCommand (line 150) | function executeMissionLifecycleCommand< FILE: ts/src/cli/mission-command-workflow.ts constant MISSION_HELP_TEXT (line 1) | const MISSION_HELP_TEXT = `autoctx mission — Manage verifier-driven miss... type MissionCreateValues (line 23) | interface MissionCreateValues { type MissionRunValues (line 34) | interface MissionRunValues { function parseOptionalPositiveInteger (line 40) | function parseOptionalPositiveInteger(raw: string | undefined, label: st... function parsePositiveIntegerWithDefault (line 51) | function parsePositiveIntegerWithDefault( function getMissionIdOrThrow (line 59) | function getMissionIdOrThrow( function planMissionCreate (line 69) | function planMissionCreate( function planMissionRun (line 130) | function planMissionRun( function planMissionList (line 156) | function planMissionList(values: { status?: string }): { function buildMissionCheckpointPayload (line 162) | function buildMissionCheckpointPayload(input: { FILE: ts/src/cli/replay-command-workflow.ts constant REPLAY_HELP_TEXT (line 3) | const REPLAY_HELP_TEXT = `autoctx replay — Print replay JSON for a gener... type ReplayCommandValues (line 13) | interface ReplayCommandValues { type ReplayCommandPlan (line 18) | interface ReplayCommandPlan { type ReplayCommandResult (line 23) | interface ReplayCommandResult { function planReplayCommand (line 28) | function planReplayCommand(values: ReplayCommandValues): ReplayCommandPl... function executeReplayCommandWorkflow (line 39) | function executeReplayCommandWorkflow(opts: { FILE: ts/src/cli/run-command-workflow.ts constant RUN_HELP_TEXT (line 3) | const RUN_HELP_TEXT = `autoctx run — Run the generation loop for a scenario type RunCommandValues (line 26) | interface RunCommandValues { type RunCommandPlan (line 37) | interface RunCommandPlan { type RunCommandSettings (line 46) | interface RunCommandSettings { type RunExecutionSettings (line 51) | interface RunExecutionSettings { type RunCommandResult (line 71) | interface RunCommandResult { type AgentTaskSolveExecutor (line 81) | type AgentTaskSolveExecutor = (opts: { type AgentTaskRunStore (line 88) | interface AgentTaskRunStore { function executeAgentTaskRunCommandWorkflow (line 116) | async function executeAgentTaskRunCommandWorkflow( function executeRunCommandWorkflow (line 230) | async function executeRunCommandWorkflow< function renderRunResult (line 334) | function renderRunResult( function normalizeCompletedGenerations (line 350) | function normalizeCompletedGenerations(progress: number): number { FILE: ts/src/cli/run-inspection-command-workflow.ts constant RUN_STATUS_HELP_TEXT (line 3) | const RUN_STATUS_HELP_TEXT = `autoctx status — show queue status or a ru... constant SHOW_HELP_TEXT (line 14) | const SHOW_HELP_TEXT = `autoctx show — show the best or latest generatio... constant WATCH_HELP_TEXT (line 24) | const WATCH_HELP_TEXT = `autoctx watch — follow a run until it finishes type RunInspectionRun (line 37) | interface RunInspectionRun { type RunInspectionGeneration (line 48) | interface RunInspectionGeneration { type RunIdValues (line 60) | interface RunIdValues { type ShowValues (line 64) | interface ShowValues extends RunIdValues { function resolveRunId (line 70) | function resolveRunId( function parseWatchIntervalSeconds (line 82) | function parseWatchIntervalSeconds(raw: string | undefined): number { function renderRunStatus (line 90) | function renderRunStatus( function renderRunStatusJsonLine (line 112) | function renderRunStatusJsonLine( function renderRunShow (line 120) | function renderRunShow( function selectGeneration (line 148) | function selectGeneration( function latestGeneration (line 163) | function latestGeneration(generations: RunInspectionGeneration[]): RunIn... function runStatusPayload (line 171) | function runStatusPayload( function bestGeneration (line 187) | function bestGeneration(generations: RunInspectionGeneration[]): RunInsp... function formatScore (line 195) | function formatScore(score: number): string { FILE: ts/src/cli/runnable-scenario-resolution.ts type ScenarioClass (line 8) | type ScenarioClass = new () => ScenarioInterface; function listAvailableScenarioNames (line 10) | function listAvailableScenarioNames( function resolveRunnableScenarioClass (line 19) | function resolveRunnableScenarioClass(opts: { FILE: ts/src/cli/runtime-session-command-workflow.ts constant RUNTIME_SESSIONS_HELP_TEXT (line 20) | const RUNTIME_SESSIONS_HELP_TEXT = `autoctx runtime-sessions — Inspect r... type RuntimeSessionsCommandValues (line 38) | interface RuntimeSessionsCommandValues { type RuntimeSessionsCommandPlan (line 45) | type RuntimeSessionsCommandPlan = function planRuntimeSessionsCommand (line 50) | function planRuntimeSessionsCommand( function resolveShowSessionId (line 94) | function resolveShowSessionId( function renderRuntimeSessionList (line 114) | function renderRuntimeSessionList( function renderRuntimeSessionShow (line 132) | function renderRuntimeSessionShow( function renderRuntimeSessionTimeline (line 162) | function renderRuntimeSessionTimeline( function executeRuntimeSessionsCommandWorkflow (line 185) | function executeRuntimeSessionsCommandWorkflow(opts: { function parseLimit (line 206) | function parseLimit(raw: string | undefined): number { function payloadSummary (line 214) | function payloadSummary(payload: Record): string { function formatPayloadField (line 229) | function formatPayloadField(key: string, value: unknown): string { function truncateInline (line 238) | function truncateInline(value: string): string { function renderTimelineItem (line 243) | function renderTimelineItem(item: RuntimeSessionTimelineItem): string { function timelineRange (line 275) | function timelineRange(start: number, end: number | null): string { FILE: ts/src/cli/serve-command-workflow.ts constant SERVE_HELP_TEXT (line 1) | const SERVE_HELP_TEXT = [ type ServeCommandValues (line 7) | interface ServeCommandValues { type ServeCommandPlan (line 13) | interface ServeCommandPlan { type ServeStartupInfo (line 19) | interface ServeStartupInfo { function planServeCommand (line 28) | function planServeCommand(values: ServeCommandValues): ServeCommandPlan { function renderServeStartup (line 36) | function renderServeStartup(startupInfo: ServeStartupInfo, json: boolean... FILE: ts/src/cli/simulate-command-workflow.ts constant SIMULATE_HELP_TEXT (line 5) | const SIMULATE_HELP_TEXT = `autoctx simulate — run a plain-language simu... type SimulateCommandValues (line 39) | interface SimulateCommandValues { type SimulateInputPlan (line 52) | interface SimulateInputPlan { type SimulateCommandPlan (line 57) | interface SimulateCommandPlan { function planSimulateCommand (line 66) | function planSimulateCommand(values: SimulateCommandValues): SimulateCom... function ensurePresetPairing (line 99) | function ensurePresetPairing(values: Pick(opts: { function executeSimulateReplayWorkflow (line 164) | async function executeSimulateReplayWorkflow(opts: { function executeSimulateRunWorkflow (line 182) | async function executeSimulateRunWorkflow(opts: { function executeSimulateExportWorkflow (line 213) | function executeSimulateExportWorkflow(opts: { function renderSimulationSuccess (line 247) | function renderSimulationSuccess(result: SimulationResult): string { function renderReplaySuccess (line 267) | function renderReplaySuccess(result: SimulationResult): string { function renderCompareSuccess (line 274) | function renderCompareSuccess(result: SimulationCompareResult): string { FILE: ts/src/cli/solve-command-workflow.ts constant SOLVE_HELP_TEXT (line 4) | const SOLVE_HELP_TEXT = `autoctx solve — create and solve a scenario fro... type SolveCommandValues (line 27) | interface SolveCommandValues { type SolveCommandPlan (line 39) | interface SolveCommandPlan { type SolveManagerLike (line 49) | interface SolveManagerLike { type SolveCommandSummary (line 62) | interface SolveCommandSummary { constant DEFAULT_TIMEOUT_MS (line 76) | const DEFAULT_TIMEOUT_MS = 300_000; constant DEFAULT_POLL_INTERVAL_MS (line 77) | const DEFAULT_POLL_INTERVAL_MS = 250; function planSolveCommand (line 79) | function planSolveCommand( function executeSolveCommandWorkflow (line 112) | async function executeSolveCommandWorkflow(opts: { function writeSolveOutputFile (line 166) | function writeSolveOutputFile(result: Record, outputPat... function renderSolveCommandSummary (line 171) | function renderSolveCommandSummary(summary: SolveCommandSummary, json: b... function isTerminalSolveStatus (line 187) | function isTerminalSolveStatus(status: Record): boolean { function stringOrNull (line 191) | function stringOrNull(value: unknown): string | null { function numberOrDefault (line 195) | function numberOrDefault(value: unknown, fallback: number): number { function nullableNumberOrDefault (line 199) | function nullableNumberOrDefault(value: unknown, fallback: number | null... function parseNonNegativeInteger (line 203) | function parseNonNegativeInteger(raw: string | undefined, label: string)... FILE: ts/src/cli/trace-findings-command-workflow.ts type TraceFindingsCommandResult (line 27) | interface TraceFindingsCommandResult { type TraceFindingsCommandContext (line 33) | interface TraceFindingsCommandContext { constant TRACE_FINDINGS_HELP_TEXT (line 37) | const TRACE_FINDINGS_HELP_TEXT = `autoctx trace-findings — extract struc... constant PARSE_OPTIONS (line 57) | const PARSE_OPTIONS: ParseArgsConfig["options"] = { function runTraceFindingsCommand (line 64) | async function runTraceFindingsCommand( type LoadOk (line 115) | interface LoadOk { type LoadErr (line 118) | interface LoadErr { type LoadResult (line 121) | type LoadResult = LoadOk | LoadErr; function loadPublicTraceFromPath (line 123) | async function loadPublicTraceFromPath(tracePath: string): Promise, name: string): stri... function booleanFlag (line 244) | function booleanFlag(values: Record, name: string): boo... function messageOf (line 248) | function messageOf(err: unknown): string { FILE: ts/src/cli/train-command-workflow.ts constant TRAIN_HELP_TEXT (line 1) | const TRAIN_HELP_TEXT = `autoctx train — train a distilled model from cu... type TrainCommandValues (line 21) | interface TrainCommandValues { type TrainCommandPlan (line 33) | interface TrainCommandPlan { function planTrainCommand (line 45) | function planTrainCommand( function executeTrainCommandWorkflow (line 70) | async function executeTrainCommandWorkflow(input: { FILE: ts/src/cli/worker-command-workflow.ts constant WORKER_HELP_TEXT (line 1) | const WORKER_HELP_TEXT = ` type WorkerCommandValues (line 15) | interface WorkerCommandValues { type WorkerCommandPlan (line 24) | interface WorkerCommandPlan { type WorkerConcurrencyProvider (line 33) | interface WorkerConcurrencyProvider { function planWorkerCommand (line 37) | function planWorkerCommand(values: WorkerCommandValues): WorkerCommandPl... function resolveWorkerConcurrency (line 62) | function resolveWorkerConcurrency( function renderWorkerResult (line 72) | function renderWorkerResult(input: { function parsePositiveInteger (line 96) | function parsePositiveInteger(raw: string, label: string): number { function parseNonNegativeInteger (line 105) | function parseNonNegativeInteger(raw: string, label: string): number { function parseNonNegativeFloat (line 114) | function parseNonNegativeFloat(raw: string, label: string): number { FILE: ts/src/concepts/model.ts type ConceptStatus (line 7) | type ConceptStatus = "implemented" | "partial" | "reserved"; type CanonicalConcept (line 9) | interface CanonicalConcept { type SurfaceMapping (line 15) | interface SurfaceMapping { type ConceptModel (line 28) | interface ConceptModel { constant CONCEPT_MODEL (line 36) | const CONCEPT_MODEL: ConceptModel = { function getConceptModel (line 171) | function getConceptModel(): ConceptModel { FILE: ts/src/config/app-settings-schema.ts type AppSettings (line 280) | type AppSettings = z.infer; FILE: ts/src/config/config-json-helpers.ts function isRecord (line 3) | function isRecord(value: unknown): value is Record { function readJsonObject (line 7) | function readJsonObject(path: string, label: string): Record = { function getModelsForProvider (line 51) | function getModelsForProvider(provider: string): KnownModel[] { type ResolveModelOpts (line 55) | interface ResolveModelOpts { function resolveModel (line 63) | function resolveModel(opts: ResolveModelOpts): string | undefined { type AuthenticatedModel (line 74) | interface AuthenticatedModel { function listAuthenticatedModels (line 80) | function listAuthenticatedModels(configDir: string): AuthenticatedModel[] { FILE: ts/src/config/credential-provider-discovery.ts type KnownProvider (line 5) | interface KnownProvider { constant KNOWN_PROVIDERS (line 14) | const KNOWN_PROVIDERS: KnownProvider[] = [ constant KNOWN_PROVIDER_MAP (line 72) | const KNOWN_PROVIDER_MAP = new Map(KNOWN_PROVIDERS.map((provider) => [pr... function getKnownProvider (line 74) | function getKnownProvider(id: string): KnownProvider | null { type DiscoveredProvider (line 78) | interface DiscoveredProvider extends ProviderAuthStatus { function getGenericEnvProvider (line 82) | function getGenericEnvProvider(): string | undefined { function getGenericEnvApiKey (line 88) | function getGenericEnvApiKey(): string | undefined { function getGenericEnvModel (line 93) | function getGenericEnvModel(): string | undefined { function getGenericEnvBaseUrl (line 98) | function getGenericEnvBaseUrl(): string | undefined { function discoverAllProviders (line 103) | function discoverAllProviders(configDir: string): DiscoveredProvider[] { FILE: ts/src/config/credential-store.ts constant CREDENTIALS_FILE (line 5) | const CREDENTIALS_FILE = "credentials.json"; type ProviderCredentials (line 7) | interface ProviderCredentials { type ProviderAuthStatus (line 14) | interface ProviderAuthStatus { type CredentialStore (line 22) | interface CredentialStore { function resolveApiKeyValue (line 26) | function resolveApiKeyValue(value: string): string { function isLegacyCredentialStore (line 40) | function isLegacyCredentialStore( function readLegacyProviderCredentials (line 46) | function readLegacyProviderCredentials( function normalizeMultiProviderStore (line 66) | function normalizeMultiProviderStore(data: Record): Cre... function readCredentialStore (line 82) | function readCredentialStore(configDir: string): CredentialStore { function writeCredentialStore (line 96) | function writeCredentialStore( function saveProviderCredentials (line 106) | function saveProviderCredentials( function loadProviderCredentials (line 119) | function loadProviderCredentials( function listConfiguredProviders (line 127) | function listConfiguredProviders(configDir: string): ProviderAuthStatus[] { function removeProviderCredentials (line 138) | function removeProviderCredentials( FILE: ts/src/config/credential-validation.ts type ValidationResult (line 6) | interface ValidationResult { constant KEY_FORMAT_RULES (line 11) | const KEY_FORMAT_RULES: Record = { function isOAuthProvider (line 113) | function isOAuthProvider(provider: string): boolean { function buildAuthorizationUrl (line 121) | function buildAuthorizationUrl( type CallbackResult (line 147) | interface CallbackResult { type WaitForCallbackOpts (line 152) | interface WaitForCallbackOpts { function waitForCallback (line 158) | function waitForCallback(opts: WaitForCallbackOpts): Promise = { constant SHORT_RUN_PRESET_SETTINGS (line 12) | const SHORT_RUN_PRESET_SETTINGS: Record = { constant PRESETS (line 20) | const PRESETS: Map> = new Map([ function applyPreset (line 68) | function applyPreset(name: string): Record { FILE: ts/src/config/project-config.ts constant PROJECT_CONFIG_FILE (line 6) | const PROJECT_CONFIG_FILE = ".autoctx.json"; type ProjectConfig (line 8) | interface ProjectConfig { type ProjectConfigLocation (line 18) | interface ProjectConfigLocation { function coercePositiveInt (line 23) | function coercePositiveInt(value: unknown): number | undefined { function findProjectConfigPath (line 36) | function findProjectConfigPath(startDir = process.cwd()): string | null { function findProjectConfigSource (line 51) | function findProjectConfigSource(startDir = process.cwd()): { function findProjectConfigLocation (line 84) | function findProjectConfigLocation( function parseProjectConfigRaw (line 90) | function parseProjectConfigRaw( function loadProjectConfig (line 138) | function loadProjectConfig( FILE: ts/src/config/settings-assembly-workflow.ts function getDefaultSettingsRecord (line 12) | function getDefaultSettingsRecord(): Record { function buildSettingsAssemblyInput (line 16) | function buildSettingsAssemblyInput(opts?: { function parseAppSettings (line 33) | function parseAppSettings(input: Record): AppSettings { FILE: ts/src/config/settings-resolution.ts constant MODEL_SETTING_KEYS (line 4) | const MODEL_SETTING_KEYS = [ constant SETTINGS_ENV_ALIASES (line 14) | const SETTINGS_ENV_ALIASES: Partial> = { function camelToScreamingSnake (line 60) | function camelToScreamingSnake(key: string): string { function getSettingEnvKeys (line 64) | function getSettingEnvKeys(key: string): string[] { function coerceEnvValue (line 68) | function coerceEnvValue(val: string, fieldDefault: unknown): unknown { function resolveEnvSettingsOverrides (line 82) | function resolveEnvSettingsOverrides( function buildProjectConfigSettingsOverrides (line 102) | function buildProjectConfigSettingsOverrides( FILE: ts/src/control-plane/actuators/_shared/content-revert-rollback.ts type ContentRevertInputs (line 13) | interface ContentRevertInputs { function contentRevertRollback (line 30) | function contentRevertRollback(inputs: ContentRevertInputs): Patch { FILE: ts/src/control-plane/actuators/_shared/single-file-applicator.ts type ApplySingleFileInputs (line 21) | interface ApplySingleFileInputs { function walk (line 32) | function walk(dir: string): TreeFile[] { function applySingleFile (line 63) | function applySingleFile(inputs: ApplySingleFileInputs): void { FILE: ts/src/control-plane/actuators/_shared/unified-diff-emitter.ts type EmitUnifiedDiffInputs (line 7) | interface EmitUnifiedDiffInputs { function classify (line 22) | function classify(oldContent: string, newContent: string): Patch["operat... function emitUnifiedDiff (line 34) | function emitUnifiedDiff(inputs: EmitUnifiedDiffInputs): Patch { FILE: ts/src/control-plane/actuators/errors.ts class CascadeRollbackRequired (line 14) | class CascadeRollbackRequired extends Error { method constructor (line 18) | constructor(message: string, dependents: readonly ArtifactId[]) { FILE: ts/src/control-plane/actuators/fine-tuned-model/applicator.ts function targetRelativePath (line 24) | function targetRelativePath(artifact: Artifact, layout: WorkspaceLayoutA... method parsePayload (line 30) | parsePayload(raw: unknown): FineTunedModelPayload { method resolveTargetPath (line 34) | resolveTargetPath(artifact, layout): string { method apply (line 38) | async apply({ artifact, payloadDir, workingTreeRoot, layout }): Promise<... method emitPatch (line 48) | emitPatch({ artifact, payloadDir, workingTreeRoot, layout }): Patch { method rollback (line 56) | async rollback({ FILE: ts/src/control-plane/actuators/fine-tuned-model/legacy-adapter.ts type RegistryLike (line 89) | interface RegistryLike { type ImportLegacyOptions (line 95) | interface ImportLegacyOptions { type ImportLegacyError (line 105) | interface ImportLegacyError { type ImportLegacyResult (line 110) | interface ImportLegacyResult { constant DEFAULT_SOURCE_REL (line 116) | const DEFAULT_SOURCE_REL = ".autocontext/legacy-model-records.json"; constant CONTENT_HASH_RE (line 118) | const CONTENT_HASH_RE = /^sha256:[0-9a-f]{64}$/; constant LEGACY_ACTIVATION_STATES (line 119) | const LEGACY_ACTIVATION_STATES: ReadonlySet = new Set([ type LegacyEvent (line 128) | type LegacyEvent = { type LegacyRecord (line 136) | type LegacyRecord = { function importLegacyModelRecords (line 158) | async function importLegacyModelRecords( type RecordOutcome (line 236) | type RecordOutcome = function importOneRecord (line 241) | function importOneRecord( type Resolution (line 507) | type Resolution = function resolveCheckpointHash (line 511) | function resolveCheckpointHash( function walkTree (line 551) | function walkTree(absRoot: string, relPrefix: string, out: TreeFile[]): ... type BuildEvent (line 570) | type BuildEvent = function buildPromotionEvent (line 574) | function buildPromotionEvent(raw: LegacyEvent): BuildEvent { constant ALLOWED (line 605) | const ALLOWED: Readonly; constant FINE_TUNED_MODEL_FILENAME (line 34) | const FINE_TUNED_MODEL_FILENAME = "pointer.json"; FILE: ts/src/control-plane/actuators/model-routing/applicator.ts constant MODEL_ROUTING_SUBDIR (line 30) | const MODEL_ROUTING_SUBDIR = "models"; function targetRelativePath (line 32) | function targetRelativePath(artifact: Artifact, layout: WorkspaceLayoutA... method parsePayload (line 38) | parsePayload(raw: unknown): ModelRoutingPayload { method resolveTargetPath (line 42) | resolveTargetPath(artifact, layout): string { method apply (line 46) | async apply({ artifact, payloadDir, workingTreeRoot, layout }): Promise<... method emitPatch (line 56) | emitPatch({ artifact, payloadDir, workingTreeRoot, layout }): Patch { method rollback (line 64) | async rollback({ FILE: ts/src/control-plane/actuators/model-routing/schema.ts type ModelTarget (line 124) | type ModelTarget = z.infer; type MatchOperator (line 125) | type MatchOperator = z.infer; type MatchExpression (line 126) | type MatchExpression = z.infer; type Rollout (line 127) | type Rollout = z.infer; type BudgetGuardrail (line 128) | type BudgetGuardrail = z.infer; type LatencyGuardrail (line 129) | type LatencyGuardrail = z.infer; type ConfidenceGuardrail (line 130) | type ConfidenceGuardrail = z.infer; type Route (line 131) | type Route = z.infer; type FallbackReason (line 132) | type FallbackReason = z.infer; type FallbackEntry (line 133) | type FallbackEntry = z.infer; type ModelRoutingPayload (line 134) | type ModelRoutingPayload = z.infer; constant MODEL_ROUTING_FILENAME (line 136) | const MODEL_ROUTING_FILENAME = "models.json"; FILE: ts/src/control-plane/actuators/prompt-patch/applicator.ts function targetRelativePath (line 23) | function targetRelativePath(artifact: Artifact, layout: WorkspaceLayoutA... method parsePayload (line 29) | parsePayload(raw: unknown): PromptPatchPayload { method resolveTargetPath (line 33) | resolveTargetPath(artifact, layout): string { method apply (line 37) | async apply({ artifact, payloadDir, workingTreeRoot, layout }): Promise<... method emitPatch (line 47) | emitPatch({ artifact, payloadDir, workingTreeRoot, layout }): Patch { method rollback (line 59) | async rollback({ candidate, baseline, baselinePayloadDir, workingTreeRoo... FILE: ts/src/control-plane/actuators/prompt-patch/schema.ts type PromptPatchPayload (line 12) | type PromptPatchPayload = z.infer; constant PROMPT_PATCH_FILENAME (line 14) | const PROMPT_PATCH_FILENAME = "prompt.txt"; FILE: ts/src/control-plane/actuators/registry.ts type WorkspaceLayoutArg (line 30) | interface WorkspaceLayoutArg { type Actuator (line 42) | interface Actuator

{ type ActuatorRegistration (line 95) | interface ActuatorRegistration

{ constant MIN_ROLLBACK (line 104) | const MIN_ROLLBACK: Record = { function meetsMinimum (line 112) | function meetsMinimum(type: ActuatorType, declared: RollbackStrategy["ki... constant REGISTRY (line 118) | const REGISTRY = new Map>(); function registerActuator (line 120) | function registerActuator

(reg: ActuatorRegistration

): void { function getActuator (line 138) | function getActuator(type: ActuatorType): ActuatorRegistration ... function listActuatorTypes (line 142) | function listActuatorTypes(): ActuatorType[] { function __resetActuatorRegistryForTests (line 151) | function __resetActuatorRegistryForTests(): void { FILE: ts/src/control-plane/actuators/routing-rule/applicator.ts function targetRelativePath (line 28) | function targetRelativePath(artifact: Artifact, layout: WorkspaceLayoutA... method parsePayload (line 34) | parsePayload(raw: unknown): RoutingRulePayload { method resolveTargetPath (line 38) | resolveTargetPath(artifact, layout): string { method apply (line 42) | async apply({ artifact, payloadDir, workingTreeRoot, layout }): Promise<... method emitPatch (line 52) | emitPatch({ artifact, payloadDir, workingTreeRoot, layout }): Patch { method rollback (line 60) | async rollback({ FILE: ts/src/control-plane/actuators/routing-rule/schema.ts type RoutingRuleEntry (line 39) | type RoutingRuleEntry = z.infer; type RoutingRulePayload (line 40) | type RoutingRulePayload = z.infer; constant ROUTING_RULE_FILENAME (line 42) | const ROUTING_RULE_FILENAME = "rule.json"; FILE: ts/src/control-plane/actuators/tool-policy/applicator.ts function targetRelativePath (line 19) | function targetRelativePath(artifact: Artifact, layout: WorkspaceLayoutA... method parsePayload (line 25) | parsePayload(raw: unknown): ToolPolicyPayload { method resolveTargetPath (line 29) | resolveTargetPath(artifact, layout): string { method apply (line 33) | async apply({ artifact, payloadDir, workingTreeRoot, layout }): Promise<... method emitPatch (line 43) | emitPatch({ artifact, payloadDir, workingTreeRoot, layout }): Patch { method rollback (line 51) | async rollback({ candidate, baseline, baselinePayloadDir, workingTreeRoo... FILE: ts/src/control-plane/actuators/tool-policy/schema.ts type ToolPolicyEntry (line 25) | type ToolPolicyEntry = z.infer; type ToolPolicyPayload (line 26) | type ToolPolicyPayload = z.infer; constant TOOL_POLICY_FILENAME (line 28) | const TOOL_POLICY_FILENAME = "policy.json"; FILE: ts/src/control-plane/cli/_shared/exit-codes.ts constant EXIT (line 9) | const EXIT = { type ExitCode (line 25) | type ExitCode = (typeof EXIT)[keyof typeof EXIT]; FILE: ts/src/control-plane/cli/_shared/output-formatters.ts type OutputMode (line 8) | type OutputMode = "json" | "table" | "pretty"; function formatOutput (line 10) | function formatOutput(value: unknown, mode: OutputMode): string { function renderTable (line 23) | function renderTable(value: unknown): string { function columnsOf (line 49) | function columnsOf(rows: readonly unknown[]): string[] { function pluck (line 61) | function pluck(row: unknown, key: string): unknown { function stringifyCell (line 66) | function stringifyCell(value: unknown): string { function renderPretty (line 80) | function renderPretty(value: unknown, indent = 0): string { FILE: ts/src/control-plane/cli/candidate.ts constant ACTUATOR_TYPES (line 42) | const ACTUATOR_TYPES: readonly ActuatorType[] = [ constant PAYLOAD_FILE_BY_ACTUATOR (line 50) | const PAYLOAD_FILE_BY_ACTUATOR: Readonly> = { constant CANDIDATE_HELP_TEXT (line 58) | const CANDIDATE_HELP_TEXT = `autoctx candidate — manage control-plane ca... function runCandidate (line 76) | async function runCandidate( function runRegister (line 106) | async function runRegister(args: readonly string[], ctx: CliContext): Pr... type MutableFilter (line 270) | interface MutableFilter { function runList (line 277) | async function runList(args: readonly string[], ctx: CliContext): Promis... function runShow (line 332) | async function runShow(args: readonly string[], ctx: CliContext): Promis... function runLineage (line 366) | async function runLineage(args: readonly string[], ctx: CliContext): Pro... function findIncompatibleDependents (line 428) | function findIncompatibleDependents( function runRollback (line 452) | async function runRollback(args: readonly string[], ctx: CliContext): Pr... type FlagSpec (line 521) | interface FlagSpec { type ParsedFlags (line 527) | interface ParsedFlags { type FlagsResult (line 531) | type FlagsResult = function parseFlags (line 535) | function parseFlags(args: readonly string[], spec: Record; type FlagValue (line 358) | type FlagValue = T["type"] extends "string-array" ? ... type ParsedFlags (line 359) | type ParsedFlags = { function parseFlags (line 371) | function parseFlags( function hasFlag (line 401) | function hasFlag(spec: T, name: string): name is Extr... FILE: ts/src/control-plane/cli/index.ts constant TOP_HELP (line 34) | const TOP_HELP = `autoctx control-plane — evaluator-driven prompt/policy... type RunControlPlaneOptions (line 49) | interface RunControlPlaneOptions { function runControlPlaneCommand (line 66) | async function runControlPlaneCommand( FILE: ts/src/control-plane/cli/promotion.ts constant PROMOTION_HELP_TEXT (line 29) | const PROMOTION_HELP_TEXT = `autoctx promotion — promotion decisions and... function runPromotion (line 45) | async function runPromotion( function runDecide (line 67) | async function runDecide(args: readonly string[], ctx: CliContext): Prom... function exitCodeFromDecision (line 174) | function exitCodeFromDecision(decision: { function runApply (line 188) | async function runApply(args: readonly string[], ctx: CliContext): Promi... function runHistory (line 245) | async function runHistory(args: readonly string[], ctx: CliContext): Pro... function parseSimpleFlags (line 275) | function parseSimpleFlags( function parseAblationTargets (line 301) | function parseAblationTargets(raw: string): { value: readonly AblationTa... FILE: ts/src/control-plane/cli/registry-ops.ts constant REGISTRY_HELP_TEXT (line 15) | const REGISTRY_HELP_TEXT = `autoctx registry — registry maintenance comm... constant REGISTRY_MIGRATE_HELP_TEXT (line 28) | const REGISTRY_MIGRATE_HELP_TEXT = `autoctx registry migrate — import le... function runRegistryOps (line 52) | async function runRegistryOps( function runRepair (line 76) | async function runRepair(ctx: CliContext): Promise { function runValidate (line 86) | async function runValidate(args: readonly string[], ctx: CliContext): Pr... function runMigrate (line 101) | async function runMigrate(args: readonly string[], ctx: CliContext): Pro... function renderPrettyMigrate (line 165) | function renderPrettyMigrate(result: { function parseSimpleFlags (line 185) | function parseSimpleFlags( FILE: ts/src/control-plane/cli/types.ts type CliContext (line 3) | interface CliContext { type CliResult (line 12) | interface CliResult { FILE: ts/src/control-plane/contract-probes/index.ts type DirectoryContractFailureKind (line 1) | type DirectoryContractFailureKind = "unexpected-file" | "missing-file"; type DirectoryContractFailure (line 3) | interface DirectoryContractFailure { type DirectoryContractProbeInputs (line 9) | interface DirectoryContractProbeInputs { type DirectoryContractProbeResult (line 16) | interface DirectoryContractProbeResult { function probeDirectoryContract (line 21) | function probeDirectoryContract( function isIgnored (line 57) | function isIgnored(path: string, ignoredPatterns: readonly RegExp[]): bo... type TerminalContractFailureKind (line 65) | type TerminalContractFailureKind = type TerminalContractFailure (line 72) | interface TerminalContractFailure { type TerminalContractProbeInputs (line 77) | interface TerminalContractProbeInputs { type TerminalContractProbeResult (line 88) | interface TerminalContractProbeResult { function probeTerminalContract (line 93) | function probeTerminalContract( type ServiceEndpointProtocol (line 143) | type ServiceEndpointProtocol = "tcp" | "udp"; type ServiceEndpointObservation (line 145) | interface ServiceEndpointObservation { type ServiceContractFailureKind (line 151) | type ServiceContractFailureKind = type ServiceContractFailure (line 156) | interface ServiceContractFailure { type ServiceContractProbeInputs (line 162) | interface ServiceContractProbeInputs { type ServiceContractProbeResult (line 168) | interface ServiceContractProbeResult { function normalizeEndpoint (line 173) | function normalizeEndpoint( function endpointKey (line 183) | function endpointKey(endpoint: ServiceEndpointObservation): string { function endpointMatchesAnyHost (line 188) | function endpointMatchesAnyHost( function probeServiceContract (line 199) | function probeServiceContract( type ArtifactContractFailureKind (line 247) | type ArtifactContractFailureKind = type ArtifactContractFailure (line 254) | interface ArtifactContractFailure { type ArtifactContractProbeInputs (line 260) | interface ArtifactContractProbeInputs { type ArtifactContractProbeResult (line 269) | interface ArtifactContractProbeResult { function readJsonDotPath (line 274) | function readJsonDotPath(value: unknown, path: string): unknown { function probeArtifactContract (line 289) | function probeArtifactContract( FILE: ts/src/control-plane/contract/ablation-verification.ts constant ABLATION_TARGETS (line 8) | const ABLATION_TARGETS = ["strategy", "harness"] as const; constant DEFAULT_ABLATION_REQUIREMENT (line 10) | const DEFAULT_ABLATION_REQUIREMENT: AblationRequirement = { function isAblationTarget (line 15) | function isAblationTarget(value: string): value is AblationTarget { function normalizeAblationRequirement (line 19) | function normalizeAblationRequirement( function assessAblationVerification (line 29) | function assessAblationVerification( function describeAblationVerificationIssue (line 89) | function describeAblationVerificationIssue( function uniqueTargets (line 100) | function uniqueTargets(targets: readonly AblationTarget[]): readonly Abl... FILE: ts/src/control-plane/contract/branded-ids.ts type Brand (line 16) | type Brand = T & { readonly [brand]: B }; type ArtifactId (line 18) | type ArtifactId = Brand; type ChangeSetId (line 19) | type ChangeSetId = Brand; type HarnessProposalId (line 20) | type HarnessProposalId = Brand; type SuiteId (line 21) | type SuiteId = Brand; constant ULID_RE (line 24) | const ULID_RE = /^[0-9A-HJKMNP-TV-Z]{26}$/; constant SLUG_RE (line 26) | const SLUG_RE = /^[a-z0-9][a-z0-9_-]*$/; function toBrand (line 28) | function toBrand(input: string): Brand { function parseUlidBrand (line 32) | function parseUlidBrand(input: string): Brand... function assessEvalRunTrack (line 23) | function assessEvalRunTrack( function describeExperimentalEvalRunTrack (line 58) | function describeExperimentalEvalRunTrack( FILE: ts/src/control-plane/contract/schema-version.ts type Brand (line 2) | type Brand = T & { readonly [brand]: B }; type SchemaVersion (line 4) | type SchemaVersion = Brand; constant CURRENT_SCHEMA_VERSION (line 6) | const CURRENT_SCHEMA_VERSION: SchemaVersion = "1.0" as SchemaVersion; constant VERSION_RE (line 9) | const VERSION_RE = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/; function parseSchemaVersion (line 11) | function parseSchemaVersion(input: string): SchemaVersion | null { function split (line 15) | function split(v: SchemaVersion): { major: number; minor: number } { function compareSchemaVersions (line 20) | function compareSchemaVersions(a: SchemaVersion, b: SchemaVersion): numb... function isReadCompatible (line 27) | function isReadCompatible( function canWriteVersion (line 34) | function canWriteVersion( FILE: ts/src/control-plane/contract/strategy-identity.ts constant STRATEGY_IDENTITY_VERSION (line 13) | const STRATEGY_IDENTITY_VERSION = 1; constant DEFAULT_NEAR_DUPLICATE_THRESHOLD (line 14) | const DEFAULT_NEAR_DUPLICATE_THRESHOLD = 0.5; type BuildStrategyIdentityInputs (line 16) | interface BuildStrategyIdentityInputs { function buildStrategyIdentity (line 24) | function buildStrategyIdentity(inputs: BuildStrategyIdentityInputs): Str... function buildStrategyComponentsFromTree (line 43) | function buildStrategyComponentsFromTree( function strategyFingerprintForArtifact (line 54) | function strategyFingerprintForArtifact( function detectStrategyDuplicate (line 61) | function detectStrategyDuplicate( function strategyComponentSimilarity (line 110) | function strategyComponentSimilarity( function normalizeComponents (line 131) | function normalizeComponents( function normalizeFingerprints (line 148) | function normalizeFingerprints(fingerprints: readonly ContentHash[]): re... function isBetterDuplicate (line 152) | function isBetterDuplicate( function unionSize (line 161) | function unionSize(left: ReadonlySet, right: ReadonlySet): numb... function intersectionSize (line 167) | function intersectionSize(left: ReadonlySet, right: ReadonlySet... function roundSimilarity (line 175) | function roundSimilarity(value: number): number { function hashCanonical (line 179) | function hashCanonical(value: unknown): ContentHash { function hashBytes (line 183) | function hashBytes(value: Uint8Array): ContentHash { FILE: ts/src/control-plane/contract/strategy-quarantine.ts type QuarantineSourceArtifact (line 5) | type QuarantineSourceArtifact = Pick< function assessStrategyQuarantine (line 10) | function assessStrategyQuarantine( function describeStrategyQuarantine (line 29) | function describeStrategyQuarantine( function isInvalidStrategySource (line 39) | function isInvalidStrategySource(artifact: QuarantineSourceArtifact): bo... FILE: ts/src/control-plane/contract/types.ts type ActuatorType (line 12) | type ActuatorType = type ActivationState (line 19) | type ActivationState = type RollbackStrategy (line 27) | type RollbackStrategy = type CostMetric (line 34) | type CostMetric = { type LatencyMetric (line 40) | type LatencyMetric = { type SafetyRegression (line 46) | type SafetyRegression = { type MetricBundle (line 53) | type MetricBundle = { type Provenance (line 72) | type Provenance = { type StrategyComponentFingerprint (line 82) | type StrategyComponentFingerprint = { type StrategyLineage (line 87) | type StrategyLineage = { type StrategyDuplicateAssessment (line 91) | type StrategyDuplicateAssessment = { type StrategyIdentity (line 98) | type StrategyIdentity = { type StrategyQuarantineReason (line 106) | type StrategyQuarantineReason = type StrategyQuarantine (line 110) | type StrategyQuarantine = { type EvalRunRef (line 120) | type EvalRunRef = { type EvalTrialStatus (line 126) | type EvalTrialStatus = type EvalTrial (line 133) | type EvalTrial = { type EvalReconciliationView (line 147) | type EvalReconciliationView = type EvalReconciliationCounts (line 151) | type EvalReconciliationCounts = { type EvalRunReconciliation (line 162) | type EvalRunReconciliation = { type RunTrack (line 171) | type RunTrack = type WebPolicy (line 175) | type WebPolicy = type IntegrityMode (line 180) | type IntegrityMode = type AdapterProvenance (line 185) | type AdapterProvenance = { type EvalRunIntegrity (line 196) | type EvalRunIntegrity = { type AblationTarget (line 202) | type AblationTarget = type AblationVerificationStatus (line 206) | type AblationVerificationStatus = type AblationVerification (line 211) | type AblationVerification = { type AblationRequirement (line 219) | type AblationRequirement = { type AblationVerificationAssessment (line 224) | type AblationVerificationAssessment = { type HarnessChangeSurface (line 235) | type HarnessChangeSurface = type HarnessValidationMode (line 244) | type HarnessValidationMode = type HarnessChangeProposalStatus (line 249) | type HarnessChangeProposalStatus = type HarnessExpectedImpact (line 255) | type HarnessExpectedImpact = { type HarnessProposedEdit (line 263) | type HarnessProposedEdit = { type HarnessValidationEvidence (line 268) | type HarnessValidationEvidence = { type HarnessChangeDecision (line 274) | type HarnessChangeDecision = { type HarnessChangeProposal (line 286) | type HarnessChangeProposal = { type MemoryPackRef (line 299) | type MemoryPackRef = { type EvalRun (line 305) | type EvalRun = { type PromotionEvent (line 328) | type PromotionEvent = { type Artifact (line 345) | type Artifact = { type PromotionThresholds (line 363) | type PromotionThresholds = { type PromotionDecision (line 373) | type PromotionDecision = { type Patch (line 414) | type Patch = { type ValidationResult (line 422) | type ValidationResult = FILE: ts/src/control-plane/contract/validators.ts function toResult (line 54) | function toResult(validate: ValidateFunction, input: unknown): Validatio... function formatError (line 61) | function formatError(e: ErrorObject): string { function validateMetricBundle (line 66) | function validateMetricBundle(input: unknown): ValidationResult { function validateProvenance (line 69) | function validateProvenance(input: unknown): ValidationResult { function validateEvalRun (line 72) | function validateEvalRun(input: unknown): ValidationResult { function validatePromotionEvent (line 75) | function validatePromotionEvent(input: unknown): ValidationResult { function validateArtifact (line 78) | function validateArtifact(input: unknown): ValidationResult { function validatePromotionDecision (line 81) | function validatePromotionDecision(input: unknown): ValidationResult { function validatePatch (line 84) | function validatePatch(input: unknown): ValidationResult { function validateHarnessChangeProposal (line 87) | function validateHarnessChangeProposal(input: unknown): ValidationResult { type _TypeCheck (line 92) | type _TypeCheck = FILE: ts/src/control-plane/emit/branch-namer.ts function branchNameFor (line 16) | function branchNameFor(artifact: Artifact): string { FILE: ts/src/control-plane/emit/modes/auto.ts type ResolvedMode (line 14) | type ResolvedMode = "gh" | "git" | "patch-only"; type AutoDetector (line 16) | interface AutoDetector { type ResolveAutoModeInputs (line 21) | interface ResolveAutoModeInputs { type ResolveAutoModeResult (line 26) | interface ResolveAutoModeResult { function resolveAutoMode (line 31) | function resolveAutoMode(inputs: ResolveAutoModeInputs = {}): ResolveAut... function defaultDetector (line 45) | function defaultDetector(cwd: string): AutoDetector { FILE: ts/src/control-plane/emit/modes/gh.ts type GhModeInputs (line 15) | interface GhModeInputs { type GhModeResult (line 27) | interface GhModeResult { function runGhMode (line 37) | async function runGhMode(inputs: GhModeInputs): Promise { function firstNonEmptyLine (line 83) | function firstNonEmptyLine(s: string): string { FILE: ts/src/control-plane/emit/modes/git.ts type GitModeInputs (line 14) | interface GitModeInputs { type GitModeResult (line 27) | interface GitModeResult { function runGitMode (line 36) | async function runGitMode(inputs: GitModeInputs): Promise { FILE: ts/src/control-plane/emit/modes/patch-only.ts type PatchOnlyInputs (line 15) | interface PatchOnlyInputs { function runPatchOnlyMode (line 32) | async function runPatchOnlyMode(inputs: PatchOnlyInputs): Promise { function safeTimestamp (line 93) | function safeTimestamp(iso: string): string { function flattenPath (line 98) | function flattenPath(p: string): string { function serializeLayout (line 106) | function serializeLayout(layout: WorkspaceLayout): Record { FILE: ts/src/control-plane/emit/patch-renderer.ts type RenderPatchesInputs (line 21) | interface RenderPatchesInputs { function renderPatches (line 36) | function renderPatches(inputs: RenderPatchesInputs): Patch[] { FILE: ts/src/control-plane/emit/pipeline.ts type EmitMode (line 34) | type EmitMode = "auto" | "gh" | "git" | "patch-only"; type EmitPrOptions (line 36) | interface EmitPrOptions { type EmitLocationPrUrl (line 72) | interface EmitLocationPrUrl { type EmitLocationBranch (line 76) | interface EmitLocationBranch { type EmitLocationLocalPath (line 80) | interface EmitLocationLocalPath { type EmitLocation (line 84) | type EmitLocation = EmitLocationPrUrl | EmitLocationBranch | EmitLocatio... type EmitResult (line 86) | interface EmitResult { function emitPr (line 103) | async function emitPr( function resolveBaseline (line 258) | function resolveBaseline( function decisionBandOf (line 284) | function decisionBandOf(d: PromotionDecision): string { class EmitPreflightError (line 298) | class EmitPreflightError extends Error { method constructor (line 301) | constructor(issues: readonly PreflightIssue[]) { FILE: ts/src/control-plane/emit/pr-body-renderer.ts type RenderPrBodyInputs (line 14) | interface RenderPrBodyInputs { function renderPrBody (line 28) | function renderPrBody(inputs: RenderPrBodyInputs): string { function qualityBand (line 130) | function qualityBand(d: PromotionDecision): string { function num (line 144) | function num(n: number): string { function signed3 (line 148) | function signed3(n: number): string { function signedInt (line 153) | function signedInt(n: number): string { function checkmark (line 158) | function checkmark(passed: boolean): string { function signatureNote (line 162) | function signatureNote(candidate: Artifact): string { function rollbackForActuator (line 167) | function rollbackForActuator( function describeRollback (line 184) | function describeRollback(strategy: RollbackStrategy, actuatorType: Arti... FILE: ts/src/control-plane/emit/preflight.ts type PreflightMode (line 27) | type PreflightMode = "patch-only" | "git" | "gh"; type PreflightIssue (line 29) | interface PreflightIssue { type PreflightResult (line 34) | interface PreflightResult { type PreflightDetector (line 39) | interface PreflightDetector { type PreflightInputs (line 50) | interface PreflightInputs { function preflight (line 67) | function preflight(inputs: PreflightInputs): PreflightResult { function matchesGlob (line 143) | function matchesGlob(path: string, pattern: string): boolean { function globToRegExp (line 148) | function globToRegExp(pattern: string): RegExp { function escapeRe (line 183) | function escapeRe(s: string): string { function defaultDetector (line 189) | function defaultDetector(cwd: string): PreflightDetector { FILE: ts/src/control-plane/emit/workspace-layout.ts type WorkspaceLayout (line 14) | interface WorkspaceLayout { constant DEFAULTS (line 23) | const DEFAULTS = Object.freeze({ type PartialOverrides (line 31) | type PartialOverrides = { function makeScenarioDir (line 40) | function makeScenarioDir(template: string): (scenario: Scenario, env: En... function isSafeWorkspaceRelativePath (line 45) | function isSafeWorkspaceRelativePath(path: string): boolean { function assertSafeLayoutPath (line 52) | function assertSafeLayoutPath(name: keyof PartialOverrides, value: strin... function assertSafeScenarioDirTemplate (line 60) | function assertSafeScenarioDirTemplate(template: string): void { function defaultWorkspaceLayout (line 65) | function defaultWorkspaceLayout(): WorkspaceLayout { function loadWorkspaceLayout (line 80) | function loadWorkspaceLayout(cwd: string): WorkspaceLayout { FILE: ts/src/control-plane/eval-ingest/attach.ts type AttachEvalRunResult (line 23) | interface AttachEvalRunResult { function attachEvalRun (line 32) | async function attachEvalRun( FILE: ts/src/control-plane/eval-ingest/errors.ts class EvalRunAlreadyAttachedError (line 11) | class EvalRunAlreadyAttachedError extends Error { method constructor (line 16) | constructor(artifactId: ArtifactId, runId: string) { FILE: ts/src/control-plane/eval-ingest/validator.ts type ValidateEvalRunForIngestionContext (line 18) | interface ValidateEvalRunForIngestionContext { function validateEvalRunForIngestion (line 27) | function validateEvalRunForIngestion( function collectNonFiniteFields (line 96) | function collectNonFiniteFields(metrics: Partial, errors: ... FILE: ts/src/control-plane/eval-ledger/index.ts type ReconcileEvalTrialsOptions (line 8) | interface ReconcileEvalTrialsOptions { type OrderedTrial (line 12) | type OrderedTrial = { function reconcileEvalTrials (line 17) | function reconcileEvalTrials( function orderTrials (line 41) | function orderTrials(trials: readonly EvalTrial[]): readonly OrderedTria... function compareOrderedTrials (line 47) | function compareOrderedTrials(left: OrderedTrial, right: OrderedTrial): ... function compareCompletedAt (line 55) | function compareCompletedAt(left: EvalTrial, right: EvalTrial): number { function completedAtMs (line 67) | function completedAtMs(trial: EvalTrial): number | null { function collectTaskIds (line 73) | function collectTaskIds(trials: readonly OrderedTrial[]): readonly strin... function selectFirstCompleted (line 81) | function selectFirstCompleted(trials: readonly OrderedTrial[]): Readonly... function selectBestOfK (line 90) | function selectBestOfK( function collectIgnoredTrialIds (line 109) | function collectIgnoredTrialIds( function countTrials (line 124) | function countTrials( function selectedTrialRecord (line 143) | function selectedTrialRecord( function isScored (line 157) | function isScored(trial: EvalTrial): boolean { FILE: ts/src/control-plane/external-evals/index.ts type ExternalEvalAdapterLifecycleStatus (line 14) | type ExternalEvalAdapterLifecycleStatus = type ExternalEvalBoundaryPolicyMode (line 22) | type ExternalEvalBoundaryPolicyMode = "report-only" | "discard"; type ExternalEvalBoundaryAccessKind (line 23) | type ExternalEvalBoundaryAccessKind = type ExternalEvalBoundaryObservationSource (line 30) | type ExternalEvalBoundaryObservationSource = type ExternalEvalBoundaryViolationReason (line 36) | type ExternalEvalBoundaryViolationReason = type ExternalEvalDiagnosticCategory (line 40) | type ExternalEvalDiagnosticCategory = type ExternalEvalImprovementSignalKind (line 48) | type ExternalEvalImprovementSignalKind = type ExternalEvalTokenUsage (line 57) | interface ExternalEvalTokenUsage { type ExternalEvalAdapterCommand (line 62) | interface ExternalEvalAdapterCommand { type ExternalEvalAdapterArtifacts (line 67) | interface ExternalEvalAdapterArtifacts { type ExternalEvalAdapterLifecycle (line 74) | interface ExternalEvalAdapterLifecycle { type ExternalEvalBoundaryPolicy (line 91) | interface ExternalEvalBoundaryPolicy { type ExternalEvalBoundaryObservation (line 97) | interface ExternalEvalBoundaryObservation { type ExternalEvalBoundaryViolation (line 105) | interface ExternalEvalBoundaryViolation extends ExternalEvalBoundaryObse... type ExternalEvalBoundaryAssessment (line 109) | interface ExternalEvalBoundaryAssessment { type AssessExternalEvalBoundaryPolicyInputs (line 116) | interface AssessExternalEvalBoundaryPolicyInputs { type ClassifyExternalEvalTrialInputs (line 121) | interface ClassifyExternalEvalTrialInputs { type ExternalEvalTrialEvidence (line 135) | interface ExternalEvalTrialEvidence { type ExternalEvalTrialDiagnostic (line 143) | interface ExternalEvalTrialDiagnostic { type ExternalEvalImprovementSignal (line 156) | interface ExternalEvalImprovementSignal { type ExternalEvalDiagnosticReport (line 170) | interface ExternalEvalDiagnosticReport { type BuildExternalEvalDiagnosticReportInputs (line 185) | interface BuildExternalEvalDiagnosticReportInputs { type BuildOperationalMemoryPackFromDiagnosticsInputs (line 193) | interface BuildOperationalMemoryPackFromDiagnosticsInputs { type ExternalEvalContextPromotionStatus (line 200) | type ExternalEvalContextPromotionStatus = type DecideExternalEvalContextPromotionInputs (line 206) | interface DecideExternalEvalContextPromotionInputs { type ExternalEvalContextPromotionDecision (line 215) | interface ExternalEvalContextPromotionDecision { function validateExternalEvalAdapterLifecycle (line 229) | function validateExternalEvalAdapterLifecycle(input: unknown): Validatio... function validateExternalEvalBoundaryPolicy (line 262) | function validateExternalEvalBoundaryPolicy(input: unknown): ValidationR... function assessExternalEvalBoundaryPolicy (line 282) | function assessExternalEvalBoundaryPolicy( function classifyExternalEvalTrial (line 301) | function classifyExternalEvalTrial(inputs: ClassifyExternalEvalTrialInpu... function scopedClassifyInputs (line 326) | function scopedClassifyInputs(inputs: ClassifyExternalEvalTrialInputs): ... function buildExternalEvalDiagnosticReport (line 343) | function buildExternalEvalDiagnosticReport( function buildExternalEvalImprovementSignals (line 384) | function buildExternalEvalImprovementSignals( function decideExternalEvalContextPromotion (line 390) | function decideExternalEvalContextPromotion( function firstStatusByTask (line 491) | function firstStatusByTask(trials: readonly EvalTrial[]): ReadonlyMap { function runInstrumentCommand (line 109) | async function runInstrumentCommand( type ParsedFlags (line 230) | interface ParsedFlags { type ParseResult (line 243) | type ParseResult = constant VALUE_FLAGS (line 247) | const VALUE_FLAGS = new Set([ constant BOOL_FLAGS (line 256) | const BOOL_FLAGS = new Set([ function parseInstrumentFlags (line 264) | function parseInstrumentFlags(argv: readonly string[]): ParseResult { FILE: ts/src/control-plane/instrument/contract/plugin-compat.ts function adaptLegacyProduce (line 17) | function adaptLegacyProduce( FILE: ts/src/control-plane/instrument/contract/plugin-interface.ts type InstrumentLanguage (line 16) | type InstrumentLanguage = "python" | "typescript" | "javascript" | "jsx"... type DirectiveValue (line 19) | type DirectiveValue = "off" | "on" | "off-file" | "on-file"; type DirectiveMap (line 20) | type DirectiveMap = ReadonlyMap; type IndentationStyle (line 23) | type IndentationStyle = type ImportedName (line 28) | interface ImportedName { function hasImport (line 36) | function hasImport(names: ReadonlySet, name: string): bool... function resolveLocalName (line 42) | function resolveLocalName( type ExistingImport (line 54) | interface ExistingImport { type ImportSet (line 60) | type ImportSet = ReadonlySet; type SourceRange (line 63) | interface SourceRange { type ImportSpec (line 71) | interface ImportSpec { type BaseEdit (line 79) | interface BaseEdit { type WrapExpressionEdit (line 87) | interface WrapExpressionEdit extends BaseEdit { type InsertStatementEdit (line 96) | interface InsertStatementEdit extends BaseEdit { type ReplaceExpressionEdit (line 106) | interface ReplaceExpressionEdit extends BaseEdit { type EditDescriptor (line 113) | type EditDescriptor = type SecretMatch (line 132) | interface SecretMatch { type SourceFile (line 149) | interface SourceFile { type PluginAdvisory (line 170) | interface PluginAdvisory { type PluginProduceResult (line 183) | interface PluginProduceResult { type DetectorPlugin (line 192) | interface DetectorPlugin { type TreeSitterMatch (line 203) | interface TreeSitterMatch { type InstrumentSession (line 215) | interface InstrumentSession { type InstrumentFlagsSnapshot (line 231) | interface InstrumentFlagsSnapshot { type PlanSourceFileMetadata (line 245) | interface PlanSourceFileMetadata { type ConflictDecision (line 256) | type ConflictDecision = type SafetyDecision (line 261) | type SafetyDecision = type InstrumentPlan (line 269) | interface InstrumentPlan { FILE: ts/src/control-plane/instrument/contract/validators.ts type ValidationResult (line 16) | type ValidationResult = function toResult (line 34) | function toResult(validate: ValidateFunction, input: unknown): Validatio... function formatError (line 41) | function formatError(e: ErrorObject): string { function validateInstrumentSession (line 46) | function validateInstrumentSession(input: unknown): ValidationResult { function validateInstrumentPlan (line 50) | function validateInstrumentPlan(input: unknown): ValidationResult { type _TypeCheck (line 55) | type _TypeCheck = InstrumentSession | InstrumentPlan; FILE: ts/src/control-plane/instrument/detectors/anthropic-python/plugin.ts constant PLUGIN_ID (line 25) | const PLUGIN_ID = "@autoctx/detector-anthropic-python"; constant ANTHROPIC_QUICKSTART_URL (line 26) | const ANTHROPIC_QUICKSTART_URL = function rangeOfCaptureNode (line 29) | function rangeOfCaptureNode(node: { startIndex: number; endIndex: number... function isAlreadyWrapped (line 47) | function isAlreadyWrapped(sourceFile: SourceFile, callRange: SourceRange... function isFactoryReturn (line 53) | function isFactoryReturn(sourceFile: SourceFile, callRange: SourceRange)... function emitWrap (line 63) | function emitWrap(range: SourceRange, sourceFilePath: string): EditDescr... method produce (line 94) | produce(match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceRe... FILE: ts/src/control-plane/instrument/detectors/anthropic-ts/plugin.ts constant PLUGIN_ID (line 26) | const PLUGIN_ID = "@autoctx/detector-anthropic-ts"; constant ANTHROPIC_QUICKSTART_URL (line 27) | const ANTHROPIC_QUICKSTART_URL = function rangeOfCaptureNode (line 30) | function rangeOfCaptureNode(node: { startIndex: number; endIndex: number... function isAlreadyWrapped (line 48) | function isAlreadyWrapped(sourceFile: SourceFile, callRange: SourceRange... function isFactoryReturn (line 54) | function isFactoryReturn(sourceFile: SourceFile, callRange: SourceRange)... function emitWrap (line 64) | function emitWrap(range: SourceRange, sourceFilePath: string): EditDescr... method produce (line 95) | produce(match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceRe... FILE: ts/src/control-plane/instrument/detectors/openai-python/plugin.ts constant PLUGIN_ID (line 23) | const PLUGIN_ID = "@autoctx/detector-openai-python"; constant OPENAI_QUICKSTART_URL (line 24) | const OPENAI_QUICKSTART_URL = function rangeOfCaptureNode (line 27) | function rangeOfCaptureNode(node: { startIndex: number; endIndex: number... function isAlreadyWrapped (line 45) | function isAlreadyWrapped(sourceFile: SourceFile, callRange: SourceRange... function isFactoryReturn (line 53) | function isFactoryReturn(sourceFile: SourceFile, callRange: SourceRange)... function emitWrap (line 64) | function emitWrap(range: SourceRange, sourceFilePath: string): EditDescr... method produce (line 95) | produce(match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceRe... FILE: ts/src/control-plane/instrument/detectors/openai-ts/plugin.ts constant PLUGIN_ID (line 24) | const PLUGIN_ID = "@autoctx/detector-openai-ts"; constant OPENAI_QUICKSTART_URL (line 25) | const OPENAI_QUICKSTART_URL = "https://github.com/greyhaven-ai/autoconte... function rangeOfCaptureNode (line 27) | function rangeOfCaptureNode(node: { startIndex: number; endIndex: number... function isAlreadyWrapped (line 45) | function isAlreadyWrapped(sourceFile: SourceFile, callRange: SourceRange... function isFactoryReturn (line 53) | function isFactoryReturn(sourceFile: SourceFile, callRange: SourceRange)... function emitWrap (line 64) | function emitWrap(range: SourceRange, sourceFilePath: string): EditDescr... method produce (line 95) | produce(match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceRe... FILE: ts/src/control-plane/instrument/llm/enhancer.ts type EnhancerProvider (line 25) | interface EnhancerProvider { type EnhancerDiagnostic (line 35) | type EnhancerDiagnostic = type EnhanceOpts (line 43) | interface EnhanceOpts { constant DEFAULT_TIMEOUT_MS (line 53) | const DEFAULT_TIMEOUT_MS = 10_000; function enhance (line 59) | async function enhance(opts: EnhanceOpts): Promise { FILE: ts/src/control-plane/instrument/llm/prompts.ts type RationaleContext (line 16) | interface RationaleContext { type FileOptOutTipContext (line 24) | interface FileOptOutTipContext { type SessionSummaryContext (line 31) | interface SessionSummaryContext { function RATIONALE_PROMPT (line 45) | function RATIONALE_PROMPT(ctx: RationaleContext): string { function FILE_OPT_OUT_TIP_PROMPT (line 77) | function FILE_OPT_OUT_TIP_PROMPT(ctx: FileOptOutTipContext): string { function SESSION_SUMMARY_PROMPT (line 101) | function SESSION_SUMMARY_PROMPT(ctx: SessionSummaryContext): string { FILE: ts/src/control-plane/instrument/llm/tty-detector.ts type EnableEnhancementInputs (line 20) | interface EnableEnhancementInputs { function shouldEnableEnhancement (line 34) | function shouldEnableEnhancement(inputs: EnableEnhancementInputs): boole... function hasAnyLLMKey (line 56) | function hasAnyLLMKey(env: Readonly> ... FILE: ts/src/control-plane/instrument/pipeline/modes/apply.ts type ApplyModeInputs (line 24) | interface ApplyModeInputs { type ApplyModeResult (line 32) | interface ApplyModeResult { function runApplyMode (line 36) | function runApplyMode(inputs: ApplyModeInputs): ApplyModeResult { function writeApplyLog (line 57) | function writeApplyLog(args: { FILE: ts/src/control-plane/instrument/pipeline/modes/branch.ts type BranchModeInputs (line 23) | interface BranchModeInputs { type BranchModeResult (line 38) | interface BranchModeResult { type BranchGitExecutor (line 52) | interface BranchGitExecutor { function defaultBranchGitExecutor (line 59) | function defaultBranchGitExecutor(): BranchGitExecutor { function runBranchMode (line 98) | function runBranchMode(inputs: BranchModeInputs): BranchModeResult { FILE: ts/src/control-plane/instrument/pipeline/modes/dry-run.ts type DryRunModeInputs (line 26) | interface DryRunModeInputs { type DetectionLine (line 37) | interface DetectionLine { function runDryRunMode (line 44) | function runDryRunMode(inputs: DryRunModeInputs): void { function flattenPath (line 84) | function flattenPath(p: string): string { FILE: ts/src/control-plane/instrument/pipeline/orchestrator.ts type InstrumentMode (line 78) | type InstrumentMode = "dry-run" | "apply" | "apply-branch"; type InstrumentInputs (line 80) | interface InstrumentInputs { type InstrumentResult (line 114) | interface InstrumentResult { function runInstrument (line 139) | async function runInstrument(opts: InstrumentInputs): Promise { function defaultSummary (line 293) | function defaultSummary(inputs: PrBodyInputs): string { function defaultRationale (line 314) | function defaultRationale(file: PerFileDetailedEdits, edit: EditDescript... function escapeTable (line 332) | function escapeTable(s: string): string { function sessionUlidFromSession (line 336) | function sessionUlidFromSession(inputs: PrBodyInputs): string { function extractUlidFromCommand (line 341) | function extractUlidFromCommand(command: string): string | null { function sha256ContentHash (line 351) | function sha256ContentHash(s: string): ContentHash { FILE: ts/src/control-plane/instrument/pipeline/preflight.ts type PreflightVerdict (line 30) | type PreflightVerdict = function checkCwdReadable (line 35) | function checkCwdReadable(cwd: string): PreflightVerdict { function checkExcludeFromReadable (line 57) | function checkExcludeFromReadable(excludeFrom: string | undefined): Pref... function checkRegistryPopulated (line 84) | function checkRegistryPopulated(failIfEmpty: boolean): PreflightVerdict { type GitDetector (line 112) | interface GitDetector { function defaultGitDetector (line 121) | function defaultGitDetector(): GitDetector { function checkWorkingTreeClean (line 171) | function checkWorkingTreeClean(opts: { function checkBranchPreconditions (line 199) | function checkBranchPreconditions(opts: { FILE: ts/src/control-plane/instrument/planner/conflict-detector.ts type ConflictReason (line 29) | type ConflictReason = type ConflictReport (line 42) | type ConflictReport = function detectConflicts (line 60) | function detectConflicts(edits: readonly EditDescriptor[]): ConflictRepo... function pairConflict (line 83) | function pairConflict(a: EditDescriptor, b: EditDescriptor): ConflictRea... function rangeOf (line 132) | function rangeOf(e: EditDescriptor): SourceRange | null { function rangesOverlap (line 138) | function rangesOverlap(a: SourceRange, b: SourceRange): boolean { function rangesEqual (line 142) | function rangesEqual(a: SourceRange, b: SourceRange): boolean { function anchorConflictsWith (line 162) | function anchorConflictsWith(anchor: SourceRange, container: SourceRange... function dedupeWrapEdits (line 174) | function dedupeWrapEdits(edits: readonly EditDescriptor[]): readonly Edi... FILE: ts/src/control-plane/instrument/planner/edit-composer.ts type ComposeEditsOpts (line 40) | interface ComposeEditsOpts { type RefusalReason (line 45) | type RefusalReason = type ComposedEdit (line 49) | interface ComposedEdit { type ComposeResult (line 56) | type ComposeResult = function composeEdits (line 65) | function composeEdits(opts: ComposeEditsOpts): ComposeResult { function formatSecretRefusalMessage (line 159) | function formatSecretRefusalMessage(path: string, match: SecretMatch): s... function editFallsInOffRegion (line 170) | function editFallsInOffRegion(edit: EditDescriptor, directives: Directiv... function anchorLineOf (line 194) | function anchorLineOf(e: InsertStatementEdit): number { function renderWrap (line 202) | function renderWrap( function applyEditsRightToLeft (line 230) | function applyEditsRightToLeft( function byteOffsetOfLine (line 316) | function byteOffsetOfLine(text: string, line: number): number { FILE: ts/src/control-plane/instrument/planner/import-manager.ts type PlanImportsOpts (line 34) | interface PlanImportsOpts { type ImportPlan (line 39) | interface ImportPlan { function planImports (line 56) | function planImports(opts: PlanImportsOpts): ImportPlan { function specKey (line 95) | function specKey(s: ImportSpec): string { function dedupeSpecs (line 99) | function dedupeSpecs(specs: readonly ImportSpec[]): readonly ImportSpec[] { function filterAlreadyPresent (line 111) | function filterAlreadyPresent( function sortSpecs (line 137) | function sortSpecs(specs: readonly ImportSpec[]): readonly ImportSpec[] { type ImportGroup (line 151) | interface ImportGroup { function groupByModuleKind (line 157) | function groupByModuleKind(specs: readonly ImportSpec[]): readonly Impor... type ImportAnchor (line 178) | interface ImportAnchor { constant PY_IMPORT_LINE (line 183) | const PY_IMPORT_LINE = /^\s*(from\s+\S+\s+import\s+.+|import\s+\S+.*)$/; constant PY_FUTURE_LINE (line 184) | const PY_FUTURE_LINE = /^\s*from\s+__future__\s+import\s+.+$/; constant JS_IMPORT_LINE (line 185) | const JS_IMPORT_LINE = /^\s*import\s+.+$/; function computeImportAnchor (line 187) | function computeImportAnchor( function firstModuleBodyLine (line 221) | function firstModuleBodyLine(lines: readonly string[], language: Instrum... type QuoteStyle (line 255) | type QuoteStyle = "single" | "double" | "none"; function detectQuoteStyle (line 257) | function detectQuoteStyle(lines: readonly string[]): QuoteStyle { type RenderOpts (line 277) | interface RenderOpts { function renderImportBlock (line 285) | function renderImportBlock(opts: RenderOpts): string { function renderPythonImport (line 301) | function renderPythonImport(g: ImportGroup, sourceFile: SourceFile): str... function renderJsImport (line 327) | function renderJsImport(g: ImportGroup, q: string): string { FILE: ts/src/control-plane/instrument/planner/indentation-matcher.ts type MatchIndentationOpts (line 29) | interface MatchIndentationOpts { function matchIndentation (line 41) | function matchIndentation(opts: MatchIndentationOpts): string { function resolveEnclosingIndent (line 63) | function resolveEnclosingIndent(sourceFile: SourceFile, anchorLine: numb... function leadingWhitespace (line 76) | function leadingWhitespace(line: string): string { function commonLeadingWhitespace (line 87) | function commonLeadingWhitespace(lines: readonly string[]): string { FILE: ts/src/control-plane/instrument/registry/plugin-registry.ts function pairKey (line 36) | function pairKey(language: InstrumentLanguage, sdkName: string): string { function registerDetectorPlugin (line 47) | function registerDetectorPlugin(plugin: DetectorPlugin): void { function pluginsForLanguage (line 76) | function pluginsForLanguage( function resetRegistryForTests (line 89) | function resetRegistryForTests(): void { FILE: ts/src/control-plane/instrument/safety/directive-parser.ts constant PY_DIRECTIVE (line 33) | const PY_DIRECTIVE = /^\s*#\s*autocontext:\s*(off|on|off-file|on-file)\s... constant JS_DIRECTIVE (line 35) | const JS_DIRECTIVE = /^\s*(?:\/\/|\/\*)\s*autocontext:\s*(off|on|off-fil... function parseDirectives (line 44) | function parseDirectives(bytes: Buffer, language: InstrumentLanguage): D... function parseDirectivesFromLines (line 55) | function parseDirectivesFromLines( function scanPythonTripleStrings (line 109) | function scanPythonTripleStrings( function skipSingleLineString (line 160) | function skipSingleLineString(line: string, start: number, quote: string... function scanJsBlockComment (line 177) | function scanJsBlockComment(line: string, inBlockInitial: boolean): bool... FILE: ts/src/control-plane/instrument/safety/hardcoded-defaults.ts constant HARDCODED_DEFAULT_PATTERNS (line 26) | const HARDCODED_DEFAULT_PATTERNS: readonly string[] = Object.freeze([ FILE: ts/src/control-plane/instrument/safety/secret-detector.ts type PatternSpec (line 30) | interface PatternSpec { constant PATTERNS (line 43) | const PATTERNS: readonly PatternSpec[] = [ function detectSecretLiterals (line 81) | function detectSecretLiterals(bytes: Buffer): readonly SecretMatch[] { function buildLineOffsetIndex (line 120) | function buildLineOffsetIndex(text: string): readonly number[] { function lineNumberFromOffset (line 131) | function lineNumberFromOffset(lineStarts: readonly number[], byteOffset:... function shannonEntropyBits (line 150) | function shannonEntropyBits(s: string): number { constant EXCERPT_MAX (line 167) | const EXCERPT_MAX = 40; function excerptOf (line 169) | function excerptOf(matched: string): string { function rangeAlreadyClaimed (line 176) | function rangeAlreadyClaimed( FILE: ts/src/control-plane/instrument/scanner/file-type-filter.ts function languageFromPath (line 15) | function languageFromPath(path: string): InstrumentLanguage | null { function isSupportedPath (line 44) | function isSupportedPath(path: string): boolean { FILE: ts/src/control-plane/instrument/scanner/source-file.ts function loadSourceFile (line 40) | async function loadSourceFile(args: { function fromBytes (line 49) | function fromBytes(args: { function parseDirectives (line 114) | function parseDirectives( constant PY_FROM_IMPORT (line 129) | const PY_FROM_IMPORT = /^\s*from\s+([\w.]+)\s+import\s+(.+)$/; constant PY_IMPORT (line 130) | const PY_IMPORT = /^\s*import\s+([\w.]+(?:\s+as\s+\w+)?(?:\s*,\s*[\w.]+(... constant JS_IMPORT_NAMED (line 131) | const JS_IMPORT_NAMED = /^\s*import\s+\{([^}]*)\}\s+from\s+['"]([^'"]+)[... constant JS_IMPORT_DEFAULT (line 132) | const JS_IMPORT_DEFAULT = /^\s*import\s+(\w+)\s+from\s+['"]([^'"]+)['"]\... constant JS_IMPORT_NAMESPACE (line 133) | const JS_IMPORT_NAMESPACE = /^\s*import\s+\*\s+as\s+(\w+)\s+from\s+['"](... constant JS_IMPORT_SIDEEFFECT (line 134) | const JS_IMPORT_SIDEEFFECT = /^\s*import\s+['"]([^'"]+)['"]\s*;?\s*$/; function parseExistingImports (line 136) | function parseExistingImports( function detectIndentationStyle (line 221) | function detectIndentationStyle(lines: readonly string[]): IndentationSt... function gcd (line 249) | function gcd(a: number, b: number): number { FILE: ts/src/control-plane/instrument/scanner/tree-sitter-loader.ts type LoadedParser (line 34) | interface LoadedParser { type TreeSitterTree (line 42) | interface TreeSitterTree { type GrammarLoader (line 46) | type GrammarLoader = () => Promise; constant GRAMMAR_LOADERS (line 50) | const GRAMMAR_LOADERS: Record = { function loadParser (line 77) | async function loadParser(language: InstrumentLanguage): Promise { function __resetForTests (line 188) | function __resetForTests(): void { FILE: ts/src/control-plane/instrument/scanner/walker.ts constant DEFAULT_MAX_FILE_BYTES (line 26) | const DEFAULT_MAX_FILE_BYTES = 1_048_576; type ScanOpts (line 28) | interface ScanOpts { function defaultOversizedLogger (line 118) | function defaultOversizedLogger(path: string, sizeBytes: number): void { function splitNonEmptyLines (line 123) | function splitNonEmptyLines(txt: string): string[] { function toPosix (line 130) | function toPosix(p: string): string { FILE: ts/src/control-plane/memory-packs/index.ts type OperationalMemoryPackStatus (line 4) | type OperationalMemoryPackStatus = "draft" | "sanitized" | "active" | "d... type OperationalMemoryRisk (line 5) | type OperationalMemoryRisk = "low" | "medium" | "high"; type OperationalMemoryContextSkipReason (line 6) | type OperationalMemoryContextSkipReason = type OperationalMemoryFinding (line 16) | interface OperationalMemoryFinding { type OperationalMemoryPack (line 28) | interface OperationalMemoryPack { type CompileOperationalMemoryContextInputs (line 37) | interface CompileOperationalMemoryContextInputs { type OperationalMemorySelectedFinding (line 48) | interface OperationalMemorySelectedFinding { type OperationalMemorySkippedFinding (line 59) | interface OperationalMemorySkippedFinding { type OperationalMemoryContextApplication (line 66) | interface OperationalMemoryContextApplication { type CandidateFinding (line 79) | interface CandidateFinding { function compileOperationalMemoryContext (line 85) | function compileOperationalMemoryContext( function validateOperationalMemoryPack (line 208) | function validateOperationalMemoryPack(input: unknown): ValidationResult { function validateOptionalIntegrity (line 232) | function validateOptionalIntegrity(input: unknown, errors: string[]): vo... function validateFinding (line 249) | function validateFinding(input: unknown, errors: string[]): void { function findingLeakageRiskDetail (line 274) | function findingLeakageRiskDetail(finding: OperationalMemoryFinding): st... function leakageFlagRiskDetail (line 283) | function leakageFlagRiskDetail( function findingStrategyQuarantineDetail (line 292) | function findingStrategyQuarantineDetail( function requireOptionalBoolean (line 306) | function requireOptionalBoolean( function requireOptionalContentHash (line 317) | function requireOptionalContentHash( function requireOptionalString (line 330) | function requireOptionalString( function requireString (line 341) | function requireString( function requireStringArray (line 351) | function requireStringArray( function requireEnum (line 362) | function requireEnum( function isRecord (line 373) | function isRecord(input: unknown): input is Readonly = new Set([ function validate (line 64) | function validate(registryRoot: string): ValidationReport { FILE: ts/src/control-plane/runtime/model-router.ts type ModelRouterContext (line 32) | interface ModelRouterContext { type ChooseModelInputs (line 42) | interface ChooseModelInputs { type ModelDecisionReason (line 47) | type ModelDecisionReason = "default" | "matched-route" | "fallback"; type ModelDecision (line 49) | interface ModelDecision { function lookupContextValue (line 69) | function lookupContextValue(path: string, ctx: ModelRouterContext): unkn... function operatorMatches (line 88) | function operatorMatches(op: MatchOperator, value: unknown): boolean { function matchExpressionMatches (line 116) | function matchExpressionMatches(match: MatchExpression, ctx: ModelRouter... function rolloutMatches (line 131) | function rolloutMatches( function confidenceMatches (line 151) | function confidenceMatches(route: Route, ctx: ModelRouterContext): boole... function guardrailDemotion (line 163) | function guardrailDemotion( function previousFailureReason (line 183) | function previousFailureReason(ctx: ModelRouterContext): FallbackReason ... function pickFallback (line 201) | function pickFallback( function toChosen (line 212) | function toChosen(target: { function chooseModel (line 246) | function chooseModel(inputs: ChooseModelInputs, nowIso: string): ModelDe... function buildFallback (line 281) | function buildFallback( FILE: ts/src/control-plane/runtime/task-budget.ts type TaskBudgetAction (line 1) | type TaskBudgetAction = "continue" | "write-artifact" | "stop"; type TaskBudgetCheckpoint (line 3) | interface TaskBudgetCheckpoint { type TaskBudgetInputs (line 9) | interface TaskBudgetInputs { type TaskBudgetDecision (line 16) | interface TaskBudgetDecision { function evaluateTaskBudget (line 21) | function evaluateTaskBudget(inputs: TaskBudgetInputs): TaskBudgetDecision { function formatPercent (line 42) | function formatPercent(fraction: number): string { FILE: ts/src/evidence/manifest.ts constant KIND_LABELS (line 7) | const KIND_LABELS: Record = { function renderEvidenceManifest (line 16) | function renderEvidenceManifest(workspace: EvidenceWorkspace): string { function renderArtifactDetail (line 54) | function renderArtifactDetail( FILE: ts/src/evidence/materializer.ts constant ARTIFACT_PRIORITY (line 17) | const ARTIFACT_PRIORITY: EvidenceArtifact["kind"][] = [ constant DEFAULT_BUDGET (line 26) | const DEFAULT_BUDGET = 10 * 1024 * 1024; constant MANIFEST_FILENAME (line 27) | const MANIFEST_FILENAME = "manifest.json"; constant ACCESS_LOG_FILENAME (line 28) | const ACCESS_LOG_FILENAME = "evidence_access_log.json"; type MaterializeOptions (line 30) | interface MaterializeOptions { function materializeWorkspace (line 39) | function materializeWorkspace( function cleanupPreviousWorkspace (line 107) | function cleanupPreviousWorkspace(workspaceDir: string): void { function resolveWorkspacePath (line 129) | function resolveWorkspacePath( function scanRunArtifacts (line 140) | function scanRunArtifacts( function scanKnowledgeArtifacts (line 176) | function scanKnowledgeArtifacts( function classifyFile (line 243) | function classifyFile( function extractGeneration (line 277) | function extractGeneration(str: string): number | null { function makeId (line 282) | function makeId(source: string, path: string): string { FILE: ts/src/evidence/tracker.ts constant ACCESS_LOG_FILENAME (line 7) | const ACCESS_LOG_FILENAME = "evidence_access_log.json"; function recordAccess (line 9) | function recordAccess( function saveAccessLog (line 18) | function saveAccessLog(workspace: EvidenceWorkspace): void { function loadAccessLog (line 27) | function loadAccessLog(workspaceDir: string): string[] { function computeUtilization (line 40) | function computeUtilization(workspace: EvidenceWorkspace): { FILE: ts/src/evidence/workspace.ts type EvidenceArtifact (line 3) | interface EvidenceArtifact { type EvidenceWorkspace (line 13) | interface EvidenceWorkspace { function getArtifact (line 22) | function getArtifact( function listByKind (line 29) | function listByKind( FILE: ts/src/execution/action-filter-contracts.ts type ActionDict (line 14) | type ActionDict = z.infer; type ScenarioLike (line 16) | interface ScenarioLike { type HarnessLoaderLike (line 25) | interface HarnessLoaderLike { FILE: ts/src/execution/action-filter-discovery-workflow.ts function getHarnessActions (line 7) | function getHarnessActions( function getLegalActions (line 30) | function getLegalActions( FILE: ts/src/execution/action-filter-prompt-workflow.ts function isContinuousParamSpace (line 3) | function isContinuousParamSpace(actions: ActionDict[]): boolean { function formatActionPrompt (line 19) | function formatActionPrompt(actions: ActionDict[]): string { FILE: ts/src/execution/action-filter-selection-workflow.ts function extractJsonObject (line 4) | function extractJsonObject(response: string): Record | ... function parseContinuousSelection (line 28) | function parseContinuousSelection( function parseActionSelection (line 56) | function parseActionSelection( FILE: ts/src/execution/action-filter-verification-workflow.ts function verifyAction (line 7) | function verifyAction( function getVerifyFeedback (line 16) | function getVerifyFeedback( FILE: ts/src/execution/action-filter.ts class ActionFilterHarness (line 22) | class ActionFilterHarness { method constructor (line 26) | constructor(scenario: ScenarioLike, harnessLoader: HarnessLoaderLike |... method getLegalActions (line 31) | getLegalActions(state: Record): ActionDict[] | null { method formatActionPrompt (line 35) | formatActionPrompt(actions: ActionDict[]): string { method parseActionSelection (line 39) | parseActionSelection( method verifyAction (line 46) | verifyAction( method getVerifyFeedback (line 54) | getVerifyFeedback(reason: string, state: Record): str... FILE: ts/src/execution/elo.ts function expectedScore (line 6) | function expectedScore(playerRating: number, opponentRating: number): nu... function updateElo (line 10) | function updateElo( FILE: ts/src/execution/gondolin-contract.ts type GondolinSecretRef (line 1) | interface GondolinSecretRef { type GondolinSandboxPolicy (line 6) | interface GondolinSandboxPolicy { type GondolinExecutionRequest (line 15) | interface GondolinExecutionRequest { type GondolinExecutionResult (line 22) | interface GondolinExecutionResult { type GondolinBackend (line 29) | interface GondolinBackend { function createDefaultGondolinSandboxPolicy (line 33) | function createDefaultGondolinSandboxPolicy( FILE: ts/src/execution/harness-loader.ts type HarnessValidationResult (line 19) | type HarnessValidationResult = z.infer< type HarnessSpec (line 29) | type HarnessSpec = z.infer; type HarnessSpecsPayload (line 35) | type HarnessSpecsPayload = z.infer; constant HARNESS_START (line 39) | const HARNESS_START = ""; constant HARNESS_END (line 40) | const HARNESS_END = ""; function parseArchitectHarnessSpecs (line 46) | function parseArchitectHarnessSpecs(content: string): HarnessSpec[] { type ValidatorFn (line 80) | type ValidatorFn = ( class HarnessLoader (line 85) | class HarnessLoader { method register (line 89) | register(name: string, fn: ValidatorFn): void { method unregister (line 94) | unregister(name: string): boolean { method validateStrategy (line 99) | validateStrategy( method registeredNames (line 129) | get registeredNames(): string[] { method has (line 134) | has(name: string): boolean { FILE: ts/src/execution/improvement-loop-detection.ts constant PARSE_FAILURE_MARKERS (line 3) | const PARSE_FAILURE_MARKERS = [ function isParseFailure (line 10) | function isParseFailure(score: number, reasoning: string): boolean { function isImproved (line 17) | function isImproved(rounds: RoundResult[]): boolean { FILE: ts/src/execution/improvement-loop-policy.ts constant PLATEAU_EPSILON (line 3) | const PLATEAU_EPSILON = 0.01; constant NEAR_THRESHOLD_MARGIN (line 4) | const NEAR_THRESHOLD_MARGIN = 0.02; constant PLATEAU_PATIENCE (line 5) | const PLATEAU_PATIENCE = 2; constant DIMENSION_DELTA_THRESHOLD (line 6) | const DIMENSION_DELTA_THRESHOLD = 0.05; function updateDimensionTrajectory (line 8) | function updateDimensionTrajectory( function applyScoreDeltaPolicy (line 20) | function applyScoreDeltaPolicy(opts: { function evaluatePlateauState (line 55) | function evaluatePlateauState(opts: { function evaluateThresholdState (line 76) | function evaluateThresholdState(opts: { function buildRevisionFeedbackResult (line 134) | function buildRevisionFeedbackResult(opts: { FILE: ts/src/execution/improvement-loop-result.ts function findWorstDimension (line 7) | function findWorstDimension(dimensionScores: Record): { function buildRoundResult (line 28) | function buildRoundResult(opts: { function buildImprovementResult (line 53) | function buildImprovementResult(opts: { FILE: ts/src/execution/improvement-loop.ts type ImprovementLoopOpts (line 20) | interface ImprovementLoopOpts { class ImprovementLoop (line 31) | class ImprovementLoop { method constructor (line 41) | constructor(opts: ImprovementLoopOpts) { method run (line 52) | async run(opts: { FILE: ts/src/execution/judge-executor.ts class JudgeExecutor (line 8) | class JudgeExecutor { method constructor (line 11) | constructor(task: AgentTaskInterface) { method execute (line 19) | async execute( FILE: ts/src/execution/output-cleaner.ts function stripLastSection (line 13) | function stripLastSection(text: string, header: string): string { function cleanRevisionOutput (line 31) | function cleanRevisionOutput(output: string): string { FILE: ts/src/execution/queued-task-browser-context.ts type QueuedTaskBrowserContextRequest (line 9) | interface QueuedTaskBrowserContextRequest { type QueuedTaskBrowserContextService (line 15) | interface QueuedTaskBrowserContextService { type QueuedTaskBrowserContextSettingsLike (line 19) | interface QueuedTaskBrowserContextSettingsLike extends BrowserContextCap... type QueuedTaskBrowserContextDependencies (line 23) | interface QueuedTaskBrowserContextDependencies { constant DEFAULT_DEPENDENCIES (line 27) | const DEFAULT_DEPENDENCIES: QueuedTaskBrowserContextDependencies = { class SettingsBackedQueuedTaskBrowserContextService (line 31) | class SettingsBackedQueuedTaskBrowserContextService implements QueuedTas... method constructor (line 35) | constructor( method buildReferenceContext (line 43) | async buildReferenceContext(request: QueuedTaskBrowserContextRequest):... function createQueuedTaskBrowserContextService (line 56) | function createQueuedTaskBrowserContextService( function mergeQueuedTaskReferenceContext (line 63) | function mergeQueuedTaskReferenceContext( FILE: ts/src/execution/sandbox.ts type SandboxManagerOpts (line 12) | interface SandboxManagerOpts { type Sandbox (line 20) | interface Sandbox { class SandboxManager (line 29) | class SandboxManager { method constructor (line 37) | constructor(opts: SandboxManagerOpts) { method create (line 45) | create(scenarioName: string, userId = "anonymous"): Sandbox { method getStatus (line 65) | getStatus(sandboxId: string): Sandbox | null { method list (line 69) | list(): Sandbox[] { method run (line 73) | async run(sandboxId: string, generations = 1): Promise; type MatchResult (line 21) | interface MatchResult { type ExecuteMatchFn (line 28) | type ExecuteMatchFn = ( type StrategyValidatorOpts (line 34) | interface StrategyValidatorOpts { class StrategyValidator (line 45) | class StrategyValidator { method constructor (line 49) | constructor(opts: StrategyValidatorOpts) { method validate (line 58) | async validate(strategy: Record): Promise = T | Promise; type TaskQueueWorkerStore (line 5) | interface TaskQueueWorkerStore { type TaskQueueEnqueueStore (line 19) | interface TaskQueueEnqueueStore extends TaskQueueWorkerStore { FILE: ts/src/execution/task-runner-config.ts type TaskConfig (line 13) | interface TaskConfig { type EnqueueTaskRequest (line 29) | interface EnqueueTaskRequest { function resolveRlmConfig (line 81) | function resolveRlmConfig(raw: Partial | null | undefined... function parseTaskConfig (line 86) | function parseTaskConfig(json: string | null): TaskConfig { function serializeTaskResult (line 120) | function serializeTaskResult( function buildEnqueueTaskConfig (line 142) | function buildEnqueueTaskConfig(opts?: EnqueueTaskRequest): Record { method describeTask (line 96) | describeTask(): string { method evaluateOutput (line 100) | async evaluateOutput( method getRlmSessions (line 127) | getRlmSessions(): RlmSessionRecord[] { method generateOutput (line 131) | async generateOutput(context?: { method reviseOutput (line 148) | async reviseOutput( type TaskRunnerOpts (line 170) | interface TaskRunnerOpts { type TaskRunnerFromSettingsOpts (line 182) | interface TaskRunnerFromSettingsOpts class TaskRunner (line 190) | class TaskRunner { method constructor (line 203) | constructor(opts: TaskRunnerOpts) { method tasksProcessed (line 215) | get tasksProcessed(): number { method runOnce (line 219) | async runOnce(): Promise { method runBatch (line 227) | async runBatch(limit?: number): Promise { method run (line 237) | async run(): Promise { method shutdown (line 260) | shutdown(): void { method #processTask (line 264) | async #processTask(task: TaskQueueRow): Promise { method #sleep (line 295) | async #sleep(seconds: number): Promise { function enqueueTask (line 305) | function enqueueTask( function createTaskRunnerFromSettings (line 313) | function createTaskRunnerFromSettings(opts: TaskRunnerFromSettingsOpts):... FILE: ts/src/execution/tournament.ts type TournamentOpts (line 10) | interface TournamentOpts { type MatchResult (line 18) | interface MatchResult { type TournamentResult (line 27) | interface TournamentResult { class TournamentRunner (line 36) | class TournamentRunner { method constructor (line 41) | constructor( method run (line 61) | run(strategy: Record): TournamentResult { FILE: ts/src/extensions/hooks.ts type HookEvents (line 1) | enum HookEvents { type HookResultOptions (line 17) | interface HookResultOptions { class HookResult (line 25) | class HookResult { method constructor (line 32) | constructor(opts: HookResultOptions = {}) { type HookError (line 41) | interface HookError { class HookEvent (line 47) | class HookEvent { method constructor (line 55) | constructor( method raiseIfBlocked (line 68) | raiseIfBlocked(): void { type HookHandler (line 75) | type HookHandler = (event: HookEvent) => HookResult | Record unknown | Promise): string[] { function loadTarget (line 42) | async function loadTarget(ref: string): Promise { function splitModuleRef (line 66) | function splitModuleRef(ref: string): [string, string] { function loadModule (line 74) | async function loadModule(moduleRef: string): Promise { function isPathLike (line 87) | function isPathLike(ref: string): boolean { function invokeExtension (line 97) | async function invokeExtension(target: unknown, api: ExtensionAPI): Prom... function callExtension (line 115) | async function callExtension(func: ExtensionCallable, api: ExtensionAPI)... function isRecord (line 119) | function isRecord(value: unknown): value is Record { function isCallable (line 123) | function isCallable(value: unknown): value is ExtensionCallable { FILE: ts/src/extensions/provider-hooks.ts type HookedProviderCompletionOpts (line 4) | interface HookedProviderCompletionOpts { function completeWithProviderHooks (line 16) | async function completeWithProviderHooks( function emitHook (line 70) | function emitHook( function readString (line 83) | function readString(value: unknown): string | undefined { function readNumber (line 87) | function readNumber(value: unknown): number | undefined { function readNumberRecord (line 91) | function readNumberRecord(value: unknown): Record | unde... function isRecord (line 104) | function isRecord(value: unknown): value is Record { FILE: ts/src/integrations/_shared/proxy-runtime.ts type InvocationClock (line 12) | interface InvocationClock { type InvocationTiming (line 17) | interface InvocationTiming { type ProviderSourceInfo (line 23) | interface ProviderSourceInfo { function nowIso (line 28) | function nowIso(): string { function startInvocationClock (line 32) | function startInvocationClock(): InvocationClock { function finishInvocationTiming (line 36) | function finishInvocationTiming(clock: InvocationClock): InvocationTiming { function resolveProviderIdentity (line 44) | function resolveProviderIdentity( function loadInstallSaltSync (line 70) | function loadInstallSaltSync(cwd: string): string | null { function resolvePackageVersion (line 83) | function resolvePackageVersion(importMetaUrl: string): string { function buildProviderSourceInfo (line 110) | function buildProviderSourceInfo(importMetaUrl: string): ProviderSourceI... FILE: ts/src/integrations/_shared/session.ts type SessionContext (line 12) | type SessionContext = { function autocontextSession (line 23) | async function autocontextSession( function currentSession (line 34) | function currentSession(): SessionContext { FILE: ts/src/integrations/_shared/sink.ts type TraceSink (line 12) | interface TraceSink { type FileSinkOptions (line 18) | interface FileSinkOptions { class FileSink (line 34) | class FileSink implements TraceSink { method constructor (line 43) | constructor(path: string, options?: FileSinkOptions) { method add (line 55) | add(trace: Record): void { method flush (line 69) | flush(): void { method close (line 75) | close(): void { method _flushLocked (line 81) | private _flushLocked(): void { function _sortedReplacer (line 113) | function _sortedReplacer(_key: string, value: unknown): unknown { FILE: ts/src/integrations/anthropic/content.ts type ContentBlock (line 3) | type ContentBlock = { function flattenContent (line 11) | function flattenContent(content: string | ContentBlock[]): string { type ToolCall (line 19) | type ToolCall = { toolName: string; args: Record }; function extractToolUses (line 21) | function extractToolUses(content: string | ContentBlock[]): ToolCall[] |... FILE: ts/src/integrations/anthropic/proxy.ts constant WRAPPED_SENTINEL (line 27) | const WRAPPED_SENTINEL = Symbol.for("autocontext.wrapped"); function _responseUsageAndContent (line 29) | function _responseUsageAndContent(resp: Record): { class ClientProxy (line 41) | class ClientProxy { method constructor (line 47) | constructor(opts: { method _sourceInfo (line 59) | _sourceInfo(): { emitter: string; sdk: { name: string; version: string... method _env (line 63) | _env(): { environmentTag: string; appId: string } { method _invokeNonStreaming (line 67) | async _invokeNonStreaming(kwargs: Record): Promise): AnthropicStreamProxy { method _invokeHelperStreaming (line 166) | _invokeHelperStreaming(kwargs: Record): unknown { FILE: ts/src/integrations/anthropic/stream-proxy.ts type OnFinalize (line 14) | type OnFinalize = ( function _abandonedCallback (line 25) | function _abandonedCallback( class AnthropicStreamProxy (line 54) | class AnthropicStreamProxy implements AsyncIterable { method constructor (line 64) | constructor(opts: { innerStream: unknown; onFinalize: OnFinalize }) { method _makeIterator (line 94) | private async *_makeIterator(): AsyncGenerator { method _handleEvent (line 157) | private _handleEvent(ev: Record): void { method [Symbol.asyncIterator] (line 90) | [Symbol.asyncIterator](): AsyncIterator { type HelperOutcome (line 212) | type HelperOutcome = Record; type HelperMessage (line 213) | type HelperMessage = Record; function _currentSnapshot (line 215) | function _currentSnapshot( function wrapHelperStream (line 224) | function wrapHelperStream(opts: { FILE: ts/src/integrations/anthropic/taxonomy.ts function mapExceptionToReason (line 15) | function mapExceptionToReason(exc: unknown): AnthropicErrorReasonKey { FILE: ts/src/integrations/anthropic/trace-builder.ts function _redact (line 19) | function _redact(msg: string): string { function _nowIso (line 25) | function _nowIso(): string { type RequestSnapshot (line 29) | type RequestSnapshot = { function buildRequestSnapshot (line 35) | function buildRequestSnapshot(opts: { function _mapUsage (line 43) | function _mapUsage(responseUsage: Record | null | undef... function _identityToSession (line 76) | function _identityToSession( function _normalizeRequestMessages (line 85) | function _normalizeRequestMessages( function buildSuccessTrace (line 101) | function buildSuccessTrace(opts: { function buildFailureTrace (line 140) | function buildFailureTrace(opts: { type AccumulatedBlock (line 175) | type AccumulatedBlock = { function finalizeStreamingTrace (line 183) | function finalizeStreamingTrace(opts: { FILE: ts/src/integrations/anthropic/wrap.ts function instrumentClient (line 11) | function instrumentClient( FILE: ts/src/integrations/browser/chrome-cdp-discovery.ts class ChromeCdpDiscoveryError (line 4) | class ChromeCdpDiscoveryError extends Error { method constructor (line 5) | constructor(message: string) { type ChromeCdpTarget (line 11) | interface ChromeCdpTarget { type ChromeCdpTargetDiscoveryPort (line 19) | interface ChromeCdpTargetDiscoveryPort { type BrowserFetchResponseLike (line 26) | interface BrowserFetchResponseLike { type BrowserFetchFn (line 32) | type BrowserFetchFn = (input: string, init?: RequestInit) => Promise { method resolveWebSocketUrl (line 66) | async resolveWebSocketUrl( function selectChromeCdpTarget (line 75) | function selectChromeCdpTarget( function parseTarget (line 108) | function parseTarget(payload: unknown): ChromeCdpTarget | null { function isTargetAllowed (line 122) | function isTargetAllowed(config: BrowserSessionConfig, url: string): boo... function defaultFetch (line 133) | async function defaultFetch(input: string, init?: RequestInit): Promise<... function isRecord (line 138) | function isRecord(value: unknown): value is Record { FILE: ts/src/integrations/browser/chrome-cdp-runtime.ts type ChromeCdpTransportFactory (line 11) | type ChromeCdpTransportFactory = (url: string) => ChromeCdpTransport; type BrowserSessionIdFactory (line 12) | type BrowserSessionIdFactory = () => string; type ChromeCdpRuntimeOpts (line 14) | interface ChromeCdpRuntimeOpts { class ChromeCdpRuntime (line 24) | class ChromeCdpRuntime implements BrowserRuntimePort { method constructor (line 34) | constructor(opts: ChromeCdpRuntimeOpts) { method createSession (line 47) | async createSession(config: BrowserSessionConfig): Promise BrowserWebSocketLike; type ChromeCdpWebSocketTransportOpts (line 25) | interface ChromeCdpWebSocketTransportOpts { type PendingRequest (line 31) | type PendingRequest = { constant OPEN_READY_STATE (line 36) | const OPEN_READY_STATE = 1; constant CLOSED_READY_STATE (line 37) | const CLOSED_READY_STATE = 3; class ChromeCdpWebSocketTransport (line 39) | class ChromeCdpWebSocketTransport { method constructor (line 49) | constructor(opts: ChromeCdpWebSocketTransportOpts) { method connect (line 55) | async connect(): Promise { method send (line 94) | async send(method: string, params: Record = {}): Prom... method close (line 115) | async close(): Promise { method attachSocketHandlers (line 133) | private attachSocketHandlers(socket: BrowserWebSocketLike): void { method failPending (line 168) | private failPending(error: ChromeCdpTransportError): void { function decodeMessage (line 177) | function decodeMessage(data: unknown): Record | null { function rawDataToString (line 190) | function rawDataToString(data: unknown): string | null { function errorMessage (line 209) | function errorMessage(error: Record): string { function asTransportError (line 217) | function asTransportError(error: unknown, prefix: string): ChromeCdpTran... function isRecord (line 227) | function isRecord(value: unknown): value is Record { FILE: ts/src/integrations/browser/chrome-cdp.ts constant SNAPSHOT_EXPRESSION (line 23) | const SNAPSHOT_EXPRESSION = ` type ChromeCdpTransport (line 73) | interface ChromeCdpTransport { type ChromeCdpSessionOpts (line 78) | interface ChromeCdpSessionOpts { type BrowserActionFor (line 85) | type BrowserActionFor = Extract { method snapshot (line 130) | async snapshot(): Promise { method click (line 185) | async click(ref: string): Promise { method fill (line 213) | async fill( method press (line 250) | async press(key: string): Promise { method screenshot (line 277) | async screenshot(name: string): Promise { method close (line 305) | async close(): Promise { method ensureDomainsEnabled (line 309) | private async ensureDomainsEnabled(): Promise { method recordActionResult (line 318) | private recordActionResult(opts: { method persistSnapshotArtifacts (line 345) | private persistSnapshotArtifacts(opts: { method selectorForRef (line 360) | private selectorForRef(ref: string): string { method recordInteractiveResult (line 364) | private async recordInteractiveResult(opts: { method readCurrentUrl (line 391) | private async readCurrentUrl(): Promise { function buildAction (line 406) | function buildAction( function assertValidDocument (line 426) | function assertValidDocument( function extractResultValue (line 438) | function extractResultValue(response: Record): Record { function emptyArtifacts (line 511) | function emptyArtifacts(): BrowserArtifactPaths { function evaluateNavigationUrlPolicy (line 519) | function evaluateNavigationUrlPolicy( function newId (line 533) | function newId(prefix: string): string { FILE: ts/src/integrations/browser/context-capture.ts constant MAX_BROWSER_VISIBLE_TEXT_CHARS (line 3) | const MAX_BROWSER_VISIBLE_TEXT_CHARS = 1200; type CapturedBrowserContext (line 5) | interface CapturedBrowserContext { type BrowserContextCaptureSettingsLike (line 13) | type BrowserContextCaptureSettingsLike = BrowserRuntimeSettingsLike; type CaptureBrowserContextRequest (line 15) | interface CaptureBrowserContextRequest { type BrowserContextCaptureDependencies (line 21) | interface BrowserContextCaptureDependencies { constant DEFAULT_DEPENDENCIES (line 25) | const DEFAULT_DEPENDENCIES: BrowserContextCaptureDependencies = { function captureBrowserContextFromUrl (line 29) | async function captureBrowserContextFromUrl( function renderCapturedBrowserContext (line 60) | function renderCapturedBrowserContext(context: CapturedBrowserContext): ... function trimCapturedBrowserText (line 76) | function trimCapturedBrowserText(text: string): string { FILE: ts/src/integrations/browser/contract/generated-types.ts type BrowserAction (line 7) | type BrowserAction = type BrowserAuditEvent (line 73) | interface BrowserAuditEvent { type BrowserSessionConfig (line 102) | type BrowserSessionConfig = { type BrowserSnapshot (line 118) | interface BrowserSnapshot { type BrowserSharedDefs (line 138) | interface BrowserSharedDefs { FILE: ts/src/integrations/browser/contract/types.ts type BrowserContractSchemaVersion (line 8) | type BrowserContractSchemaVersion = "1.0"; constant BROWSER_CONTRACT_SCHEMA_VERSION (line 9) | const BROWSER_CONTRACT_SCHEMA_VERSION: BrowserContractSchemaVersion = "1... type BrowserSessionConfig (line 11) | type BrowserSessionConfig = BrowserSessionConfigShape; type BrowserAction (line 12) | type BrowserAction = BrowserActionShape; type BrowserSnapshot (line 13) | type BrowserSnapshot = BrowserSnapshotShape; type BrowserAuditEvent (line 14) | type BrowserAuditEvent = BrowserAuditEventShape; type BrowserProfileMode (line 16) | type BrowserProfileMode = BrowserSessionConfig["profileMode"]; type BrowserPolicyReason (line 17) | type BrowserPolicyReason = BrowserAuditEvent["policyReason"]; type BrowserSnapshotRef (line 18) | type BrowserSnapshotRef = BrowserSnapshot["refs"][number]; type BrowserActionType (line 19) | type BrowserActionType = BrowserAction["type"]; type BrowserFieldKind (line 20) | type BrowserFieldKind = Extract["params... type BrowserValidationResult (line 22) | type BrowserValidationResult = type BrowserPolicyDecision (line 26) | type BrowserPolicyDecision = { FILE: ts/src/integrations/browser/contract/validators.ts function toResult (line 36) | function toResult(validate: ValidateFunction, input: unknown): BrowserVa... function formatError (line 47) | function formatError(error: ErrorObject): string { function validateBrowserSessionConfig (line 52) | function validateBrowserSessionConfig(input: unknown): BrowserValidation... function validateBrowserAction (line 56) | function validateBrowserAction(input: unknown): BrowserValidationResult { function validateBrowserSnapshot (line 60) | function validateBrowserSnapshot(input: unknown): BrowserValidationResult { function validateBrowserAuditEvent (line 64) | function validateBrowserAuditEvent(input: unknown): BrowserValidationRes... type _TypeCheck (line 68) | type _TypeCheck = FILE: ts/src/integrations/browser/evidence.ts type BrowserArtifactPaths (line 7) | interface BrowserArtifactPaths { type BrowserEvidenceStoreOpts (line 13) | interface BrowserEvidenceStoreOpts { type PersistSnapshotArtifactsOpts (line 17) | interface PersistSnapshotArtifactsOpts { class BrowserEvidenceStore (line 24) | class BrowserEvidenceStore { method constructor (line 27) | constructor(opts: BrowserEvidenceStoreOpts) { method appendAuditEvent (line 31) | appendAuditEvent(event: BrowserAuditEvent): string { method persistSnapshotArtifacts (line 40) | persistSnapshotArtifacts(opts: PersistSnapshotArtifactsOpts): BrowserA... method sessionDir (line 65) | private sessionDir(sessionId: string): string { method artifactPath (line 69) | private artifactPath(sessionId: string, subdir: string, filename: stri... function assertValidAuditEvent (line 83) | function assertValidAuditEvent(event: BrowserAuditEvent): void { function safePathComponent (line 90) | function safePathComponent(value: string, fallback: string): string { FILE: ts/src/integrations/browser/factory.ts type BrowserRuntimeSettingsLike (line 5) | interface BrowserRuntimeSettingsLike extends BrowserSettingsLike { type ConfiguredBrowserRuntime (line 11) | interface ConfiguredBrowserRuntime { function createBrowserRuntimeFromSettings (line 16) | function createBrowserRuntimeFromSettings( FILE: ts/src/integrations/browser/policy.ts constant INTERNAL_ALLOWED_URLS (line 10) | const INTERNAL_ALLOWED_URLS = new Set(["about:blank"]); function normalizeBrowserAllowedDomains (line 12) | function normalizeBrowserAllowedDomains(input: string | readonly string[... function buildDefaultBrowserSessionConfig (line 32) | function buildDefaultBrowserSessionConfig( function resolveBrowserSessionConfig (line 51) | function resolveBrowserSessionConfig(settings: BrowserSettingsLike): Bro... function evaluateBrowserActionPolicy (line 65) | function evaluateBrowserActionPolicy( function assertValidBrowserSessionConfig (line 78) | function assertValidBrowserSessionConfig(config: BrowserSessionConfig): ... function evaluateNavigationPolicy (line 86) | function evaluateNavigationPolicy( function parseNavigationTarget (line 110) | function parseNavigationTarget(url: string): { function matchesAllowedDomain (line 135) | function matchesAllowedDomain(hostname: string, allowedDomain: string): ... FILE: ts/src/integrations/browser/types.ts type BrowserSessionPort (line 23) | interface BrowserSessionPort { type BrowserRuntimePort (line 34) | interface BrowserRuntimePort { type BrowserSettingsLike (line 38) | interface BrowserSettingsLike { FILE: ts/src/integrations/openai/proxy.ts constant WRAPPED_SENTINEL (line 27) | const WRAPPED_SENTINEL = Symbol.for("autocontext.wrapped"); function _isAsyncClient (line 29) | function _isAsyncClient(client: unknown): boolean { class ClientProxy (line 35) | class ClientProxy { method constructor (line 42) | constructor(opts: { method _sourceInfo (line 55) | _sourceInfo(): { emitter: string; sdk: { name: string; version: string... method _env (line 59) | _env(): { environmentTag: string; appId: string } { method _invokeChatCompletionsCreate (line 63) | _invokeChatCompletionsCreate(kwargs: Record): unknown { method _invokeNonStreaming (line 72) | _invokeNonStreaming(kwargs: Record): unknown { method _invokeNonStreamingAsync (line 149) | async _invokeNonStreamingAsync(kwargs: Record): Promi... method _invokeStreaming (line 205) | _invokeStreaming(kwargs: Record): unknown { method _invokeStreamingAsync (line 256) | async _invokeStreamingAsync(kwargs: Record): Promise<... method _invokeResponsesCreate (line 309) | _invokeResponsesCreate( FILE: ts/src/integrations/openai/stream-proxy.ts type OnFinalize (line 11) | type OnFinalize = (outcome: Record) => void; function _abandonedCallback (line 17) | function _abandonedCallback( class AsyncStreamProxy (line 36) | class AsyncStreamProxy implements AsyncIterable { method constructor (line 47) | constructor(opts: { innerStream: unknown; onFinalize: OnFinalize }) { method _makeIterator (line 69) | private async *_makeIterator(): AsyncGenerator { method _accumulate (line 108) | private _accumulate(chunk: Record): void { method accumulated (line 129) | accumulated(): typeof this._accumulator { method [Symbol.asyncIterator] (line 65) | [Symbol.asyncIterator](): AsyncIterator { FILE: ts/src/integrations/openai/taxonomy.ts function mapExceptionToReason (line 16) | function mapExceptionToReason(err: unknown): OpenAiErrorReasonKey { function isMappedClassPresent (line 27) | function isMappedClassPresent(className: string): boolean { FILE: ts/src/integrations/openai/trace-builder.ts function _redact (line 20) | function _redact(msg: string): string { function _nowIso (line 28) | function _nowIso(): string { type RequestSnapshot (line 32) | type RequestSnapshot = { function normalizeMessages (line 38) | function normalizeMessages( function normalizeToolCalls (line 48) | function normalizeToolCalls( function buildRequestSnapshot (line 75) | function buildRequestSnapshot(opts: { function _mapUsage (line 83) | function _mapUsage( function _identityToSession (line 97) | function _identityToSession( function buildSuccessTrace (line 106) | function buildSuccessTrace(opts: { function buildFailureTrace (line 132) | function buildFailureTrace(opts: { function finalizeStreamingTrace (line 162) | function finalizeStreamingTrace(opts: { FILE: ts/src/integrations/openai/wrap.ts function instrumentClient (line 9) | function instrumentClient( FILE: ts/src/investigation/browser-context.ts type InvestigationBrowserContext (line 11) | interface InvestigationBrowserContext extends CapturedBrowserContext {} type InvestigationBrowserContextSettingsLike (line 13) | interface InvestigationBrowserContextSettingsLike extends BrowserContext... type CaptureInvestigationBrowserContextRequest (line 17) | interface CaptureInvestigationBrowserContextRequest { type InvestigationBrowserContextDependencies (line 23) | interface InvestigationBrowserContextDependencies { constant DEFAULT_DEPENDENCIES (line 27) | const DEFAULT_DEPENDENCIES: InvestigationBrowserContextDependencies = { function captureInvestigationBrowserContext (line 31) | async function captureInvestigationBrowserContext( function renderInvestigationBrowserContext (line 42) | function renderInvestigationBrowserContext(context: InvestigationBrowser... function buildInvestigationBrowserEvidence (line 46) | function buildInvestigationBrowserEvidence(context: InvestigationBrowser... function buildInvestigationBrowserSummary (line 58) | function buildInvestigationBrowserSummary(context: InvestigationBrowserC... FILE: ts/src/investigation/engine.ts class InvestigationEngine (line 28) | class InvestigationEngine { method constructor (line 32) | constructor(provider: LLMProvider, knowledgeRoot: string) { method run (line 37) | async run(request: InvestigationRequest): Promise { FILE: ts/src/investigation/investigation-analysis-result-workflow.ts type InvestigationAnalysisResultRequest (line 18) | interface InvestigationAnalysisResultRequest { type InvestigationAnalysisResultDependencies (line 28) | interface InvestigationAnalysisResultDependencies { function executeInvestigationAnalysisResult (line 40) | async function executeInvestigationAnalysisResult( FILE: ts/src/investigation/investigation-analysis-workflow.ts type CollectedEvidenceItem (line 7) | interface CollectedEvidenceItem { function normalizeText (line 13) | function normalizeText(text: string): string { function tokenize (line 21) | function tokenize(text: string): string[] { function similarityScore (line 33) | function similarityScore(left: string, right: string): number { function buildInvestigationEvidence (line 43) | function buildInvestigationEvidence(execution: { function evaluateInvestigationHypotheses (line 61) | function evaluateInvestigationHypotheses( function buildInvestigationConclusion (line 120) | function buildInvestigationConclusion( function identifyInvestigationUnknowns (line 150) | function identifyInvestigationUnknowns( function recommendInvestigationNextSteps (line 165) | function recommendInvestigationNextSteps( FILE: ts/src/investigation/investigation-contracts.ts type InvestigationRequest (line 3) | interface InvestigationRequest { type Hypothesis (line 12) | interface Hypothesis { type Evidence (line 19) | interface Evidence { type Conclusion (line 29) | interface Conclusion { type InvestigationResult (line 35) | interface InvestigationResult { FILE: ts/src/investigation/investigation-engine-helpers.ts function generateInvestigationId (line 10) | function generateInvestigationId(): string { function deriveInvestigationName (line 14) | function deriveInvestigationName(description: string): string { function parseInvestigationJson (line 19) | function parseInvestigationJson(text: string): Record |... function normalizePositiveInteger (line 40) | function normalizePositiveInteger(value: number | undefined): number | u... function persistInvestigationArtifacts (line 48) | function persistInvestigationArtifacts( function buildFailedInvestigationResult (line 72) | function buildFailedInvestigationResult( FILE: ts/src/investigation/investigation-execution-workflow.ts type CollectedInvestigationEvidenceItem (line 1) | interface CollectedInvestigationEvidenceItem { type InvestigationExecutionResult (line 8) | interface InvestigationExecutionResult { function nonEmptyString (line 14) | function nonEmptyString(value: unknown): string | undefined { function executeGeneratedInvestigation (line 18) | async function executeGeneratedInvestigation(opts: { FILE: ts/src/investigation/investigation-generation-parsing.ts function normalizeInvestigationConfidence (line 6) | function normalizeInvestigationConfidence(confidence: unknown): number { function parseInvestigationSpecResponse (line 12) | function parseInvestigationSpecResponse(text: string): Record { class SequentialDelegatedJudge (line 96) | class SequentialDelegatedJudge implements JudgeInterface { method constructor (line 101) | constructor( method evaluate (line 109) | async evaluate(_opts: EvaluateOpts): Promise { FILE: ts/src/judge/llm-judge.ts constant DEFAULT_FACTUAL_CONFIDENCE (line 7) | const DEFAULT_FACTUAL_CONFIDENCE = 0.5; type LLMJudgeOpts (line 9) | interface LLMJudgeOpts { function detectGeneratedDimensions (line 19) | function detectGeneratedDimensions( class LLMJudge (line 37) | class LLMJudge { method constructor (line 46) | constructor(opts: LLMJudgeOpts) { method rubricWarnings (line 62) | get rubricWarnings(): string[] { method evaluate (line 66) | async evaluate(opts: { method buildJudgePrompt (line 208) | private buildJudgePrompt(opts: { method emitHook (line 274) | private emitHook( function readString (line 287) | function readString(value: unknown): string | undefined { function readNumber (line 291) | function readNumber(value: unknown): number | undefined { FILE: ts/src/judge/parse.ts constant RESULT_START (line 11) | const RESULT_START = ""; constant RESULT_END (line 12) | const RESULT_END = ""; type ParseMethod (line 14) | type ParseMethod = "raw_json" | "code_block" | "markers" | "plaintext" |... type ParsedJudge (line 16) | interface ParsedJudge { function clamp (line 23) | function clamp(v: number): number { function extractFromDict (line 27) | function extractFromDict( function tryMarkerParse (line 47) | function tryMarkerParse(response: string): Record | null { function tryCodeBlockParse (line 64) | function tryCodeBlockParse(response: string): Record | ... function tryRawJsonParse (line 80) | function tryRawJsonParse(response: string): Record | nu... function tryPlaintextParse (line 105) | function tryPlaintextParse(response: string): ParsedJudge | null { function parseJudgeResponse (line 129) | function parseJudgeResponse(response: string): ParsedJudge { FILE: ts/src/judge/rubric-coherence.ts type RubricCoherenceResult (line 6) | interface RubricCoherenceResult { function checkRubricCoherence (line 11) | function checkRubricCoherence(rubric: string): RubricCoherenceResult { FILE: ts/src/knowledge/agent-task-solve-execution.ts function readString (line 14) | function readString(spec: Record, ...keys: string[]): s... function readStringArray (line 24) | function readStringArray(spec: Record, ...keys: string[... function isRecord (line 34) | function isRecord(value: unknown): value is Record { function readRecordArray (line 38) | function readRecordArray( function readNumber (line 51) | function readNumber(spec: Record, fallback: number, ...... function buildAgentTaskSolveSpec (line 67) | function buildAgentTaskSolveSpec( type AgentTaskSolveTask (line 91) | type AgentTaskSolveTask = AgentTaskInterface & { type AgentTaskSolveLoop (line 96) | interface AgentTaskSolveLoop { type AgentTaskSolveExecutionDeps (line 106) | interface AgentTaskSolveExecutionDeps { type AgentTaskSolveExecutionResult (line 121) | interface AgentTaskSolveExecutionResult { function defaultCreateLoop (line 126) | function defaultCreateLoop(opts: { function executeAgentTaskSolve (line 140) | async function executeAgentTaskSolve(opts: { FILE: ts/src/knowledge/artifact-store.ts type ArtifactStoreOpts (line 26) | interface ArtifactStoreOpts { type AppendedCompactionEntries (line 33) | interface AppendedCompactionEntries { type ArtifactWriteRequest (line 40) | interface ArtifactWriteRequest { class ArtifactStore (line 49) | class ArtifactStore { method constructor (line 56) | constructor(opts: ArtifactStoreOpts) { method generationDir (line 67) | generationDir(runId: string, generationIndex: number): string { method compactionLedgerPath (line 71) | compactionLedgerPath(runId: string): string { method compactionLatestEntryPath (line 75) | compactionLatestEntryPath(runId: string): string { method appendCompactionEntries (line 79) | appendCompactionEntries( method readCompactionEntries (line 128) | readCompactionEntries(runId: string, opts: { limit?: number } = {}): C... method latestCompactionEntryId (line 132) | latestCompactionEntryId(runId: string): string { method writeJson (line 136) | writeJson(path: string, payload: Record): void { method writeMarkdown (line 148) | writeMarkdown(path: string, content: string): void { method appendMarkdown (line 159) | appendMarkdown(path: string, content: string, heading: string): void { method readPlaybook (line 176) | readPlaybook(scenarioName: string): string { method writePlaybook (line 180) | writePlaybook(scenarioName: string, content: string): void { method readDeadEnds (line 197) | readDeadEnds(scenarioName: string): string { method appendDeadEnd (line 202) | appendDeadEnd(scenarioName: string, entry: string): void { method replaceDeadEnds (line 220) | replaceDeadEnds(scenarioName: string, content: string): void { method writeSessionReport (line 225) | writeSessionReport(scenarioName: string, runId: string, content: strin... method readNotebook (line 231) | readNotebook(sessionId: string): Record | null { method writeNotebook (line 242) | writeNotebook(sessionId: string, notebook: Record): v... method deleteNotebook (line 246) | deleteNotebook(sessionId: string): void { method notebookPath (line 253) | private notebookPath(sessionId: string): string { method applyArtifactWriteHook (line 263) | private applyArtifactWriteHook(request: ArtifactWriteRequest): Artifac... method validateArtifactHookPath (line 305) | private validateArtifactHookPath(originalPath: string, nextPath: strin... method managedRootForPath (line 315) | private managedRootForPath(path: string): string | null { method readSessionReports (line 324) | readSessionReports(scenarioName: string, limit = 3): string { function readString (line 347) | function readString(value: unknown): string | null { function readCompactionEntries (line 351) | function readCompactionEntries(value: unknown): CompactionEntry[] | null { function readCompactionEntriesJsonl (line 376) | function readCompactionEntriesJsonl(content: string | undefined): Compac... function ensureTrailingNewline (line 391) | function ensureTrailingNewline(content: string): string { function isRecord (line 395) | function isRecord(value: unknown): value is Record { function pathIsInsideRoot (line 399) | function pathIsInsideRoot(root: string, path: string): boolean { FILE: ts/src/knowledge/built-in-game-solve-execution.ts type BuiltInGameSolveExecutionResult (line 8) | interface BuiltInGameSolveExecutionResult { type ScenarioClass (line 13) | type ScenarioClass = new () => ScenarioInterface; type BuiltInGameSolveDeps (line 15) | interface BuiltInGameSolveDeps { function defaultResolveScenarioClass (line 35) | async function defaultResolveScenarioClass(scenarioName: string): Promis... function defaultCreateRunner (line 40) | async function defaultCreateRunner(opts: { function executeBuiltInGameSolve (line 55) | async function executeBuiltInGameSolve(opts: { FILE: ts/src/knowledge/codegen-solve-execution.ts type CodegenSolveExecutionResult (line 11) | interface CodegenSolveExecutionResult { type CodegenSolveDeps (line 16) | interface CodegenSolveDeps { function defaultGenerateSource (line 33) | async function defaultGenerateSource( function defaultExecuteScenario (line 45) | async function defaultExecuteScenario(opts: { function resolveMaxSteps (line 55) | function resolveMaxSteps(spec: Record): number { function persistGeneratedScenarioSource (line 69) | function persistGeneratedScenarioSource(opts: { function executeCodegenSolve (line 82) | async function executeCodegenSolve(opts: { FILE: ts/src/knowledge/compaction-ledger.ts constant COMPACTION_LEDGER_TAIL_BYTES (line 14) | const COMPACTION_LEDGER_TAIL_BYTES = 64 * 1024; type CompactionEntry (line 16) | interface CompactionEntry { class CompactionLedgerStore (line 27) | class CompactionLedgerStore { method constructor (line 30) | constructor(runsRoot: string) { method ledgerPath (line 34) | ledgerPath(runId: string): string { method latestEntryPath (line 38) | latestEntryPath(runId: string): string { method appendEntries (line 42) | appendEntries(runId: string, entries: CompactionEntry[]): void { method readEntries (line 50) | readEntries(runId: string, opts: { limit?: number } = {}): CompactionE... method latestEntryId (line 70) | latestEntryId(runId: string): string { method resolveRunPath (line 87) | private resolveRunPath(runId: string, fileName: string): string { function serializeCompactionEntries (line 98) | function serializeCompactionEntries(entries: CompactionEntry[]): string { function normalizeCompactionEntry (line 102) | function normalizeCompactionEntry(entry: CompactionEntry): Required { function readString (line 160) | function readString(value: Record, key: string): string { function readNumber (line 165) | function readNumber(value: Record, key: string): number { FILE: ts/src/knowledge/context-selection-report.ts type ContextSelectionCandidateInput (line 1) | interface ContextSelectionCandidateInput { type ContextSelectionDecisionInput (line 15) | interface ContextSelectionDecisionInput { type ContextSelectionDiagnosticPolicy (line 25) | interface ContextSelectionDiagnosticPolicy { type ContextSelectionDiagnostic (line 33) | interface ContextSelectionDiagnostic { type ContextSelectionTelemetryCard (line 45) | interface ContextSelectionTelemetryCard { type ContextSelectionStageSummary (line 53) | interface ContextSelectionStageSummary { type ContextSelectionReportPayload (line 79) | interface ContextSelectionReportPayload { type ContextSelectionReportSummary (line 92) | interface ContextSelectionReportSummary { constant DEFAULT_POLICY (line 116) | const DEFAULT_POLICY: ContextSelectionDiagnosticPolicy = { class ContextSelectionReport (line 124) | class ContextSelectionReport { method constructor (line 129) | constructor(runId: string, scenarioName: string, stages: ContextSelect... method summary (line 135) | summary(): ContextSelectionReportSummary { method diagnostics (line 169) | diagnostics(policy: ContextSelectionDiagnosticPolicy = DEFAULT_POLICY)... method telemetryCards (line 247) | telemetryCards(policy: ContextSelectionDiagnosticPolicy = DEFAULT_POLI... method toDict (line 259) | toDict(): ContextSelectionReportPayload { method toMarkdown (line 276) | toMarkdown(): string { function buildContextSelectionReport (line 319) | function buildContextSelectionReport(decisions: ContextSelectionDecision... function stageSummaryFromDecision (line 330) | function stageSummaryFromDecision(decision: ContextSelectionDecisionInpu... function decisionMetrics (line 362) | function decisionMetrics(decision: ContextSelectionDecisionInput): Recor... function selectedContextCard (line 403) | function selectedContextCard( function contextBudgetCard (line 416) | function contextBudgetCard(summary: ContextSelectionReportSummary): Cont... function semanticCompactionCacheCard (line 438) | function semanticCompactionCacheCard( function diagnosticsCard (line 462) | function diagnosticsCard(diagnostics: ContextSelectionDiagnostic[]): Con... function duplicateSelectedHashCount (line 472) | function duplicateSelectedHashCount(candidates: ContextSelectionCandidat... function coerceRecord (line 482) | function coerceRecord(value: unknown): Record { function coerceNumber (line 489) | function coerceNumber(value: unknown): number { function intMetric (line 498) | function intMetric(metrics: Record, key: string):... function floatMetric (line 502) | function floatMetric(metrics: Record, key: string... function optionalFloatMetric (line 507) | function optionalFloatMetric(metrics: Record, key... function sum (line 512) | function sum(values: number[]): number { function mean (line 516) | function mean(values: number[]): number { function meanOptional (line 520) | function meanOptional(values: Array): number | null { function maxBy (line 525) | function maxBy(items: T[], score: (item: T) => number): T { function minBy (line 529) | function minBy(items: T[], score: (item: T) => number): T { function formatPercent (line 533) | function formatPercent(value: number, digits: number): string { function formatOptionalPercent (line 537) | function formatOptionalPercent(value: number | null): string { FILE: ts/src/knowledge/context-selection-store.ts constant SCHEMA_VERSION (line 6) | const SCHEMA_VERSION = 1; constant SAFE_STAGE_RE (line 7) | const SAFE_STAGE_RE = /^[A-Za-z0-9_.-]+$/; constant DECISION_FILE_RE (line 8) | const DECISION_FILE_RE = /^gen_(?[0-9]+)_(?[A-Za-z0-9... function loadContextSelectionDecisions (line 10) | function loadContextSelectionDecisions( function resolveRunRoot (line 39) | function resolveRunRoot(runsRoot: string, runId: string): string { function resolveContextSelectionDir (line 64) | function resolveContextSelectionDir(runRoot: string): string { function isContainedPath (line 77) | function isContainedPath(root: string, candidate: string): boolean { function resolveContextSelectionFile (line 82) | function resolveContextSelectionFile(contextDir: string, fileName: strin... function decisionFromPayload (line 92) | function decisionFromPayload( function hasDecisionMetrics (line 107) | function hasDecisionMetrics(value: unknown): boolean { function isRecord (line 117) | function isRecord(value: unknown): value is Record { function coerceNumber (line 121) | function coerceNumber(value: unknown): number { FILE: ts/src/knowledge/dead-end.ts class DeadEndEntry (line 6) | class DeadEndEntry { method constructor (line 12) | constructor(generation: number, strategySummary: string, score: number... method toMarkdown (line 19) | toMarkdown(): string { method fromRollback (line 26) | static fromRollback(generation: number, strategy: string, score: numbe... function consolidateDeadEnds (line 37) | function consolidateDeadEnds(entriesMd: string, maxEntries: number): str... FILE: ts/src/knowledge/harness-store.ts type HarnessVersionEntry (line 11) | interface HarnessVersionEntry { type HarnessVersionMap (line 16) | interface HarnessVersionMap { class HarnessStore (line 25) | class HarnessStore { method constructor (line 31) | constructor(knowledgeRoot: string, scenarioName: string) { method listHarness (line 38) | listHarness(): string[] { method #validateName (line 46) | #validateName(name: string): string { method getVersions (line 55) | getVersions(): HarnessVersionMap { method writeVersioned (line 65) | writeVersioned(name: string, source: string, generation: number): stri... method rollback (line 92) | rollback(name: string): string | null { method read (line 130) | read(name: string): string | null { FILE: ts/src/knowledge/package-coercion.ts constant PACKAGE_FORMAT_VERSION (line 4) | const PACKAGE_FORMAT_VERSION = 1; function coerceHarness (line 6) | function coerceHarness(raw: unknown): Record { function coercePackage (line 17) | function coercePackage( FILE: ts/src/knowledge/package-content.ts function extractMarkedSection (line 5) | function extractMarkedSection( function lessonsFromPlaybook (line 16) | function lessonsFromPlaybook(playbook: string): string[] { function hintsFromPlaybook (line 30) | function hintsFromPlaybook(playbook: string): string { function harnessForScenario (line 38) | function harnessForScenario( FILE: ts/src/knowledge/package-metadata.ts function displayNameForScenario (line 12) | function displayNameForScenario(scenarioName: string): string { function descriptionForScenario (line 16) | function descriptionForScenario(scenarioName: string): string { function packageMetadataPath (line 26) | function packageMetadataPath(knowledgeRoot: string, scenarioName: string... function readPackageMetadata (line 30) | function readPackageMetadata( function writePackageMetadata (line 44) | function writePackageMetadata( function bestStrategyForScenario (line 54) | function bestStrategyForScenario( FILE: ts/src/knowledge/package-types.ts type ConflictPolicy (line 3) | type ConflictPolicy = "overwrite" | "merge" | "skip"; type StrategyPackageData (line 5) | interface StrategyPackageData extends SkillPackageData { type ImportStrategyPackageResult (line 9) | interface ImportStrategyPackageResult { type PersistedPackageMetadata (line 19) | interface PersistedPackageMetadata { FILE: ts/src/knowledge/package.ts constant PACKAGE_FORMAT_VERSION (line 32) | const PACKAGE_FORMAT_VERSION = 1; function exportStrategyPackage (line 36) | function exportStrategyPackage(opts: { function bestGenerationForRun (line 102) | function bestGenerationForRun( function bestStrategyForRun (line 120) | function bestStrategyForRun( function bestMatchForRunGeneration (line 139) | function bestMatchForRunGeneration( function parseStrategyJson (line 153) | function parseStrategyJson(raw: string | undefined): Record(["overwrite", "merge",... type HubRunEvidence (line 43) | interface HubRunEvidence { class ResearchHubService (line 53) | class ResearchHubService { method constructor (line 60) | constructor(opts: ResearchHubServiceOpts) { method listSessions (line 71) | listSessions(): Record[] { method getSession (line 83) | getSession(sessionId: string): Record { method upsertSession (line 94) | upsertSession(sessionId: string, body: Record): Recor... method heartbeatSession (line 139) | heartbeatSession(sessionId: string, body: Record): Re... method promotePackageFromRun (line 158) | promotePackageFromRun(runId: string, body: Record): R... method listPackages (line 176) | listPackages(): Record[] { method getPackage (line 182) | getPackage(packageId: string): Record { method adoptPackage (line 193) | adoptPackage(packageId: string, body: Record): Record... method materializeResultFromRun (line 228) | materializeResultFromRun(runId: string, body: Record)... method listResults (line 236) | listResults(): Record[] { method getResult (line 242) | getResult(resultId: string): Record { method createPromotion (line 253) | createPromotion(body: Record): Record { method feed (line 270) | feed(): Record { method #buildPackageForRun (line 279) | #buildPackageForRun( method #buildResultForRun (line 359) | #buildResultForRun( method #persistPackage (line 408) | #persistPackage( method #persistResult (line 438) | #persistResult(store: SQLiteStore, result: Record): v... method #persistPromotion (line 457) | #persistPromotion(store: SQLiteStore, event: Record):... method #loadPackagePayload (line 473) | #loadPackagePayload(row: HubPackageRecordRow): Record... method #loadResultPayload (line 477) | #loadResultPayload(row: HubResultRecordRow): Record |... method #loadSessionFromStore (line 481) | #loadSessionFromStore(store: SQLiteStore, sessionId: string): Record(fn: (store: SQLiteStore) => T): T { function formatPromotion (line 532) | function formatPromotion(row: HubPromotionRecordRow): Record | nul... function costSummaryFromFacet (line 618) | function costSummaryFromFacet(facet: Record | null): st... function costSummaryFromProgressReport (line 630) | function costSummaryFromProgressReport(report: Record |... function weaknessSummaryFromReport (line 643) | function weaknessSummaryFromReport(report: Record | nul... function consultationSummary (line 658) | function consultationSummary(store: SQLiteStore, runId: string): string { function signalDescriptions (line 671) | function signalDescriptions(facet: Record | null, key: ... function parseStrategyOutput (line 681) | function parseStrategyOutput(raw: string): Record { function linkedArtifacts (line 695) | function linkedArtifacts(knowledgeRoot: string, scenarioName: string, ru... function scenarioFamily (line 708) | function scenarioFamily(scenarioName: string): string { function readConflictPolicy (line 720) | function readConflictPolicy(body: Record): ConflictPoli... function readRequiredString (line 728) | function readRequiredString(body: Record, key: string):... function readOptionalString (line 736) | function readOptionalString(body: Record, key: string):... function readOptionalInteger (line 741) | function readOptionalInteger(body: Record, key: string)... function readOptionalNumber (line 746) | function readOptionalNumber(body: Record, key: string):... function readOptionalBoolean (line 751) | function readOptionalBoolean(body: Record, key: string)... function readOptionalStringList (line 756) | function readOptionalStringList(body: Record, key: stri... function readOptionalRecord (line 767) | function readOptionalRecord(body: Record, key: string):... function readRecordValue (line 778) | function readRecordValue(value: unknown): Record { function readStringValue (line 784) | function readStringValue(value: unknown): string { function readNumberValue (line 788) | function readNumberValue(value: unknown, fallback: number): number { function numberFrom (line 792) | function numberFrom(value: unknown): number | null { function integerFrom (line 803) | function integerFrom(value: unknown): number | null { function readJsonRecord (line 808) | function readJsonRecord(path: string): Record | null { function writeJson (line 819) | function writeJson(path: string, payload: Record): void { function ensureSafeHubId (line 824) | function ensureSafeHubId(id: string): string { function uid (line 831) | function uid(): string { function nowIso (line 835) | function nowIso(): string { function humanize (line 839) | function humanize(name: string): string { FILE: ts/src/knowledge/scenario-id.ts constant SAFE_SCENARIO_ID_RE (line 1) | const SAFE_SCENARIO_ID_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/; function isSafeScenarioId (line 3) | function isSafeScenarioId(value: string): boolean { function assertSafeScenarioId (line 7) | function assertSafeScenarioId(value: string, fieldName = "scenario"): st... FILE: ts/src/knowledge/semantic-compaction.ts type ComponentTokenLimits (line 6) | interface ComponentTokenLimits { type PromptCompactionOptions (line 10) | interface PromptCompactionOptions { type PromptCompactionResult (line 17) | interface PromptCompactionResult { constant DEFAULT_COMPONENT_TOKEN_LIMITS (line 22) | const DEFAULT_COMPONENT_TOKEN_LIMITS: ComponentTokenLimits = { constant HISTORY_COMPONENTS (line 43) | const HISTORY_COMPONENTS = new Set([ constant TAIL_PRESERVING_COMPONENTS (line 49) | const TAIL_PRESERVING_COMPONENTS = new Set([ constant IMPORTANT_KEYWORDS (line 55) | const IMPORTANT_KEYWORDS = [ constant COMPACTION_POLICY_VERSION (line 73) | const COMPACTION_POLICY_VERSION = "semantic-compaction-v1"; constant COMPACTION_CACHE_MAX_SIZE (line 74) | const COMPACTION_CACHE_MAX_SIZE = 512; function compactPromptComponents (line 79) | function compactPromptComponents(components: Record): Re... function compactPromptComponentsWithEntries (line 87) | function compactPromptComponentsWithEntries( function compactionEntriesForComponents (line 98) | function compactionEntriesForComponents( function compactPromptComponent (line 130) | function compactPromptComponent(key: string, value: string): string { function clearPromptCompactionCache (line 137) | function clearPromptCompactionCache(): void { function promptCompactionCacheStats (line 143) | function promptCompactionCacheStats(): { entries: number; hits: number; ... function extractPromotableLines (line 151) | function extractPromotableLines(text: string, maxItems = 3): string[] { type BuildCompactionEntryInput (line 203) | interface BuildCompactionEntryInput { function buildCompactionEntry (line 213) | function buildCompactionEntry(input: BuildCompactionEntryInput): Compact... function structuredCompactionSummary (line 237) | function structuredCompactionSummary( function compactComponent (line 257) | function compactComponent(key: string, text: string, maxTokens: number):... function cachedCompactComponent (line 286) | function cachedCompactComponent(key: string, text: string, maxTokens: nu... function componentHash (line 312) | function componentHash(text: string): string { function compactHistory (line 316) | function compactHistory(text: string, maxTokens: number): string { function compactMarkdown (line 334) | function compactMarkdown(text: string, maxTokens: number, preferRecent: ... function compactTable (line 352) | function compactTable(text: string, maxTokens: number): string { function compactPlainProse (line 401) | function compactPlainProse(text: string, maxTokens: number): string { function splitSections (line 415) | function splitSections(text: string): string[] { function looksLikePlainProse (line 439) | function looksLikePlainProse(text: string): boolean { function compactSection (line 448) | function compactSection(section: string, preferRecent: boolean): string { function isStructuredLine (line 489) | function isStructuredLine(line: string): boolean { function dedupeLines (line 499) | function dedupeLines(lines: string[]): string[] { function truncateText (line 513) | function truncateText(text: string, maxTokens: number): string { function newEntryId (line 529) | function newEntryId(): string { function utcTimestamp (line 533) | function utcTimestamp(): string { FILE: ts/src/knowledge/session-report.ts function toFloat (line 6) | function toFloat(val: unknown, fallback = 0.0): number { type SessionReport (line 12) | interface SessionReport { type GenerateReportOpts (line 30) | interface GenerateReportOpts { function generateSessionReport (line 36) | function generateSessionReport( type ReportData (line 107) | interface ReportData { function makeReport (line 124) | function makeReport(data: ReportData): SessionReport { FILE: ts/src/knowledge/skill-package-contracts.ts type SkillPackageExampleOutputDict (line 1) | interface SkillPackageExampleOutputDict { type SkillPackageDict (line 7) | interface SkillPackageDict { type SkillPackageData (line 30) | interface SkillPackageData { FILE: ts/src/knowledge/skill-package-dict-workflow.ts function buildSkillPackageDict (line 6) | function buildSkillPackageDict(data: SkillPackageData): SkillPackageDict { FILE: ts/src/knowledge/skill-package-export-workflow.ts function formatSkillPackageDisplayName (line 3) | function formatSkillPackageDisplayName(scenarioName: string): string { function buildExportedAgentTaskSkillData (line 7) | function buildExportedAgentTaskSkillData(opts: { FILE: ts/src/knowledge/skill-package-lesson-cleaning.ts constant ROLLBACK_RE (line 1) | const ROLLBACK_RE = /^-\s*Generation\s+\d+\s+ROLLBACK\b/i; constant RAW_JSON_RE (line 2) | const RAW_JSON_RE = /\{"[a-z_]+"\s*:\s*[\d.]+/; constant SCORE_PARENS_RE (line 3) | const SCORE_PARENS_RE = /\(score=[0-9.]+,\s*delta=[0-9.+-]+,\s*threshold... function cleanLessons (line 5) | function cleanLessons(rawBullets: string[]): string[] { FILE: ts/src/knowledge/skill-package-markdown-workflow.ts function buildFrontmatter (line 3) | function buildFrontmatter(data: SkillPackageData): string { function buildSkillLessonsBlock (line 10) | function buildSkillLessonsBlock(lessons: string[]): string { function buildHarnessMarkdownSection (line 16) | function buildHarnessMarkdownSection(harness: Record): s... function buildGenericSkillMarkdown (line 29) | function buildGenericSkillMarkdown(data: SkillPackageData): string { function buildAgentTaskSkillMarkdown (line 51) | function buildAgentTaskSkillMarkdown(data: SkillPackageData): string { function buildSkillPackageMarkdown (line 98) | function buildSkillPackageMarkdown(data: SkillPackageData): string { FILE: ts/src/knowledge/skill-package.ts class SkillPackage (line 23) | class SkillPackage { method constructor (line 44) | constructor(data: SkillPackageData) { method toDict (line 66) | toDict(): SkillPackageDict { method toSkillMarkdown (line 90) | toSkillMarkdown(): string { function exportAgentTaskSkill (line 115) | function exportAgentTaskSkill(opts: { FILE: ts/src/knowledge/solve-generation-budget.ts type SolveGenerationBudgetOpts (line 1) | interface SolveGenerationBudgetOpts { class SolveGenerationBudget (line 7) | class SolveGenerationBudget { method constructor (line 13) | constructor(opts: SolveGenerationBudgetOpts) { method check (line 20) | check(phase: string): void { function normalizeBudgetSeconds (line 35) | function normalizeBudgetSeconds(value: number | null | undefined): number { FILE: ts/src/knowledge/solve-job-workflow.ts type SolveJob (line 1) | interface SolveJob { function createSolveJob (line 16) | function createSolveJob( function getSolveJobStatus (line 36) | function getSolveJobStatus( function getCompletedSolveJobResult (line 61) | function getCompletedSolveJobResult( function failSolveJob (line 70) | function failSolveJob(job: SolveJob, error: unknown): void { FILE: ts/src/knowledge/solve-manager-workflow.ts type SolveExecutionDeps (line 16) | interface SolveExecutionDeps { function buildSolveJobId (line 31) | function buildSolveJobId(): string { function createSolveExecutionDeps (line 35) | function createSolveExecutionDeps(opts: { function runBuiltInGameSolveJob (line 60) | async function runBuiltInGameSolveJob(opts: { function runAgentTaskSolveJob (line 87) | async function runAgentTaskSolveJob(opts: { function runCodegenSolveJob (line 107) | async function runCodegenSolveJob(opts: { function executeSolveJobWorkflow (line 130) | async function executeSolveJobWorkflow(opts: { function readClassifierFallbackUsed (line 218) | function readClassifierFallbackUsed(created: unknown): boolean { FILE: ts/src/knowledge/solve-package-builders.ts function buildAgentTaskSolvePackage (line 11) | function buildAgentTaskSolvePackage(opts: { function buildGeneratedScenarioSolvePackage (line 80) | function buildGeneratedScenarioSolvePackage(opts: { FILE: ts/src/knowledge/solve-package-helpers.ts function humanizeScenarioName (line 3) | function humanizeScenarioName(name: string): string { function buildAgentTaskLessons (line 7) | function buildAgentTaskLessons(result: { function buildGeneratedScenarioPlaybook (line 22) | function buildGeneratedScenarioPlaybook( function buildGeneratedScenarioLessons (line 57) | function buildGeneratedScenarioLessons(execution: { FILE: ts/src/knowledge/solve-scenario-routing.ts type SolveExecutionRoute (line 11) | type SolveExecutionRoute = type PreparedSolveScenario (line 18) | interface PreparedSolveScenario extends CreatedScenarioResult { constant SOLVE_FAMILY_ALIASES (line 23) | const SOLVE_FAMILY_ALIASES: Readonly>... constant FAMILY_HEADER_REGEX (line 30) | const FAMILY_HEADER_REGEX = /^\s*\*{0,2}family\*{0,2}:\s*(.+?)\s*$/im; constant SIMULATION_INTERFACE_HINT_REGEX (line 31) | const SIMULATION_INTERFACE_HINT_REGEX = constant AGENT_TASK_INTERFACE_HINT_REGEX (line 33) | const AGENT_TASK_INTERFACE_HINT_REGEX = /\bagent[- ]task evaluation\b/i; function normalizeSolveFamilyHintToken (line 35) | function normalizeSolveFamilyHintToken(token: string): string { function asScenarioFamilyName (line 44) | function asScenarioFamilyName(candidate: string): ScenarioFamilyName | n... function readSolveFamilyHeaderTokens (line 48) | function readSolveFamilyHeaderTokens(description: string): string[] { function resolveSolveFamilyHint (line 58) | function resolveSolveFamilyHint(description: string): ScenarioFamilyName... function resolveSolveFamilyAlias (line 75) | function resolveSolveFamilyAlias(description: string): ScenarioFamilyNam... function resolveSolveFamilyOverride (line 90) | function resolveSolveFamilyOverride( function coerceSolveFamily (line 99) | function coerceSolveFamily(family: string): ScenarioFamilyName { function validateSolveFamilyOverride (line 118) | function validateSolveFamilyOverride(family: string | undefined): Scenar... function prepareSolveScenario (line 131) | function prepareSolveScenario(opts: { function determineSolveExecutionRoute (line 148) | function determineSolveExecutionRoute( function persistMissingGameScenario (line 167) | function persistMissingGameScenario(opts: { function persistSolveScenarioScaffold (line 203) | async function persistSolveScenarioScaffold(opts: { FILE: ts/src/knowledge/solver.ts type SolveManagerOpts (line 23) | interface SolveManagerOpts { type SolveSubmitOptions (line 30) | interface SolveSubmitOptions { class SolveManager (line 37) | class SolveManager { method constructor (line 44) | constructor(opts: SolveManagerOpts) { method submit (line 51) | submit(description: string, generations: number, opts: SolveSubmitOpti... method getStatus (line 63) | getStatus(jobId: string): Record { method getResult (line 67) | getResult(jobId: string): Record | null { method #runJob (line 71) | async #runJob(job: SolveJob): Promise { method runGameScenario (line 87) | async runGameScenario(job: SolveJob, scenarioName: string): Promise... function extractBestDimensionHistory (line 38) | function extractBestDimensionHistory(rows: TrajectoryRow[]): Array { method setGateOverride (line 38) | setGateOverride(decision: string): void { method takeGateOverride (line 42) | takeGateOverride(): string | null { method injectHint (line 48) | injectHint(text: string): void { method takeHint (line 52) | takeHint(): string | null { method submitChat (line 58) | submitChat(role: string, message: string): Promise { method pollChat (line 64) | pollChat(): [string, string] | null { method respondChat (line 71) | respondChat(_role: string, response: string): void { FILE: ts/src/loop/events.ts type EventStreamRecord (line 9) | interface EventStreamRecord { type EventCallback (line 18) | type EventCallback = ( class EventStreamEmitter (line 24) | class EventStreamEmitter { method constructor (line 29) | constructor(path: string) { method subscribe (line 33) | subscribe(callback: EventCallback): void { method unsubscribe (line 37) | unsubscribe(callback: EventCallback): void { method emit (line 44) | emit( FILE: ts/src/loop/generation-attempt-orchestrator.ts type GenerationAttemptOrchestration (line 16) | interface GenerationAttemptOrchestration { function createGenerationAttemptOrchestration (line 24) | function createGenerationAttemptOrchestration( function awaitGenerationCompetitorResult (line 35) | function awaitGenerationCompetitorResult( function awaitGenerationTournamentResult (line 44) | function awaitGenerationTournamentResult( function finalizeGenerationAttemptDecision (line 53) | function finalizeGenerationAttemptDecision( function withPhaseState (line 93) | function withPhaseState( FILE: ts/src/loop/generation-attempt-state.ts type GenerationGateDecision (line 3) | type GenerationGateDecision = "advance" | "retry" | "rollback"; type GenerationAttempt (line 5) | interface GenerationAttempt { type GenerationAttemptState (line 13) | interface GenerationAttemptState { type CreateGenerationAttemptStateOpts (line 22) | interface CreateGenerationAttemptStateOpts { function createGenerationAttemptState (line 27) | function createGenerationAttemptState( function canContinueGenerationAttempt (line 40) | function canContinueGenerationAttempt( function applyGenerationAttemptDecision (line 47) | function applyGenerationAttemptDecision( function didAdvanceGenerationAttempt (line 77) | function didAdvanceGenerationAttempt( function getFinalizedGenerationAttempt (line 83) | function getFinalizedGenerationAttempt( FILE: ts/src/loop/generation-attempt-workflow.ts type GenerationAttemptWorkflow (line 21) | interface GenerationAttemptWorkflow { function createGenerationAttemptWorkflow (line 45) | function createGenerationAttemptWorkflow( function runGenerationAttemptWorkflow (line 51) | async function runGenerationAttemptWorkflow( FILE: ts/src/loop/generation-cycle-state.ts type GenerationCycleState (line 8) | interface GenerationCycleState { type CreateGenerationCycleStateOpts (line 15) | interface CreateGenerationCycleStateOpts { function createGenerationCycleState (line 19) | function createGenerationCycleState( function hasRemainingGenerationCycles (line 30) | function hasRemainingGenerationCycles( function startNextGenerationCycle (line 36) | function startNextGenerationCycle( function updateGenerationCyclePhase (line 57) | function updateGenerationCyclePhase( function getActiveGenerationPhaseState (line 67) | function getActiveGenerationPhaseState( function completeGenerationCycle (line 77) | function completeGenerationCycle( FILE: ts/src/loop/generation-event-coordinator.ts type RunStartedPayload (line 3) | interface RunStartedPayload { type GenerationStartedPayload (line 10) | interface GenerationStartedPayload { type AgentsStartedPayload (line 16) | interface AgentsStartedPayload { type TournamentCompletedPayload (line 23) | interface TournamentCompletedPayload { type GateDecidedPayload (line 33) | interface GateDecidedPayload { type GenerationCompletedPayload (line 42) | interface GenerationCompletedPayload { type RunCompletedPayload (line 52) | interface RunCompletedPayload { type RunFailedPayload (line 62) | interface RunFailedPayload { function buildRunStartedPayload (line 68) | function buildRunStartedPayload(opts: { function buildGenerationStartedPayload (line 80) | function buildGenerationStartedPayload( function buildAgentsStartedPayload (line 90) | function buildAgentsStartedPayload( function buildTournamentCompletedPayload (line 104) | function buildTournamentCompletedPayload( function buildGateDecidedPayload (line 124) | function buildGateDecidedPayload( function buildGenerationCompletedPayload (line 140) | function buildGenerationCompletedPayload( function buildRunCompletedPayload (line 160) | function buildRunCompletedPayload(opts: { function buildRunFailedPayload (line 178) | function buildRunFailedPayload( FILE: ts/src/loop/generation-execution-step.ts constant DEFAULT_COMPETITOR_STRATEGY (line 3) | const DEFAULT_COMPETITOR_STRATEGY = { function parseCompetitorStrategyResult (line 9) | function parseCompetitorStrategyResult( type TournamentExecutionPlan (line 19) | interface TournamentExecutionPlan { function createTournamentExecutionPlan (line 28) | function createTournamentExecutionPlan(opts: { function buildGenerationAttemptCandidate (line 46) | function buildGenerationAttemptCandidate( FILE: ts/src/loop/generation-journal.ts type GenerationJournalScenario (line 9) | interface GenerationJournalScenario { type GenerationJournalAttempt (line 14) | type GenerationJournalAttempt = GenerationAttempt; type SessionReportContext (line 16) | interface SessionReportContext { type GenerationJournalOpts (line 21) | interface GenerationJournalOpts { class GenerationJournal (line 27) | class GenerationJournal { method constructor (line 32) | constructor(opts: GenerationJournalOpts) { method persistGeneration (line 38) | persistGeneration(runId: string, generationIndex: number, attempt: Gen... method countDeadEnds (line 104) | countDeadEnds(): number { method persistSessionReport (line 110) | persistSessionReport(runId: string, context: SessionReportContext): st... FILE: ts/src/loop/generation-lifecycle-workflow.ts type GenerationLifecycleWorkflow (line 19) | interface GenerationLifecycleWorkflow { type GenerationLifecycleWorkflowResult (line 33) | interface GenerationLifecycleWorkflowResult { function createGenerationLifecycleWorkflow (line 42) | function createGenerationLifecycleWorkflow( function runGenerationLifecycleWorkflow (line 48) | async function runGenerationLifecycleWorkflow( function completeGenerationLifecycleWorkflow (line 94) | function completeGenerationLifecycleWorkflow( FILE: ts/src/loop/generation-loop-orchestrator.ts type GenerationLoopOrchestration (line 33) | interface GenerationLoopOrchestration { function createGenerationLoopOrchestration (line 46) | function createGenerationLoopOrchestration(opts: { function startNextGeneration (line 72) | function startNextGeneration( function getActiveGenerationPhase (line 96) | function getActiveGenerationPhase( function recordAdvancedGenerationResult (line 102) | function recordAdvancedGenerationResult( function finalizeGenerationCycle (line 112) | function finalizeGenerationCycle( function completeGenerationLoopRun (line 142) | function completeGenerationLoopRun( function failGenerationLoopRun (line 170) | function failGenerationLoopRun( FILE: ts/src/loop/generation-phase-state.ts type GenerationPhase (line 12) | type GenerationPhase = type GenerationPhaseState (line 19) | interface GenerationPhaseState { type CreateGenerationPhaseStateOpts (line 27) | interface CreateGenerationPhaseStateOpts { function createGenerationPhaseState (line 32) | function createGenerationPhaseState( function markAwaitingCompetitorResult (line 47) | function markAwaitingCompetitorResult( function markAwaitingTournamentResult (line 62) | function markAwaitingTournamentResult( function applyGenerationPhaseDecision (line 77) | function applyGenerationPhaseDecision( function canContinueGenerationPhase (line 95) | function canContinueGenerationPhase( function didAdvanceGenerationPhase (line 102) | function didAdvanceGenerationPhase( function getFinalizedGenerationPhaseAttempt (line 108) | function getFinalizedGenerationPhaseAttempt( function assertAllowedGenerationPhaseTransition (line 114) | function assertAllowedGenerationPhaseTransition( FILE: ts/src/loop/generation-prompts.ts type CompetitorPromptParts (line 1) | interface CompetitorPromptParts { type SupportPromptParts (line 14) | interface SupportPromptParts { type CuratorPromptParts (line 26) | interface CuratorPromptParts { type CuratorConsolidationPromptParts (line 33) | interface CuratorConsolidationPromptParts { function buildCompetitorPrompt (line 38) | function buildCompetitorPrompt(parts: CompetitorPromptParts): string { function buildSupportPrompt (line 67) | function buildSupportPrompt(parts: SupportPromptParts): string { function buildCuratorPrompt (line 92) | function buildCuratorPrompt(parts: CuratorPromptParts): string { function buildCuratorConsolidationPrompt (line 114) | function buildCuratorConsolidationPrompt(parts: CuratorConsolidationProm... FILE: ts/src/loop/generation-recovery.ts type GenerationRecoveryOpts (line 7) | interface GenerationRecoveryOpts { type GenerationRecoveryAttempt (line 17) | interface GenerationRecoveryAttempt { type GenerationRecoveryEvent (line 25) | interface GenerationRecoveryEvent { type GenerationRecoveryOutcome (line 30) | interface GenerationRecoveryOutcome { function extractMarkedSection (line 38) | function extractMarkedSection(content: string, startMarker: string, endM... class GenerationRecovery (line 45) | class GenerationRecovery { method constructor (line 56) | constructor(opts: GenerationRecoveryOpts) { method handleAttempt (line 66) | handleAttempt(runId: string, attempt: GenerationRecoveryAttempt): Gene... method #buildFreshStartHint (line 125) | #buildFreshStartHint(report: StagnationReport): string { FILE: ts/src/loop/generation-run-state.ts type GenerationRunState (line 1) | interface GenerationRunState { type CreateGenerationRunStateOpts (line 15) | interface CreateGenerationRunStateOpts { type GenerationResultUpdate (line 22) | interface GenerationResultUpdate { type GenerationRunCompletion (line 28) | interface GenerationRunCompletion { type GenerationRunFailure (line 32) | interface GenerationRunFailure extends GenerationRunCompletion { function createGenerationRunState (line 36) | function createGenerationRunState( function recordGenerationResult (line 54) | function recordGenerationResult( function queueFreshStartHint (line 66) | function queueFreshStartHint( function consumeFreshStartHint (line 76) | function consumeFreshStartHint( function completeGenerationRun (line 88) | function completeGenerationRun( function failGenerationRun (line 99) | function failGenerationRun( FILE: ts/src/loop/generation-runner.ts type GenerationRunnerOpts (line 71) | interface GenerationRunnerOpts { type RunResult (line 107) | interface RunResult { class GenerationRunner (line 114) | class GenerationRunner { method constructor (line 148) | constructor(opts: GenerationRunnerOpts) { method run (line 205) | async run(runId: string, generations: number): Promise { method buildCompetitorPrompt (line 383) | private buildCompetitorPrompt(runId: string, generation: number): stri... method applyContextComponentsHook (line 414) | private applyContextComponentsHook( method compactPromptComponentsForRun (line 430) | private compactPromptComponentsForRun( method buildSupportPrompt (line 475) | private buildSupportPrompt( method buildCuratorPrompt (line 506) | private buildCuratorPrompt( method buildCuratorConsolidationPrompt (line 523) | private buildCuratorConsolidationPrompt(lessons: string): string { method providerForRole (line 530) | private providerForRole(role: GenerationRole): LLMProvider { method modelForRole (line 534) | private modelForRole(role: GenerationRole): string | undefined { method completeRole (line 538) | private async completeRole(role: GenerationRole, userPrompt: string, s... method runSupportRoles (line 550) | private async runSupportRoles( method runCuratorConsolidation (line 640) | private async runCuratorConsolidation(runId: string, gen: number): Pro... method applyAdvancedFeatures (line 678) | private async applyAdvancedFeatures( method notify (line 718) | private async notify( method applyContextHook (line 746) | private applyContextHook( method emitHook (line 760) | private emitHook(name: HookEvents, payload: Record): ... method emit (line 766) | private emit(event: string, payload: Record): void { method emitRoleCompleted (line 770) | private emitRoleCompleted( function parseNotificationFilter (line 790) | function parseNotificationFilter(spec?: string): Set { function buildConfiguredNotifier (line 801) | function buildConfiguredNotifier( function extractMarkedSection (line 812) | function extractMarkedSection(content: string, startMarker: string, endM... function replaceMarkedSection (line 819) | function replaceMarkedSection( function readString (line 837) | function readString(value: unknown): string | undefined { function readStringRecord (line 841) | function readStringRecord(value: unknown): Record | unde... function isRecord (line 854) | function isRecord(value: unknown): value is Record { FILE: ts/src/loop/generation-side-effect-coordinator.ts type RoleCompletedPayload (line 5) | interface RoleCompletedPayload { function buildRoleCompletedPayload (line 21) | function buildRoleCompletedPayload( function executeRoleCompletionSideEffect (line 40) | async function executeRoleCompletionSideEffect(opts: { function executeTournamentSideEffect (line 67) | function executeTournamentSideEffect(opts: { FILE: ts/src/loop/generation-tournament-event-sequencing.ts type GenerationLoopEventSequenceItem (line 4) | interface GenerationLoopEventSequenceItem { type TournamentStartedPayload (line 9) | interface TournamentStartedPayload { function buildGenerationTournamentEventSequence (line 16) | function buildGenerationTournamentEventSequence(opts: { function buildTournamentStartedEvent (line 31) | function buildTournamentStartedEvent( function buildMatchCompletedEvent (line 46) | function buildMatchCompletedEvent( function buildTournamentCompletedEvent (line 65) | function buildTournamentCompletedEvent( FILE: ts/src/loop/hypothesis-tree.ts type HypothesisNode (line 24) | type HypothesisNode = z.infer; function gammaSample (line 35) | function gammaSample(alpha: number, rng: () => number): number { function betaSample (line 72) | function betaSample(alpha: number, beta: number, rng: () => number): num... class HypothesisTree (line 82) | class HypothesisTree { method constructor (line 87) | constructor(opts?: { maxHypotheses?: number; temperature?: number }) { method add (line 104) | add( method select (line 134) | select(rng?: () => number): HypothesisNode { method update (line 164) | update(nodeId: string, scores: number[], elo: number): void { method prune (line 175) | prune(protectedIds?: Set): HypothesisNode[] { method best (line 196) | best(): HypothesisNode { method converged (line 210) | converged(threshold = 0.01): boolean { method size (line 224) | size(): number { method medianScore (line 230) | private medianScore(): number { method fitBeta (line 246) | private fitBeta(node: HypothesisNode, median: number): [number, number] { FILE: ts/src/loop/stagnation.ts type StagnationReport (line 6) | interface StagnationReport { type StagnationDetectorOpts (line 12) | interface StagnationDetectorOpts { class StagnationDetector (line 18) | class StagnationDetector { method constructor (line 23) | constructor(opts: StagnationDetectorOpts = {}) { method detect (line 29) | detect(gateHistory: string[], scoreHistory: number[]): StagnationReport { FILE: ts/src/mcp/agent-task-package-tools.ts type JsonToolResponse (line 14) | interface JsonToolResponse { type McpToolRegistrar (line 21) | type McpToolRegistrar = { type AgentTaskStoreLike (line 25) | type AgentTaskStoreLike = Pick; type ArtifactStoreLike (line 26) | type ArtifactStoreLike = ArtifactStore; type AgentTaskPackageInternals (line 28) | interface AgentTaskPackageInternals { function jsonText (line 51) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function isRecord (line 62) | function isRecord(value: unknown): value is Record { function normalizeConflictPolicy (line 66) | function normalizeConflictPolicy(value: unknown): ConflictPolicy { function buildAgentTaskNotFoundPayload (line 73) | function buildAgentTaskNotFoundPayload(): { error: string } { function registerAgentTaskPackageTools (line 77) | function registerAgentTaskPackageTools( FILE: ts/src/mcp/campaign-tools.ts type CampaignToolDef (line 14) | interface CampaignToolDef { constant CAMPAIGN_TOOLS (line 24) | const CAMPAIGN_TOOLS: CampaignToolDef[] = [ function registerCampaignTools (line 138) | function registerCampaignTools( FILE: ts/src/mcp/capabilities.ts type Capabilities (line 14) | interface Capabilities { function getCapabilities (line 23) | function getCapabilities(): Capabilities { FILE: ts/src/mcp/core-control-tools.ts type JsonToolResponse (line 17) | interface JsonToolResponse { type McpToolRegistrar (line 24) | type McpToolRegistrar = { type JudgeLike (line 28) | interface JudgeLike { type AgentTaskLike (line 41) | interface AgentTaskLike { type ImprovementLoopLike (line 49) | interface ImprovementLoopLike { type CoreControlToolInternals (line 72) | interface CoreControlToolInternals { type EvaluateOutputArgs (line 176) | type EvaluateOutputArgs = z.infer; type RunImprovementLoopArgs (line 201) | type RunImprovementLoopArgs = z.infer; type RunReplSessionArgs (line 212) | type RunReplSessionArgs = z.infer; type QueueTaskArgs (line 227) | type QueueTaskArgs = z.infer; type GetTaskResultArgs (line 232) | type GetTaskResultArgs = z.infer; function jsonText (line 234) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function buildTaskResultPayload (line 245) | function buildTaskResultPayload(task: TaskQueueRow): Record { function isRecord (line 67) | function isRecord(value: unknown): value is Record { type RecordFeedbackArgs (line 78) | type RecordFeedbackArgs = z.infer; type GetFeedbackArgs (line 84) | type GetFeedbackArgs = z.infer; type RunReplayArgs (line 90) | type RunReplayArgs = z.infer; function registerFeedbackReplayTools (line 92) | function registerFeedbackReplayTools( FILE: ts/src/mcp/instrument-tools.ts type JsonToolResponse (line 14) | interface JsonToolResponse { type McpToolRegistrar (line 18) | type McpToolRegistrar = { function jsonText (line 22) | function jsonText(payload: unknown, indent = 2): JsonToolResponse { function registerInstrumentTools (line 33) | function registerInstrumentTools(server: McpToolRegistrar): void { FILE: ts/src/mcp/knowledge-readback-tools.ts type JsonToolResponse (line 16) | interface JsonToolResponse { type McpToolRegistrar (line 23) | type McpToolRegistrar = { type KnowledgeReadbackInternals (line 27) | interface KnowledgeReadbackInternals { function jsonText (line 45) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { type ReadTrajectoryArgs (line 57) | type ReadTrajectoryArgs = z.infer; type ScenarioArgs (line 60) | type ScenarioArgs = z.infer; type ReadAnalysisArgs (line 66) | type ReadAnalysisArgs = z.infer; type SearchStrategiesArgs (line 72) | type SearchStrategiesArgs = z.infer; function registerKnowledgeReadbackTools (line 74) | function registerKnowledgeReadbackTools( FILE: ts/src/mcp/mission-tools.ts type MissionToolDef (line 12) | interface MissionToolDef { constant MISSION_TOOLS (line 22) | const MISSION_TOOLS: MissionToolDef[] = [ function jsonContent (line 109) | function jsonContent(payload: unknown) { function registerMissionTools (line 120) | function registerMissionTools( FILE: ts/src/mcp/production-traces-tools.ts type JsonToolResponse (line 28) | interface JsonToolResponse { type McpToolRegistrar (line 32) | type McpToolRegistrar = { function jsonText (line 36) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function runTool (line 55) | async function runTool( function withJsonOutput (line 73) | function withJsonOutput(argv: readonly string[]): readonly string[] { function registerProductionTracesTools (line 78) | function registerProductionTracesTools(server: McpToolRegistrar): void { FILE: ts/src/mcp/run-management-tools.ts type JsonToolResponse (line 10) | interface JsonToolResponse { type McpToolRegistrar (line 17) | type McpToolRegistrar = { type ScenarioLike (line 21) | type ScenarioLike = object; type ScenarioConstructor (line 22) | type ScenarioConstructor = new () => ScenarioLike; type ScenarioRegistry (line 23) | type ScenarioRegistry = Record; type RunControlSettings (line 25) | interface RunControlSettings { type RunManagementInternals (line 45) | interface RunManagementInternals { function jsonText (line 98) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { type ListRunsArgs (line 113) | type ListRunsArgs = z.infer; type RunIdArgs (line 118) | type RunIdArgs = z.infer; type GetPlaybookArgs (line 123) | type GetPlaybookArgs = z.infer; type RunScenarioArgs (line 131) | type RunScenarioArgs = z.infer; type GenerationDetailArgs (line 137) | type GenerationDetailArgs = z.infer; function buildRunNotFoundPayload (line 139) | function buildRunNotFoundPayload(): { error: string } { function buildGenerationNotFoundPayload (line 143) | function buildGenerationNotFoundPayload(): { error: string } { function buildRunScenarioUnknownPayload (line 147) | function buildRunScenarioUnknownPayload(scenarioName: string): { error: ... function registerRunManagementTools (line 151) | function registerRunManagementTools( FILE: ts/src/mcp/runtime-session-tools.ts type JsonToolResponse (line 13) | interface JsonToolResponse { type McpToolRegistrar (line 20) | type McpToolRegistrar = { type RuntimeSessionClosableReadStore (line 24) | type RuntimeSessionClosableReadStore = RuntimeSessionReadStore & { type RuntimeSessionToolInternals (line 28) | interface RuntimeSessionToolInternals { type ListRuntimeSessionsArgs (line 39) | type ListRuntimeSessionsArgs = z.infer; function buildRuntimeSessionIdentifierRequiredPayload (line 47) | function buildRuntimeSessionIdentifierRequiredPayload(): { error: string... function buildRuntimeSessionIdentifierConflictPayload (line 51) | function buildRuntimeSessionIdentifierConflictPayload(): { error: string... function buildRuntimeSessionNotFoundPayload (line 55) | function buildRuntimeSessionNotFoundPayload(sessionId: string): { function registerRuntimeSessionTools (line 62) | function registerRuntimeSessionTools( type RuntimeSessionLookupResult (line 133) | type RuntimeSessionLookupResult = function loadRuntimeSessionFromArgs (line 137) | function loadRuntimeSessionFromArgs( function withRuntimeSessionStore (line 159) | function withRuntimeSessionStore( function jsonText (line 182) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function cleanIdentifier (line 193) | function cleanIdentifier(value: string | undefined): string { FILE: ts/src/mcp/sandbox-tools.ts type JsonToolResponse (line 3) | interface JsonToolResponse { type McpToolRegistrar (line 10) | type McpToolRegistrar = { type SandboxToolManager (line 14) | interface SandboxToolManager { function jsonText (line 23) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function buildSandboxNotFoundPayload (line 34) | function buildSandboxNotFoundPayload(sandboxId: string): { error: string... function registerSandboxTools (line 38) | function registerSandboxTools( FILE: ts/src/mcp/scenario-catalog-tools.ts type JsonToolResponse (line 3) | interface JsonToolResponse { type McpToolRegistrar (line 10) | type McpToolRegistrar = { type ScenarioCatalogEntry (line 14) | interface ScenarioCatalogEntry { type ScenarioCatalogConstructor (line 21) | type ScenarioCatalogConstructor = new () => ScenarioCatalogEntry; type ScenarioRegistry (line 22) | type ScenarioRegistry = Record; type ScenarioCatalogInternals (line 24) | interface ScenarioCatalogInternals { function jsonText (line 41) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function registerScenarioCatalogTools (line 52) | function registerScenarioCatalogTools( FILE: ts/src/mcp/scenario-execution-tools.ts type JsonToolResponse (line 6) | interface JsonToolResponse { type McpToolRegistrar (line 13) | type McpToolRegistrar = { type ScenarioExecutionResult (line 17) | interface ScenarioExecutionResult { type ScenarioExecutionConstructor (line 24) | type ScenarioExecutionConstructor = new () => ScenarioInterface; type ScenarioExecutionRegistry (line 25) | type ScenarioExecutionRegistry = Record | Json... function isRecord (line 86) | function isRecord(value: unknown): value is Record { type ScenarioStrategyArgs (line 94) | type ScenarioStrategyArgs = z.infer; type RunMatchArgs (line 99) | type RunMatchArgs = z.infer; type RunTournamentArgs (line 105) | type RunTournamentArgs = z.infer; function registerScenarioExecutionTools (line 107) | function registerScenarioExecutionTools( FILE: ts/src/mcp/scenario-revision-tools.ts type JsonToolResponse (line 9) | interface JsonToolResponse { type McpToolRegistrar (line 16) | type McpToolRegistrar = { type ScenarioRevisionInternals (line 20) | interface ScenarioRevisionInternals { function jsonText (line 33) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function isRecord (line 44) | function isRecord(value: unknown): value is Record { function registerScenarioRevisionTools (line 48) | function registerScenarioRevisionTools( FILE: ts/src/mcp/server.ts type MtsServerOpts (line 29) | interface MtsServerOpts { function resolveMcpArtifactRoots (line 43) | function resolveMcpArtifactRoots(opts: Pick { FILE: ts/src/mcp/solve-tools.ts type JsonToolResponse (line 3) | interface JsonToolResponse { type McpToolRegistrar (line 10) | type McpToolRegistrar = { type SolveToolManager (line 14) | interface SolveToolManager { type SolveToolRegistration (line 27) | interface SolveToolRegistration { type SolveToolDefinition (line 34) | interface SolveToolDefinition extends SolveToolRegistration { function jsonText (line 38) | function jsonText(payload: unknown, indent?: number): JsonToolResponse { function buildSolveResultNotFoundPayload (line 49) | function buildSolveResultNotFoundPayload(jobId: string): { function buildPrefixedSolveResultNotFoundPayload (line 59) | function buildPrefixedSolveResultNotFoundPayload(jobId: string): { function toPrefixedSolveStatusPayload (line 69) | function toPrefixedSolveStatusPayload(payload: Record):... function solveSubmitSchema (line 82) | function solveSubmitSchema(): Record { function solveSubmitOptions (line 93) | function solveSubmitOptions(args: Record): function submitSolveJob (line 120) | function submitSolveJob( function buildSolveToolDefinitions (line 133) | function buildSolveToolDefinitions(solveManager: SolveToolManager): Solv... function registerTool (line 196) | function registerTool(server: McpToolRegistrar, registration: SolveToolR... function registerToolDefinition (line 200) | function registerToolDefinition(server: McpToolRegistrar, definition: So... function registerSolveTools (line 207) | function registerSolveTools( FILE: ts/src/mission/adaptive-executor.ts type AdaptiveRunOpts (line 22) | interface AdaptiveRunOpts { type AdaptiveRunResult (line 27) | interface AdaptiveRunResult { function adaptiveRunMissionLoop (line 45) | async function adaptiveRunMissionLoop( function applySubgoals (line 195) | function applySubgoals(manager: MissionManager, missionId: string, subgo... function replacePendingSubgoals (line 201) | function replacePendingSubgoals(manager: MissionManager, missionId: stri... function buildSubgoalVerifier (line 210) | function buildSubgoalVerifier(manager: MissionManager, missionId: string... function describeSimulationStep (line 229) | function describeSimulationStep(stepPlan: SimulationStepPlan): string { FILE: ts/src/mission/campaign-contracts.ts type CampaignStatus (line 1) | type CampaignStatus = "active" | "paused" | "completed" | "failed" | "ca... type CampaignBudget (line 3) | interface CampaignBudget { type Campaign (line 9) | interface Campaign { type CampaignMissionEntry (line 21) | interface CampaignMissionEntry { type CampaignProgress (line 29) | interface CampaignProgress { type CampaignBudgetUsage (line 39) | interface CampaignBudgetUsage { FILE: ts/src/mission/campaign-lifecycle-workflow.ts type CampaignMissionSnapshot (line 11) | interface CampaignMissionSnapshot { function generateCampaignId (line 16) | function generateCampaignId(): string { function isTerminalCampaignStatus (line 20) | function isTerminalCampaignStatus(status: CampaignStatus): boolean { function assertLifecycleTransitionAllowed (line 24) | function assertLifecycleTransitionAllowed( function missionCountsAsFailure (line 39) | function missionCountsAsFailure(status: MissionStatus): boolean { function missionCountsAsActive (line 43) | function missionCountsAsActive(status: MissionStatus): boolean { function buildCampaignProgress (line 47) | function buildCampaignProgress( function buildCampaignBudgetUsage (line 79) | function buildCampaignBudgetUsage( function deriveReconciledCampaignStatus (line 99) | function deriveReconciledCampaignStatus( FILE: ts/src/mission/campaign-manager-access-workflow.ts type CampaignCatalogStoreLike (line 20) | interface CampaignCatalogStoreLike extends CampaignStoreLike { function getCampaignWithReconciledStatus (line 24) | function getCampaignWithReconciledStatus( function listCampaignsWithReconciledStatus (line 33) | function listCampaignsWithReconciledStatus( function buildCampaignProgressReport (line 50) | function buildCampaignProgressReport( function buildCampaignBudgetUsageReport (line 60) | function buildCampaignBudgetUsageReport( function setCampaignLifecycleStatus (line 75) | function setCampaignLifecycleStatus( FILE: ts/src/mission/campaign-manager-workflow.ts type CampaignStoreLike (line 10) | interface CampaignStoreLike { type CampaignMissionManagerLike (line 17) | interface CampaignMissionManagerLike { function requireCampaign (line 22) | function requireCampaign( function validateCampaignMissionAddition (line 32) | function validateCampaignMissionAddition(opts: { function collectCampaignMissionSnapshots (line 57) | function collectCampaignMissionSnapshots( function reconcileCampaignRecord (line 75) | function reconcileCampaignRecord( FILE: ts/src/mission/campaign-membership-store-workflow.ts function insertCampaignMissionRecord (line 6) | function insertCampaignMissionRecord( function removeCampaignMissionRecord (line 25) | function removeCampaignMissionRecord( function countCampaignMissions (line 35) | function countCampaignMissions( function hasCampaignMission (line 45) | function hasCampaignMission( function listCampaignMissionEntries (line 56) | function listCampaignMissionEntries( FILE: ts/src/mission/campaign-store-query-workflow.ts function createCampaignRecord (line 13) | function createCampaignRecord( function getCampaignRecord (line 37) | function getCampaignRecord( function listCampaignRecords (line 47) | function listCampaignRecords( function updateCampaignStatusRecord (line 56) | function updateCampaignStatusRecord( function touchCampaignRecord (line 67) | function touchCampaignRecord( FILE: ts/src/mission/campaign-store-workflow.ts function createCampaignTables (line 10) | function createCampaignTables(db: Database.Database): void { function mapCampaignRow (line 35) | function mapCampaignRow(row: Record): Campaign { function mapCampaignMissionRow (line 49) | function mapCampaignMissionRow( function buildCampaignStatusTimestamps (line 61) | function buildCampaignStatusTimestamps( FILE: ts/src/mission/campaign-store.ts class CampaignStore (line 26) | class CampaignStore { method constructor (line 29) | constructor(dbPath: string) { method createCampaign (line 36) | createCampaign(opts: { method getCampaign (line 47) | getCampaign(id: string): Campaign | null { method listCampaigns (line 51) | listCampaigns(): Campaign[] { method setStatus (line 55) | setStatus(campaignId: string, status: CampaignStatus): void { method touchCampaign (line 59) | touchCampaign(campaignId: string): void { method addMission (line 63) | addMission( method removeMission (line 78) | removeMission(campaignId: string, missionId: string): void { method missionCount (line 83) | missionCount(campaignId: string): number { method hasMission (line 87) | hasMission(campaignId: string, missionId: string): boolean { method missions (line 91) | missions(campaignId: string): CampaignMissionEntry[] { method close (line 95) | close(): void { FILE: ts/src/mission/campaign.ts class CampaignManager (line 47) | class CampaignManager { method constructor (line 51) | constructor(missionManager: MissionManager) { method create (line 59) | create(opts: { method get (line 71) | get(id: string): Campaign | null { method list (line 78) | list(status?: CampaignStatus): Campaign[] { method addMission (line 85) | addMission( method removeMission (line 107) | removeMission(campaignId: string, missionId: string): void { method missions (line 116) | missions(campaignId: string): CampaignMissionEntry[] { method progress (line 124) | progress(campaignId: string): CampaignProgress { method budgetUsage (line 131) | budgetUsage(campaignId: string): CampaignBudgetUsage { method pause (line 138) | pause(campaignId: string): void { method resume (line 145) | resume(campaignId: string): void { method cancel (line 152) | cancel(campaignId: string): void { method close (line 156) | close(): void { FILE: ts/src/mission/checkpoint.ts type MissionCheckpoint (line 14) | interface MissionCheckpoint { function saveCheckpoint (line 24) | function saveCheckpoint(store: MissionStore, missionId: string, checkpoi... function loadCheckpoint (line 51) | function loadCheckpoint(store: MissionStore, checkpointPath: string): st... FILE: ts/src/mission/control-plane.ts function missionCheckpointDir (line 10) | function missionCheckpointDir(runsRoot: string, missionId: string): stri... function requireMission (line 14) | function requireMission(manager: MissionManager, missionId: string): Mis... function buildMissionStatusPayload (line 22) | function buildMissionStatusPayload(manager: MissionManager, missionId: s... function buildMissionResultPayload (line 37) | function buildMissionResultPayload(manager: MissionManager, missionId: s... function buildMissionArtifactsPayload (line 52) | function buildMissionArtifactsPayload( function writeMissionCheckpoint (line 87) | function writeMissionCheckpoint(manager: MissionManager, missionId: stri... function buildFallbackVerifier (line 92) | function buildFallbackVerifier(manager: MissionManager, missionId: strin... function runMissionLoop (line 126) | async function runMissionLoop( function runLegacyMissionLoop (line 181) | async function runLegacyMissionLoop( FILE: ts/src/mission/events.ts type MissionCreatedEvent (line 10) | interface MissionCreatedEvent { type MissionStepEvent (line 17) | interface MissionStepEvent { type MissionStatusChangedEvent (line 24) | interface MissionStatusChangedEvent { type MissionVerifiedEvent (line 31) | interface MissionVerifiedEvent { class MissionEventEmitter (line 38) | class MissionEventEmitter extends EventEmitter { method emitCreated (line 39) | emitCreated(missionId: string, name: string, goal: string): void { method emitStep (line 48) | emitStep(missionId: string, description: string, stepNumber: number): ... method emitStatusChange (line 57) | emitStatusChange(missionId: string, from: string, to: string): void { method emitVerified (line 66) | emitVerified(missionId: string, passed: boolean, reason: string): void { FILE: ts/src/mission/executor.ts type StepResult (line 11) | interface StepResult { type RunStepResult (line 17) | interface RunStepResult { type RunUntilDoneResult (line 25) | interface RunUntilDoneResult { type StepExecutor (line 31) | type StepExecutor = (missionId: string) => Promise; function runStep (line 37) | async function runStep( function runUntilDone (line 106) | async function runUntilDone( FILE: ts/src/mission/lifecycle.ts function deriveMissionStatusFromVerifierResult (line 9) | function deriveMissionStatusFromVerifierResult( function buildVerifierErrorResult (line 15) | function buildVerifierErrorResult( FILE: ts/src/mission/manager.ts class MissionManager (line 20) | class MissionManager { method constructor (line 25) | constructor(dbPath: string, opts?: { events?: MissionEventEmitter }) { method create (line 30) | create(opts: { name: string; goal: string; budget?: MissionBudget; met... method get (line 36) | get(id: string): Mission | null { method list (line 40) | list(status?: MissionStatus): Mission[] { method advance (line 44) | advance(missionId: string, description: string): string { method steps (line 50) | steps(missionId: string): MissionStep[] { method subgoals (line 54) | subgoals(missionId: string): MissionSubgoal[] { method verifications (line 58) | verifications(missionId: string) { method setVerifier (line 62) | setVerifier(missionId: string, verifier: MissionVerifier): void { method hasVerifier (line 66) | hasVerifier(missionId: string): boolean { method verify (line 70) | async verify(missionId: string): Promise { method pause (line 86) | pause(missionId: string): void { method resume (line 90) | resume(missionId: string): void { method cancel (line 94) | cancel(missionId: string): void { method setStatus (line 98) | setStatus(missionId: string, status: MissionStatus): void { method budgetUsage (line 102) | budgetUsage(missionId: string): { stepsUsed: number; maxSteps?: number... method getDbPath (line 106) | getDbPath(): string { method updateStep (line 110) | updateStep(stepId: string, status: "completed" | "failed" | "blocked",... method addSubgoal (line 114) | addSubgoal(missionId: string, opts: { description: string; priority?: ... method updateSubgoalStatus (line 118) | updateSubgoalStatus(subgoalId: string, status: "pending" | "active" | ... method saveCheckpoint (line 122) | saveCheckpoint(missionId: string, checkpointDir: string): string { method #runVerifierWorkflow (line 126) | async #runVerifierWorkflow( method transitionMissionStatus (line 141) | private transitionMissionStatus(missionId: string, status: MissionStat... method close (line 151) | close(): void { FILE: ts/src/mission/planner.ts type SubgoalPlan (line 18) | interface SubgoalPlan { type PlanResult (line 23) | interface PlanResult { type StepPlan (line 28) | interface StepPlan { type PlanNextStepOpts (line 36) | interface PlanNextStepOpts { constant DECOMPOSE_SYSTEM (line 51) | const DECOMPOSE_SYSTEM = `You are a mission planner. Given a plain-langu... constant PLAN_STEP_SYSTEM (line 69) | const PLAN_STEP_SYSTEM = `You are an adaptive mission executor. Given th... function parseJSON (line 102) | function parseJSON(text: string): Record | null { class MissionPlanner (line 113) | class MissionPlanner { method constructor (line 116) | constructor(provider: LLMProvider) { method decompose (line 123) | async decompose(goal: string): Promise { method planNextStep (line 156) | async planNextStep(opts: PlanNextStepOpts): Promise { method buildStepPrompt (line 200) | private buildStepPrompt(opts: PlanNextStepOpts): string { method fallbackPlan (line 224) | private fallbackPlan(goal: string): PlanResult { method fallbackStep (line 231) | private fallbackStep(opts: PlanNextStepOpts): StepPlan { FILE: ts/src/mission/proof.ts type ProofStatus (line 30) | type ProofStatus = z.infer; function isHardVerified (line 36) | function isHardVerified(status: ProofStatus): boolean { function isAdvisory (line 45) | function isAdvisory(status: ProofStatus): boolean { type ProofAssistantInfo (line 53) | interface ProofAssistantInfo { constant PROOF_ASSISTANT_IDS (line 60) | const PROOF_ASSISTANT_IDS = ["lean4", "coq", "isabelle"] as const; type ProofAssistantId (line 62) | type ProofAssistantId = z.infer; constant SUPPORTED_PROOF_ASSISTANTS (line 64) | const SUPPORTED_PROOF_ASSISTANTS: ProofAssistantInfo[] = [ constant PROOF_ASSISTANT_MAP (line 70) | const PROOF_ASSISTANT_MAP = new Map( type ProofMissionSpec (line 89) | type ProofMissionSpec = z.infer; class BuildCommandProofVerifier (line 95) | class BuildCommandProofVerifier implements Verifier { method constructor (line 102) | constructor(proofAssistant: ProofAssistantId, buildCommand: string, cw... method verify (line 114) | async verify(_missionId: string): Promise { class LeanVerifier (line 154) | class LeanVerifier extends BuildCommandProofVerifier { method constructor (line 155) | constructor(buildCommand: string, cwd: string) { class CoqVerifier (line 160) | class CoqVerifier extends BuildCommandProofVerifier { method constructor (line 161) | constructor(buildCommand: string, cwd: string) { class IsabelleVerifier (line 166) | class IsabelleVerifier extends BuildCommandProofVerifier { method constructor (line 167) | constructor(buildCommand: string, cwd: string) { function createProofVerifier (line 172) | function createProofVerifier( function createProofMission (line 191) | function createProofMission( FILE: ts/src/mission/simulation-bridge.ts type SimulationRequest (line 18) | interface SimulationRequest { type SimulationStepPlan (line 24) | interface SimulationStepPlan extends StepPlan { constant PLAN_STEP_WITH_SIM_SYSTEM (line 35) | const PLAN_STEP_WITH_SIM_SYSTEM = `You are an adaptive mission executor.... class SimulationAwarePlanner (line 56) | class SimulationAwarePlanner extends MissionPlanner { method constructor (line 59) | constructor(provider: LLMProvider, knowledgeRoot: string) { method planNextStep (line 68) | override async planNextStep(opts: PlanNextStepOpts): Promise | null { method fallbackStepPlan (line 186) | private fallbackStepPlan(opts: PlanNextStepOpts): SimulationStepPlan { FILE: ts/src/mission/status-transitions.ts type MissionStatusTransition (line 3) | interface MissionStatusTransition { constant ALLOWED_MISSION_STATUS_TRANSITIONS (line 8) | const ALLOWED_MISSION_STATUS_TRANSITIONS: Record; type MissionBudget (line 28) | type MissionBudget = z.infer; type Mission (line 42) | type Mission = z.infer; type StepStatus (line 53) | type StepStatus = z.infer; type MissionStep (line 65) | type MissionStep = z.infer; type VerifierResult (line 74) | type VerifierResult = z.infer; type MissionVerifier (line 76) | type MissionVerifier = (missionId: string) => Promise; type SubgoalSpec (line 87) | type SubgoalSpec = z.infer; type MissionSpec (line 98) | type MissionSpec = z.infer; type SubgoalStatus (line 105) | type SubgoalStatus = z.infer; type MissionSubgoal (line 117) | type MissionSubgoal = z.infer; type BudgetUsage (line 123) | interface BudgetUsage { FILE: ts/src/mission/verification-workflow.ts type MissionVerificationOutcome (line 7) | interface MissionVerificationOutcome { function buildMissingVerifierOutcome (line 12) | function buildMissingVerifierOutcome(): MissionVerificationOutcome { function resolveMissionVerificationOutcome (line 24) | function resolveMissionVerificationOutcome( function resolveMissionVerificationErrorOutcome (line 33) | function resolveMissionVerificationErrorOutcome( FILE: ts/src/mission/verifiers.ts type Verifier (line 18) | interface Verifier { class CommandVerifier (line 27) | class CommandVerifier implements Verifier { method constructor (line 32) | constructor(command: string, cwd: string) { method verify (line 38) | async verify(_missionId: string): Promise { class CompositeVerifier (line 75) | class CompositeVerifier implements Verifier { method constructor (line 79) | constructor(verifiers: Verifier[]) { method verify (line 84) | async verify(missionId: string): Promise { type CodeMissionSpec (line 120) | type CodeMissionSpec = z.infer; function buildCodeMissionVerifier (line 122) | function buildCodeMissionVerifier(spec: Pick void) { method notify (line 40) | async notify(event: NotificationEvent): Promise { class CallbackNotifier (line 56) | class CallbackNotifier implements Notifier { method constructor (line 59) | constructor(callback: (event: NotificationEvent) => void) { method notify (line 63) | async notify(event: NotificationEvent): Promise { class CompositeNotifier (line 72) | class CompositeNotifier implements Notifier { method constructor (line 76) | constructor(notifiers: Notifier[], eventFilter?: EventType[]) { method notify (line 81) | async notify(event: NotificationEvent): Promise { class HTTPNotifier (line 98) | class HTTPNotifier implements Notifier { method constructor (line 102) | constructor(url: string, headers?: Record) { method notify (line 107) | async notify(event: NotificationEvent): Promise { constant EMOJI_MAP (line 120) | const EMOJI_MAP: Record = { class SlackWebhookNotifier (line 127) | class SlackWebhookNotifier implements Notifier { method constructor (line 130) | constructor(webhookUrl: string) { method notify (line 134) | async notify(event: NotificationEvent): Promise { FILE: ts/src/openclaw/artifact-contract.ts type OpenClawArtifactType (line 3) | type OpenClawArtifactType = "harness" | "policy" | "distilled_model"; type ValidatedOpenClawArtifact (line 5) | interface ValidatedOpenClawArtifact { constant SAFE_FILE_ID (line 12) | const SAFE_FILE_ID = /^[A-Za-z0-9][A-Za-z0-9._-]*$/; function isRecord (line 14) | function isRecord(value: unknown): value is Record { function requireString (line 18) | function requireString(body: Record, key: string): stri... function requireSourceText (line 26) | function requireSourceText(body: Record, key: string): ... function requireInteger (line 34) | function requireInteger(body: Record, key: string, min:... function optionalStringList (line 42) | function optionalStringList(body: Record, key: string):... function optionalRecord (line 53) | function optionalRecord(body: Record, key: string): Rec... function isOpenClawArtifactType (line 64) | function isOpenClawArtifactType(value: string): value is OpenClawArtifac... function validateProvenance (line 68) | function validateProvenance(value: unknown): Record { function ensureSafeArtifactId (line 82) | function ensureSafeArtifactId(artifactId: string): string { function validateOpenClawArtifactPayload (line 89) | function validateOpenClawArtifactPayload(body: Record):... FILE: ts/src/openclaw/distill-job-store.ts type DistillJobStatus (line 5) | type DistillJobStatus = "pending" | "running" | "completed" | "failed"; type DistillJob (line 7) | interface DistillJob { class DistillJobError (line 21) | class DistillJobError extends Error { method constructor (line 22) | constructor(message: string) { constant VALID_TRANSITIONS (line 28) | const VALID_TRANSITIONS: Record { function isDistillJobStatus (line 47) | function isDistillJobStatus(value: string): value is DistillJobStatus { function parseJob (line 51) | function parseJob(raw: unknown): DistillJob | null { class DistillJobStore (line 72) | class DistillJobStore { method constructor (line 75) | constructor(knowledgeRoot: string) { method createJob (line 79) | createJob(opts: { method listJobs (line 101) | listJobs(scenario?: string): DistillJob[] { method getJob (line 113) | getJob(jobId: string): DistillJob | null { method transition (line 117) | transition( method activeJobCount (line 163) | activeJobCount(): number { method #jobPath (line 167) | #jobPath(jobId: string): string { method #readJobFromPath (line 171) | #readJobFromPath(path: string): DistillJob | null { method #writeJob (line 182) | #writeJob(job: DistillJob): void { FILE: ts/src/openclaw/service.ts constant DISCOVERY_VERSION (line 26) | const DISCOVERY_VERSION = "0.1.0"; type OpenClawServiceOpts (line 28) | interface OpenClawServiceOpts { type ArtifactSummary (line 34) | interface ArtifactSummary { type ScenarioCapabilities (line 42) | interface ScenarioCapabilities { function isRecord (line 53) | function isRecord(value: unknown): value is Record { function readRequiredString (line 57) | function readRequiredString(body: Record, key: string):... function readOptionalString (line 65) | function readOptionalString(body: Record, key: string):... function readInteger (line 70) | function readInteger(body: Record, key: string, fallbac... function readRecord (line 78) | function readRecord(body: Record, key: string): Record<... function readStringList (line 86) | function readStringList(body: Record, key: string): str... function toHarnessModuleName (line 97) | function toHarnessModuleName(artifactId: string): string { function humanizeScenarioName (line 101) | function humanizeScenarioName(name: string): string { function artifactDir (line 109) | function artifactDir(knowledgeRoot: string): string { function artifactPath (line 113) | function artifactPath(knowledgeRoot: string, artifactId: string): string { function readJsonRecord (line 117) | function readJsonRecord(path: string): Record | null { function listArtifactRecords (line 126) | function listArtifactRecords(knowledgeRoot: string): Record, fallbackId:... function parseCommandLine (line 148) | function parseCommandLine(command: string): string[] { function applyCommandTemplate (line 177) | function applyCommandTemplate(commandTemplate: string, job: DistillJob):... class OpenClawService (line 183) | class OpenClawService { method constructor (line 189) | constructor(opts: OpenClawServiceOpts) { method evaluateStrategy (line 196) | evaluateStrategy(body: Record): Record): Record): Record { method listArtifacts (line 252) | listArtifacts(params: URLSearchParams): ArtifactSummary[] { method fetchArtifact (line 261) | fetchArtifact(artifactId: string): Record | null { method distillStatus (line 265) | distillStatus(params: URLSearchParams): Record { method triggerDistillation (line 274) | triggerDistillation(body: Record): Record): Distil... method capabilities (line 354) | capabilities(): Record { method advertiseCapabilities (line 358) | advertiseCapabilities(): Record { method discoverScenarioCapabilities (line 376) | discoverScenarioCapabilities(scenarioName: string): ScenarioCapabiliti... method runtimeHealth (line 401) | runtimeHealth(): Record { method scenarioArtifactLookup (line 419) | scenarioArtifactLookup(scenarioName: string): Array { method #loadGameScenario (line 461) | #loadGameScenario(scenarioName: string): ScenarioInterface { method #listHarnessModules (line 470) | #listHarnessModules(scenarioName: string): string[] { method #hasPlaybook (line 478) | #hasPlaybook(scenarioName: string): boolean { method #hasPolicyArtifact (line 484) | #hasPolicyArtifact(scenarioName: string): boolean { method #artifactCounts (line 489) | #artifactCounts(): Record { method #getBestGenerationMetrics (line 498) | #getBestGenerationMetrics(scenarioName: string): { best_score: number ... method #scenarioInfo (line 526) | #scenarioInfo(name: string): Record { method #withStore (line 539) | #withStore(fn: (store: SQLiteStore) => T): T { FILE: ts/src/production-traces/cli/_shared/exit-codes.ts constant EXIT (line 25) | const EXIT = { type ExitCode (line 37) | type ExitCode = (typeof EXIT)[keyof typeof EXIT]; FILE: ts/src/production-traces/cli/_shared/flags.ts type FlagType (line 18) | type FlagType = "string" | "string-array" | "boolean"; type FlagSpec (line 20) | interface FlagSpec { type ParsedFlags (line 26) | type ParsedFlags = Record): TraceFilter { function msgOf (line 274) | function msgOf(err: unknown): string { FILE: ts/src/production-traces/cli/policy.ts constant POLICY_HELP_TEXT (line 25) | const POLICY_HELP_TEXT = `autoctx production-traces policy — redaction p... function runPolicy (line 41) | async function runPolicy( function runPolicyShow (line 63) | async function runPolicyShow( function runPolicySet (line 90) | async function runPolicySet( function msgOf (line 184) | function msgOf(err: unknown): string { FILE: ts/src/production-traces/cli/prune.ts constant PRUNE_HELP_TEXT (line 29) | const PRUNE_HELP_TEXT = `autoctx production-traces prune — enforce reten... type PruneReport (line 45) | interface PruneReport { function runPrune (line 56) | async function runPrune( function toLegacyReport (line 116) | function toLegacyReport( function msgOf (line 137) | function msgOf(err: unknown): string { FILE: ts/src/production-traces/cli/rotate-salt.ts constant ROTATE_SALT_HELP_TEXT (line 17) | const ROTATE_SALT_HELP_TEXT = `autoctx production-traces rotate-salt — g... function runRotateSalt (line 30) | async function runRotateSalt( function msgOf (line 93) | function msgOf(err: unknown): string { FILE: ts/src/production-traces/contract/branded-ids.ts type Brand (line 4) | type Brand = T & { readonly [brand]: B }; type ProductionTraceId (line 7) | type ProductionTraceId = Brand; type AppId (line 8) | type AppId = Brand; type UserIdHash (line 9) | type UserIdHash = Brand; type SessionIdHash (line 10) | type SessionIdHash = Brand; type FeedbackRefId (line 11) | type FeedbackRefId = Brand; type EnvironmentTag (line 12) | type EnvironmentTag = Brand; type ContentHash (line 13) | type ContentHash = Brand; type Scenario (line 14) | type Scenario = Brand; constant ULID_RE (line 17) | const ULID_RE = /^[0-9A-HJKMNP-TV-Z]{26}$/; constant SLUG_RE (line 19) | const SLUG_RE = /^[a-z0-9][a-z0-9_-]*$/; constant ENV_TAG_RE (line 21) | const ENV_TAG_RE = /^[a-z0-9][a-z0-9_-]*$/i; constant SHA256_HEX_RE (line 23) | const SHA256_HEX_RE = /^[0-9a-f]{64}$/; constant CONTENT_HASH_RE (line 25) | const CONTENT_HASH_RE = /^sha256:[0-9a-f]{64}$/; function newProductionTraceId (line 27) | function newProductionTraceId(): ProductionTraceId { function parseProductionTraceId (line 31) | function parseProductionTraceId( function parseAppId (line 37) | function parseAppId(input: string): AppId | null { function parseUserIdHash (line 43) | function parseUserIdHash(input: string): UserIdHash | null { function parseSessionIdHash (line 47) | function parseSessionIdHash(input: string): SessionIdHash | null { function parseFeedbackRefId (line 51) | function parseFeedbackRefId(input: string): FeedbackRefId | null { function parseEnvironmentTag (line 57) | function parseEnvironmentTag(input: string): EnvironmentTag | null { function defaultEnvironmentTag (line 63) | function defaultEnvironmentTag(): EnvironmentTag { function parseContentHash (line 67) | function parseContentHash(input: string): ContentHash | null { function parseScenario (line 71) | function parseScenario(input: string): Scenario | null { FILE: ts/src/production-traces/contract/canonical-json.ts type JsonValue (line 17) | type JsonValue = function canonicalJsonStringify (line 25) | function canonicalJsonStringify(value: unknown): string { function encode (line 29) | function encode(value: unknown, path: readonly (string | number)[]): str... function codeUnitCompare (line 78) | function codeUnitCompare(a: string, b: string): number { function pathOf (line 84) | function pathOf(path: readonly (string | number)[]): string { FILE: ts/src/production-traces/contract/content-address.ts constant CROCKFORD_ALPHABET (line 8) | const CROCKFORD_ALPHABET = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"; function deriveDatasetId (line 20) | function deriveDatasetId( function crockfordBase32Encode (line 39) | function crockfordBase32Encode(buf: Buffer): string { FILE: ts/src/production-traces/contract/factories.ts type CreateProductionTraceInputs (line 20) | interface CreateProductionTraceInputs { function createProductionTrace (line 47) | function createProductionTrace(inputs: CreateProductionTraceInputs): Pro... FILE: ts/src/production-traces/contract/generated-types.ts type ClusterConfig (line 10) | interface ClusterConfig { type SelectionRule (line 43) | type SelectionRule = GateRule | TopQuartileRule | ContrastiveRule | Spli... type DatasetManifest (line 48) | interface DatasetManifest { type GateRule (line 85) | interface GateRule { type MatchExpression (line 90) | interface MatchExpression { type TopQuartileRule (line 97) | interface TopQuartileRule { type ContrastiveRule (line 103) | interface ContrastiveRule { type SplitRule (line 110) | interface SplitRule { type SplitStats (line 118) | interface SplitStats { type DatasetRow (line 127) | interface DatasetRow { type TraceMessage (line 159) | interface TraceMessage { type ToolCall (line 166) | interface ToolCall { type EnvContext (line 175) | interface EnvContext { type FeedbackRef (line 183) | interface FeedbackRef { type ProductionOutcome (line 192) | interface ProductionOutcome { type ProductionTrace (line 207) | interface ProductionTrace { type TraceSource (line 243) | interface TraceSource { type SessionIdentifier (line 251) | interface SessionIdentifier { type TimingInfo (line 256) | interface TimingInfo { type UsageInfo (line 262) | interface UsageInfo { type TraceLinks (line 268) | interface TraceLinks { type RedactionMarker (line 274) | interface RedactionMarker { type RedactionPolicy (line 288) | interface RedactionPolicy { type RetentionPolicy (line 323) | interface RetentionPolicy { type RubricConfig (line 347) | interface RubricConfig { type Rubric (line 360) | interface Rubric { type SharedDefinitionsForAutocontextProductionTraceDocuments (line 378) | interface SharedDefinitionsForAutocontextProductionTraceDocuments { FILE: ts/src/production-traces/contract/invariants.ts type JsonPointerParseResult (line 3) | type JsonPointerParseResult = function validateTimingSanity (line 11) | function validateTimingSanity(timing: TimingInfo): ValidationResult { function validateJsonPointer (line 50) | function validateJsonPointer(obj: unknown, pointer: string): ValidationR... function parseJsonPointerTokens (line 83) | function parseJsonPointerTokens(pointer: string): JsonPointerParseResult { function unescapeToken (line 101) | function unescapeToken(t: string): string { function validateRedactionPaths (line 109) | function validateRedactionPaths(trace: ProductionTrace): ValidationResult { FILE: ts/src/production-traces/contract/types.ts type ProductionTraceSchemaVersion (line 12) | type ProductionTraceSchemaVersion = "1.0"; constant PRODUCTION_TRACE_SCHEMA_VERSION (line 13) | const PRODUCTION_TRACE_SCHEMA_VERSION: ProductionTraceSchemaVersion = "1... type MessageRole (line 17) | type MessageRole = "user" | "assistant" | "system" | "tool"; type ToolCall (line 19) | type ToolCall = { type TraceMessage (line 27) | type TraceMessage = { type TraceSource (line 37) | type TraceSource = { type ProviderName (line 43) | type ProviderName = type ProviderInfo (line 52) | type ProviderInfo = { type SessionIdentifier (line 58) | type SessionIdentifier = { type EnvContext (line 64) | type EnvContext = { type TimingInfo (line 71) | type TimingInfo = { type UsageInfo (line 78) | type UsageInfo = { type OutcomeLabel (line 85) | type OutcomeLabel = "success" | "failure" | "partial" | "unknown"; type ProductionOutcome (line 87) | type ProductionOutcome = { type FeedbackKind (line 99) | type FeedbackKind = "thumbs" | "rating" | "correction" | "edit" | "custom"; type FeedbackRef (line 101) | type FeedbackRef = { type TraceLinks (line 109) | type TraceLinks = { type RedactionReason (line 116) | type RedactionReason = type DetectedBy (line 123) | type DetectedBy = "client" | "ingestion" | "operator"; type RedactionMarker (line 125) | type RedactionMarker = { type ModelRoutingDecisionReason (line 136) | type ModelRoutingDecisionReason = "default" | "matched-route" | "fallback"; type ModelRoutingFallbackReason (line 138) | type ModelRoutingFallbackReason = type ProductionTraceRouting (line 144) | type ProductionTraceRouting = { type ProductionTrace (line 158) | type ProductionTrace = { type ValidationResult (line 179) | type ValidationResult = FILE: ts/src/production-traces/contract/validators.ts function toResult (line 81) | function toResult(validate: ValidateFunction, input: unknown): Validatio... function formatError (line 88) | function formatError(e: ErrorObject): string { function validateTraceSource (line 93) | function validateTraceSource(input: unknown): ValidationResult { function validateSession (line 96) | function validateSession(input: unknown): ValidationResult { function validateEnvContext (line 99) | function validateEnvContext(input: unknown): ValidationResult { function validateTimingInfo (line 102) | function validateTimingInfo(input: unknown): ValidationResult { function validateUsageInfo (line 105) | function validateUsageInfo(input: unknown): ValidationResult { function validateProductionOutcome (line 108) | function validateProductionOutcome(input: unknown): ValidationResult { function validateFeedbackRef (line 111) | function validateFeedbackRef(input: unknown): ValidationResult { function validateTraceLinks (line 114) | function validateTraceLinks(input: unknown): ValidationResult { function validateRedactionMarker (line 117) | function validateRedactionMarker(input: unknown): ValidationResult { function validateRedactionPolicy (line 120) | function validateRedactionPolicy(input: unknown): ValidationResult { function validateRetentionPolicy (line 123) | function validateRetentionPolicy(input: unknown): ValidationResult { function validateProductionTrace (line 126) | function validateProductionTrace(input: unknown): ValidationResult { function validateSelectionRule (line 129) | function validateSelectionRule(input: unknown): ValidationResult { function validateClusterConfig (line 132) | function validateClusterConfig(input: unknown): ValidationResult { function validateRubricConfig (line 135) | function validateRubricConfig(input: unknown): ValidationResult { function validateDatasetRow (line 138) | function validateDatasetRow(input: unknown): ValidationResult { function validateDatasetManifest (line 141) | function validateDatasetManifest(input: unknown): ValidationResult { type _TypeCheck (line 146) | type _TypeCheck = FILE: ts/src/production-traces/dataset/cluster.ts constant UNCATEGORIZED_CLUSTER (line 23) | const UNCATEGORIZED_CLUSTER = "uncategorized"; function clusterByTaskType (line 29) | function clusterByTaskType( function clusterByRules (line 56) | function clusterByRules( function matchExpression (line 94) | function matchExpression( function matchOperator (line 106) | function matchOperator(trace: ProductionTrace, path: string, op: MatchOp... function containsMatch (line 122) | function containsMatch(value: unknown, needle: string | readonly string[... function containsScalar (line 129) | function containsScalar(value: unknown, needle: string): boolean { function resolveJsonPath (line 143) | function resolveJsonPath(root: unknown, path: string): unknown { function tokenizePath (line 164) | function tokenizePath(path: string): Array | null { function deepEqual (line 199) | function deepEqual(a: unknown, b: unknown): boolean { FILE: ts/src/production-traces/dataset/manifest.ts type BuildManifestInputs (line 18) | interface BuildManifestInputs { function buildManifest (line 44) | function buildManifest(inputs: BuildManifestInputs): DatasetManifest { FILE: ts/src/production-traces/dataset/pipeline.ts function buildDataset (line 65) | async function buildDataset(inputs: BuildDatasetInputs): Promise { function partitionByRatios (line 27) | function partitionByRatios( function partitionByRule (line 50) | function partitionByRule( function validateRatios (line 61) | function validateRatios(r: SplitRatios): void { function seededShuffle (line 79) | function seededShuffle(items: readonly T[], seed: number): T[] { function mulberry32 (line 91) | function mulberry32(seed: number): () => number { FILE: ts/src/production-traces/dataset/types.ts type DatasetId (line 24) | type DatasetId = string & { readonly [datasetIdBrand]: "DatasetId" }; constant DATASET_ID_RE (line 26) | const DATASET_ID_RE = /^ds_[0-9A-HJKMNP-TV-Z]{26}$/; function parseDatasetId (line 28) | function parseDatasetId(input: string): DatasetId | null { type DatasetRowSplit (line 34) | type DatasetRowSplit = "train" | "eval" | "holdout"; type Rubric (line 36) | type Rubric = { type RubricSource (line 42) | type RubricSource = "explicit" | "registry" | "synthetic"; type ExpectedOutcome (line 44) | type ExpectedOutcome = { type DatasetRow (line 50) | type DatasetRow = { type ClusterStrategy (line 75) | type ClusterStrategy = "taskType" | "rules"; type SplitStats (line 77) | type SplitStats = { type ManifestClusterEntry (line 82) | type ManifestClusterEntry = { type DatasetManifest (line 90) | type DatasetManifest = { type MatchOperator (line 121) | type MatchOperator = { type MatchExpression (line 127) | type MatchExpression = Readonly>; type GateRule (line 129) | type GateRule = { type TopQuartileRule (line 135) | type TopQuartileRule = { type ContrastiveRule (line 142) | type ContrastiveRule = { type SplitRule (line 150) | type SplitRule = { type SelectionRule (line 159) | type SelectionRule = type ClusterConfig (line 167) | type ClusterConfig = { type RubricConfigEntry (line 175) | type RubricConfigEntry = type RubricConfig (line 179) | type RubricConfig = { type RubricLookup (line 185) | type RubricLookup = (scenarioId: Scenario) => Promise; type RubricResolution (line 187) | type RubricResolution = type BuildDatasetInputs (line 195) | interface BuildDatasetInputs { type BuildDatasetStats (line 214) | interface BuildDatasetStats { type BuildDatasetResult (line 221) | interface BuildDatasetResult { FILE: ts/src/production-traces/ingest/dedupe.ts function loadSeenIds (line 22) | async function loadSeenIds(cwd: string): Promise> { function appendSeenId (line 38) | async function appendSeenId(cwd: string, traceId: ProductionTraceId): Pr... function rebuildSeenIdsFromIngested (line 49) | async function rebuildSeenIdsFromIngested(cwd: string): Promise { FILE: ts/src/production-traces/ingest/scan-workflow.ts type RetentionMode (line 51) | type RetentionMode = "enforce" | "skip"; type IngestOpts (line 53) | interface IngestOpts { type IngestReport (line 68) | interface IngestReport { type BatchFileInfo (line 85) | interface BatchFileInfo { function ingestBatches (line 119) | async function ingestBatches( type BatchOutcome (line 232) | interface BatchOutcome { function processBatch (line 238) | async function processBatch( function enumerateBatches (line 285) | function enumerateBatches(cwd: string, sinceMs: number | undefined): Bat... function moveToIngested (line 315) | async function moveToIngested( function moveToFailed (line 350) | async function moveToFailed( FILE: ts/src/production-traces/ingest/validator.ts type IngestLineResult (line 10) | type IngestLineResult = function validateIngestedLine (line 24) | function validateIngestedLine(rawLine: string): IngestLineResult { FILE: ts/src/production-traces/redaction/apply.ts constant RAW_PROVIDER_PAYLOAD_PATH (line 64) | const RAW_PROVIDER_PAYLOAD_PATH = "/metadata/rawProviderPayload"; type MutableRecord (line 66) | type MutableRecord = Record; function asMutableRecord (line 68) | function asMutableRecord(value: unknown): MutableRecord | null { function applyRedactions (line 73) | function applyRedactions( function resolveOverride (line 130) | function resolveOverride( function makePlaceholder (line 145) | function makePlaceholder(current: unknown, placeholder: string, preserve... function rewriteField (line 163) | function rewriteField( function dropField (line 191) | function dropField(root: unknown, pointer: string): void { function parsePointer (line 213) | function parsePointer(pointer: string): string[] | null { function stepInto (line 218) | function stepInto(value: unknown, token: string): unknown { function toIndex (line 230) | function toIndex(token: string): number | null { FILE: ts/src/production-traces/redaction/hash-primitives.ts function sha256HexSalted (line 24) | function sha256HexSalted(value: string, salt: string): string { function hashValue (line 37) | function hashValue(current: unknown, salt: string): string { FILE: ts/src/production-traces/redaction/install-salt.ts constant ROOT (line 18) | const ROOT = ".autocontext"; constant FILE (line 19) | const FILE = "install-salt"; function installSaltPath (line 21) | function installSaltPath(cwd: string): string { function loadInstallSalt (line 25) | async function loadInstallSalt(cwd: string): Promise { function initializeInstallSalt (line 38) | async function initializeInstallSalt(cwd: string): Promise { function rotateInstallSalt (line 52) | async function rotateInstallSalt(cwd: string): Promise { function writeSalt (line 56) | async function writeSalt(path: string): Promise { FILE: ts/src/production-traces/redaction/mark.ts type MarkerMeta (line 54) | type MarkerMeta = { reason: RedactionReason; category: string }; type PatternBundle (line 62) | type PatternBundle = { function asMutableRecord (line 67) | function asMutableRecord(value: unknown): Record | null { function markRedactions (line 72) | function markRedactions( function buildAutoDetectBundle (line 141) | function buildAutoDetectBundle(enabled: Set): PatternBundle { function buildCustomPatternBundle (line 194) | function buildCustomPatternBundle(policy: LoadedRedactionPolicy): Patter... function scanTraceTextFields (line 218) | function scanTraceTextFields( function scanValueRecursive (line 254) | function scanValueRecursive( function escapeJsonPointerToken (line 281) | function escapeJsonPointerToken(key: string): string { function scanText (line 286) | function scanText( FILE: ts/src/production-traces/redaction/policy.ts constant FILE_NAME (line 21) | const FILE_NAME = "redaction-policy.json"; function redactionPolicyPath (line 23) | function redactionPolicyPath(cwd: string): string { function defaultRedactionPolicy (line 27) | function defaultRedactionPolicy(): LoadedRedactionPolicy { function loadRedactionPolicy (line 52) | async function loadRedactionPolicy(cwd: string): Promise = { type ContextBudgetPolicyOptions (line 86) | interface ContextBudgetPolicyOptions { class ContextBudgetPolicy (line 94) | class ContextBudgetPolicy { method constructor (line 101) | constructor(opts: ContextBudgetPolicyOptions = {}) { type ComponentBudgetHit (line 110) | interface ComponentBudgetHit { type ComponentCapHit (line 116) | interface ComponentCapHit extends ComponentBudgetHit { type GlobalTrimHit (line 120) | interface GlobalTrimHit extends ComponentBudgetHit { type ContextBudgetTelemetry (line 124) | interface ContextBudgetTelemetry { type ContextBudgetResult (line 142) | interface ContextBudgetResult { function estimateTokens (line 147) | function estimateTokens(text: string): number { function truncateToTokens (line 151) | function truncateToTokens(text: string, maxTokens: number): string { class ContextBudget (line 165) | class ContextBudget { method constructor (line 169) | constructor(maxTokens = 100_000, policy = new ContextBudgetPolicy()) { method apply (line 174) | apply(components: Record): Record { method applyWithTelemetry (line 178) | applyWithTelemetry(components: Record): ContextBudgetR... type TelemetryInput (line 248) | interface TelemetryInput { function buildTelemetry (line 260) | function buildTelemetry(input: TelemetryInput): ContextBudgetTelemetry { function deduplicateEquivalentComponents (line 283) | function deduplicateEquivalentComponents( function applyComponentCaps (line 328) | function applyComponentCaps( function duplicateKey (line 352) | function duplicateKey(value: string): string { function canonicalRank (line 356) | function canonicalRank(order: readonly string[]): (key: string) => number { function componentTokenCounts (line 361) | function componentTokenCounts(components: Record): Recor... function sumTokens (line 367) | function sumTokens(counts: Record): number { FILE: ts/src/prompts/templates.ts type PromptContext (line 8) | interface PromptContext { type PromptBundle (line 20) | interface PromptBundle { function buildPromptBundle (line 27) | function buildPromptBundle(ctx: PromptContext): PromptBundle { FILE: ts/src/providers/deterministic.ts class DeterministicProvider (line 8) | class DeterministicProvider implements LLMProvider { method defaultModel (line 11) | defaultModel(): string { method complete (line 15) | async complete(opts: { FILE: ts/src/providers/provider-config-resolution.ts type ProviderConfig (line 5) | interface ProviderConfig { type ResolveProviderConfigOpts (line 12) | interface ResolveProviderConfigOpts { function resolveProviderConfig (line 19) | function resolveProviderConfig( FILE: ts/src/providers/provider-factory.ts type AnthropicProviderOpts (line 16) | interface AnthropicProviderOpts { function createAnthropicProvider (line 21) | function createAnthropicProvider(opts: AnthropicProviderOpts): LLMProvid... type OpenAICompatibleProviderOpts (line 69) | interface OpenAICompatibleProviderOpts { function createOpenAICompatibleProvider (line 75) | function createOpenAICompatibleProvider(opts: OpenAICompatibleProviderOp... constant OPENAI_COMPATIBLE_PROVIDER_DEFAULTS (line 122) | const OPENAI_COMPATIBLE_PROVIDER_DEFAULTS: Record< type CreateProviderOpts (line 156) | interface CreateProviderOpts { function createProvider (line 187) | function createProvider(opts: CreateProviderOpts): LLMProvider { function createRuntimeBridgeProvider (line 305) | function createRuntimeBridgeProvider( function runtimeBridgeProviderOpts (line 314) | function runtimeBridgeProviderOpts( FILE: ts/src/providers/role-provider-bundle.ts type GenerationRole (line 15) | type GenerationRole = "competitor" | "analyst" | "coach" | "architect" |... type RoleProviderSettings (line 17) | interface RoleProviderSettings { type ProviderRuntimeSessionOpts (line 59) | interface ProviderRuntimeSessionOpts { type ProviderCompositionOpts (line 71) | interface ProviderCompositionOpts { type RoleProviderBundle (line 75) | interface RoleProviderBundle { function closeProviderBundle (line 84) | function closeProviderBundle( function withRuntimeSettings (line 99) | function withRuntimeSettings( function withRuntimeSession (line 128) | function withRuntimeSession( type RoleConfigInput (line 145) | interface RoleConfigInput { function normalizeOptionalOverride (line 152) | function normalizeOptionalOverride(value: string | undefined): string | ... function resolveRoleConfig (line 157) | function resolveRoleConfig( function createConfiguredProvider (line 183) | function createConfiguredProvider( function buildRoleProviderBundle (line 210) | function buildRoleProviderBundle( type RuntimeSessionProvider (line 294) | interface RuntimeSessionProvider { function createRuntimeSessionProvider (line 301) | function createRuntimeSessionProvider( FILE: ts/src/providers/supported-provider-types.ts constant SUPPORTED_PROVIDER_TYPES (line 1) | const SUPPORTED_PROVIDER_TYPES = [ type SupportedProviderType (line 20) | type SupportedProviderType = typeof SUPPORTED_PROVIDER_TYPES[number]; FILE: ts/src/research/consultation.ts function dedupeCitations (line 8) | function dedupeCitations(results: ResearchResult[]): Citation[] { class ResearchBrief (line 20) | class ResearchBrief { method constructor (line 25) | constructor(goal: string, findings: ResearchResult[], uniqueCitations:... method avgConfidence (line 31) | get avgConfidence(): number { method fromResults (line 36) | static fromResults(goal: string, results: ResearchResult[], minConfide... method empty (line 41) | static empty(goal: string): ResearchBrief { return new ResearchBrief(g... method toMarkdown (line 43) | toMarkdown(): string { method toJSON (line 58) | toJSON(): Record { method fromJSON (line 62) | static fromJSON(data: Record): ResearchBrief { class ResearchConsultant (line 69) | class ResearchConsultant { method constructor (line 73) | constructor(opts?: { urgency?: Urgency; minConfidence?: number }) { method consult (line 78) | consult(session: ResearchEnabledSession, topics: string[], context = "... FILE: ts/src/research/evaluation.ts type ScoreFn (line 7) | type ScoreFn = (text: string) => number; class EvalResult (line 9) | class EvalResult { method constructor (line 16) | constructor(opts: { method isImprovement (line 27) | get isImprovement(): boolean { return this.improvement > 0; } method relativeGain (line 28) | get relativeGain(): number { class BatchSummary (line 34) | class BatchSummary { method constructor (line 41) | constructor(opts?: { sampleSize?: number; avgBaseline?: number; avgAug... function citationCoverage (line 50) | function citationCoverage(brief: ResearchBrief, text: string): number { type EvalPairInput (line 56) | interface EvalPairInput { class ResearchEvaluator (line 63) | class ResearchEvaluator { method evaluatePair (line 64) | evaluatePair(opts: EvalPairInput): EvalResult { method evaluateBatch (line 75) | evaluateBatch(opts: { pairs: Array<{ brief: ResearchBrief; baseline: s... FILE: ts/src/research/persistence.ts constant BRIEFS_DIR (line 10) | const BRIEFS_DIR = "research_briefs"; constant MANIFEST_FILE (line 11) | const MANIFEST_FILE = "manifest.json"; type BriefRef (line 13) | interface BriefRef { class ResearchStore (line 21) | class ResearchStore { method constructor (line 26) | constructor(root: string) { method saveBrief (line 33) | saveBrief(sessionId: string, brief: ResearchBrief): BriefRef { method loadBrief (line 48) | loadBrief(briefId: string): ResearchBrief | null { method listBriefs (line 54) | listBriefs(sessionId: string): BriefRef[] { method briefCount (line 58) | briefCount(): number { return this.manifest.length; } method deleteBrief (line 60) | deleteBrief(briefId: string): boolean { method loadManifest (line 69) | private loadManifest(): BriefRef[] { method flushManifest (line 74) | private flushManifest(): void { FILE: ts/src/research/prompt-wiring.ts constant PLACEHOLDER (line 7) | const PLACEHOLDER = "{research}"; constant DEFAULT_MAX_CHARS (line 8) | const DEFAULT_MAX_CHARS = 4000; class ResearchPromptInjector (line 10) | class ResearchPromptInjector { method constructor (line 13) | constructor(opts?: { maxChars?: number }) { method formatBrief (line 17) | formatBrief(brief: ResearchBrief): string { method inject (line 44) | inject(basePrompt: string, brief: ResearchBrief): string { FILE: ts/src/research/runtime.ts type ResearchEvent (line 9) | interface ResearchEvent { class ResearchEnabledSession (line 16) | class ResearchEnabledSession { method constructor (line 25) | private constructor(goal: string, adapter: ResearchAdapter | null, con... method create (line 33) | static create(opts: { goal: string; adapter?: ResearchAdapter; config?... method hasResearch (line 41) | get hasResearch(): boolean { return this._adapter !== null; } method researchQueriesUsed (line 42) | get researchQueriesUsed(): number { return this._queryCount; } method researchHistory (line 43) | get researchHistory(): ResearchResult[] { return [...this._history]; } method research (line 45) | research(query: ResearchQuery): ResearchResult | null { method emit (line 56) | private emit(eventType: string, payload: Record): void { FILE: ts/src/research/types.ts type Urgency (line 6) | type Urgency = (typeof Urgency)[keyof typeof Urgency]; class ResearchQuery (line 8) | class ResearchQuery { method constructor (line 17) | constructor(opts: { class Citation (line 31) | class Citation { method constructor (line 38) | constructor(opts: { source: string; url?: string; relevance?: number; ... method toJSON (line 46) | toJSON(): Record { method fromJSON (line 50) | static fromJSON(data: Record): Citation { class ResearchResult (line 55) | class ResearchResult { method constructor (line 62) | constructor(opts: { method hasCitations (line 73) | get hasCitations(): boolean { return this.citations.length > 0; } method toJSON (line 75) | toJSON(): Record { method fromJSON (line 82) | static fromJSON(data: Record): ResearchResult { type ResearchAdapter (line 93) | interface ResearchAdapter { class ResearchConfig (line 97) | class ResearchConfig { method constructor (line 105) | constructor(opts?: { FILE: ts/src/rlm/agent-task.ts type AgentTaskRlmOpts (line 6) | interface AgentTaskRlmOpts { function makeConversationPrompt (line 20) | function makeConversationPrompt(messages: Array<{ role: string; content:... function makeProviderComplete (line 33) | function makeProviderComplete(provider: LLMProvider): LlmComplete { function buildSystemPrompt (line 43) | function buildSystemPrompt(opts: AgentTaskRlmOpts): string { function buildInitialMessage (line 73) | function buildInitialMessage(opts: AgentTaskRlmOpts): string { function buildNamespace (line 112) | function buildNamespace(opts: AgentTaskRlmOpts): Record { function runAgentTaskRlmSession (line 132) | async function runAgentTaskRlmSession(opts: AgentTaskRlmOpts): Promise): string { function buildPersistence (line 43) | function buildPersistence(namespace: Record): string { function buildWrappedProgram (line 50) | function buildWrappedProgram(command: string, namespace: Record { method dispose (line 205) | async dispose(): Promise { FILE: ts/src/rlm/session.ts type RlmSessionOpts (line 8) | interface RlmSessionOpts { type RlmResult (line 21) | interface RlmResult { function extractCode (line 28) | function extractCode(text: string): string | null { class RlmSession (line 44) | class RlmSession { method constructor (line 56) | constructor(opts: RlmSessionOpts) { method run (line 70) | async run(): Promise { FILE: ts/src/rlm/types.ts type ReplCommand (line 61) | type ReplCommand = z.infer; type ReplResult (line 62) | type ReplResult = z.infer; type ExecutionRecord (line 63) | type ExecutionRecord = z.infer; type RlmContext (line 64) | type RlmContext = z.infer; type RlmTaskConfig (line 65) | type RlmTaskConfig = z.infer; type RlmPhase (line 66) | type RlmPhase = z.infer; type RlmSessionRecord (line 67) | type RlmSessionRecord = z.infer; type ReplWorker (line 74) | interface ReplWorker { type LlmComplete (line 80) | type LlmComplete = ( FILE: ts/src/runtimes/agent-output-metadata.ts type AgentOutputMetadataOptions (line 3) | interface AgentOutputMetadataOptions { function agentOutputMetadata (line 8) | function agentOutputMetadata( FILE: ts/src/runtimes/base.ts type AgentOutput (line 6) | interface AgentOutput { type AgentRuntime (line 15) | interface AgentRuntime { FILE: ts/src/runtimes/claude-cli.ts type ClaudeCLIConfig (line 14) | interface ClaudeCLIConfig { class ClaudeCLIRuntime (line 27) | class ClaudeCLIRuntime implements AgentRuntime { method constructor (line 36) | constructor(config?: ClaudeCLIConfig) { method available (line 46) | get available(): boolean { method totalCost (line 50) | get totalCost(): number { method generate (line 54) | async generate(opts: { method revise (line 63) | async revise(opts: { method #buildArgs (line 79) | #buildArgs( method #invoke (line 124) | async #invoke(prompt: string, args: string[]): Promise { method #parseOutput (line 148) | #parseOutput(raw: string): AgentOutput { function createSessionRuntime (line 177) | function createSessionRuntime(opts?: { FILE: ts/src/runtimes/codex-cli.ts type CodexCLIConfigOpts (line 10) | interface CodexCLIConfigOpts { constant CODEX_CLI_CONFIG_DEFAULTS (line 19) | const CODEX_CLI_CONFIG_DEFAULTS = { class CodexCLIConfig (line 28) | class CodexCLIConfig { method constructor (line 36) | constructor(opts: CodexCLIConfigOpts = {}) { class CodexCLIRuntime (line 45) | class CodexCLIRuntime { method constructor (line 48) | constructor(config?: CodexCLIConfig) { method generate (line 54) | async generate(opts: { method revise (line 63) | async revise(opts: { method buildArgs (line 78) | buildArgs(schema?: Record): string[] { method parseOutput (line 98) | parseOutput(raw: string): AgentOutput { method #invoke (line 138) | async #invoke(prompt: string, args: string[]): Promise { FILE: ts/src/runtimes/config-options.ts function definedConfigOptions (line 1) | function definedConfigOptions(opts: T): Partial { FILE: ts/src/runtimes/direct-api.ts class DirectAPIRuntime (line 9) | class DirectAPIRuntime implements AgentRuntime { method constructor (line 14) | constructor(provider: LLMProvider, model?: string) { method generate (line 19) | async generate(opts: { method revise (line 39) | async revise(opts: { FILE: ts/src/runtimes/mcp-runtime-tools.ts type ConnectMcpRuntimeToolsOptions (line 12) | interface ConnectMcpRuntimeToolsOptions { type McpRuntimeToolClientFactoryInput (line 25) | interface McpRuntimeToolClientFactoryInput { type McpRuntimeToolClientFactory (line 32) | type McpRuntimeToolClientFactory = ( type McpRuntimeToolRequestOptions (line 36) | interface McpRuntimeToolRequestOptions { type McpRuntimeToolClient (line 41) | interface McpRuntimeToolClient { type McpListToolsResult (line 53) | interface McpListToolsResult { type McpToolDescription (line 58) | interface McpToolDescription { type McpToolCallResponse (line 64) | interface McpToolCallResponse { type McpToolContent (line 71) | type McpToolContent = type McpEmbeddedResource (line 79) | type McpEmbeddedResource = type McpSdkClientLike (line 83) | interface McpSdkClientLike { constant MAX_MCP_TOOL_DISCOVERY_PAGES (line 96) | const MAX_MCP_TOOL_DISCOVERY_PAGES = 100; constant MAX_MCP_TOOL_DISCOVERY_TOOLS (line 97) | const MAX_MCP_TOOL_DISCOVERY_TOOLS = 10_000; function connectMcpRuntimeTools (line 99) | async function connectMcpRuntimeTools( class McpRuntimeToolSet (line 140) | class McpRuntimeToolSet { method constructor (line 148) | constructor(options: { method originalNameFor (line 162) | originalNameFor(runtimeToolName: string): string | undefined { method callTool (line 166) | async callTool( method close (line 185) | async close(): Promise { method #defineRuntimeTools (line 191) | #defineRuntimeTools(options: { function normalizeMcpRuntimeToolName (line 221) | function normalizeMcpRuntimeToolName(name: string): string { function mcpToolCallResponseToRuntimeResult (line 232) | function mcpToolCallResponseToRuntimeResult( function createStreamableHttpMcpRuntimeToolClient (line 253) | async function createStreamableHttpMcpRuntimeToolClient(options: { class SdkMcpRuntimeToolClient (line 279) | class SdkMcpRuntimeToolClient implements McpRuntimeToolClient { method constructor (line 282) | constructor(client: McpSdkClientLike) { method listTools (line 286) | async listTools( method callTool (line 293) | async callTool( method close (line 301) | close(): Promise { function listAllMcpTools (line 306) | async function listAllMcpTools( function trustedHeaderSecrets (line 335) | function trustedHeaderSecrets(headers: Record): string[] { function closeQuietly (line 339) | async function closeQuietly(client: McpRuntimeToolClient): Promise { function requestOptionsFromRuntime (line 347) | function requestOptionsFromRuntime( function uniqueRuntimeToolNames (line 356) | function uniqueRuntimeToolNames( function mcpContentToText (line 377) | function mcpContentToText(content: McpToolContent): string { function embeddedResourceToText (line 398) | function embeddedResourceToText(resource: Record): stri... function base64Bytes (line 412) | function base64Bytes(value: string): number { function normalizeMcpUrl (line 416) | function normalizeMcpUrl(value: string | URL): URL { function publicMcpUrl (line 424) | function publicMcpUrl(url: URL): string { function copyRecord (line 433) | function copyRecord(value: Record): Record { function safeJsonOrString (line 445) | function safeJsonOrString(value: unknown, space?: number): string { FILE: ts/src/runtimes/pi-cli.ts type PiCLIConfigOpts (line 10) | interface PiCLIConfigOpts { constant PI_CLI_CONFIG_DEFAULTS (line 18) | const PI_CLI_CONFIG_DEFAULTS = { constant TIMEOUT_KILL_GRACE_MS (line 26) | const TIMEOUT_KILL_GRACE_MS = 5_000; constant MANAGED_EXIT_SIGNALS (line 27) | const MANAGED_EXIT_SIGNALS: NodeJS.Signals[] = ["SIGINT", "SIGTERM"]; type PiCLIProcessResult (line 29) | interface PiCLIProcessResult { type RunPiCLIOptions (line 38) | interface RunPiCLIOptions { class PiCLIConfig (line 45) | class PiCLIConfig { method constructor (line 52) | constructor(opts: PiCLIConfigOpts = {}) { class PiCLIRuntime (line 57) | class PiCLIRuntime { method constructor (line 61) | constructor(config?: PiCLIConfig) { method generate (line 65) | async generate(opts: { prompt: string; system?: string }): Promise { function runPiCLIWithGroupKill (line 130) | function runPiCLIWithGroupKill( function killProcessGroup (line 239) | function killProcessGroup(child: ChildProcessWithoutNullStreams): void { function closeChildStdio (line 253) | function closeChildStdio(child: ChildProcessWithoutNullStreams): void { function reraiseSignal (line 259) | function reraiseSignal(signal: NodeJS.Signals): void { function signalToExitCode (line 267) | function signalToExitCode(signal: NodeJS.Signals): number { function toError (line 273) | function toError(err: unknown): Error { FILE: ts/src/runtimes/pi-rpc.ts type PiRPCConfigOpts (line 11) | interface PiRPCConfigOpts { constant PI_RPC_CONFIG_DEFAULTS (line 21) | const PI_RPC_CONFIG_DEFAULTS = { class PiRPCConfig (line 31) | class PiRPCConfig { method constructor (line 40) | constructor(opts: PiRPCConfigOpts = {}) { class PiRPCRuntime (line 49) | class PiRPCRuntime { method constructor (line 54) | constructor(config?: PiRPCConfig) { method currentSessionId (line 58) | get currentSessionId(): string | null { method generate (line 62) | async generate(opts: { prompt: string; system?: string }): Promise { method isTerminalRpcEvent (line 187) | protected isTerminalRpcEvent(record: string): boolean { method parseOutput (line 200) | protected parseOutput(raw: string, exitCode: number, stderr: string): ... method extractTextContent (line 325) | protected extractTextContent(content: unknown): string { method updateSessionId (line 344) | protected updateSessionId(event: { method normalizeOutput (line 356) | protected normalizeOutput(value: string | Buffer | undefined): string { type PiRpcCommand (line 367) | type PiRpcCommand = Record & { type: string; id?: strin... type PiRpcEvent (line 368) | type PiRpcEvent = Record & { type?: string }; class PiPersistentRPCRuntime (line 370) | class PiPersistentRPCRuntime extends PiRPCRuntime { method close (line 380) | close(): void { method generate (line 393) | override async generate(opts: { method steer (line 414) | async steer(message: string): Promise> { method followUp (line 418) | async followUp(message: string): Promise> { method abort (line 422) | async abort(): Promise> { method getState (line 426) | async getState(): Promise> { method getMessages (line 432) | async getMessages(): Promise>> { method ensureProcess (line 441) | private ensureProcess(): ReturnType { method pushStdout (line 479) | private pushStdout(chunk: string | Buffer): void { method writeCommand (line 491) | private writeCommand(command: PiRpcCommand): void { method collectUntil (line 500) | private async collectUntil(command: PiRpcCommand, terminal: (line: str... method collectResponse (line 513) | private async collectResponse(command: PiRpcCommand): Promise { method waitForOutput (line 567) | private waitForOutput(timeoutMs: number): Promise { method notifyWaiters (line 586) | private notifyWaiters(): void { method withId (line 593) | private withId(command: T): T { method loadEvent (line 597) | private loadEvent(line: string): PiRpcEvent | null { method isRecord (line 606) | private isRecord(value: unknown): value is PiRpcEvent { method isResponseFor (line 610) | private isResponseFor(event: PiRpcEvent, command: PiRpcCommand): boole... FILE: ts/src/runtimes/runtime-session-agent.ts type RuntimeSessionAgentRuntimeOpts (line 6) | interface RuntimeSessionAgentRuntimeOpts { class RuntimeSessionAgentRuntime (line 14) | class RuntimeSessionAgentRuntime implements AgentRuntime { method constructor (line 22) | constructor(opts: RuntimeSessionAgentRuntimeOpts) { method generate (line 31) | async generate(opts: { method revise (line 39) | async revise(opts: { method close (line 48) | close(): void { method #record (line 52) | async #record( FILE: ts/src/runtimes/workspace-env.ts type RuntimeExecOptions (line 5) | interface RuntimeExecOptions { type RuntimeExecResult (line 12) | interface RuntimeExecResult { type RuntimeFileStat (line 18) | interface RuntimeFileStat { type RuntimeScopeOptions (line 26) | interface RuntimeScopeOptions { type RuntimeWorkspaceEnv (line 34) | interface RuntimeWorkspaceEnv { type InMemoryWorkspaceEnvOptions (line 54) | interface InMemoryWorkspaceEnvOptions { type LocalWorkspaceEnvOptions (line 59) | interface LocalWorkspaceEnvOptions { type RuntimeCommandContext (line 64) | interface RuntimeCommandContext { type RuntimeCommandHandler (line 72) | type RuntimeCommandHandler = ( type RuntimeCommandGrantOptions (line 77) | interface RuntimeCommandGrantOptions { type RuntimeCommandGrant (line 85) | interface RuntimeCommandGrant { type LocalRuntimeCommandGrantOptions (line 96) | interface LocalRuntimeCommandGrantOptions extends RuntimeCommandGrantOpt... type RuntimeToolGrant (line 102) | interface RuntimeToolGrant { type RuntimeToolCallContext (line 112) | interface RuntimeToolCallContext { type RuntimeToolCallResult (line 117) | interface RuntimeToolCallResult { type RuntimeToolHandler (line 125) | type RuntimeToolHandler = ( type RuntimeScopedGrant (line 130) | type RuntimeScopedGrant = RuntimeCommandGrant | RuntimeToolGrant; type RuntimeGrantKind (line 131) | type RuntimeGrantKind = "command" | "tool"; type RuntimeGrantInheritanceMode (line 132) | type RuntimeGrantInheritanceMode = "scope" | "child_task"; type RuntimeGrantProvenance (line 134) | interface RuntimeGrantProvenance { type RuntimeGrantScopePolicy (line 139) | interface RuntimeGrantScopePolicy { type RuntimeGrantEventPhase (line 143) | type RuntimeGrantEventPhase = "start" | "end" | "error"; type RuntimeGrantOutputRedactionMetadata (line 145) | interface RuntimeGrantOutputRedactionMetadata { type RuntimeGrantRedactionMetadata (line 152) | interface RuntimeGrantRedactionMetadata { type RuntimeGrantEvent (line 163) | interface RuntimeGrantEvent { type RuntimeGrantEventSink (line 177) | interface RuntimeGrantEventSink { type MemoryFile (line 181) | type MemoryFile = { type MemoryState (line 186) | type MemoryState = { constant DEFAULT_RUNTIME_COMMAND_OUTPUT_LIMIT_BYTES (line 191) | const DEFAULT_RUNTIME_COMMAND_OUTPUT_LIMIT_BYTES = 4096; constant DEFAULT_RUNTIME_COMMAND_ARG_LIMIT (line 192) | const DEFAULT_RUNTIME_COMMAND_ARG_LIMIT = 12; constant DEFAULT_RUNTIME_COMMAND_ARG_BYTES (line 193) | const DEFAULT_RUNTIME_COMMAND_ARG_BYTES = 160; constant RUNTIME_TOOL_EVENT_SOURCE (line 194) | const RUNTIME_TOOL_EVENT_SOURCE = Symbol("runtimeToolEventSource"); type RuntimeToolGrantEventWrapper (line 197) | type RuntimeToolGrantEventWrapper = RuntimeToolGrant & { function createInMemoryWorkspaceEnv (line 201) | function createInMemoryWorkspaceEnv( function createLocalWorkspaceEnv (line 207) | function createLocalWorkspaceEnv(options: LocalWorkspaceEnvOptions): Run... function defineRuntimeCommand (line 211) | function defineRuntimeCommand( function registerRuntimeToolGrantSecrets (line 232) | function registerRuntimeToolGrantSecrets( function createLocalRuntimeCommandGrant (line 243) | function createLocalRuntimeCommandGrant( function createMemoryState (line 269) | function createMemoryState(files?: Record):... function normalizeVirtualPath (line 281) | function normalizeVirtualPath(filePath: string, cwd: string): string { function toBytes (line 293) | function toBytes(content: string | Uint8Array): Uint8Array { function bytesToString (line 298) | function bytesToString(content: Uint8Array): string { function copyBytes (line 302) | function copyBytes(content: Uint8Array): Uint8Array { function ensureMemoryParentDirs (line 306) | function ensureMemoryParentDirs(state: MemoryState, dirPath: string): vo... function memoryFileStat (line 318) | function memoryFileStat(file: MemoryFile): RuntimeFileStat { function memoryDirStat (line 328) | function memoryDirStat(mtime: Date): RuntimeFileStat { function writeMemoryFile (line 338) | function writeMemoryFile( class InMemoryWorkspaceEnv (line 353) | class InMemoryWorkspaceEnv implements RuntimeWorkspaceEnv { method constructor (line 361) | constructor( method tools (line 376) | get tools(): readonly RuntimeToolGrant[] { method exec (line 380) | async exec(command: string, options: RuntimeExecOptions = {}): Promise... method scope (line 398) | async scope(options: RuntimeScopeOptions = {}): Promise { method readFileBytes (line 419) | async readFileBytes(filePath: string): Promise { method writeFile (line 427) | async writeFile(filePath: string, content: string | Uint8Array): Promi... method stat (line 433) | async stat(filePath: string): Promise { method readdir (line 443) | async readdir(dirPath: string): Promise { method exists (line 457) | async exists(filePath: string): Promise { method mkdir (line 463) | async mkdir(dirPath: string, options: { recursive?: boolean } = {}): P... method rm (line 481) | async rm(filePath: string, options: { recursive?: boolean; force?: boo... method resolvePath (line 502) | resolvePath(filePath: string): string { method cleanup (line 506) | async cleanup(): Promise { method #assertOpen (line 510) | #assertOpen(): void { class LocalWorkspaceEnv (line 515) | class LocalWorkspaceEnv implements RuntimeWorkspaceEnv { method constructor (line 522) | constructor( method tools (line 536) | get tools(): readonly RuntimeToolGrant[] { method exec (line 540) | async exec(command: string, options: RuntimeExecOptions = {}): Promise... method scope (line 558) | async scope(options: RuntimeScopeOptions = {}): Promise { method readFileBytes (line 578) | async readFileBytes(filePath: string): Promise { method writeFile (line 583) | async writeFile(filePath: string, content: string | Uint8Array): Promi... method stat (line 589) | async stat(filePath: string): Promise { method readdir (line 600) | async readdir(dirPath: string): Promise { method exists (line 604) | async exists(filePath: string): Promise { method mkdir (line 613) | async mkdir(dirPath: string, options: { recursive?: boolean } = {}): P... method rm (line 619) | async rm(filePath: string, options: { recursive?: boolean; force?: boo... method resolvePath (line 626) | resolvePath(filePath: string): string { method cleanup (line 630) | async cleanup(): Promise { method #toHostPath (line 634) | #toHostPath(virtualPath: string): string { function commandMap (line 643) | function commandMap(commands: RuntimeCommandGrant[]): Map): string[] { function uniqueSecretValues (line 990) | function uniqueSecretValues(values: readonly string[]): string[] { function baseGrantRedaction (line 996) | function baseGrantRedaction( function pickProcessEnv (line 1009) | function pickProcessEnv(keys: string[]): Record { function combineTimeoutMs (line 1018) | function combineTimeoutMs( function summarizeArgs (line 1027) | function summarizeArgs( function previewText (line 1045) | function previewText( function redactSecrets (line 1064) | function redactSecrets(value: string, secrets: string[]): { text: string... function safeJsonOrString (line 1075) | function safeJsonOrString(value: unknown): string { function truncateUtf8 (line 1096) | function truncateUtf8(value: string, limitBytes: number): { text: string... function emitRuntimeGrantEvent (line 1105) | function emitRuntimeGrantEvent( FILE: ts/src/scenarios/agent-task-creator.ts type AgentTaskCreatorOpts (line 27) | interface AgentTaskCreatorOpts { type CreatedScenario (line 33) | type CreatedScenario = class AgentTaskCreator (line 37) | class AgentTaskCreator { method constructor (line 42) | constructor(opts: AgentTaskCreatorOpts) { method wordScore (line 50) | static wordScore(word: string, position: number, totalWords: number): ... method deriveName (line 58) | deriveName(description: string): string { method create (line 65) | async create(description: string): Promise { FILE: ts/src/scenarios/agent-task-design-workflow.ts function designAgentTaskWithProvider (line 5) | async function designAgentTaskWithProvider(opts: { FILE: ts/src/scenarios/agent-task-designer.ts constant SPEC_START (line 14) | const SPEC_START = ""; constant SPEC_END (line 15) | const SPEC_END = ""; constant AGENT_TASK_DESCRIPTOR (line 17) | const AGENT_TASK_DESCRIPTOR: FamilyDesignerDescriptor = { constant EXAMPLE_SPEC (line 25) | const EXAMPLE_SPEC = { constant AGENT_TASK_DESIGNER_SYSTEM (line 67) | const AGENT_TASK_DESIGNER_SYSTEM = `You are a scenario designer for auto... function parseAgentTaskSpec (line 121) | function parseAgentTaskSpec(text: string): AgentTaskSpec { function designAgentTask (line 128) | async function designAgentTask( FILE: ts/src/scenarios/agent-task-factory.ts type AgentTaskFactoryOpts (line 12) | interface AgentTaskFactoryOpts { function createAgentTask (line 22) | function createAgentTask(opts: AgentTaskFactoryOpts): AgentTaskInterface... FILE: ts/src/scenarios/agent-task-family-routing.ts type RoutedAgentTaskScenario (line 41) | type RoutedAgentTaskScenario = function classifyAgentTaskFamily (line 52) | function classifyAgentTaskFamily(description: string): ScenarioFamilyName { function routeAgentTaskScenarioCreation (line 56) | async function routeAgentTaskScenarioCreation(opts: { FILE: ts/src/scenarios/agent-task-name-workflow.ts constant ABSTRACT_SUFFIXES (line 1) | const ABSTRACT_SUFFIXES = [ constant AGENT_TASK_NAME_STOP_WORDS (line 8) | const AGENT_TASK_NAME_STOP_WORDS = new Set([ function scoreAgentTaskNameWord (line 24) | function scoreAgentTaskNameWord( function deriveAgentTaskName (line 48) | function deriveAgentTaskName(description: string): string { FILE: ts/src/scenarios/agent-task-persistence-workflow.ts function buildPersistedAgentTaskSpecData (line 7) | function buildPersistedAgentTaskSpecData( function persistAgentTaskScenario (line 30) | function persistAgentTaskScenario(opts: { FILE: ts/src/scenarios/agent-task-spec.ts type AgentTaskSpec (line 26) | type AgentTaskSpec = z.infer; function parseRawSpec (line 31) | function parseRawSpec(data: Record): AgentTaskSpec { FILE: ts/src/scenarios/agent-task-store.ts type AgentTaskSpec (line 10) | interface AgentTaskSpec { function readTaskSpec (line 26) | function readTaskSpec(path: string): AgentTaskSpec | null { class AgentTaskStore (line 34) | class AgentTaskStore { method constructor (line 37) | constructor(dir: string) { method create (line 42) | create(spec: AgentTaskSpec): void { method list (line 48) | list(): AgentTaskSpec[] { method get (line 56) | get(name: string): AgentTaskSpec | null { method delete (line 62) | delete(name: string): boolean { FILE: ts/src/scenarios/agent-task-validator.ts constant INTENT_STOP_WORDS (line 12) | const INTENT_STOP_WORDS = new Set([ constant TASK_FAMILIES (line 20) | const TASK_FAMILIES: Record> = { constant CODE_INTENT_SIGNALS (line 50) | const CODE_INTENT_SIGNALS = [ constant CODE_EVALUATION_SIGNALS (line 56) | const CODE_EVALUATION_SIGNALS = [ constant TEXT_INTENT_SIGNALS (line 61) | const TEXT_INTENT_SIGNALS = [ constant JSON_INTENT_SIGNALS (line 66) | const JSON_INTENT_SIGNALS = [ function extractKeywords (line 72) | function extractKeywords(text: string): Set { function detectTaskFamily (line 77) | function detectTaskFamily(keywords: Set): string | null { function fuzzyOverlap (line 90) | function fuzzyOverlap(a: Set, b: Set, minPrefix = 4): Se... function validateIntent (line 115) | function validateIntent(userDescription: string, spec: AgentTaskSpec): s... function validateSpec (line 167) | function validateSpec(spec: AgentTaskSpec): string[] { FILE: ts/src/scenarios/artifact-editing-creator.ts type ArtifactEditingCreatorOpts (line 9) | interface ArtifactEditingCreatorOpts { type ArtifactEditingScenarioHandle (line 15) | interface ArtifactEditingScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 29) | function generateScenarioSource(spec: ArtifactEditingSpec, name: string)... class ArtifactEditingCreator (line 124) | class ArtifactEditingCreator { method constructor (line 129) | constructor(opts: ArtifactEditingCreatorOpts) { method create (line 135) | async create(description: string, name: string): Promise; type ArtifactEditingSpec (line 18) | type ArtifactEditingSpec = z.infer; function parseRawArtifactEditingSpec (line 20) | function parseRawArtifactEditingSpec(data: Record): Art... FILE: ts/src/scenarios/codegen/agent-task-codegen.ts function generateAgentTaskSource (line 9) | function generateAgentTaskSource( FILE: ts/src/scenarios/codegen/artifact-editing-codegen.ts function generateArtifactEditingSource (line 9) | function generateArtifactEditingSource( FILE: ts/src/scenarios/codegen/coordination-codegen.ts function generateCoordinationSource (line 9) | function generateCoordinationSource( FILE: ts/src/scenarios/codegen/execution-validator-contracts.ts type ExecutionValidationResult (line 1) | interface ExecutionValidationResult { type ExecutableScenario (line 12) | type ExecutableScenario = Record unknown>; type ExecutionValidationContext (line 14) | interface ExecutionValidationContext { FILE: ts/src/scenarios/codegen/execution-validator-core-workflow.ts function buildExecutionValidationResult (line 8) | function buildExecutionValidationResult( function loadGeneratedScenario (line 20) | function loadGeneratedScenario(source: string): { function getRequiredMethods (line 46) | function getRequiredMethods(family: string): string[] { function getMissingRequiredMethods (line 95) | function getMissingRequiredMethods( function validateInitialScenarioState (line 102) | function validateInitialScenarioState( FILE: ts/src/scenarios/codegen/execution-validator-family-workflow.ts function recordValidationError (line 6) | function recordValidationError( function recordExecutedMethod (line 13) | function recordExecutedMethod( function validateStringMethod (line 20) | function validateStringMethod( function validateAgentTaskScenario (line 43) | async function validateAgentTaskScenario( function validateSimulationLikeScenario (line 91) | function validateSimulationLikeScenario( function validateOperatorLoopScenario (line 205) | function validateOperatorLoopScenario( function validateArtifactEditingScenario (line 248) | function validateArtifactEditingScenario( FILE: ts/src/scenarios/codegen/execution-validator.ts function validateGeneratedScenario (line 36) | async function validateGeneratedScenario( FILE: ts/src/scenarios/codegen/executor.ts type GeneratedScenarioActionRecord (line 11) | interface GeneratedScenarioActionRecord { type GeneratedScenarioExecutionResult (line 16) | interface GeneratedScenarioExecutionResult { function resolveMaxSteps (line 26) | async function resolveMaxSteps(proxy: ScenarioProxy, fallback = 20): Pro... function executeActionScenario (line 38) | async function executeActionScenario( function executeOperatorLoopScenario (line 92) | async function executeOperatorLoopScenario( function executeArtifactEditingScenario (line 176) | async function executeArtifactEditingScenario( function executeGeneratedScenarioProxy (line 207) | async function executeGeneratedScenarioProxy( function executeGeneratedScenarioSource (line 231) | async function executeGeneratedScenarioSource(opts: { function executeGeneratedScenarioEntry (line 247) | async function executeGeneratedScenarioEntry(opts: { function customScenarioDirectory (line 266) | function customScenarioDirectory(knowledgeRoot: string): string { FILE: ts/src/scenarios/codegen/investigation-codegen.ts function generateInvestigationSource (line 9) | function generateInvestigationSource( FILE: ts/src/scenarios/codegen/loader.ts function loadCustomScenario (line 20) | async function loadCustomScenario( function readScenarioFamily (line 48) | function readScenarioFamily(scenarioDir: string): ScenarioFamilyName | n... FILE: ts/src/scenarios/codegen/negotiation-codegen.ts function generateNegotiationSource (line 9) | function generateNegotiationSource( FILE: ts/src/scenarios/codegen/operator-loop-codegen.ts function generateOperatorLoopSource (line 9) | function generateOperatorLoopSource( FILE: ts/src/scenarios/codegen/registry.ts type CodegenFn (line 19) | type CodegenFn = (spec: Record, name: string) => string; constant CODEGEN_REGISTRY (line 21) | const CODEGEN_REGISTRY: Partial> = { function generateScenarioSource (line 34) | function generateScenarioSource( function hasCodegen (line 52) | function hasCodegen(family: string): boolean { function generateAndValidateScenarioSource (line 56) | async function generateAndValidateScenarioSource( FILE: ts/src/scenarios/codegen/runtime.ts type ScenarioRuntimeOpts (line 18) | interface ScenarioRuntimeOpts { constant SCENARIO_RUNTIME_DEFAULTS (line 25) | const SCENARIO_RUNTIME_DEFAULTS = { type ScenarioProxy (line 30) | interface ScenarioProxy { constant REQUIRED_METHODS (line 44) | const REQUIRED_METHODS: Record = { class CodegenUnsupportedFamilyError (line 93) | class CodegenUnsupportedFamilyError extends Error { method constructor (line 95) | constructor(family: string) { function buildSandboxWrapper (line 110) | function buildSandboxWrapper(scenarioSource: string): string { function buildValidationProgram (line 127) | function buildValidationProgram(source: string, requiredMethods: readonl... function buildMethodCallProgram (line 136) | function buildMethodCallProgram(source: string, method: string, args: un... class ScenarioRuntime (line 148) | class ScenarioRuntime { method constructor (line 151) | constructor(opts: ScenarioRuntimeOpts = {}) { method loadScenario (line 169) | async loadScenario( method dispose (line 224) | dispose(): void { FILE: ts/src/scenarios/codegen/schema-evolution-codegen.ts function generateSchemaEvolutionSource (line 9) | function generateSchemaEvolutionSource( FILE: ts/src/scenarios/codegen/simulation-codegen.ts function generateSimulationSource (line 9) | function generateSimulationSource( FILE: ts/src/scenarios/codegen/template-renderer.ts function renderCodegenTemplate (line 1) | function renderCodegenTemplate( FILE: ts/src/scenarios/codegen/templates/agent-task-template.ts constant AGENT_TASK_SCENARIO_TEMPLATE (line 1) | const AGENT_TASK_SCENARIO_TEMPLATE = String.raw`// Generated agent_task ... FILE: ts/src/scenarios/codegen/templates/artifact-editing-template.ts constant ARTIFACT_EDITING_SCENARIO_TEMPLATE (line 1) | const ARTIFACT_EDITING_SCENARIO_TEMPLATE = String.raw`// Generated artif... FILE: ts/src/scenarios/codegen/templates/coordination-template.ts constant COORDINATION_SCENARIO_TEMPLATE (line 1) | const COORDINATION_SCENARIO_TEMPLATE = String.raw`// Generated coordinat... FILE: ts/src/scenarios/codegen/templates/investigation-template.ts constant INVESTIGATION_SCENARIO_TEMPLATE (line 1) | const INVESTIGATION_SCENARIO_TEMPLATE = String.raw`// Generated investig... FILE: ts/src/scenarios/codegen/templates/negotiation-template.ts constant NEGOTIATION_SCENARIO_TEMPLATE (line 1) | const NEGOTIATION_SCENARIO_TEMPLATE = String.raw`// Generated negotiatio... FILE: ts/src/scenarios/codegen/templates/schema-evolution-template.ts constant SCHEMA_EVOLUTION_SCENARIO_TEMPLATE (line 1) | const SCHEMA_EVOLUTION_SCENARIO_TEMPLATE = String.raw`// Generated schem... FILE: ts/src/scenarios/codegen/templates/simulation-template.ts constant SIMULATION_SCENARIO_TEMPLATE (line 1) | const SIMULATION_SCENARIO_TEMPLATE = String.raw`// Generated simulation ... FILE: ts/src/scenarios/codegen/templates/tool-fragility-template.ts constant TOOL_FRAGILITY_SCENARIO_TEMPLATE (line 1) | const TOOL_FRAGILITY_SCENARIO_TEMPLATE = String.raw`// Generated tool_fr... FILE: ts/src/scenarios/codegen/templates/workflow-template.ts constant WORKFLOW_SCENARIO_TEMPLATE (line 1) | const WORKFLOW_SCENARIO_TEMPLATE = String.raw`// Generated workflow scen... FILE: ts/src/scenarios/codegen/tool-fragility-codegen.ts function generateToolFragilitySource (line 9) | function generateToolFragilitySource( FILE: ts/src/scenarios/codegen/workflow-codegen.ts function generateWorkflowSource (line 9) | function generateWorkflowSource( FILE: ts/src/scenarios/coordination-creator.ts type CoordinationCreatorOpts (line 9) | interface CoordinationCreatorOpts { type CoordinationScenarioHandle (line 15) | interface CoordinationScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 29) | function generateScenarioSource(spec: CoordinationSpec, name: string): s... class CoordinationCreator (line 175) | class CoordinationCreator { method constructor (line 180) | constructor(opts: CoordinationCreatorOpts) { method create (line 186) | async create(description: string, name: string): Promise; type CoordinationSpec (line 21) | type CoordinationSpec = z.infer; function parseRawCoordinationSpec (line 23) | function parseRawCoordinationSpec(data: Record): Coordi... FILE: ts/src/scenarios/custom-loader.ts type CustomScenarioEntry (line 16) | interface CustomScenarioEntry { type ResolvedCustomAgentTask (line 25) | interface ResolvedCustomAgentTask { constant CUSTOM_SCENARIO_REGISTRY (line 31) | const CUSTOM_SCENARIO_REGISTRY = new Map(); constant CUSTOM_AGENT_TASK_REGISTRY (line 32) | const CUSTOM_AGENT_TASK_REGISTRY: Record AgentTaskInterfac... function normalizeAgentTaskSpec (line 34) | function normalizeAgentTaskSpec(spec: Record): AgentTas... function renderAgentTaskPrompt (line 69) | function renderAgentTaskPrompt(spec: AgentTaskSpec): string { function inferScenarioTypeFromSpec (line 77) | function inferScenarioTypeFromSpec(spec: Record): string { function readPersistedScenarioType (line 94) | function readPersistedScenarioType(entryPath: string): string { function scenarioTypeToFamily (line 126) | function scenarioTypeToFamily(type: string): ScenarioFamilyName | null { function loadCustomScenarios (line 147) | function loadCustomScenarios(customDir: string): Map, ...keys: string[... function normalizeInteractivePreview (line 32) | function normalizeInteractivePreview( function validateDraft (line 40) | function validateDraft( function buildScenarioDraft (line 53) | function buildScenarioDraft(opts: { function reviseScenarioDraft (line 68) | function reviseScenarioDraft(opts: { function buildScenarioPreviewInfo (line 94) | function buildScenarioPreviewInfo( FILE: ts/src/scenarios/families.ts type ScenarioFamilyName (line 1) | type ScenarioFamilyName = constant SCENARIO_TYPE_MARKERS (line 14) | const SCENARIO_TYPE_MARKERS: Record = { constant SIMULATION_LIKE_FAMILIES (line 34) | const SIMULATION_LIKE_FAMILIES: ReadonlySet = function getScenarioTypeMarker (line 46) | function getScenarioTypeMarker(family: ScenarioFamilyName): string { FILE: ts/src/scenarios/family-assertion-workflow.ts type FamilyGuard (line 4) | type FamilyGuard = (obj: unknown) => boolean; type OrderedFamilyDetector (line 5) | type OrderedFamilyDetector = readonly [ScenarioFamilyName, FamilyGuard]; function assertFamilyContractWithCatalog (line 7) | function assertFamilyContractWithCatalog(opts: { function detectFamilyWithDetectors (line 22) | function detectFamilyWithDetectors( FILE: ts/src/scenarios/family-classifier-input.ts constant CLASSIFIER_DESCRIPTION_SKIP_SECTIONS (line 1) | const CLASSIFIER_DESCRIPTION_SKIP_SECTIONS = new Set([ constant CLASSIFIER_DESCRIPTION_SKIP_LINE_PREFIXES (line 10) | const CLASSIFIER_DESCRIPTION_SKIP_LINE_PREFIXES = [ constant CLASSIFIER_INLINE_EXAMPLE_PAREN_RE (line 15) | const CLASSIFIER_INLINE_EXAMPLE_PAREN_RE = function buildFamilyClassificationBrief (line 18) | function buildFamilyClassificationBrief(description: string): string { FILE: ts/src/scenarios/family-classifier-scoring.ts function buildRationale (line 9) | function buildRationale(matched: string[], familyName: ScenarioFamilyNam... function scoreSignals (line 16) | function scoreSignals( function buildDefaultFamilyClassification (line 33) | function buildDefaultFamilyClassification( function buildRankedFamilyClassification (line 54) | function buildRankedFamilyClassification(opts: { FILE: ts/src/scenarios/family-classifier-signals.ts constant SIMULATION_SIGNALS (line 3) | const SIMULATION_SIGNALS: Record = { constant AGENT_TASK_SIGNALS (line 50) | const AGENT_TASK_SIGNALS: Record = { constant GAME_SIGNALS (line 80) | const GAME_SIGNALS: Record = { constant ARTIFACT_EDITING_SIGNALS (line 104) | const ARTIFACT_EDITING_SIGNALS: Record = { constant INVESTIGATION_SIGNALS (line 131) | const INVESTIGATION_SIGNALS: Record = { constant WORKFLOW_SIGNALS (line 146) | const WORKFLOW_SIGNALS: Record = { constant SCHEMA_EVOLUTION_SIGNALS (line 162) | const SCHEMA_EVOLUTION_SIGNALS: Record = { constant TOOL_FRAGILITY_SIGNALS (line 186) | const TOOL_FRAGILITY_SIGNALS: Record = { constant NEGOTIATION_SIGNALS (line 203) | const NEGOTIATION_SIGNALS: Record = { constant OPERATOR_LOOP_SIGNALS (line 220) | const OPERATOR_LOOP_SIGNALS: Record = { constant COORDINATION_SIGNALS (line 233) | const COORDINATION_SIGNALS: Record = { constant FAMILY_SIGNAL_GROUPS (line 248) | const FAMILY_SIGNAL_GROUPS: Record string; type AsyncLlmFn (line 11) | type AsyncLlmFn = (system: string, user: string) => string | Promise { function parseFamilyDesignerSpec (line 12) | function parseFamilyDesignerSpec( function designFamilySpec (line 25) | async function designFamilySpec( FILE: ts/src/scenarios/family-detection-catalog.ts type FamilyGuard (line 3) | type FamilyGuard = (obj: unknown) => boolean; function buildFamilyGuardCatalog (line 5) | function buildFamilyGuardCatalog(opts: { function detectFamilyByCatalog (line 33) | function detectFamilyByCatalog( FILE: ts/src/scenarios/family-expected-methods.ts constant GAME_METHODS (line 3) | const GAME_METHODS = [ constant AGENT_TASK_METHODS (line 12) | const AGENT_TASK_METHODS = [ constant SIMULATION_METHODS (line 20) | const SIMULATION_METHODS = [ constant NEGOTIATION_METHODS (line 31) | const NEGOTIATION_METHODS = [ constant INVESTIGATION_METHODS (line 40) | const INVESTIGATION_METHODS = [ constant WORKFLOW_METHODS (line 47) | const WORKFLOW_METHODS = [ constant SCHEMA_EVOLUTION_METHODS (line 56) | const SCHEMA_EVOLUTION_METHODS = [ constant TOOL_FRAGILITY_METHODS (line 66) | const TOOL_FRAGILITY_METHODS = [ constant OPERATOR_LOOP_METHODS (line 75) | const OPERATOR_LOOP_METHODS = [ constant COORDINATION_METHODS (line 84) | const COORDINATION_METHODS = [ constant ARTIFACT_EDITING_METHODS (line 93) | const ARTIFACT_EDITING_METHODS = [ constant EXPECTED_METHODS (line 102) | const EXPECTED_METHODS: Record = { FILE: ts/src/scenarios/family-interface-catalogs.ts type FamilyInterfaceGuardOptions (line 5) | interface FamilyInterfaceGuardOptions { function buildFamilyInterfaceGuardCatalog (line 19) | function buildFamilyInterfaceGuardCatalog( function buildFamilyInterfaceDetectorOrder (line 25) | function buildFamilyInterfaceDetectorOrder( FILE: ts/src/scenarios/family-interface-registry.ts constant FAMILY_INTERFACE_GUARDS (line 21) | const FAMILY_INTERFACE_GUARDS = { constant FAMILY_INTERFACE_GUARD_CATALOG (line 35) | const FAMILY_INTERFACE_GUARD_CATALOG = buildFamilyInterfaceGuardCatalog( constant FAMILY_INTERFACE_DETECTOR_ORDER (line 39) | const FAMILY_INTERFACE_DETECTOR_ORDER = buildFamilyInterfaceDetectorOrder( FILE: ts/src/scenarios/family-interface-runtime.ts function assertFamilyContract (line 12) | function assertFamilyContract( function detectFamily (line 26) | function detectFamily(obj: unknown): ScenarioFamilyName | null { FILE: ts/src/scenarios/family-interface-types.ts type ScenarioFamilyName (line 15) | type ScenarioFamilyName = BaseScenarioFamilyName; FILE: ts/src/scenarios/family-pipeline.ts type FamilyPipeline (line 14) | interface FamilyPipeline { class UnsupportedFamilyError (line 19) | class UnsupportedFamilyError extends Error { method constructor (line 23) | constructor(familyName: string, availablePipelines: ScenarioFamilyName... method validateSpec (line 34) | validateSpec(spec: AgentTaskSpec): string[] { method validateSpec (line 41) | validateSpec(spec: SimulationSpec): string[] { method validateSpec (line 54) | validateSpec(spec: ArtifactEditingSpec): string[] { method validateSpec (line 67) | validateSpec(spec: InvestigationSpec): string[] { method validateSpec (line 80) | validateSpec(spec: WorkflowSpec): string[] { method validateSpec (line 93) | validateSpec(spec: SchemaEvolutionSpec): string[] { method validateSpec (line 106) | validateSpec(spec: ToolFragilitySpec): string[] { method validateSpec (line 119) | validateSpec(spec: NegotiationSpec): string[] { method validateSpec (line 132) | validateSpec(spec: OperatorLoopSpec): string[] { method validateSpec (line 145) | validateSpec(spec: CoordinationSpec): string[] { constant PIPELINE_REGISTRY (line 156) | const PIPELINE_REGISTRY = { function hasPipeline (line 169) | function hasPipeline(family: string): family is keyof typeof PIPELINE_RE... function getPipeline (line 173) | function getPipeline(family: string): (typeof PIPELINE_REGISTRY)[keyof t... function validateForFamily (line 180) | function validateForFamily( FILE: ts/src/scenarios/game-interface.ts type Observation (line 18) | type Observation = z.infer; method passedValidation (line 31) | get passedValidation() { type Result (line 36) | type Result = z.infer; type ReplayEnvelope (line 45) | type ReplayEnvelope = z.infer; type ExecutionLimits (line 53) | type ExecutionLimits = z.infer; type ScoringDimension (line 59) | interface ScoringDimension { type LegalAction (line 65) | interface LegalAction { type ScenarioInterface (line 76) | interface ScenarioInterface { FILE: ts/src/scenarios/grid-ctf.ts function createRng (line 23) | function createRng(seed: number): () => number { function rngUniform (line 33) | function rngUniform(rng: () => number, lo: number, hi: number): number { class GridCtfScenario (line 41) | class GridCtfScenario implements ScenarioInterface { method scoringDimensions (line 44) | scoringDimensions(): ScoringDimension[] { method describeRules (line 64) | describeRules(): string { method describeStrategyInterface (line 71) | describeStrategyInterface(): string { method describeEvaluationCriteria (line 78) | describeEvaluationCriteria(): string { method initialState (line 85) | initialState(seed?: number): Record { method getObservation (line 98) | getObservation(state: Record, playerId: string): Obse... method validateActions (line 114) | validateActions( method step (line 140) | step(state: Record, actions: Record)... method isTerminal (line 179) | isTerminal(state: Record): boolean { method getResult (line 183) | getResult(state: Record): Result { method replayToNarrative (line 197) | replayToNarrative(replay: Array>): string { method enumerateLegalActions (line 207) | enumerateLegalActions(state: Record): LegalAction[] |... method renderFrame (line 231) | renderFrame(state: Record): Record { method executeMatch (line 240) | executeMatch(strategy: Record, seed: number): Result { FILE: ts/src/scenarios/intent-validator.ts type IntentValidationResult (line 8) | interface IntentValidationResult { function extractKeywords (line 17) | function extractKeywords(text: string): Set { class IntentValidator (line 44) | class IntentValidator { method constructor (line 47) | constructor(minConfidence = 0.3) { method validate (line 51) | validate( FILE: ts/src/scenarios/interactive-scenario-materialization.ts function persistInteractiveScenarioDraft (line 5) | async function persistInteractiveScenarioDraft(opts: { FILE: ts/src/scenarios/investigation-creator.ts type InvestigationCreatorOpts (line 9) | interface InvestigationCreatorOpts { type InvestigationScenarioHandle (line 15) | interface InvestigationScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 25) | function generateScenarioSource(spec: InvestigationSpec, name: string): ... class InvestigationCreator (line 194) | class InvestigationCreator { method constructor (line 199) | constructor(opts: InvestigationCreatorOpts) { method create (line 205) | async create(description: string, name: string): Promise; function parseRawInvestigationSpec (line 18) | function parseRawInvestigationSpec(data: Record): Inves... FILE: ts/src/scenarios/llm-json-response.ts function isRecord (line 1) | function isRecord(value: unknown): value is Record { function stripJsonComments (line 5) | function stripJsonComments(raw: string): string { function repairJsonText (line 48) | function repairJsonText(raw: string): string { function tryParseRecord (line 54) | function tryParseRecord(raw: string): Record | null { function fencedJsonCandidates (line 67) | function fencedJsonCandidates(text: string): string[] { function objectCandidates (line 79) | function objectCandidates(text: string): string[] { function parseJsonObjectFromResponse (line 120) | function parseJsonObjectFromResponse(text: string): Record = { constant EXAMPLE_SPEC (line 20) | const EXAMPLE_SPEC = { constant NEGOTIATION_DESIGNER_SYSTEM (line 61) | const NEGOTIATION_DESIGNER_SYSTEM = `You are a scenario designer for aut... function parseNegotiationSpec (line 105) | function parseNegotiationSpec(text: string): NegotiationSpec { function designNegotiation (line 109) | async function designNegotiation( FILE: ts/src/scenarios/negotiation-spec.ts type HiddenPreferences (line 23) | type HiddenPreferences = z.infer; type NegotiationSpec (line 24) | type NegotiationSpec = z.infer; function parseRawNegotiationSpec (line 26) | function parseRawNegotiationSpec(data: Record): Negotia... FILE: ts/src/scenarios/operator-loop-creator.ts type OperatorLoopCreatorOpts (line 17) | interface OperatorLoopCreatorOpts { type OperatorLoopScenarioHandle (line 23) | interface OperatorLoopScenarioHandle { class OperatorLoopCreator (line 31) | class OperatorLoopCreator { method constructor (line 36) | constructor(opts: OperatorLoopCreatorOpts) { method create (line 42) | async create(description: string, name: string): Promise; type OperatorLoopSpec (line 21) | type OperatorLoopSpec = z.infer; function parseRawOperatorLoopSpec (line 23) | function parseRawOperatorLoopSpec(data: Record): Operat... FILE: ts/src/scenarios/othello.ts function createRng (line 15) | function createRng(seed: number): () => number { function rngUniform (line 25) | function rngUniform(rng: () => number, lo: number, hi: number): number { function rngInt (line 29) | function rngInt(rng: () => number, lo: number, hi: number): number { class OthelloScenario (line 33) | class OthelloScenario implements ScenarioInterface { method scoringDimensions (line 36) | scoringDimensions(): ScoringDimension[] { method describeRules (line 44) | describeRules(): string { method describeStrategyInterface (line 48) | describeStrategyInterface(): string { method describeEvaluationCriteria (line 52) | describeEvaluationCriteria(): string { method initialState (line 56) | initialState(seed?: number): Record { method getObservation (line 67) | getObservation(state: Record, playerId: string): Obse... method validateActions (line 81) | validateActions( method step (line 98) | step(state: Record, actions: Record)... method isTerminal (line 126) | isTerminal(state: Record): boolean { method getResult (line 130) | getResult(state: Record): Result { method replayToNarrative (line 143) | replayToNarrative(replay: Array>): string { method renderFrame (line 149) | renderFrame(state: Record): Record { method enumerateLegalActions (line 157) | enumerateLegalActions(state: Record): LegalAction[] |... method executeMatch (line 166) | executeMatch(strategy: Record, seed: number): Result { FILE: ts/src/scenarios/persisted-parametric-scenario.ts type ParametricStrategyParam (line 10) | interface ParametricStrategyParam { type ParametricConstraint (line 18) | interface ParametricConstraint { type ParametricEnvironmentVariable (line 25) | interface ParametricEnvironmentVariable { type ParametricScoringComponent (line 32) | interface ParametricScoringComponent { type PersistedParametricScenarioSpec (line 39) | interface PersistedParametricScenarioSpec { function createRng (line 54) | function createRng(seed: number): () => number { function rngUniform (line 64) | function rngUniform(rng: () => number, lo: number, hi: number): number { function clamp01 (line 68) | function clamp01(value: number): number { function round3 (line 72) | function round3(value: number): number { function round4 (line 76) | function round4(value: number): number { function readString (line 80) | function readString(value: unknown, fallback = ""): string { function readNumber (line 84) | function readNumber(value: unknown, fallback: number): number { function normalizeConstraintOperator (line 88) | function normalizeConstraintOperator(value: unknown): ParametricConstrai... function normalizeStrategyParams (line 92) | function normalizeStrategyParams(raw: Record): Parametr... function normalizeConstraints (line 109) | function normalizeConstraints(raw: Record): ParametricC... function normalizeEnvironmentVariables (line 125) | function normalizeEnvironmentVariables( function normalizeScoringComponents (line 143) | function normalizeScoringComponents(raw: Record): Param... function normalizeObservationConstraints (line 176) | function normalizeObservationConstraints(raw: Record): ... function normalizeFinalScoreWeights (line 184) | function normalizeFinalScoreWeights(raw: Record): Recor... function normalizePersistedParametricScenarioSpec (line 197) | function normalizePersistedParametricScenarioSpec( function evaluateConstraintExpression (line 219) | function evaluateConstraintExpression(expression: string, parsed: Record... function evaluateConstraint (line 241) | function evaluateConstraint( class PersistedParametricScenario (line 260) | class PersistedParametricScenario implements ScenarioInterface { method constructor (line 264) | constructor(name: string, rawSpec: Record) { method describeRules (line 269) | describeRules(): string { method describeStrategyInterface (line 273) | describeStrategyInterface(): string { method describeEvaluationCriteria (line 277) | describeEvaluationCriteria(): string { method initialState (line 281) | initialState(seed = 0): Record { method getObservation (line 294) | getObservation(state: Record, playerId: string): Obse... method validateActions (line 307) | validateActions( method step (line 334) | step(state: Record, actions: Record)... method isTerminal (line 375) | isTerminal(state: Record): boolean { method getResult (line 379) | getResult(state: Record): Result { method replayToNarrative (line 394) | replayToNarrative(replay: Array>): string { method renderFrame (line 405) | renderFrame(state: Record): Record { method enumerateLegalActions (line 413) | enumerateLegalActions(state: Record): LegalAction[] |... method scoringDimensions (line 425) | scoringDimensions(): ScoringDimension[] | null { method executeMatch (line 433) | executeMatch(strategy: Record, seed: number): Result { function createPersistedParametricScenarioClass (line 450) | function createPersistedParametricScenarioClass( FILE: ts/src/scenarios/primary-family-interface-types.ts type GameScenarioInterface (line 4) | type GameScenarioInterface = BaseGameScenarioInterface; type AgentTaskInterface (line 6) | type AgentTaskInterface = BaseAgentTaskInterface; type ArtifactEditingInterface (line 8) | interface ArtifactEditingInterface { FILE: ts/src/scenarios/primary-family-registry.ts function isGameScenario (line 12) | function isGameScenario(obj: unknown): obj is GameScenarioInterface { function isAgentTask (line 16) | function isAgentTask(obj: unknown): obj is AgentTaskInterface { function isArtifactEditing (line 20) | function isArtifactEditing(obj: unknown): obj is ArtifactEditingInterface { FILE: ts/src/scenarios/registry.ts type ScenarioFactory (line 12) | type ScenarioFactory = new () => ScenarioInterface; constant SCENARIO_REGISTRY (line 14) | const SCENARIO_REGISTRY: Record = { type BuiltinAgentTask (line 24) | interface BuiltinAgentTask { type AgentTaskFactory (line 32) | type AgentTaskFactory = new () => BuiltinAgentTask; constant AGENT_TASK_REGISTRY (line 34) | const AGENT_TASK_REGISTRY: Record = { function isGameScenario (line 41) | function isGameScenario(obj: unknown): obj is ScenarioInterface { function isAgentTask (line 57) | function isAgentTask(obj: unknown): boolean { FILE: ts/src/scenarios/resource-trader.ts constant MAX_TURNS (line 18) | const MAX_TURNS = 5; constant RESOURCES (line 19) | const RESOURCES = ["wood", "stone", "food"] as const; type Resource (line 20) | type Resource = (typeof RESOURCES)[number]; function createRng (line 22) | function createRng(seed: number): () => number { function generatePrices (line 32) | function generatePrices(rng: () => number): Record { class ResourceTrader (line 40) | class ResourceTrader implements ScenarioInterface { method scoringDimensions (line 43) | scoringDimensions(): ScoringDimension[] { method describeRules (line 51) | describeRules(): string { method describeStrategyInterface (line 55) | describeStrategyInterface(): string { method describeEvaluationCriteria (line 59) | describeEvaluationCriteria(): string { method initialState (line 63) | initialState(seed?: number): Record { method getObservation (line 78) | getObservation(state: Record, playerId: string): Obse... method validateActions (line 88) | validateActions( method step (line 123) | step(state: Record, actions: Record)... method isTerminal (line 158) | isTerminal(state: Record): boolean { method getResult (line 162) | getResult(state: Record): Result { method replayToNarrative (line 183) | replayToNarrative(replay: Array>): string { method renderFrame (line 191) | renderFrame(state: Record): Record { method enumerateLegalActions (line 201) | enumerateLegalActions(state: Record): LegalAction[] |... method executeMatch (line 210) | executeMatch(strategy: Record, seed: number): Result { FILE: ts/src/scenarios/revision-spec-normalizer.ts function pick (line 13) | function pick(spec: Record, ...keys: string[]): unknown { function normalizeActions (line 22) | function normalizeActions(value: unknown): unknown { function normalizeArtifacts (line 36) | function normalizeArtifacts(value: unknown): unknown { function normalizeWorkers (line 49) | function normalizeWorkers(value: unknown): unknown { function normalizeMutations (line 60) | function normalizeMutations(value: unknown): unknown { function normalizeToolContracts (line 75) | function normalizeToolContracts(value: unknown): unknown { function normalizeHiddenPreferences (line 87) | function normalizeHiddenPreferences(value: unknown): unknown { function normalizeEscalationPolicy (line 98) | function normalizeEscalationPolicy(value: unknown): unknown { function normalizeScenarioRevisionSpec (line 107) | function normalizeScenarioRevisionSpec( FILE: ts/src/scenarios/scenario-creator.ts type CreatedScenarioResult (line 34) | interface CreatedScenarioResult { type ProviderLlmFn (line 46) | type ProviderLlmFn = (system: string, user: string) => Promise; type CreateScenarioOptions (line 47) | interface CreateScenarioOptions { type ScenarioFamilyDetection (line 50) | interface ScenarioFamilyDetection { type FamilyAwareScenarioFamily (line 54) | type FamilyAwareScenarioFamily = type SimulationLikeCreatedSpecInput (line 63) | type SimulationLikeCreatedSpecInput = { constant FAMILY_HEADER_REGEX (line 76) | const FAMILY_HEADER_REGEX = /^\*\*Family:\*\*\s*(.+)$/im; function resolveScenarioFamilyHint (line 78) | function resolveScenarioFamilyHint(description: string): ScenarioFamilyN... function deriveScenarioName (line 103) | function deriveScenarioName(description: string): string { function detectScenarioFamily (line 127) | function detectScenarioFamily( function detectScenarioFamilyWithMetadata (line 134) | function detectScenarioFamilyWithMetadata( function detectScenarioFamilyAsync (line 169) | async function detectScenarioFamilyAsync( function detectScenarioFamilyWithMetadataAsync (line 176) | async function detectScenarioFamilyWithMetadataAsync( function normalizeDetectedFamily (line 211) | function normalizeDetectedFamily(family: ScenarioFamilyName): ScenarioFa... function isScenarioFamilyName (line 215) | function isScenarioFamilyName(value: string): value is ScenarioFamilyName { function scenarioCreationInstructions (line 219) | function scenarioCreationInstructions(): string { function buildScenarioCreationPrompt (line 236) | function buildScenarioCreationPrompt(description: string): string { function createProviderLlmFn (line 240) | function createProviderLlmFn(provider: LLMProvider): ProviderLlmFn { function hasFamilyAwareScenarioFactory (line 250) | function hasFamilyAwareScenarioFactory( function buildSimulationLikeCreatedSpec (line 256) | function buildSimulationLikeCreatedSpec( function buildSimulationCreatedSpec (line 273) | function buildSimulationCreatedSpec( function buildInvestigationCreatedSpec (line 290) | function buildInvestigationCreatedSpec( function buildSchemaEvolutionCreatedSpec (line 320) | function buildSchemaEvolutionCreatedSpec( function buildWorkflowCreatedSpec (line 347) | function buildWorkflowCreatedSpec( function buildNegotiationCreatedSpec (line 372) | function buildNegotiationCreatedSpec( function buildOperatorLoopCreatedSpec (line 398) | function buildOperatorLoopCreatedSpec( function buildCoordinationCreatedSpec (line 421) | function buildCoordinationCreatedSpec( constant FAMILY_AWARE_SCENARIO_FACTORIES (line 445) | const FAMILY_AWARE_SCENARIO_FACTORIES: Record< function createFamilyAwareScenarioFromDescription (line 465) | async function createFamilyAwareScenarioFromDescription( function shouldFallbackFromFamilyAwareCreation (line 478) | function shouldFallbackFromFamilyAwareCreation(error: unknown): boolean { function createGenericScenarioFromDescription (line 488) | async function createGenericScenarioFromDescription( function createScenarioFromDescription (line 549) | async function createScenarioFromDescription( FILE: ts/src/scenarios/scenario-family-fallback.ts constant CORE_SCENARIO_FIELDS (line 1) | const CORE_SCENARIO_FIELDS = new Set(["taskPrompt", "rubric", "descripti... function countScenarioFamilySpecificFields (line 3) | function countScenarioFamilySpecificFields(specFields: Record): ... function fallbackCodegenFamilyToAgentTask (line 11) | function fallbackCodegenFamilyToAgentTask( FILE: ts/src/scenarios/scenario-revision-contracts.ts type RevisionResult (line 3) | interface RevisionResult { type JudgeResult (line 10) | interface JudgeResult { type RevisionPromptOpts (line 16) | interface RevisionPromptOpts { type ReviseSpecOpts (line 23) | interface ReviseSpecOpts { type OutputRevisionOpts (line 32) | interface OutputRevisionOpts { FILE: ts/src/scenarios/scenario-revision-execution.ts type ExecuteScenarioRevisionOpts (line 5) | interface ExecuteScenarioRevisionOpts { type ExecutedScenarioRevisionResult (line 13) | interface ExecutedScenarioRevisionResult { function executeScenarioRevision (line 22) | async function executeScenarioRevision( FILE: ts/src/scenarios/scenario-revision-prompt-workflow.ts constant FAMILY_DESCRIPTIONS (line 7) | const FAMILY_DESCRIPTIONS: Partial> = { function buildWeakDimensionSection (line 20) | function buildWeakDimensionSection( function buildRevisionPrompt (line 37) | function buildRevisionPrompt(opts: RevisionPromptOpts): string { function reviseAgentTaskOutput (line 67) | function reviseAgentTaskOutput(opts: OutputRevisionOpts): string { FILE: ts/src/scenarios/scenario-revision-request-workflow.ts function reviseSpec (line 8) | async function reviseSpec(opts: ReviseSpecOpts): Promise { FILE: ts/src/scenarios/schema-evolution-creator.ts type SchemaEvolutionCreatorOpts (line 9) | interface SchemaEvolutionCreatorOpts { type SchemaEvolutionScenarioHandle (line 15) | interface SchemaEvolutionScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 29) | function generateScenarioSource(spec: SchemaEvolutionSpec, name: string)... class SchemaEvolutionCreator (line 207) | class SchemaEvolutionCreator { method constructor (line 212) | constructor(opts: SchemaEvolutionCreatorOpts) { method create (line 218) | async create(description: string, name: string): Promise; function parseRawSchemaEvolutionSpec (line 27) | function parseRawSchemaEvolutionSpec(data: Record): Sch... FILE: ts/src/scenarios/simulation-creator.ts type SimulationCreatorOpts (line 9) | interface SimulationCreatorOpts { type SimulationScenarioHandle (line 15) | interface SimulationScenarioHandle { function shouldUseSimulationFamily (line 21) | function shouldUseSimulationFamily(description: string): boolean { function className (line 40) | function className(name: string): string { function generateScenarioSource (line 44) | function generateScenarioSource(spec: SimulationSpec, name: string): str... class SimulationCreator (line 138) | class SimulationCreator { method constructor (line 143) | constructor(opts: SimulationCreatorOpts) { method create (line 149) | async create(description: string, name: string): Promise = { constant EXAMPLE_SPEC (line 20) | const EXAMPLE_SPEC = { constant SIMULATION_DESIGNER_SYSTEM (line 48) | const SIMULATION_DESIGNER_SYSTEM = `You are a scenario designer for auto... function parseSimulationSpec (line 87) | function parseSimulationSpec(text: string): SimulationSpec { function designSimulation (line 91) | async function designSimulation( FILE: ts/src/scenarios/simulation-family-guard-builders.ts function buildSimulationFamilyGuard (line 13) | function buildSimulationFamilyGuard( type SimulationDerivedFamilyGuardCatalog (line 19) | interface SimulationDerivedFamilyGuardCatalog< function buildSimulationDerivedFamilyGuardCatalog (line 39) | function buildSimulationDerivedFamilyGuardCatalog< FILE: ts/src/scenarios/simulation-family-interface-types.ts type SimulationInterface (line 1) | interface SimulationInterface { type NegotiationInterface (line 12) | interface NegotiationInterface extends SimulationInterface { type InvestigationInterface (line 20) | interface InvestigationInterface extends SimulationInterface { type WorkflowInterface (line 26) | interface WorkflowInterface extends SimulationInterface { type SchemaEvolutionInterface (line 34) | interface SchemaEvolutionInterface extends SimulationInterface { type ToolFragilityInterface (line 43) | interface ToolFragilityInterface extends SimulationInterface { type OperatorLoopInterface (line 51) | interface OperatorLoopInterface extends SimulationInterface { type CoordinationInterface (line 59) | interface CoordinationInterface extends SimulationInterface { FILE: ts/src/scenarios/simulation-family-method-catalogs.ts constant NEGOTIATION_METHOD_VARIANTS (line 6) | const NEGOTIATION_METHOD_VARIANTS: MethodVariant[] = [ constant INVESTIGATION_METHOD_VARIANTS (line 14) | const INVESTIGATION_METHOD_VARIANTS: MethodVariant[] = [ constant WORKFLOW_METHOD_VARIANTS (line 20) | const WORKFLOW_METHOD_VARIANTS: MethodVariant[] = [ constant SCHEMA_EVOLUTION_METHOD_VARIANTS (line 28) | const SCHEMA_EVOLUTION_METHOD_VARIANTS: MethodVariant[] = [ constant TOOL_FRAGILITY_METHOD_VARIANTS (line 37) | const TOOL_FRAGILITY_METHOD_VARIANTS: MethodVariant[] = [ constant OPERATOR_LOOP_METHOD_VARIANTS (line 45) | const OPERATOR_LOOP_METHOD_VARIANTS: MethodVariant[] = [ constant COORDINATION_METHOD_VARIANTS (line 53) | const COORDINATION_METHOD_VARIANTS: MethodVariant[] = [ function matchesSimulationFamilyContract (line 61) | function matchesSimulationFamilyContract( FILE: ts/src/scenarios/simulation-family-registry.ts constant SIMULATION_FAMILY_GUARDS (line 13) | const SIMULATION_FAMILY_GUARDS = buildSimulationDerivedFamilyGuardCatalog< FILE: ts/src/scenarios/simulation-spec.ts type SimulationActionSpec (line 21) | type SimulationActionSpec = z.infer; type SimulationSpec (line 22) | type SimulationSpec = z.infer; function parseRawSimulationSpec (line 24) | function parseRawSimulationSpec(data: Record): Simulati... FILE: ts/src/scenarios/spec-auto-heal-agent-task.ts constant ALWAYS_EXTERNAL_PATTERNS (line 9) | const ALWAYS_EXTERNAL_PATTERNS = ["you will be provided with"]; constant CONTEXTUAL_DATA_PATTERNS (line 11) | const CONTEXTUAL_DATA_PATTERNS = [ constant INLINE_DATA_MARKERS (line 20) | const INLINE_DATA_MARKERS = ["{", "[", "|", "- ", "* ", "##", "```"]; constant INLINE_DATA_MIN_CHARS (line 21) | const INLINE_DATA_MIN_CHARS = 20; function hasInlineDataAfter (line 23) | function hasInlineDataAfter(prompt: string, pattern: string): boolean { function needsSampleInput (line 42) | function needsSampleInput(spec: AgentTaskSpec): boolean { constant STOP_WORDS (line 65) | const STOP_WORDS = new Set([ function extractDomainHints (line 96) | function extractDomainHints(taskPrompt: string, description: string): st... constant COLLECTION_WORDS (line 102) | const COLLECTION_WORDS = new Set([ constant ENTITY_WORDS (line 110) | const ENTITY_WORDS = new Set([ constant ITEM_WORDS (line 118) | const ITEM_WORDS = new Set([ function generateSyntheticSampleInput (line 127) | function generateSyntheticSampleInput( function normalizeAgentTaskHealSpec (line 160) | function normalizeAgentTaskHealSpec( function applyHealedAgentTaskSpec (line 217) | function applyHealedAgentTaskSpec( function healAgentTaskSpec (line 270) | function healAgentTaskSpec( FILE: ts/src/scenarios/spec-auto-heal-core.ts constant NUMERIC_FIELD_PATTERNS (line 3) | const NUMERIC_FIELD_PATTERNS = constant BOOLEAN_FIELDS (line 5) | const BOOLEAN_FIELDS = new Set([ function coerceSpecTypes (line 14) | function coerceSpecTypes( function inferMissingFields (line 65) | function inferMissingFields( FILE: ts/src/scenarios/spec-auto-heal-preconditions.ts constant PRECONDITION_FAMILIES (line 1) | const PRECONDITION_FAMILIES = new Set([ function needsPreconditionHealing (line 12) | function needsPreconditionHealing(family: string): boolean { function normalizePreconditionToken (line 16) | function normalizePreconditionToken(value: string): string { function healSimulationPreconditions (line 23) | function healSimulationPreconditions( FILE: ts/src/scenarios/spec-auto-heal-readers.ts function getStringValue (line 1) | function getStringValue( function getNumberValue (line 14) | function getNumberValue( function getStringArrayValue (line 27) | function getStringArrayValue( function getRecordArrayValue (line 43) | function getRecordArrayValue( FILE: ts/src/scenarios/spec-auto-heal.ts function healSpec (line 47) | function healSpec( FILE: ts/src/scenarios/templates/index.ts type RubricDimension (line 16) | interface RubricDimension { type TemplateSpec (line 22) | interface TemplateSpec { constant BUILTIN_TEMPLATES (line 42) | const BUILTIN_TEMPLATES: readonly TemplateSpec[] = [ function cloneTemplateSpec (line 108) | function cloneTemplateSpec(spec: TemplateSpec): TemplateSpec { function loadBuiltinTemplates (line 118) | function loadBuiltinTemplates(): Map { class TemplateLoader (line 126) | class TemplateLoader { method constructor (line 129) | constructor(templateDir?: string) { method listTemplates (line 150) | listTemplates(): TemplateSpec[] { method getTemplate (line 158) | getTemplate(name: string): TemplateSpec { method scaffold (line 179) | scaffold( FILE: ts/src/scenarios/tool-fragility-creator.ts type ToolFragilityCreatorOpts (line 9) | interface ToolFragilityCreatorOpts { type ToolFragilityScenarioHandle (line 15) | interface ToolFragilityScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 29) | function generateScenarioSource(spec: ToolFragilitySpec, name: string): ... class ToolFragilityCreator (line 192) | class ToolFragilityCreator { method constructor (line 197) | constructor(opts: ToolFragilityCreatorOpts) { method create (line 203) | async create(description: string, name: string): Promise; type ToolFragilitySpec (line 22) | type ToolFragilitySpec = z.infer; function parseRawToolFragilitySpec (line 24) | function parseRawToolFragilitySpec(data: Record): ToolF... FILE: ts/src/scenarios/word-count.ts constant TARGET_WORDS (line 11) | const TARGET_WORDS = 50; constant TOPIC (line 12) | const TOPIC = "the benefits of automated software testing"; class WordCountTask (line 14) | class WordCountTask { method getTaskPrompt (line 15) | getTaskPrompt(): string { method getRubric (line 19) | getRubric(): string { method describeTask (line 23) | describeTask(): string { method initialState (line 27) | initialState(): Record { method evaluateOutput (line 31) | async evaluateOutput(output: string): Promise { FILE: ts/src/scenarios/workflow-creator.ts type WorkflowCreatorOpts (line 9) | interface WorkflowCreatorOpts { type WorkflowScenarioHandle (line 15) | interface WorkflowScenarioHandle { function className (line 21) | function className(name: string): string { function generateScenarioSource (line 25) | function generateScenarioSource(spec: WorkflowSpec, name: string): string { class WorkflowCreator (line 152) | class WorkflowCreator { method constructor (line 157) | constructor(opts: WorkflowCreatorOpts) { method create (line 163) | async create(description: string, name: string): Promise = { constant EXAMPLE_SPEC (line 20) | const EXAMPLE_SPEC = { constant WORKFLOW_DESIGNER_SYSTEM (line 77) | const WORKFLOW_DESIGNER_SYSTEM = `You are a scenario designer for autoco... function parseWorkflowSpec (line 126) | function parseWorkflowSpec(text: string): WorkflowSpec { function designWorkflow (line 130) | async function designWorkflow( FILE: ts/src/scenarios/workflow-spec.ts type WorkflowStepSpec (line 23) | type WorkflowStepSpec = z.infer; type WorkflowSpec (line 24) | type WorkflowSpec = z.infer; function parseRawWorkflowSpec (line 26) | function parseRawWorkflowSpec(data: Record): WorkflowSp... FILE: ts/src/server/active-run-lifecycle.ts function buildQueuedRunStatePatch (line 4) | function buildQueuedRunStatePatch(opts: { function buildIdleRunStatePatch (line 19) | function buildIdleRunStatePatch(paused: boolean): Partial): { function buildCampaignMissionLinkRequest (line 20) | function buildCampaignMissionLinkRequest(body: Record): { function executeCampaignRouteRequest (line 34) | function executeCampaignRouteRequest(opts: { FILE: ts/src/server/chat-agent-command-workflow.ts type ChatAgentCommandRunManager (line 3) | interface ChatAgentCommandRunManager { function buildChatResponseMessage (line 7) | function buildChatResponseMessage(opts: { function executeChatAgentCommand (line 18) | async function executeChatAgentCommand(opts: { FILE: ts/src/server/chat-agent-workflow.ts function normalizeChatAgentRole (line 4) | function normalizeChatAgentRole(role: string): GenerationRole | undefined { function buildChatAgentUserPrompt (line 14) | function buildChatAgentUserPrompt(opts: { function executeChatAgentInteraction (line 30) | async function executeChatAgentInteraction(opts: { FILE: ts/src/server/client-error-workflow.ts function isInteractiveScenarioCommand (line 3) | function isInteractiveScenarioCommand( function buildClientErrorMessage (line 18) | function buildClientErrorMessage( FILE: ts/src/server/cockpit-api.ts type CockpitApiResponse (line 22) | interface CockpitApiResponse { type CockpitApiRoutes (line 27) | interface CockpitApiRoutes { type RoleName (line 44) | type RoleName = "competitor" | "analyst" | "coach" | "architect"; type NotebookField (line 45) | type NotebookField = type ClosableRuntimeSessionReadStore (line 51) | type ClosableRuntimeSessionReadStore = RuntimeSessionReadStore & { constant ROLE_NOTEBOOK_FIELDS (line 55) | const ROLE_NOTEBOOK_FIELDS: Record = { constant FIELD_HEADERS (line 62) | const FIELD_HEADERS: Record = { function buildCockpitApiRoutes (line 70) | function buildCockpitApiRoutes(opts: { function withStore (line 230) | function withStore( function withStoreAsync (line 242) | async function withStoreAsync( function withRuntimeSessionStore (line 254) | function withRuntimeSessionStore( function errorMessage (line 269) | function errorMessage(error: unknown): string { function summarizeRun (line 273) | function summarizeRun(store: SQLiteStore, run: RunRow): Record, key: string): strin... function isRecord (line 98) | function isRecord(value: unknown): value is Record { function escapeRegExp (line 102) | function escapeRegExp(value: string): string { FILE: ts/src/server/cockpit-consultation.ts function requestConsultation (line 9) | async function requestConsultation( function resolveConsultationGeneration (line 110) | function resolveConsultationGeneration( function createConsultationProvider (line 134) | function createConsultationProvider( function requiresConsultationApiKey (line 188) | function requiresConsultationApiKey(providerType: string): boolean { function completeConsultation (line 201) | async function completeConsultation( type ParsedConsultation (line 248) | interface ParsedConsultation { function parseConsultationCompletion (line 258) | function parseConsultationCompletion( function renderConsultationAdvisory (line 283) | function renderConsultationAdvisory(result: ParsedConsultation): string { function latestCompetitorStrategy (line 303) | function latestCompetitorStrategy( function writeConsultationAdvisory (line 322) | function writeConsultationAdvisory( function readOptionalString (line 348) | function readOptionalString(value: unknown): string | null { function formatNumberHistory (line 352) | function formatNumberHistory(values: number[], maxItems = 8): string { function extractMarkdownSection (line 360) | function extractMarkdownSection(content: string, heading: string): string { function truncate (line 368) | function truncate(value: string, maxLength: number): string { function resolveContainedPath (line 372) | function resolveContainedPath(root: string, ...segments: string[]): stri... function escapeRegExp (line 382) | function escapeRegExp(value: string): string { function errorMessage (line 386) | function errorMessage(error: unknown): string { FILE: ts/src/server/cockpit-writeup.ts function buildWriteup (line 6) | function buildWriteup(store: SQLiteStore, run: RunRow, knowledgeRoot: st... function bestCompetitorOutput (line 68) | function bestCompetitorOutput( function latestPersistedTraceWriteup (line 93) | function latestPersistedTraceWriteup(knowledgeRoot: string, runId: strin... function renderTraceWriteup (line 117) | function renderTraceWriteup(writeup: Record): string { function readScenarioPlaybook (line 177) | function readScenarioPlaybook(knowledgeRoot: string, scenario: string): ... function readJsonRecord (line 187) | function readJsonRecord(path: string): Record | null { function readString (line 196) | function readString(record: Record, key: string): strin... function readNumber (line 201) | function readNumber(record: Record, key: string): numbe... function readRecord (line 206) | function readRecord(record: Record, key: string): Recor... function readRecordArray (line 211) | function readRecordArray(record: Record, key: string): ... function readStringArray (line 216) | function readStringArray(record: Record, key: string): ... function formatDelta (line 221) | function formatDelta(value: number): string { function truncate (line 225) | function truncate(value: string, maxLength: number): string { function resolveContainedPath (line 229) | function resolveContainedPath(root: string, ...segments: string[]): stri... function isRecord (line 239) | function isRecord(value: unknown): value is Record { FILE: ts/src/server/event-stream-envelope.ts type EventStreamEnvelope (line 3) | interface EventStreamEnvelope { function buildEventStreamEnvelope (line 12) | function buildEventStreamEnvelope(opts: { function buildGenerationEventEnvelope (line 29) | function buildGenerationEventEnvelope( function buildMissionProgressEventEnvelope (line 44) | function buildMissionProgressEventEnvelope( FILE: ts/src/server/http-api-parity.ts type HttpApiRuntime (line 1) | type HttpApiRuntime = "python" | "typescript"; type HttpApiMethod (line 2) | type HttpApiMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "WEBS... type HttpApiSupport (line 3) | type HttpApiSupport = "supported" | "unsupported"; type HttpApiParityStatus (line 4) | type HttpApiParityStatus = "aligned" | "typescript_gap" | "python_gap"; type RuntimeRouteSupport (line 6) | interface RuntimeRouteSupport { type HttpApiParityEntry (line 11) | interface HttpApiParityEntry { type HttpApiParityMatrix (line 22) | interface HttpApiParityMatrix { constant PY_APP (line 29) | const PY_APP = "autocontext/src/autocontext/server/app.py"; constant TS_SERVER (line 30) | const TS_SERVER = "ts/src/server/ws-server.ts"; constant PY_COCKPIT_API (line 31) | const PY_COCKPIT_API = "autocontext/src/autocontext/server/cockpit_api.py"; constant PY_HUB_API (line 32) | const PY_HUB_API = "autocontext/src/autocontext/server/hub_api.py"; constant PY_OPENCLAW_API (line 33) | const PY_OPENCLAW_API = "autocontext/src/autocontext/server/openclaw_api... function both (line 35) | function both( function pythonOnly (line 54) | function pythonOnly( function typescriptOnly (line 73) | function typescriptOnly( constant HTTP_API_PARITY_ROUTES (line 90) | const HTTP_API_PARITY_ROUTES: readonly HttpApiParityEntry[] = [ function pythonOnlyRoutes (line 279) | function pythonOnlyRoutes( function buildHttpApiParityMatrix (line 293) | function buildHttpApiParityMatrix(): HttpApiParityMatrix { FILE: ts/src/server/hub-api.ts type HubApiResponse (line 4) | interface HubApiResponse { type HubApiRoutes (line 9) | interface HubApiRoutes { function buildHubApiRoutes (line 25) | function buildHubApiRoutes(opts: { function mapHubError (line 59) | function mapHubError(fn: () => HubApiResponse): HubApiResponse { FILE: ts/src/server/interactive-control-command-workflow.ts type InteractiveControlRunManager (line 4) | interface InteractiveControlRunManager { function buildRunAcceptedMessage (line 18) | function buildRunAcceptedMessage(opts: { function executeInteractiveControlCommand (line 31) | async function executeInteractiveControlCommand(opts: { FILE: ts/src/server/interactive-scenario-command-workflow.ts function buildScenarioPreviewMessage (line 4) | function buildScenarioPreviewMessage(preview: ScenarioPreviewInfo): Serv... function buildScenarioReadyMessage (line 17) | function buildScenarioReadyMessage(ready: ScenarioReadyInfo): ServerMess... function executeInteractiveScenarioCommand (line 25) | async function executeInteractiveScenarioCommand(opts: { FILE: ts/src/server/interactive-scenario-session.ts type InteractiveScenarioReadyInfo (line 16) | interface InteractiveScenarioReadyInfo { type InteractiveScenarioSessionDeps (line 21) | interface InteractiveScenarioSessionDeps { class InteractiveScenarioSession (line 38) | class InteractiveScenarioSession { method constructor (line 44) | constructor(opts: { method pendingScenario (line 54) | get pendingScenario(): ScenarioDraft | null { method createScenario (line 58) | async createScenario(opts: { method reviseScenario (line 71) | async reviseScenario(opts: { method cancelScenario (line 94) | cancelScenario(): void { method confirmScenario (line 98) | async confirmScenario(): Promise { method #requirePendingScenario (line 116) | #requirePendingScenario(): ScenarioDraft { method #buildPreview (line 123) | #buildPreview(draft: ScenarioDraft): ScenarioPreviewInfo { FILE: ts/src/server/knowledge-api.ts type KnowledgeApiResponse (line 14) | interface KnowledgeApiResponse { type KnowledgeSolveManager (line 19) | interface KnowledgeSolveManager { type KnowledgeApiRoutes (line 25) | interface KnowledgeApiRoutes { function buildKnowledgeApiRoutes (line 34) | function buildKnowledgeApiRoutes(opts: { type ImportPackageRequestResult (line 138) | type ImportPackageRequestResult = constant CONFLICT_POLICIES (line 146) | const CONFLICT_POLICIES = new Set(["overwrite", "merge",... function parseImportPackageRequest (line 148) | function parseImportPackageRequest(body: Record): Impor... function listSolvedScenarios (line 172) | function listSolvedScenarios(knowledgeRoot: string): Array<{ scenario: s... function resolveKnowledgeScenarioDir (line 194) | function resolveKnowledgeScenarioDir(knowledgeRoot: string, scenarioName... function scenarioHasKnowledge (line 215) | function scenarioHasKnowledge(scenarioDir: string): boolean { function isRecord (line 220) | function isRecord(value: unknown): value is Record { function isChildPath (line 224) | function isChildPath(root: string, candidate: string): boolean { function searchStrategies (line 229) | function searchStrategies( function withStore (line 261) | function withStore( function clampInteger (line 273) | function clampInteger(value: unknown, fallback: number, min: number, max... type SolveSubmitOptionsResult (line 280) | type SolveSubmitOptionsResult = function parseSolveSubmitOptions (line 284) | function parseSolveSubmitOptions(body: Record): SolveSu... function readOptionalString (line 311) | function readOptionalString( function readOptionalNonNegativeInteger (line 326) | function readOptionalNonNegativeInteger( function firstPresent (line 344) | function firstPresent( function humanizeScenarioName (line 356) | function humanizeScenarioName(name: string): string { FILE: ts/src/server/mission-action-workflow.ts type MissionActionName (line 8) | type MissionActionName = "run" | "pause" | "resume" | "cancel"; type MissionActionRecord (line 10) | interface MissionActionRecord { type MissionActionManager (line 15) | interface MissionActionManager { type MissionActionRunManager (line 22) | interface MissionActionRunManager { type MissionActionWorkflowDeps (line 28) | interface MissionActionWorkflowDeps { function buildMissionRunRequest (line 34) | function buildMissionRunRequest(opts: { function executeMissionActionRequest (line 56) | async function executeMissionActionRequest(opts: { FILE: ts/src/server/mission-api.ts type MissionApiRoutes (line 12) | interface MissionApiRoutes { function buildMissionApiRoutes (line 21) | function buildMissionApiRoutes(manager: MissionManager, runsRoot: string... FILE: ts/src/server/mission-progress-workflow.ts type MissionProgressEvents (line 9) | interface MissionProgressEvents { type MissionProgressManager (line 20) | interface MissionProgressManager { type MissionProgressMessageOpts (line 26) | interface MissionProgressMessageOpts { type MissionProgressMessage (line 32) | type MissionProgressMessage = Extract): Creat... function isRecord (line 174) | function isRecord(value: unknown): value is Record { function readBooleanQuery (line 178) | function readBooleanQuery(query: URLSearchParams, key: string, fallback:... function readIntegerQuery (line 186) | function readIntegerQuery(query: URLSearchParams, key: string, fallback:... function readNumberQuery (line 193) | function readNumberQuery(query: URLSearchParams, key: string, fallback: ... FILE: ts/src/server/monitor-engine.ts type MonitorConditionType (line 13) | type MonitorConditionType = type AlertWaiter (line 20) | type AlertWaiter = (alert: MonitorAlertRow | null) => void; type MonitorEngineOpts (line 22) | interface MonitorEngineOpts { class MonitorEngine (line 30) | class MonitorEngine { method constructor (line 45) | constructor(opts: MonitorEngineOpts) { method start (line 53) | start(): void { method stop (line 65) | stop(): void { method createCondition (line 82) | createCondition(opts: InsertMonitorConditionOpts): string { method waitForAlert (line 96) | async waitForAlert( method #handleEvent (line 123) | #handleEvent(event: string, payload: Record): void { method #checkHeartbeat (line 134) | #checkHeartbeat(): void { method #evaluateCondition (line 147) | #evaluateCondition( method #evaluateHeartbeat (line 168) | #evaluateHeartbeat( method #fireAlert (line 181) | #fireAlert(alert: InsertMonitorAlertOpts): void { function evaluateMetricThreshold (line 204) | function evaluateMetricThreshold( function evaluateStallWindow (line 223) | function evaluateStallWindow( function evaluateArtifactCreated (line 246) | function evaluateArtifactCreated( function evaluateProcessExit (line 260) | function evaluateProcessExit( function buildAlert (line 273) | function buildAlert( function scopeMatches (line 292) | function scopeMatches(payload: Record, scope: string): ... function readNumber (line 300) | function readNumber(value: unknown, fallback: number): number { function isConditionType (line 309) | function isConditionType(value: string): value is MonitorConditionType { FILE: ts/src/server/notebook-api.ts type NotebookApiResponse (line 4) | interface NotebookApiResponse { type NotebookApiRoutes (line 9) | interface NotebookApiRoutes { function buildNotebookApiRoutes (line 16) | function buildNotebookApiRoutes(opts: { constant SAFE_NOTEBOOK_SESSION_ID_RE (line 92) | const SAFE_NOTEBOOK_SESSION_ID_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/; function validateNotebookSessionId (line 94) | function validateNotebookSessionId(sessionId: string): NotebookApiRespon... function withStore (line 106) | function withStore( type NotebookUpsertRequestResult (line 118) | type NotebookUpsertRequestResult = type NotebookUpsertValues (line 122) | type NotebookUpsertValues = function parseNotebookUpsertRequest (line 126) | function parseNotebookUpsertRequest(body: Record): Note... function readOptionalString (line 162) | function readOptionalString( function readOptionalInteger (line 176) | function readOptionalInteger( function readOptionalNumber (line 190) | function readOptionalNumber( function readOptionalStringArray (line 204) | function readOptionalStringArray( function firstPresent (line 218) | function firstPresent( FILE: ts/src/server/openclaw-api.ts type OpenClawApiResponse (line 6) | interface OpenClawApiResponse { type OpenClawApiRoutes (line 11) | interface OpenClawApiRoutes { function buildOpenClawApiRoutes (line 29) | function buildOpenClawApiRoutes(opts: { function mapErrorToResponse (line 80) | function mapErrorToResponse(fn: () => OpenClawApiResponse, defaultStatus... FILE: ts/src/server/protocol.ts constant PROTOCOL_VERSION (line 8) | const PROTOCOL_VERSION = 1; constant PYTHON_SHARED_SERVER_MESSAGE_TYPES (line 12) | const PYTHON_SHARED_SERVER_MESSAGE_TYPES = [ constant TYPESCRIPT_ONLY_SERVER_MESSAGE_TYPES (line 28) | const TYPESCRIPT_ONLY_SERVER_MESSAGE_TYPES = [ constant SERVER_MESSAGE_TYPES (line 33) | const SERVER_MESSAGE_TYPES = [ constant PYTHON_SHARED_CLIENT_MESSAGE_TYPES (line 38) | const PYTHON_SHARED_CLIENT_MESSAGE_TYPES = [ constant TYPESCRIPT_ONLY_CLIENT_MESSAGE_TYPES (line 52) | const TYPESCRIPT_ONLY_CLIENT_MESSAGE_TYPES = [ constant CLIENT_MESSAGE_TYPES (line 59) | const CLIENT_MESSAGE_TYPES = [ type ServerMessage (line 328) | type ServerMessage = z.infer; type ClientMessage (line 329) | type ClientMessage = z.infer; function parseClientMessage (line 331) | function parseClientMessage(raw: Record): ClientMessage { function parseServerMessage (line 335) | function parseServerMessage(raw: Record): ServerMessage { FILE: ts/src/server/run-custom-scenario-registry.ts type RunCustomScenarioRegistryDeps (line 9) | interface RunCustomScenarioRegistryDeps { class RunCustomScenarioRegistry (line 14) | class RunCustomScenarioRegistry { method constructor (line 19) | constructor(opts: { method reload (line 27) | reload(): void { method get (line 34) | get(name: string): CustomScenarioEntry | undefined { method values (line 38) | values(): IterableIterator { method asMap (line 42) | asMap(): Map { FILE: ts/src/server/run-environment-catalog.ts type EnvironmentScenarioInfo (line 6) | interface EnvironmentScenarioInfo { type ScenarioClass (line 11) | type ScenarioClass = new () => ScenarioInterface; function describeCustomScenarioEntry (line 13) | function describeCustomScenarioEntry(entry: CustomScenarioEntry): string { function listBuiltinScenarioInfo (line 29) | function listBuiltinScenarioInfo(opts: { function listCustomScenarioInfo (line 44) | function listCustomScenarioInfo(opts: { function buildEnvironmentInfo (line 58) | function buildEnvironmentInfo(opts: { FILE: ts/src/server/run-manager-provider-session.ts type ProviderSessionOverride (line 9) | interface ProviderSessionOverride { type RunManagerProviderSessionDeps (line 16) | interface RunManagerProviderSessionDeps { class RunManagerProviderSession (line 25) | class RunManagerProviderSession { method constructor (line 30) | constructor(defaults: Partial, deps?: RunMana... method getActiveProviderType (line 40) | getActiveProviderType(): string | null { method setActiveProvider (line 49) | setActiveProvider(config: ProviderSessionOverride): void { method clearActiveProvider (line 58) | clearActiveProvider(): void { method resolveProviderBundle (line 62) | resolveProviderBundle( method buildProvider (line 79) | buildProvider(role?: GenerationRole, settings = this.#loadSettings()) { method #loadSettings (line 87) | #loadSettings(): AppSettings { method #buildRoleProviderBundle (line 91) | #buildRoleProviderBundle( FILE: ts/src/server/run-manager.ts type RunManagerOpts (line 47) | interface RunManagerOpts { type RunManagerDeps (line 60) | interface RunManagerDeps { type EnvironmentInfo (line 64) | interface EnvironmentInfo { type RunManagerState (line 71) | interface RunManagerState { type ScenarioReadyInfo (line 82) | type ScenarioReadyInfo = InteractiveScenarioReadyInfo; class RunManager (line 84) | class RunManager { method constructor (line 103) | constructor(opts: RunManagerOpts) { method isActive (line 125) | get isActive(): boolean { method getDbPath (line 129) | getDbPath(): string { method getMigrationsDir (line 133) | getMigrationsDir(): string { method getRunsRoot (line 137) | getRunsRoot(): string { method getKnowledgeRoot (line 141) | getKnowledgeRoot(): string { method getSkillsRoot (line 145) | getSkillsRoot(): string { method buildMissionProvider (line 149) | buildMissionProvider() { method listScenarios (line 153) | listScenarios(): string[] { method getEnvironmentInfo (line 157) | getEnvironmentInfo(): EnvironmentInfo { method getActiveProviderType (line 166) | getActiveProviderType(): string | null { method setActiveProvider (line 170) | setActiveProvider(config: { method clearActiveProvider (line 179) | clearActiveProvider(): void { method getState (line 183) | getState(): RunManagerState { method events (line 187) | get events(): EventStreamEmitter { method subscribeEvents (line 191) | subscribeEvents(callback: EventCallback): void { method unsubscribeEvents (line 195) | unsubscribeEvents(callback: EventCallback): void { method subscribeState (line 199) | subscribeState(callback: (state: RunManagerState) => void): void { method unsubscribeState (line 203) | unsubscribeState(callback: (state: RunManagerState) => void): void { method pause (line 210) | pause(): void { method resume (line 215) | resume(): void { method injectHint (line 220) | injectHint(text: string): void { method overrideGate (line 224) | overrideGate(decision: "advance" | "retry" | "rollback"): void { method chatAgent (line 228) | async chatAgent(role: string, message: string): Promise { method startRun (line 237) | async startRun(scenario: string, generations: number, runId?: string):... method createScenario (line 354) | async createScenario(description: string): Promise { method reviseScenario (line 366) | async reviseScenario(feedback: string): Promise { method cancelScenario (line 378) | cancelScenario(): void { method confirmScenario (line 382) | async confirmScenario(): Promise { method #resolveProviderBundle (line 388) | #resolveProviderBundle( method #runtimeSessionOptsForRun (line 401) | #runtimeSessionOptsForRun(runId: string, scenarioName: string): Provid... method buildProvider (line 416) | buildProvider(role?: GenerationRole) { method #applyEventState (line 420) | #applyEventState(event: string, payload: Record): void { method #updateState (line 427) | #updateState(patch: Partial): void { method #reloadCustomScenarios (line 432) | #reloadCustomScenarios(): void { method #humanizeName (line 436) | #humanizeName(name: string): string { FILE: ts/src/server/run-simulation-read-workflow.ts type RunSimulationReadRoute (line 4) | type RunSimulationReadRoute = type RunReadStore (line 14) | interface RunReadStore { type RunSimulationReadRunManager (line 21) | interface RunSimulationReadRunManager { type RunSimulationApi (line 27) | interface RunSimulationApi { type RunSimulationReadDeps (line 33) | interface RunSimulationReadDeps { function loadReplayArtifactResponse (line 39) | function loadReplayArtifactResponse(opts: { function executeRunSimulationReadRequest (line 82) | function executeRunSimulationReadRequest(opts: { function withStore (line 162) | function withStore( FILE: ts/src/server/run-start-workflow.ts type RunStartPlan (line 18) | type RunStartPlan = function resolveRunStartPlan (line 32) | function resolveRunStartPlan(opts: { type ScenarioClass (line 70) | type ScenarioClass = new () => ScenarioInterface; function resolveBuiltInGameScenario (line 72) | function resolveBuiltInGameScenario(opts: { type StartRunStoreLike (line 87) | interface StartRunStoreLike { type StartRunRunnerLike (line 92) | interface StartRunRunnerLike { type BuiltInGameStartRunDeps (line 96) | interface BuiltInGameStartRunDeps { function executeBuiltInGameStartRun (line 102) | async function executeBuiltInGameStartRun(opts: { type AgentTaskCustomStartRunDeps (line 203) | interface AgentTaskCustomStartRunDeps { function readBestScore (line 207) | function readBestScore(result: Record): number { function normalizeCompletedGenerations (line 212) | function normalizeCompletedGenerations(progress: number): number { function executeAgentTaskCustomStartRun (line 216) | async function executeAgentTaskCustomStartRun(opts: { type GeneratedCustomStartRunDeps (line 358) | interface GeneratedCustomStartRunDeps { function resolveEntryMaxSteps (line 362) | function resolveEntryMaxSteps(entry: CustomScenarioEntry): number | unde... function executeGeneratedCustomStartRun (line 376) | async function executeGeneratedCustomStartRun(opts: { function emitHook (line 438) | function emitHook( FILE: ts/src/server/run-state-workflow.ts function buildRunEventStatePatch (line 3) | function buildRunEventStatePatch( function mergeRunManagerState (line 40) | function mergeRunManagerState( function notifyRunStateSubscribers (line 47) | function notifyRunStateSubscribers( FILE: ts/src/server/runtime-session-api.ts type RuntimeSessionApiResponse (line 15) | interface RuntimeSessionApiResponse { type RuntimeSessionDiscovery (line 20) | interface RuntimeSessionDiscovery { type RuntimeSessionApiRoutes (line 25) | interface RuntimeSessionApiRoutes { type ClosableRuntimeSessionReadStore (line 33) | type ClosableRuntimeSessionReadStore = RuntimeSessionReadStore & { function buildRuntimeSessionApiRoutes (line 37) | function buildRuntimeSessionApiRoutes(opts: { function runtimeSessionUrlForRun (line 132) | function runtimeSessionUrlForRun(runId: string): string { function runtimeSessionDiscoveryForRun (line 136) | function runtimeSessionDiscoveryForRun( function withStore (line 147) | function withStore( type ReadLimitResult (line 159) | type ReadLimitResult = function readLimit (line 163) | function readLimit(query: URLSearchParams): ReadLimitResult { FILE: ts/src/server/runtime-session-event-stream.ts constant RUNTIME_SESSION_EVENT_STREAM_CHANNEL (line 5) | const RUNTIME_SESSION_EVENT_STREAM_CHANNEL = "runtime_session"; constant RUNTIME_SESSION_EVENT_STREAM_EVENT (line 6) | const RUNTIME_SESSION_EVENT_STREAM_EVENT = "runtime_session_event"; type RuntimeSessionEventEmitter (line 8) | type RuntimeSessionEventEmitter = Pick; function createRuntimeSessionEventStreamSink (line 10) | function createRuntimeSessionEventStreamSink( FILE: ts/src/server/simulation-api.ts type SimulationListEntry (line 11) | interface SimulationListEntry { type SweepChartPoint (line 18) | interface SweepChartPoint { type SimulationDashboardData (line 24) | interface SimulationDashboardData { type SimulationApiRoutes (line 39) | interface SimulationApiRoutes { function isRecord (line 45) | function isRecord(value: unknown): value is Record { function readJsonRecord (line 49) | function readJsonRecord(path: string): Record | null { function toRecord (line 54) | function toRecord(value: unknown): Record { function toNumberRecord (line 58) | function toNumberRecord(value: unknown): Record { function toStringArray (line 71) | function toStringArray(value: unknown): string[] { function toSimulationCase (line 77) | function toSimulationCase( function toSweepResults (line 89) | function toSweepResults(value: unknown): Array> ... function buildSimulationApiRoutes (line 96) | function buildSimulationApiRoutes( FILE: ts/src/server/simulation-dashboard.ts function renderDashboardHtml (line 12) | function renderDashboardHtml(): string { FILE: ts/src/server/tui-auth.ts type TuiLoginResult (line 20) | interface TuiLoginResult { type TuiAuthStatus (line 26) | interface TuiAuthStatus { type ResolvedTuiAuthSelection (line 33) | interface ResolvedTuiAuthSelection extends TuiAuthStatus { function normalizeProvider (line 38) | function normalizeProvider(provider: string): string { function handleTuiLogin (line 42) | async function handleTuiLogin( function handleTuiLogout (line 84) | function handleTuiLogout(configDir: string, provider?: string): void { function resolveTuiAuthSelection (line 96) | function resolveTuiAuthSelection( function handleTuiSwitchProvider (line 127) | function handleTuiSwitchProvider(configDir: string, provider: string): T... function handleTuiWhoami (line 131) | function handleTuiWhoami(configDir: string, preferredProvider?: string):... FILE: ts/src/server/websocket-session-bootstrap.ts function buildEnvironmentMessage (line 4) | function buildEnvironmentMessage(environment: EnvironmentInfo): ServerMe... function buildStateMessage (line 14) | function buildStateMessage(state: RunManagerState): ServerMessage { function buildSessionBootstrapMessages (line 23) | function buildSessionBootstrapMessages( FILE: ts/src/server/ws-server.ts type InteractiveServerOpts (line 57) | interface InteractiveServerOpts { class PortInUseError (line 63) | class PortInUseError extends Error { method constructor (line 66) | constructor(port: number) { class InteractiveServer (line 76) | class InteractiveServer { method constructor (line 93) | constructor(opts: InteractiveServerOpts) { method port (line 105) | get port(): number { method url (line 109) | get url(): string { method start (line 113) | async start(): Promise { method #handleHttpRequest (line 171) | async #handleHttpRequest(req: IncomingMessage, res: ServerResponse): P... method #openStore (line 1139) | #openStore(): SQLiteStore { method #withStore (line 1145) | #withStore(fn: (store: SQLiteStore) => void): void { method #getSolveManager (line 1154) | #getSolveManager(): SolveManager { method #getMonitorEngine (line 1168) | #getMonitorEngine(settings: AppSettings): MonitorEngine { method #readJsonBody (line 1182) | async #readJsonBody(req: IncomingMessage): Promise { method #attachClient (line 1246) | #attachClient(ws: WebSocket): void { method #attachEventStreamClient (line 1287) | #attachEventStreamClient(ws: WebSocket): void { method #handleClientMessage (line 1326) | async #handleClientMessage(ws: WebSocket, msg: ClientMessage): Promise... method #sendState (line 1376) | #sendState(ws: WebSocket, state: RunManagerState): void { method #send (line 1380) | #send(ws: WebSocket, msg: ServerMessage): void { method #parseMessage (line 1387) | #parseMessage(raw: string): ClientMessage { FILE: ts/src/session/action-labels.ts constant MAX_LABEL_LEN (line 8) | const MAX_LABEL_LEN = 120; constant FAILURE_TYPES (line 10) | const FAILURE_TYPES = new Set(["worker_failed", "turn_failed", "turn_int... constant EVENT_LABEL_MAP (line 12) | const EVENT_LABEL_MAP: Record = { function truncate (line 27) | function truncate(text: string): string { class ActionLabel (line 33) | class ActionLabel { method constructor (line 37) | constructor(text: string, category: string = "action") { method create (line 42) | static create(text: string, category: string = "action"): ActionLabel { method noop (line 46) | static noop(reason: string = "No changes"): ActionLabel { function labelFromEvent (line 51) | function labelFromEvent(event: CoordinatorEvent | SessionEvent): ActionL... function labelsFromCoordinator (line 65) | function labelsFromCoordinator(coord: Coordinator, maxLabels: number = 2... FILE: ts/src/session/context-pressure.ts type PressureLevel (line 13) | type PressureLevel = (typeof PressureLevel)[keyof typeof PressureLevel]; class CompactionPolicy (line 15) | class CompactionPolicy { method constructor (line 20) | constructor(opts?: { warningThreshold?: number; compactThreshold?: num... method validateThresholds (line 27) | private validateThresholds(): void { class ContextPressure (line 46) | class ContextPressure { method constructor (line 52) | private constructor(usedTokens: number, effectiveWindow: number, utili... method shouldCompact (line 59) | get shouldCompact(): boolean { method tokensRemaining (line 63) | get tokensRemaining(): number { method measure (line 67) | static measure(usedTokens: number, effectiveWindow: number, policy?: C... class CompactionResult (line 81) | class CompactionResult { method constructor (line 87) | constructor(opts: { stage: string; tokensBefore: number; tokensAfter: ... method tokensFreed (line 94) | get tokensFreed(): number { function effectiveWindow (line 99) | function effectiveWindow(raw: number, outputHeadroom: number = 4096, ove... class CompactionCircuitBreaker (line 103) | class CompactionCircuitBreaker { method constructor (line 107) | constructor(maxFailures: number = 3) { method isOpen (line 111) | get isOpen(): boolean { method recordFailure (line 115) | recordFailure(stage: string): void { method recordSuccess (line 119) | recordSuccess(): void { FILE: ts/src/session/coordinator.ts type WorkerStatus (line 16) | type WorkerStatus = (typeof WorkerStatus)[keyof typeof WorkerStatus]; type CoordinatorEventType (line 28) | type CoordinatorEventType = (typeof CoordinatorEventType)[keyof typeof C... constant ACTIVE_STATUSES (line 30) | const ACTIVE_STATUSES = new Set([WorkerStatus.PENDING, Wor... constant RETRYABLE_STATUSES (line 31) | const RETRYABLE_STATUSES = new Set([WorkerStatus.FAILED, W... type CoordinatorEvent (line 33) | interface CoordinatorEvent { class Worker (line 40) | class Worker { method constructor (line 50) | private constructor(opts: { task: string; role: string; parentWorkerId... method create (line 57) | static create(opts: { task: string; role: string; parentWorkerId?: str... method start (line 61) | start(): void { method complete (line 66) | complete(result: string): void { method fail (line 72) | fail(error: string = ""): void { method redirect (line 78) | redirect(reason: string = ""): void { method isActive (line 84) | get isActive(): boolean { return ACTIVE_STATUSES.has(this.status); } method requireStatus (line 86) | private requireStatus(allowed: Set, action: string): void { class Coordinator (line 93) | class Coordinator { method constructor (line 100) | private constructor(sessionId: string, goal: string) { method create (line 106) | static create(sessionId: string, goal: string): Coordinator { method delegate (line 112) | delegate(task: string, role: string, parentWorkerId?: string): Worker { method fanOut (line 119) | fanOut(tasks: Array<{ task: string; role: string }>): Worker[] { method fanIn (line 125) | fanIn(): string[] { method startWorker (line 133) | startWorker(workerId: string, details: Record = {}): ... method completeWorker (line 138) | completeWorker(workerId: string, result: string, details: Record): string { FILE: ts/src/session/remote-bridge.ts type SessionRole (line 8) | type SessionRole = (typeof SessionRole)[keyof typeof SessionRole]; class RemoteSession (line 10) | class RemoteSession { method constructor (line 16) | private constructor(sessionId: string, operator: string, role: Session... method create (line 23) | static create(opts: { sessionId: string; operator: string; role: Sessi... method canApprove (line 27) | get canApprove(): boolean { return this.role === SessionRole.CONTROLLE... method canControl (line 28) | get canControl(): boolean { return this.role === SessionRole.CONTROLLE... class ApprovalRequest (line 31) | class ApprovalRequest { method constructor (line 38) | private constructor(action: string) { method create (line 43) | static create(action: string): ApprovalRequest { return new ApprovalRe... method approve (line 45) | approve(by: string): void { method deny (line 51) | deny(by: string, reason: string = ""): void { method timeout (line 58) | timeout(): void { method requirePending (line 63) | private requirePending(action: string): void { class RemoteBridge (line 70) | class RemoteBridge { method constructor (line 75) | constructor(missionId: string) { this.missionId = missionId; } method connect (line 77) | connect(operator: string, role: SessionRole): RemoteSession { method disconnect (line 83) | disconnect(remoteSessionId: string): void { this.sessions.delete(remot... method connectedSessions (line 85) | get connectedSessions(): RemoteSession[] { return [...this.sessions.va... method requestApproval (line 87) | requestApproval(action: string): ApprovalRequest { method pendingApprovals (line 93) | get pendingApprovals(): ApprovalRequest[] { method respond (line 97) | respond(requestId: string, approved: boolean, by: string, reason?: str... FILE: ts/src/session/runtime-child-tasks.ts constant DEFAULT_CHILD_TASK_MAX_DEPTH (line 15) | const DEFAULT_CHILD_TASK_MAX_DEPTH = 4; type RuntimeChildTaskHandlerInput (line 17) | interface RuntimeChildTaskHandlerInput { type RuntimeChildTaskHandlerOutput (line 31) | interface RuntimeChildTaskHandlerOutput { type RuntimeChildTaskHandler (line 36) | type RuntimeChildTaskHandler = ( type RuntimeChildTaskRunnerOpts (line 40) | interface RuntimeChildTaskRunnerOpts { type RuntimeChildTaskRunOpts (line 50) | interface RuntimeChildTaskRunOpts { type RuntimeChildTaskResult (line 59) | interface RuntimeChildTaskResult { type AgentRuntimeChildTaskHandlerOptions (line 74) | interface AgentRuntimeChildTaskHandlerOptions { function createAgentRuntimeChildTaskHandler (line 79) | function createAgentRuntimeChildTaskHandler( class RuntimeChildTaskRunner (line 96) | class RuntimeChildTaskRunner { method constructor (line 105) | constructor(opts: RuntimeChildTaskRunnerOpts) { method run (line 115) | async run(opts: RuntimeChildTaskRunOpts): Promise... function discoverRepoInstructions (line 217) | function discoverRepoInstructions(request: RuntimeContextDiscoveryReques... function runtimeSkillDiscoveryRoots (line 235) | function runtimeSkillDiscoveryRoots(request: RuntimeContextDiscoveryRequ... function discoverRuntimeSkills (line 253) | function discoverRuntimeSkills(request: RuntimeContextDiscoveryRequest):... function selectRuntimeKnowledgeComponents (line 261) | function selectRuntimeKnowledgeComponents( function assembleRuntimeContext (line 276) | function assembleRuntimeContext(request: RuntimeContextAssemblyRequest):... function workspaceRoot (line 314) | function workspaceRoot(request: RuntimeContextDiscoveryRequest): string { function resolveCwd (line 318) | function resolveCwd(root: string, cwd: string): string { function resolvePossiblyMissingPath (line 327) | function resolvePossiblyMissingPath(path: string): string { function isPathWithinRoot (line 341) | function isPathWithinRoot(root: string, path: string): boolean { function resolveConfiguredRoot (line 346) | function resolveConfiguredRoot(root: string, skillRoot: string): string { function ancestorDirs (line 350) | function ancestorDirs(root: string, cwd: string, nearestFirst: boolean):... function appendExistingUniqueDir (line 361) | function appendExistingUniqueDir(roots: string[], seen: Set, pat... function isDirectory (line 367) | function isDirectory(path: string): boolean { function isFile (line 371) | function isFile(path: string): boolean { function singleTextEntry (line 375) | function singleTextEntry( function repoInstructionEntries (line 385) | function repoInstructionEntries(request: RuntimeContextDiscoveryRequest)... function knowledgeEntries (line 399) | function knowledgeEntries(request: RuntimeContextAssemblyRequest): Runti... function runtimeSkillEntries (line 409) | function runtimeSkillEntries(request: RuntimeContextDiscoveryRequest): R... function mappingEntries (line 429) | function mappingEntries( function sessionHistoryEntries (line 444) | function sessionHistoryEntries(history: readonly string[]): RuntimeConte... function relativeToRoot (line 460) | function relativeToRoot(path: string, root: string): string | null { FILE: ts/src/session/runtime-events.ts type RuntimeSessionEventType (line 13) | type RuntimeSessionEventType = type RuntimeSessionEvent (line 16) | interface RuntimeSessionEvent { type RuntimeSessionEventLogCreateOpts (line 28) | interface RuntimeSessionEventLogCreateOpts { type RuntimeSessionEventLogJSON (line 36) | interface RuntimeSessionEventLogJSON { type RuntimeSessionEventLogSubscriber (line 47) | type RuntimeSessionEventLogSubscriber = ( function nowIso (line 52) | function nowIso(): string { function isRecord (line 56) | function isRecord(value: unknown): value is Record { function readRecord (line 60) | function readRecord(value: unknown): Record { function readString (line 64) | function readString(value: unknown): string { function readNumber (line 68) | function readNumber(value: unknown, fallback = 0): number { function readEventType (line 72) | function readEventType(value: unknown): RuntimeSessionEventType { function eventFromRecord (line 93) | function eventFromRecord(value: Record): RuntimeSession... class RuntimeSessionEventLog (line 107) | class RuntimeSessionEventLog { method constructor (line 118) | private constructor(opts: RuntimeSessionEventLogCreateOpts & { created... method create (line 128) | static create(opts: RuntimeSessionEventLogCreateOpts): RuntimeSessionE... method append (line 132) | append( method subscribe (line 153) | subscribe(callback: RuntimeSessionEventLogSubscriber): () => void { method toJSON (line 163) | toJSON(): RuntimeSessionEventLogJSON { method fromJSON (line 176) | static fromJSON(data: RuntimeSessionEventLogJSON | Record { FILE: ts/src/session/runtime-grant-events.ts type RuntimeGrantEventCorrelation (line 8) | type RuntimeGrantEventCorrelation = function createRuntimeSessionGrantEventSink (line 12) | function createRuntimeSessionGrantEventSink( function runtimeSessionEventTypeForGrant (line 26) | function runtimeSessionEventTypeForGrant(event: RuntimeGrantEvent): Runt... function runtimeGrantEventPayload (line 32) | function runtimeGrantEventPayload(event: RuntimeGrantEvent): Record | undefined): Rec... function jsonSafeValue (line 10) | function jsonSafeValue(value: unknown, seen = new WeakSet()): un... function jsonSafeObject (line 30) | function jsonSafeObject(value: object, seen: WeakSet): unknown { function isPlainRecord (line 59) | function isPlainRecord(value: object): value is Record { type ToJSONReadResult (line 64) | type ToJSONReadResult = function readToJSON (line 69) | function readToJSON(value: object): ToJSONReadResult { function safeEntries (line 86) | function safeEntries(value: object): Array<[string, unknown]> | undefined { function safeString (line 94) | function safeString(value: unknown): string { FILE: ts/src/session/runtime-session-ids.ts function runtimeSessionIdForRun (line 1) | function runtimeSessionIdForRun(runId: string): string { FILE: ts/src/session/runtime-session-notifications.ts type RuntimeSessionEventNotification (line 7) | interface RuntimeSessionEventNotification extends Record { type RuntimeSessionEventSink (line 28) | interface RuntimeSessionEventSink { function buildRuntimeSessionEventNotification (line 35) | function buildRuntimeSessionEventNotification( FILE: ts/src/session/runtime-session-read-model.ts type RuntimeSessionSummary (line 4) | interface RuntimeSessionSummary { type RuntimeSessionReadStore (line 15) | interface RuntimeSessionReadStore { function summarizeRuntimeSession (line 20) | function summarizeRuntimeSession(log: RuntimeSessionEventLog): RuntimeSe... function readRuntimeSessionSummaries (line 33) | function readRuntimeSessionSummaries( function readRuntimeSessionById (line 40) | function readRuntimeSessionById( function readRuntimeSessionByRunId (line 47) | function readRuntimeSessionByRunId( function readMetadataString (line 54) | function readMetadataString( FILE: ts/src/session/runtime-session-timeline.ts type RuntimeSessionTimelineItem (line 10) | type RuntimeSessionTimelineItem = type RuntimeSessionTimeline (line 15) | interface RuntimeSessionTimeline { type RuntimeSessionPromptTimelineItem (line 23) | interface RuntimeSessionPromptTimelineItem { type RuntimeSessionChildTaskTimelineItem (line 40) | interface RuntimeSessionChildTaskTimelineItem { type RuntimeSessionGenericTimelineItem (line 58) | interface RuntimeSessionGenericTimelineItem { function buildRuntimeSessionTimeline (line 68) | function buildRuntimeSessionTimeline(log: RuntimeSessionEventLog): Runti... function readRuntimeSessionTimelineById (line 132) | function readRuntimeSessionTimelineById( function readRuntimeSessionTimelineByRunId (line 140) | function readRuntimeSessionTimelineByRunId( function promptItemFromEvent (line 147) | function promptItemFromEvent(event: RuntimeSessionEvent): RuntimeSession... function findPromptForResponse (line 166) | function findPromptForResponse( function completePromptItem (line 197) | function completePromptItem( function childTaskItemFromStartedEvent (line 213) | function childTaskItemFromStartedEvent(event: RuntimeSessionEvent): Runt... function findChildTaskForCompletion (line 233) | function findChildTaskForCompletion( function childTaskCorrelationKeysFromEvent (line 244) | function childTaskCorrelationKeysFromEvent(event: RuntimeSessionEvent): ... function completeChildTaskItem (line 256) | function completeChildTaskItem( function genericItemFromEvent (line 273) | function genericItemFromEvent(event: RuntimeSessionEvent): RuntimeSessio... function eventTitleDetails (line 290) | function eventTitleDetails( function eventDetails (line 310) | function eventDetails(payload: Record): Record { function bodyAfterFrontmatter (line 29) | function bodyAfterFrontmatter(text: string): string { class SkillManifest (line 34) | class SkillManifest { method constructor (line 39) | constructor(name: string, description: string, skillPath: string) { method fromSkillDir (line 45) | static fromSkillDir(dir: string): SkillManifest | null { class SkillEntry (line 54) | class SkillEntry { method constructor (line 58) | constructor(manifest: SkillManifest) { method isLoaded (line 62) | get isLoaded(): boolean { return this.body !== null; } method loadBody (line 64) | loadBody(): string { class SkillRegistry (line 73) | class SkillRegistry { method discover (line 76) | discover(root: string): number { method allManifests (line 92) | allManifests(): SkillManifest[] { method get (line 96) | get(name: string): SkillEntry | undefined { method search (line 100) | search(query: string): SkillManifest[] { FILE: ts/src/session/store.ts class SessionStore (line 8) | class SessionStore { method constructor (line 11) | constructor(dbPath: string) { method save (line 17) | save(session: Session): void { method load (line 29) | load(sessionId: string): Session | null { method list (line 35) | list(status?: string, limit = 50): Session[] { method delete (line 45) | delete(sessionId: string): boolean { method close (line 50) | close(): void { this.db.close(); } method ensureSchema (line 52) | private ensureSchema(): void { FILE: ts/src/session/supervisor.ts type SupervisorState (line 18) | type SupervisorState = (typeof SupervisorState)[keyof typeof SupervisorS... constant ALIVE_STATES (line 20) | const ALIVE_STATES = new Set([ class SupervisedEntry (line 27) | class SupervisedEntry { method constructor (line 37) | private constructor(opts: { sessionId: string; goal: string; workspace... method create (line 45) | static create(opts: { sessionId: string; goal: string; workspace?: str... method markRunning (line 49) | markRunning(): void { method markWaiting (line 59) | markWaiting(reason: string = ""): void { method markCompleted (line 69) | markCompleted(): void { method markFailed (line 84) | markFailed(error: string = ""): void { method requestStop (line 92) | requestStop(): void { method markStopped (line 102) | markStopped(): void { method heartbeat (line 109) | heartbeat(): void { this.touch(); } method isAlive (line 111) | get isAlive(): boolean { return ALIVE_STATES.has(this.state); } method requireState (line 113) | private requireState(allowed: Set, action: string): v... method touch (line 119) | private touch(): void { this.lastActivityAt = new Date().toISOString(); } class Supervisor (line 122) | class Supervisor { method launch (line 125) | launch(opts: { sessionId: string; goal: string; workspace?: string }):... method get (line 134) | get(sessionId: string): SupervisedEntry | undefined { method listActive (line 138) | listActive(): SupervisedEntry[] { method listAll (line 142) | listAll(): SupervisedEntry[] { method stop (line 146) | stop(sessionId: string): void { method remove (line 152) | remove(sessionId: string): boolean { FILE: ts/src/session/types.ts type SessionStatus (line 19) | type SessionStatus = (typeof SessionStatus)[keyof typeof SessionStatus]; type TurnOutcome (line 28) | type TurnOutcome = (typeof TurnOutcome)[keyof typeof TurnOutcome]; type SessionEventType (line 45) | type SessionEventType = (typeof SessionEventType)[keyof typeof SessionEv... constant TERMINAL_SESSION_STATUSES (line 47) | const TERMINAL_SESSION_STATUSES = new Set([ type SessionEvent (line 55) | interface SessionEvent { function createEvent (line 62) | function createEvent( function isRecord (line 74) | function isRecord(value: unknown): value is Record { function readRecord (line 78) | function readRecord(data: Record, key: string): Record<... function readRecordArray (line 83) | function readRecordArray(data: Record, key: string): Re... function readString (line 88) | function readString(data: Record, key: string, fallback... function readNumber (line 93) | function readNumber(data: Record, key: string, fallback... function readTurnOutcome (line 98) | function readTurnOutcome(data: Record, key: string): Tu... function readSessionStatus (line 114) | function readSessionStatus(data: Record, key: string): ... function readSessionEventType (line 130) | function readSessionEventType(data: Record, key: string... function readSessionEvent (line 163) | function readSessionEvent(data: Record): SessionEvent |... class Turn (line 174) | class Turn { method constructor (line 188) | constructor(opts: { method succeeded (line 204) | get succeeded(): boolean { method toJSON (line 208) | toJSON(): Record { method fromJSON (line 218) | static fromJSON(data: Record, opts: { parentTurnId?: ... class Branch (line 241) | class Branch { method constructor (line 248) | constructor(opts: { method toJSON (line 262) | toJSON(): Record { method fromJSON (line 272) | static fromJSON(data: Record): Branch { class Session (line 285) | class Session { method constructor (line 299) | private constructor(opts: { goal: string; metadata?: Record... method submitTurn (line 314) | submitTurn(opts: { prompt: string; role: string }): Turn { method completeTurn (line 336) | completeTurn(turnId: string, opts: { response: string; tokensUsed?: nu... method interruptTurn (line 346) | interruptTurn(turnId: string, reason: string = ""): void { method failTurn (line 355) | failTurn(turnId: string, error: string = ""): void { method pause (line 366) | pause(): void { method resume (line 373) | resume(): void { method complete (line 380) | complete(summary: string = ""): void { method fail (line 388) | fail(error: string = ""): void { method cancel (line 395) | cancel(): void { method forkFromTurn (line 404) | forkFromTurn(turnId: string, opts: { branchId?: string; label?: string... method switchBranch (line 428) | switchBranch(branchId: string): void { method summarizeBranch (line 439) | summarizeBranch(branchId: string, summary: string): void { method totalTokens (line 448) | get totalTokens(): number { method turnCount (line 452) | get turnCount(): number { method branchPath (line 456) | branchPath(branchId?: string): Turn[] { method getTurn (line 475) | private getTurn(turnId: string): Turn { method getBranch (line 481) | private getBranch(branchId: string): Branch { method branchLeafTurnId (line 487) | private branchLeafTurnId(branchId: string): string { method requireStatus (line 495) | private requireStatus(expected: SessionStatus, action: string): void { method requireNotTerminal (line 501) | private requireNotTerminal(action: string): void { method touch (line 507) | private touch(): void { method emit (line 511) | private emit(eventType: SessionEventType, payload: Record { method fromJSON (line 528) | static fromJSON(data: Record): Session { FILE: ts/src/simulation/artifact-store.ts type ResolvedSimulationArtifact (line 14) | interface ResolvedSimulationArtifact { type PersistSimulationArtifactsOpts (line 20) | interface PersistSimulationArtifactsOpts { function readJsonObject (line 31) | function readJsonObject(path: string): Record | null { function persistSimulationArtifacts (line 41) | function persistSimulationArtifacts( function loadPersistedSimulationSpec (line 66) | function loadPersistedSimulationSpec( function resolveSimulationArtifact (line 81) | function resolveSimulationArtifact( function loadSimulationReport (line 133) | function loadSimulationReport( FILE: ts/src/simulation/engine.ts function parseVariableOverrides (line 81) | function parseVariableOverrides(input: string): Record { function generateId (line 110) | function generateId(): string { class SimulationEngine (line 117) | class SimulationEngine { method constructor (line 121) | constructor(provider: LLMProvider, knowledgeRoot: string) { method run (line 129) | async run(request: SimulationRequest): Promise { method replay (line 228) | async replay(request: ReplayRequest): Promise { method compare (line 350) | async compare(request: CompareRequest): Promise { function isConsultationRow (line 9) | function isConsultationRow(value: unknown): value is ConsultationRow { function requireConsultationRow (line 26) | function requireConsultationRow(value: unknown): ConsultationRow { function insertConsultationRecord (line 33) | function insertConsultationRecord( function listConsultationRecords (line 68) | function listConsultationRecords( function totalConsultationCostRecord (line 81) | function totalConsultationCostRecord( FILE: ts/src/storage/generation-match-output-workflow.ts function getBestMatchForScenarioRecord (line 5) | function getBestMatchForScenarioRecord( function recordMatchRecord (line 21) | function recordMatchRecord( function getMatchesForRunRecord (line 47) | function getMatchesForRunRecord(db: Database.Database, runId: string)... function appendAgentOutputRecord (line 51) | function appendAgentOutputRecord( function getAgentOutputRecords (line 64) | function getAgentOutputRecords( function getMatchesForGenerationRecord (line 76) | function getMatchesForGenerationRecord( FILE: ts/src/storage/generation-record-contracts.ts type UpsertGenerationRecordOpts (line 1) | interface UpsertGenerationRecordOpts { type RecordMatchRecordOpts (line 15) | interface RecordMatchRecordOpts { FILE: ts/src/storage/generation-run-query-workflow.ts function createRunRecord (line 3) | function createRunRecord( function getRunRecord (line 17) | function getRunRecord(db: Database.Database, runId: string): T | null { function updateRunStatusRecord (line 21) | function updateRunStatusRecord( function countCompletedRunsForScenario (line 34) | function countCompletedRunsForScenario( function listRunRecords (line 46) | function listRunRecords( function listRunRecordsForScenario (line 59) | function listRunRecordsForScenario( FILE: ts/src/storage/generation-trajectory-workflow.ts type GenerationTrajectoryRow (line 3) | type GenerationTrajectoryRow = { function parseDimensionSummaryJson (line 14) | function parseDimensionSummaryJson( function getScoreTrajectoryRecords (line 27) | function getScoreTrajectoryRecords( FILE: ts/src/storage/generation-upsert-workflow.ts function upsertGenerationRecord (line 5) | function upsertGenerationRecord( function getGenerationRecords (line 48) | function getGenerationRecords(db: Database.Database, runId: string): ... function getBestGenerationForScenarioRecord (line 54) | function getBestGenerationForScenarioRecord( FILE: ts/src/storage/hub-store.ts type RawHubSessionRow (line 14) | type RawHubSessionRow = Omit & { type RawHubPackageRecordRow (line 19) | type RawHubPackageRecordRow = Omit & { function nowIso (line 33) | function nowIso(): string { function parseJsonRecord (line 37) | function parseJsonRecord(raw: unknown): Record { function parseJsonStringArray (line 51) | function parseJsonStringArray(raw: unknown): string[] { function parseHubSessionRow (line 65) | function parseHubSessionRow(row: RawHubSessionRow): HubSessionRow { function parseHubPackageRow (line 74) | function parseHubPackageRow(row: RawHubPackageRecordRow): HubPackageReco... function parseHubResultRow (line 83) | function parseHubResultRow(row: RawHubResultRecordRow): HubResultRecordR... function parseHubPromotionRow (line 92) | function parseHubPromotionRow(row: RawHubPromotionRecordRow): HubPromoti... function upsertHubSessionRecord (line 100) | function upsertHubSessionRecord( function heartbeatHubSessionRecord (line 141) | function heartbeatHubSessionRecord( function getHubSessionRecord (line 158) | function getHubSessionRecord( function listHubSessionRecords (line 168) | function listHubSessionRecords(db: Database.Database): HubSessionRow[] { function saveHubPackageRecord (line 175) | function saveHubPackageRecord( function getHubPackageRecord (line 220) | function getHubPackageRecord( function listHubPackageRecords (line 230) | function listHubPackageRecords(db: Database.Database): HubPackageRecordR... function saveHubResultRecord (line 237) | function saveHubResultRecord( function getHubResultRecord (line 273) | function getHubResultRecord( function listHubResultRecords (line 283) | function listHubResultRecords(db: Database.Database): HubResultRecordRow... function saveHubPromotionRecord (line 290) | function saveHubPromotionRecord( function getHubPromotionRecord (line 318) | function getHubPromotionRecord( function listHubPromotionRecords (line 328) | function listHubPromotionRecords(db: Database.Database): HubPromotionRec... FILE: ts/src/storage/human-feedback-store.ts type HumanFeedbackRecord (line 3) | interface HumanFeedbackRecord { function insertHumanFeedbackRecord (line 13) | function insertHumanFeedbackRecord( function getHumanFeedbackRecords (line 35) | function getHumanFeedbackRecords( function getCalibrationExampleRecords (line 51) | function getCalibrationExampleRecords( FILE: ts/src/storage/monitor-store.ts type RawMonitorConditionRow (line 10) | type RawMonitorConditionRow = Omit & { type RawMonitorAlertRow (line 14) | type RawMonitorAlertRow = Omit & { function parseRecordJson (line 18) | function parseRecordJson(raw: unknown): Record { function parseConditionRow (line 30) | function parseConditionRow(row: RawMonitorConditionRow): MonitorConditio... function parseAlertRow (line 35) | function parseAlertRow(row: RawMonitorAlertRow): MonitorAlertRow { function isRecord (line 40) | function isRecord(value: unknown): value is Record { function isRawMonitorConditionRow (line 44) | function isRawMonitorConditionRow(value: unknown): value is RawMonitorCo... function isRawMonitorAlertRow (line 55) | function isRawMonitorAlertRow(value: unknown): value is RawMonitorAlertR... function requireConditionRow (line 67) | function requireConditionRow(value: unknown): RawMonitorConditionRow { function requireAlertRow (line 74) | function requireAlertRow(value: unknown): RawMonitorAlertRow { function readNumberField (line 81) | function readNumberField(value: unknown, field: string): number | null { function insertMonitorConditionRecord (line 87) | function insertMonitorConditionRecord( function listMonitorConditionRecords (line 105) | function listMonitorConditionRecords( function countMonitorConditionRecords (line 123) | function countMonitorConditionRecords( function getMonitorConditionRecord (line 140) | function getMonitorConditionRecord( function deactivateMonitorConditionRecord (line 150) | function deactivateMonitorConditionRecord( function insertMonitorAlertRecord (line 160) | function insertMonitorAlertRecord( function listMonitorAlertRecords (line 182) | function listMonitorAlertRecords( function getLatestMonitorAlertRecord (line 211) | function getLatestMonitorAlertRecord( FILE: ts/src/storage/notebook-store.ts constant NOTEBOOK_JSON_FIELDS (line 5) | const NOTEBOOK_JSON_FIELDS = [ type NotebookJsonField (line 12) | type NotebookJsonField = typeof NOTEBOOK_JSON_FIELDS[number]; type RawNotebookRow (line 13) | type RawNotebookRow = Omit & Record):... class SQLiteStore (line 104) | class SQLiteStore { method constructor (line 107) | constructor(dbPath: string) { method migrate (line 112) | migrate(migrationsDir: string): void { method enqueueTask (line 116) | enqueueTask( method dequeueTask (line 126) | dequeueTask(): TaskQueueRow | null { method completeTask (line 130) | completeTask( method failTask (line 149) | failTask(taskId: string, error: string): void { method pendingTaskCount (line 153) | pendingTaskCount(): number { method getTask (line 157) | getTask(taskId: string): TaskQueueRow | null { method insertHumanFeedback (line 161) | insertHumanFeedback( method getHumanFeedback (line 178) | getHumanFeedback(scenarioName: string, limit = 10): HumanFeedbackRow[] { method getCalibrationExamples (line 182) | getCalibrationExamples(scenarioName: string, limit = 5): HumanFeedback... method upsertNotebook (line 186) | upsertNotebook(opts: UpsertNotebookOpts): void { method getNotebook (line 190) | getNotebook(sessionId: string): NotebookRow | null { method listNotebooks (line 194) | listNotebooks(): NotebookRow[] { method deleteNotebook (line 198) | deleteNotebook(sessionId: string): boolean { method upsertHubSession (line 202) | upsertHubSession(sessionId: string, opts: UpsertHubSessionOpts): void { method heartbeatHubSession (line 206) | heartbeatHubSession( method getHubSession (line 213) | getHubSession(sessionId: string): HubSessionRow | null { method listHubSessions (line 217) | listHubSessions(): HubSessionRow[] { method saveHubPackageRecord (line 221) | saveHubPackageRecord(opts: SaveHubPackageRecordOpts): void { method getHubPackageRecord (line 225) | getHubPackageRecord(packageId: string): HubPackageRecordRow | null { method listHubPackageRecords (line 229) | listHubPackageRecords(): HubPackageRecordRow[] { method saveHubResultRecord (line 233) | saveHubResultRecord(opts: SaveHubResultRecordOpts): void { method getHubResultRecord (line 237) | getHubResultRecord(resultId: string): HubResultRecordRow | null { method listHubResultRecords (line 241) | listHubResultRecords(): HubResultRecordRow[] { method saveHubPromotionRecord (line 245) | saveHubPromotionRecord(opts: SaveHubPromotionRecordOpts): void { method getHubPromotionRecord (line 249) | getHubPromotionRecord(eventId: string): HubPromotionRecordRow | null { method listHubPromotionRecords (line 253) | listHubPromotionRecords(): HubPromotionRecordRow[] { method insertMonitorCondition (line 257) | insertMonitorCondition(opts: InsertMonitorConditionOpts): string { method listMonitorConditions (line 261) | listMonitorConditions(opts?: { activeOnly?: boolean; scope?: string })... method countMonitorConditions (line 265) | countMonitorConditions(opts?: { activeOnly?: boolean; scope?: string }... method getMonitorCondition (line 269) | getMonitorCondition(conditionId: string): MonitorConditionRow | null { method deactivateMonitorCondition (line 273) | deactivateMonitorCondition(conditionId: string): boolean { method insertMonitorAlert (line 277) | insertMonitorAlert(opts: InsertMonitorAlertOpts): string { method listMonitorAlerts (line 281) | listMonitorAlerts(opts?: { method getLatestMonitorAlert (line 290) | getLatestMonitorAlert(conditionId: string): MonitorAlertRow | null { method insertConsultation (line 294) | insertConsultation(opts: InsertConsultationOpts): number { method getConsultationsForRun (line 298) | getConsultationsForRun(runId: string): ConsultationRow[] { method getTotalConsultationCost (line 302) | getTotalConsultationCost(runId: string): number { method createRun (line 306) | createRun( method getRun (line 316) | getRun(runId: string): RunRow | null { method updateRunStatus (line 320) | updateRunStatus(runId: string, status: string): void { method upsertGeneration (line 324) | upsertGeneration(runId: string, generationIndex: number, opts: UpsertG... method getGenerations (line 328) | getGenerations(runId: string): GenerationRow[] { method countCompletedRuns (line 332) | countCompletedRuns(scenario: string): number { method getBestGenerationForScenario (line 336) | getBestGenerationForScenario(scenario: string): (GenerationRow & { run... method getBestMatchForScenario (line 340) | getBestMatchForScenario(scenario: string): MatchRow | null { method recordMatch (line 344) | recordMatch(runId: string, generationIndex: number, opts: RecordMatchO... method getMatchesForRun (line 348) | getMatchesForRun(runId: string): MatchRow[] { method appendAgentOutput (line 352) | appendAgentOutput(runId: string, generationIndex: number, role: string... method getAgentOutputs (line 356) | getAgentOutputs(runId: string, generationIndex: number): AgentOutputRo... method getScoreTrajectory (line 360) | getScoreTrajectory(runId: string): TrajectoryRow[] { method listRuns (line 364) | listRuns(limit = 50, scenario?: string): RunRow[] { method listRunsForScenario (line 368) | listRunsForScenario(scenario: string): RunRow[] { method getMatchesForGeneration (line 372) | getMatchesForGeneration(runId: string, generationIndex: number): Match... method close (line 376) | close(): void { FILE: ts/src/storage/storage-consultation-facade.ts function insertStoreConsultation (line 10) | function insertStoreConsultation( function listStoreConsultations (line 17) | function listStoreConsultations( function getStoreTotalConsultationCost (line 24) | function getStoreTotalConsultationCost( FILE: ts/src/storage/storage-contracts.ts type TaskQueueRow (line 1) | interface TaskQueueRow { type HumanFeedbackRow (line 20) | interface HumanFeedbackRow { type RunRow (line 30) | interface RunRow { type GenerationRow (line 41) | interface GenerationRow { type MatchRow (line 59) | interface MatchRow { type AgentOutputRow (line 73) | interface AgentOutputRow { type TrajectoryRow (line 82) | interface TrajectoryRow { type NotebookRow (line 94) | interface NotebookRow { type UpsertNotebookOpts (line 109) | interface UpsertNotebookOpts { type HubSessionRow (line 122) | interface HubSessionRow { type UpsertHubSessionOpts (line 135) | interface UpsertHubSessionOpts { type HubPackageRecordRow (line 145) | interface HubPackageRecordRow { type SaveHubPackageRecordOpts (line 164) | interface SaveHubPackageRecordOpts { type HubResultRecordRow (line 182) | interface HubResultRecordRow { type SaveHubResultRecordOpts (line 197) | interface SaveHubResultRecordOpts { type HubPromotionRecordRow (line 211) | interface HubPromotionRecordRow { type SaveHubPromotionRecordOpts (line 222) | interface SaveHubPromotionRecordOpts { type MonitorConditionRow (line 233) | interface MonitorConditionRow { type MonitorAlertRow (line 243) | interface MonitorAlertRow { type ConsultationRow (line 254) | interface ConsultationRow { type InsertMonitorConditionOpts (line 270) | interface InsertMonitorConditionOpts { type InsertMonitorAlertOpts (line 279) | interface InsertMonitorAlertOpts { type InsertConsultationOpts (line 290) | interface InsertConsultationOpts { type UpsertGenerationOpts (line 304) | interface UpsertGenerationOpts { type RecordMatchOpts (line 318) | interface RecordMatchOpts { FILE: ts/src/storage/storage-generation-run-facade.ts function createStoreRun (line 32) | function createStoreRun( function getStoreRun (line 43) | function getStoreRun( function updateStoreRunStatus (line 50) | function updateStoreRunStatus( function upsertStoreGeneration (line 58) | function upsertStoreGeneration( function getStoreGenerations (line 67) | function getStoreGenerations( function countStoreCompletedRuns (line 74) | function countStoreCompletedRuns( function getStoreBestGenerationForScenario (line 81) | function getStoreBestGenerationForScenario( function getStoreBestMatchForScenario (line 88) | function getStoreBestMatchForScenario( function recordStoreMatch (line 95) | function recordStoreMatch( function getStoreMatchesForRun (line 104) | function getStoreMatchesForRun( function appendStoreAgentOutput (line 111) | function appendStoreAgentOutput( function getStoreAgentOutputs (line 121) | function getStoreAgentOutputs( function getStoreScoreTrajectory (line 129) | function getStoreScoreTrajectory( function listStoreRuns (line 136) | function listStoreRuns( function listStoreRunsForScenario (line 144) | function listStoreRunsForScenario( function getStoreMatchesForGeneration (line 151) | function getStoreMatchesForGeneration( FILE: ts/src/storage/storage-hub-facade.ts function upsertStoreHubSession (line 29) | function upsertStoreHubSession( function heartbeatStoreHubSession (line 37) | function heartbeatStoreHubSession( function getStoreHubSession (line 45) | function getStoreHubSession( function listStoreHubSessions (line 52) | function listStoreHubSessions(db: Database.Database): HubSessionRow[] { function saveStoreHubPackageRecord (line 56) | function saveStoreHubPackageRecord( function getStoreHubPackageRecord (line 63) | function getStoreHubPackageRecord( function listStoreHubPackageRecords (line 70) | function listStoreHubPackageRecords(db: Database.Database): HubPackageRe... function saveStoreHubResultRecord (line 74) | function saveStoreHubResultRecord( function getStoreHubResultRecord (line 81) | function getStoreHubResultRecord( function listStoreHubResultRecords (line 88) | function listStoreHubResultRecords(db: Database.Database): HubResultReco... function saveStoreHubPromotionRecord (line 92) | function saveStoreHubPromotionRecord( function getStoreHubPromotionRecord (line 99) | function getStoreHubPromotionRecord( function listStoreHubPromotionRecords (line 106) | function listStoreHubPromotionRecords(db: Database.Database): HubPromoti... FILE: ts/src/storage/storage-human-feedback-facade.ts function insertStoreHumanFeedback (line 10) | function insertStoreHumanFeedback( function getStoreHumanFeedback (line 28) | function getStoreHumanFeedback( function getStoreCalibrationExamples (line 36) | function getStoreCalibrationExamples( FILE: ts/src/storage/storage-migration-workflow.ts constant TYPESCRIPT_TO_PYTHON_MIGRATION_BASELINES (line 5) | const TYPESCRIPT_TO_PYTHON_MIGRATION_BASELINES: Record(db: Database.Database): T | null { function completeTaskRecord (line 46) | function completeTaskRecord( function failTaskRecord (line 69) | function failTaskRecord( function countPendingTaskRecords (line 84) | function countPendingTaskRecords(db: Database.Database): number { function getTaskRecord (line 89) | function getTaskRecord(db: Database.Database, taskId: string): T | nu... FILE: ts/src/traces/data-plane-curation-workflow.ts type NormalizedCurationPolicy (line 7) | interface NormalizedCurationPolicy { function normalizeCurationPolicy (line 13) | function normalizeCurationPolicy( function shouldIncludeTraceEntry (line 23) | function shouldIncludeTraceEntry( function splitHeldOutTraceEntries (line 39) | function splitHeldOutTraceEntries( function curateTraceEntries (line 54) | function curateTraceEntries( FILE: ts/src/traces/data-plane-io-workflow.ts function loadTraceEntries (line 20) | function loadTraceEntries(traceDir: string): TraceEntry[] { function toShareGptTraceRow (line 48) | function toShareGptTraceRow(trace: PublicTrace): Record { function summarizeDataPlaneSources (line 69) | function summarizeDataPlaneSources(entries: TraceEntry[]): Record { method status (line 90) | status(): DataPlaneStatus { FILE: ts/src/traces/dataset-adapter-provenance.ts function buildDatasetProvenance (line 6) | function buildDatasetProvenance(dataset: DiscoveredDataset): DatasetProv... FILE: ts/src/traces/dataset-adapter-routing-workflow.ts function adaptDatasetRecords (line 13) | function adaptDatasetRecords( function buildDatasetNotFoundResult (line 31) | function buildDatasetNotFoundResult( function buildAdaptedDatasetResult (line 44) | function buildAdaptedDatasetResult(opts: { FILE: ts/src/traces/dataset-adapter-workflow.ts function adaptDiscoveredDataset (line 32) | function adaptDiscoveredDataset(dataset: DiscoveredDataset): AdaptedData... FILE: ts/src/traces/dataset-csv-adapter-workflow.ts function parseCSVLine (line 5) | function parseCSVLine(line: string): string[] { function adaptCsvDataset (line 33) | function adaptCsvDataset(path: string): ShareGPTRecord[] { FILE: ts/src/traces/dataset-directory-scan-workflow.ts function scanConventionalDatasetDirectory (line 13) | function scanConventionalDatasetDirectory( function discoverDatasets (line 62) | function discoverDatasets(repoRoot: string): DiscoveredDataset[] { FILE: ts/src/traces/dataset-discovery-constants.ts constant CONVENTIONAL_DATASET_DIRECTORIES (line 1) | const CONVENTIONAL_DATASET_DIRECTORIES = [ constant DATASET_FILE_EXTENSIONS (line 10) | const DATASET_FILE_EXTENSIONS = new Set([".jsonl", ".json", ".csv", ".md... constant IGNORED_DATASET_FILENAMES (line 12) | const IGNORED_DATASET_FILENAMES = new Set([ FILE: ts/src/traces/dataset-discovery-types.ts type DatasetFormat (line 1) | type DatasetFormat = "jsonl" | "json" | "csv" | "markdown" | "unknown"; type DatasetSource (line 3) | type DatasetSource = "manifest" | "conventional_dir" | "file_scan"; type DiscoveredDataset (line 5) | interface DiscoveredDataset { type ShareGPTRecord (line 13) | interface ShareGPTRecord { type DatasetProvenance (line 18) | interface DatasetProvenance { type AdaptedDataset (line 26) | interface AdaptedDataset { type DiscoveryManifest (line 34) | interface DiscoveryManifest { FILE: ts/src/traces/dataset-discovery.ts class DatasetDiscovery (line 35) | class DatasetDiscovery { method scan (line 36) | scan(repoRoot: string): DiscoveredDataset[] { class DatasetAdapter (line 41) | class DatasetAdapter { method adapt (line 42) | adapt(dataset: DiscoveredDataset): AdaptedDataset { FILE: ts/src/traces/dataset-json-adapter-workflow.ts function ioPairToShareGPT (line 5) | function ioPairToShareGPT(item: Record): ShareGPTRecord { function adaptJsonlDataset (line 18) | function adaptJsonlDataset( function adaptJsonDataset (line 47) | function adaptJsonDataset(path: string): ShareGPTRecord[] { FILE: ts/src/traces/dataset-manifest-workflow.ts function collectManifestDatasets (line 13) | function collectManifestDatasets(repoRoot: string): DiscoveredDataset[] { FILE: ts/src/traces/dataset-markdown-adapter-workflow.ts function normalizeMarkdownHeading (line 5) | function normalizeMarkdownHeading(heading: string): string { function parseMarkdownSections (line 12) | function parseMarkdownSections(content: string): Map { function findMarkdownSection (line 45) | function findMarkdownSection( function adaptMarkdownDataset (line 64) | function adaptMarkdownDataset(path: string): ShareGPTRecord[] { FILE: ts/src/traces/dataset-path-resolution-workflow.ts function resolveRepoLocalDatasetPath (line 5) | function resolveRepoLocalDatasetPath( function detectDatasetFormat (line 17) | function detectDatasetFormat(path: string, hint?: string): DatasetFormat { FILE: ts/src/traces/distillation-curation-workflow.ts type NormalizedDistillationPolicy (line 8) | interface NormalizedDistillationPolicy { function normalizeDistillationPolicy (line 18) | function normalizeDistillationPolicy( function computeTopQuartileThreshold (line 32) | function computeTopQuartileThreshold(entries: TraceEntry[]): number { function applyDistillationPolicy (line 45) | function applyDistillationPolicy( function splitHeldOutEntries (line 98) | function splitHeldOutEntries( function summarizeSources (line 113) | function summarizeSources(entries: TraceEntry[]): Record { FILE: ts/src/traces/distillation-io-workflow.ts function toShareGPT (line 18) | function toShareGPT( function ensureDistillationOutputDir (line 43) | function ensureDistillationOutputDir(outputDir: string): void { function loadDistillationEntries (line 49) | function loadDistillationEntries(traceDir: string): DistillationLoadResu... function writeDistillationJsonl (line 83) | function writeDistillationJsonl( function buildDistillationManifest (line 94) | function buildDistillationManifest(opts: { function writeDistillationManifest (line 119) | function writeDistillationManifest( FILE: ts/src/traces/distillation-pipeline.ts class DistillationPipeline (line 45) | class DistillationPipeline { method constructor (line 49) | constructor(config: DistillationPipelineConfig) { method build (line 54) | build(): DistillationResult { FILE: ts/src/traces/distillation-types.ts type TraceEntry (line 7) | interface TraceEntry { type FailurePolicy (line 13) | type FailurePolicy = "exclude" | "eval_only" | "contrastive"; type DistillationPolicy (line 15) | interface DistillationPolicy { type DistillationManifest (line 25) | interface DistillationManifest { type DistillationResult (line 38) | interface DistillationResult { type DistillationPipelineConfig (line 52) | interface DistillationPipelineConfig { type DistillationBuildBuckets (line 58) | interface DistillationBuildBuckets { type DistillationLoadResult (line 65) | interface DistillationLoadResult { FILE: ts/src/traces/export-package-workflow.ts function blockExportResult (line 18) | function blockExportResult(opts: { function failExportResult (line 33) | function failExportResult(opts: { function buildPublicTracePackage (line 48) | function buildPublicTracePackage(opts: { function validateExportTrace (line 96) | function validateExportTrace(trace: PublicTrace): { valid: boolean; erro... function writeExportArtifact (line 107) | function writeExportArtifact(outputDir: string, traceId: string, pkg: un... FILE: ts/src/traces/export-redaction-workflow.ts function emptyRedactionSummary (line 9) | function emptyRedactionSummary(): RedactionSummary { function redactTraceMessages (line 19) | function redactTraceMessages(opts: { FILE: ts/src/traces/export-run-artifact-workflow.ts function loadRunMessagesFromArtifacts (line 6) | function loadRunMessagesFromArtifacts(runDir: string): { FILE: ts/src/traces/export-workflow-types.ts type ExportRequest (line 3) | interface ExportRequest { type RedactionSummary (line 15) | interface RedactionSummary { type ExportResult (line 23) | interface ExportResult { type TraceExportWorkflowOpts (line 32) | interface TraceExportWorkflowOpts { FILE: ts/src/traces/export-workflow.ts class TraceExportWorkflow (line 44) | class TraceExportWorkflow { method constructor (line 50) | constructor(opts: TraceExportWorkflowOpts) { method export (line 57) | async export(request: ExportRequest): Promise { FILE: ts/src/traces/otel-bridge.ts type OtelAttributes (line 72) | type OtelAttributes = z.infer; type OtelSpan (line 73) | type OtelSpan = z.infer; type OtelScopeSpans (line 74) | type OtelScopeSpans = z.infer; type OtelResourceSpans (line 75) | type OtelResourceSpans = z.infer; constant SCOPE_NAME (line 77) | const SCOPE_NAME = "autocontext.public-trace"; constant SCOPE_VERSION (line 78) | const SCOPE_VERSION = "1.0.0"; constant SPAN_NAME_MESSAGE_PREFIX (line 79) | const SPAN_NAME_MESSAGE_PREFIX = "message:"; constant SPAN_NAME_TOOL_PREFIX (line 80) | const SPAN_NAME_TOOL_PREFIX = "tool:"; constant TRACE_ID_HEX_LEN (line 86) | const TRACE_ID_HEX_LEN = 32; constant SPAN_ID_HEX_LEN (line 87) | const SPAN_ID_HEX_LEN = 16; function sha256Hex (line 89) | function sha256Hex(input: string): string { function deriveTraceIdHex (line 93) | function deriveTraceIdHex(traceId: string): string { function deriveSpanIdHex (line 97) | function deriveSpanIdHex(traceId: string, slot: string): string { function isoToUnixNano (line 105) | function isoToUnixNano(iso: string): string { function attributesForMessage (line 113) | function attributesForMessage(message: TraceMessage, index: number): Ote... function attributesForToolCall (line 126) | function attributesForToolCall(call: ToolCall, index: number): OtelAttri... function rootSpanAttributes (line 148) | function rootSpanAttributes(trace: PublicTrace): OtelAttributes { function publicTraceToOtelResourceSpans (line 177) | function publicTraceToOtelResourceSpans(trace: PublicTrace): OtelResourc... type OtelToPublicTraceOk (line 241) | interface OtelToPublicTraceOk { type OtelToPublicTraceErr (line 245) | interface OtelToPublicTraceErr { type OtelToPublicTraceResult (line 249) | type OtelToPublicTraceResult = OtelToPublicTraceOk | OtelToPublicTraceErr; function flatSpans (line 251) | function flatSpans(input: OtelResourceSpans): OtelSpan[] { function parseJsonAttr (line 255) | function parseJsonAttr(attrs: OtelAttributes, key: string): unknown | un... function readOutcomeFromRoot (line 265) | function readOutcomeFromRoot(attrs: OtelAttributes): PublicTrace["outcom... function isRecord (line 280) | function isRecord(value: unknown): value is Record { type BuildMessageResult (line 284) | type BuildMessageResult = function buildMessage (line 288) | function buildMessage(messageSpan: OtelSpan, toolSpans: readonly OtelSpa... function otelResourceSpansToPublicTrace (line 335) | function otelResourceSpansToPublicTrace(input: unknown): OtelToPublicTra... FILE: ts/src/traces/public-schema-contracts.ts constant SCHEMA_VERSION (line 3) | const SCHEMA_VERSION = "1.0.0"; type ToolCall (line 14) | type ToolCall = z.infer; type TraceMessage (line 24) | type TraceMessage = z.infer; type TraceOutcome (line 32) | type TraceOutcome = z.infer; type PublicTrace (line 55) | type PublicTrace = z.infer; type RedactionPolicy (line 63) | type RedactionPolicy = z.infer; type ProvenanceManifest (line 78) | type ProvenanceManifest = z.infer; type SubmissionAttestation (line 91) | type SubmissionAttestation = z.infer; FILE: ts/src/traces/public-schema-factories.ts type ValidationResult (line 10) | interface ValidationResult { function validatePublicTrace (line 15) | function validatePublicTrace(trace: PublicTrace): ValidationResult { function createProvenanceManifest (line 26) | function createProvenanceManifest(opts: { function createSubmissionAttestation (line 50) | function createSubmissionAttestation(opts: { FILE: ts/src/traces/public-schema.ts function exportToPublicTrace (line 52) | function exportToPublicTrace( FILE: ts/src/traces/public-trace-export-workflow.ts constant SYSTEM_TRACE_EVENTS (line 8) | const SYSTEM_TRACE_EVENTS = new Set([ constant ASSISTANT_TRACE_ROLES (line 18) | const ASSISTANT_TRACE_ROLES = new Set([ function mapRunTraceEventToPublicMessage (line 27) | function mapRunTraceEventToPublicMessage(event: RunTrace["events"][numbe... function exportRunTraceToPublicTrace (line 54) | function exportRunTraceToPublicTrace( FILE: ts/src/traces/publishers-types.ts type TraceArtifact (line 7) | interface TraceArtifact { type PublishResult (line 14) | interface PublishResult { type PublishOpts (line 23) | interface PublishOpts { type IngestResult (line 27) | interface IngestResult { FILE: ts/src/traces/publishers.ts class LocalPublisher (line 36) | class LocalPublisher { method constructor (line 39) | constructor(outputDir: string) { method publish (line 43) | async publish(artifact: TraceArtifact, _opts?: PublishOpts): Promise { FILE: ts/src/traces/publishing-workflow.ts function toShareGPTTrace (line 7) | function toShareGPTTrace(trace: PublicTrace): Record { function toPublishedDatasetRow (line 29) | function toPublishedDatasetRow(artifact: TraceArtifact): Record = { function buildDetectorPatterns (line 48) | function buildDetectorPatterns( FILE: ts/src/traces/redaction-policy-workflow.ts function actionPriority (line 7) | function actionPriority(action: PolicyAction): number { function resolvePolicyOverlaps (line 21) | function resolvePolicyOverlaps( FILE: ts/src/traces/redaction-types.ts type DetectionCategory (line 1) | type DetectionCategory = type PolicyAction (line 12) | type PolicyAction = "block" | "warn" | "redact" | "require-manual-approv... type Detection (line 14) | interface Detection { type Redaction (line 23) | interface Redaction { type RedactionResult (line 31) | interface RedactionResult { type CustomPattern (line 40) | interface CustomPattern { type PatternDef (line 47) | interface PatternDef { type ScanOptions (line 54) | interface ScanOptions { FILE: ts/src/traces/redaction.ts class SensitiveDataDetector (line 38) | class SensitiveDataDetector { method constructor (line 41) | constructor(opts?: { customPatterns?: CustomPattern[] }) { method scan (line 45) | scan(text: string, opts?: ScanOptions): Detection[] { class RedactionPolicy (line 50) | class RedactionPolicy { method constructor (line 53) | constructor(opts?: { overrides?: Record }) { method actionFor (line 57) | actionFor(category: DetectionCategory): PolicyAction { function applyRedactionPolicy (line 62) | function applyRedactionPolicy( FILE: ts/src/traces/trace-ingest-workflow.ts function loadSeenTraceIds (line 12) | function loadSeenTraceIds(cacheDir: string): Set { function ingestPublishedTraceFile (line 32) | async function ingestPublishedTraceFile(opts: { FILE: ts/src/training/backends.ts class TrainingRunner (line 45) | class TrainingRunner { method constructor (line 51) | constructor(opts?: { method usesSyntheticExecutor (line 63) | usesSyntheticExecutor(): boolean { method getPromotionRegistry (line 67) | getPromotionRegistry(): ModelRegistry { method getPromotionEngine (line 71) | getPromotionEngine(): PromotionEngine { method getModelRecord (line 75) | getModelRecord(artifactId: string): ModelRecord | null { method train (line 79) | async train(config: TrainingConfig): Promise { FILE: ts/src/training/export-context-workflow.ts function extractTrainingHints (line 6) | function extractTrainingHints(playbook: string): string { function buildTrajectorySnippet (line 14) | function buildTrajectorySnippet( function resolveTrainingPromptContext (line 31) | function resolveTrainingPromptContext( FILE: ts/src/training/export-records-workflow.ts function resolveTrainingExportRuns (line 17) | function resolveTrainingExportRuns( function emitTrainingExportProgress (line 39) | function emitTrainingExportProgress( function buildTrainingExportRecordsForRun (line 46) | function buildTrainingExportRecordsForRun(opts: { FILE: ts/src/training/export-types.ts type TrainingRecord (line 1) | interface TrainingRecord { type MatchRecord (line 11) | interface MatchRecord { type ExportOpts (line 20) | interface ExportOpts { type TrainingExportRecord (line 28) | type TrainingExportRecord = TrainingRecord | MatchRecord; type ExportProgress (line 30) | interface ExportProgress { type ExportRunRef (line 40) | interface ExportRunRef { FILE: ts/src/training/export.ts function exportTrainingData (line 30) | function exportTrainingData( FILE: ts/src/training/model-strategy-recommendations.ts constant DEFAULT_BASE_MODEL (line 6) | const DEFAULT_BASE_MODEL = "Qwen/Qwen3-0.6B"; constant DEFAULT_ADAPTER_TYPE (line 7) | const DEFAULT_ADAPTER_TYPE: AdapterType = "lora"; constant SMALL_DATASET (line 8) | const SMALL_DATASET = 500; constant LARGE_DATASET (line 9) | const LARGE_DATASET = 20_000; constant DEFAULT_RECOMMENDATIONS (line 11) | const DEFAULT_RECOMMENDATIONS: Record = { constant KNOWN_BASE_MODELS (line 78) | const KNOWN_BASE_MODELS: Record Promise<{ FILE: ts/src/training/promotion.ts class ModelRegistry (line 50) | class ModelRegistry { method register (line 53) | register(opts: { method get (line 65) | get(id: string): ModelRecord | null { method listForScenario (line 69) | listForScenario(scenario: string): ModelRecord[] { method resolveActive (line 73) | resolveActive(scenario: string): ModelRecord | null { method setState (line 77) | setState( method listAll (line 91) | listAll(): ModelRecord[] { class PromotionEngine (line 96) | class PromotionEngine { method constructor (line 100) | constructor(opts?: { thresholds?: Partial; shadow... method runShadow (line 105) | async runShadow( method evaluate (line 118) | evaluate(check: PromotionCheck): PromotionDecision { FILE: ts/src/training/prompt-alignment-helpers.ts constant KNOWN_PROMPT_SECTIONS (line 3) | const KNOWN_PROMPT_SECTIONS = [ constant REQUIRED_SYSTEM_PROMPT_SECTIONS (line 16) | const REQUIRED_SYSTEM_PROMPT_SECTIONS = [ function readPromptContextString (line 21) | function readPromptContextString( function formatPromptTrajectory (line 34) | function formatPromptTrajectory(value: unknown): string { function extractPromptSections (line 63) | function extractPromptSections(text: string): string[] { function measurePromptWordOverlap (line 83) | function measurePromptWordOverlap(left: string, right: string): number { FILE: ts/src/training/prompt-alignment-types.ts type PromptShape (line 1) | interface PromptShape { type PromptPair (line 7) | interface PromptPair { type ValidationResult (line 13) | interface ValidationResult { type AlignmentReport (line 18) | interface AlignmentReport { type ShareGPTExample (line 25) | interface ShareGPTExample { type PromptContextLike (line 30) | type PromptContextLike = Record; type TrainingPromptRecord (line 32) | interface TrainingPromptRecord { FILE: ts/src/training/prompt-alignment-validation.ts function validatePromptAlignmentReport (line 10) | function validatePromptAlignmentReport(opts: { FILE: ts/src/training/prompt-alignment.ts class PromptContract (line 42) | class PromptContract { method shape (line 43) | shape(): PromptShape { method validate (line 47) | validate(prompt: PromptPair): ValidationResult { class RuntimePromptAdapter (line 52) | class RuntimePromptAdapter { method fromBundle (line 53) | fromBundle(bundle: { competitor: string }): PromptPair { class TrainingPromptAdapter (line 58) | class TrainingPromptAdapter { method fromTrainingRecord (line 59) | fromTrainingRecord(record: TrainingPromptRecord): PromptPair { method toTrainingExample (line 63) | toTrainingExample(record: TrainingPromptRecord): ShareGPTExample { function validatePromptAlignment (line 68) | function validatePromptAlignment(opts: { FILE: ts/src/training/prompt-contract-workflow.ts function buildPromptContractShape (line 11) | function buildPromptContractShape(): PromptShape { function validatePromptContract (line 25) | function validatePromptContract(prompt: PromptPair): ValidationResult { FILE: ts/src/training/runtime-prompt-adapter-workflow.ts function adaptRuntimePromptBundle (line 3) | function adaptRuntimePromptBundle(bundle: { competitor: string }): Promp... FILE: ts/src/training/training-backend-core.ts method supportedRuntimeTypes (line 10) | supportedRuntimeTypes(): string[] { method metadata (line 14) | metadata(): Record { class MLXBackend (line 23) | class MLXBackend extends TrainingBackend { method name (line 24) | get name(): string { return "mlx"; } method isAvailable (line 26) | isAvailable(): boolean { method defaultCheckpointDir (line 34) | defaultCheckpointDir(scenario: string): string { method supportedRuntimeTypes (line 38) | supportedRuntimeTypes(): string[] { class CUDABackend (line 43) | class CUDABackend extends TrainingBackend { method name (line 44) | get name(): string { return "cuda"; } method isAvailable (line 46) | isAvailable(): boolean { method defaultCheckpointDir (line 55) | defaultCheckpointDir(scenario: string): string { class BackendRegistry (line 60) | class BackendRegistry { method register (line 63) | register(backend: TrainingBackend): void { method get (line 67) | get(name: string): TrainingBackend | null { method listNames (line 71) | listNames(): string[] { method listAll (line 75) | listAll(): TrainingBackend[] { function defaultBackendRegistry (line 80) | function defaultBackendRegistry(): BackendRegistry { FILE: ts/src/training/training-checkpoint-workflow.ts function ensureCheckpointDir (line 28) | function ensureCheckpointDir( function writeTrainingManifest (line 40) | function writeTrainingManifest( function publishTrainingArtifact (line 67) | function publishTrainingArtifact(opts: { FILE: ts/src/training/training-config-workflow.ts function countJsonlRecords (line 6) | function countJsonlRecords(path: string): number { function resolveTrainingConfig (line 11) | function resolveTrainingConfig(config: TrainingConfig): { FILE: ts/src/training/training-metric-utils.ts function readMetric (line 1) | function readMetric( FILE: ts/src/training/training-promotion-workflow.ts function registerPromotionCandidate (line 9) | function registerPromotionCandidate( function evaluatePromotionState (line 28) | function evaluatePromotionState( FILE: ts/src/training/training-prompt-adapter-workflow.ts function adaptTrainingPromptRecord (line 11) | function adaptTrainingPromptRecord(record: TrainingPromptRecord): Prompt... function buildTrainingShareGptExample (line 59) | function buildTrainingShareGptExample( FILE: ts/src/training/training-result-workflow.ts function buildFailedTrainingResult (line 3) | function buildFailedTrainingResult( FILE: ts/src/training/training-run-execution-workflow.ts function executeTrainingRunWorkflow (line 24) | async function executeTrainingRunWorkflow(opts: { FILE: ts/src/training/training-types.ts type TrainingConfig (line 4) | interface TrainingConfig { type PublishedArtifact (line 19) | interface PublishedArtifact { type TrainingResult (line 36) | interface TrainingResult { type TrainingExecutor (line 45) | type TrainingExecutor = ( FILE: ts/src/tui/activity-command.ts type TuiActivityCommandResolution (line 9) | type TuiActivityCommandResolution = type TuiActivityCommandPlan (line 25) | type TuiActivityCommandPlan = type TuiActivityCommandEffects (line 45) | interface TuiActivityCommandEffects { type TuiActivityCommandExecutionResult (line 50) | interface TuiActivityCommandExecutionResult { function resolveTuiActivityCommand (line 55) | function resolveTuiActivityCommand( function planTuiActivityCommand (line 85) | function planTuiActivityCommand( function executeTuiActivityCommandPlan (line 120) | function executeTuiActivityCommandPlan( FILE: ts/src/tui/activity-settings-store.ts constant TUI_SETTINGS_FILE (line 11) | const TUI_SETTINGS_FILE = "tui-settings.json"; type TuiSettingsFile (line 13) | interface TuiSettingsFile { function loadTuiActivitySettings (line 18) | function loadTuiActivitySettings(configDir: string): TuiActivitySettings { function saveTuiActivitySettings (line 37) | function saveTuiActivitySettings( function resetTuiActivitySettings (line 53) | function resetTuiActivitySettings(configDir: string): TuiActivitySettings { function readActivityFilter (line 61) | function readActivityFilter(value: unknown): TuiActivitySettings["filter... function readActivityVerbosity (line 65) | function readActivityVerbosity(value: unknown): TuiActivitySettings["ver... function readRecord (line 69) | function readRecord(value: unknown): Record { function isRecord (line 73) | function isRecord(value: unknown): value is Record { FILE: ts/src/tui/activity-summary.ts constant TUI_ACTIVITY_FILTERS (line 1) | const TUI_ACTIVITY_FILTERS = [ type TuiActivityFilter (line 9) | type TuiActivityFilter = (typeof TUI_ACTIVITY_FILTERS)[number]; constant TUI_ACTIVITY_VERBOSITIES (line 11) | const TUI_ACTIVITY_VERBOSITIES = [ type TuiActivityVerbosity (line 16) | type TuiActivityVerbosity = (typeof TUI_ACTIVITY_VERBOSITIES)[number]; constant TUI_ACTIVITY_FILTER_VALUES (line 18) | const TUI_ACTIVITY_FILTER_VALUES = new Set(TUI_ACTIVITY_FILTERS); constant TUI_ACTIVITY_VERBOSITY_VALUES (line 19) | const TUI_ACTIVITY_VERBOSITY_VALUES = new Set(TUI_ACTIVITY_VERBO... type TuiActivitySettings (line 21) | interface TuiActivitySettings { constant DEFAULT_TUI_ACTIVITY_SETTINGS (line 26) | const DEFAULT_TUI_ACTIVITY_SETTINGS: TuiActivitySettings = { constant TUI_ACTIVITY_USAGE (line 31) | const TUI_ACTIVITY_USAGE = type TuiActivityFocus (line 34) | type TuiActivityFocus = "run" | "runtime" | "prompt" | "command" | "child"; type TuiActivitySummary (line 36) | interface TuiActivitySummary { function summarizeTuiEvent (line 43) | function summarizeTuiEvent( function formatTuiActivitySettings (line 52) | function formatTuiActivitySettings(settings: TuiActivitySettings): string { function parseTuiActivitySettings (line 56) | function parseTuiActivitySettings( function buildTuiActivitySummary (line 84) | function buildTuiActivitySummary( function runSummary (line 117) | function runSummary(line: string, hasError = false): TuiActivitySummary { function shouldShowActivity (line 126) | function shouldShowActivity( function summarizeRuntimeSessionEvent (line 146) | function summarizeRuntimeSessionEvent( function runtimeEventLabel (line 177) | function runtimeEventLabel(eventType: string): string { function runtimeEventFocus (line 198) | function runtimeEventFocus(eventType: string): TuiActivityFocus { function runtimeEventHasError (line 214) | function runtimeEventHasError( function runtimeEventDetails (line 221) | function runtimeEventDetails( function runtimeEventMetadata (line 273) | function runtimeEventMetadata( function runtimeEventFields (line 289) | function runtimeEventFields( function formatFields (line 299) | function formatFields( function formatField (line 310) | function formatField(label: string, value: unknown, maxLength: number): ... function truncateInline (line 319) | function truncateInline(value: string, maxLength: number): string { function fieldMaxLength (line 326) | function fieldMaxLength(verbosity: TuiActivityVerbosity): number { function isTuiActivityFilter (line 337) | function isTuiActivityFilter(value: unknown): value is TuiActivityFilter { function isTuiActivityVerbosity (line 341) | function isTuiActivityVerbosity(value: unknown): value is TuiActivityVer... function readRecord (line 345) | function readRecord(value: unknown): Record { function isRecord (line 349) | function isRecord(value: unknown): value is Record { function readString (line 353) | function readString(value: unknown): string { function readSequence (line 357) | function readSequence(value: unknown): string { FILE: ts/src/tui/app.tsx type InteractiveTuiProps (line 19) | interface InteractiveTuiProps { constant MAX_LOG_LINES (line 24) | const MAX_LOG_LINES = 18; function InteractiveTui (line 26) | function InteractiveTui({ manager, serverUrl }: InteractiveTuiProps) { FILE: ts/src/tui/auth-command.ts constant TUI_LOGIN_USAGE (line 1) | const TUI_LOGIN_USAGE = "usage: /login [apiKey] [model] [base... constant TUI_PROVIDER_USAGE (line 2) | const TUI_PROVIDER_USAGE = "usage: /provider "; type TuiAuthStatusForDisplay (line 4) | interface TuiAuthStatusForDisplay { type TuiAuthCommandPlan (line 13) | type TuiAuthCommandPlan = type TuiAuthStatusCommandEffects (line 40) | interface TuiAuthStatusCommandEffects { type TuiAuthStatusCommandExecutionResult (line 46) | interface TuiAuthStatusCommandExecutionResult { type TuiAuthLogoutCommandEffects (line 50) | interface TuiAuthLogoutCommandEffects { type TuiAuthLogoutCommandExecutionResult (line 58) | interface TuiAuthLogoutCommandExecutionResult { type TuiPendingLoginState (line 62) | interface TuiPendingLoginState { type TuiAuthLoginResult (line 68) | interface TuiAuthLoginResult { type TuiAuthLoginCommandEffects (line 74) | interface TuiAuthLoginCommandEffects { type TuiAuthLoginCommandExecutionResult (line 85) | interface TuiAuthLoginCommandExecutionResult { function planTuiAuthCommand (line 90) | function planTuiAuthCommand(raw: string): TuiAuthCommandPlan { function formatTuiWhoamiLines (line 153) | function formatTuiWhoamiLines(status: TuiAuthStatusForDisplay): string[] { function executeTuiAuthStatusCommandPlan (line 169) | function executeTuiAuthStatusCommandPlan( function executeTuiAuthLogoutCommandPlan (line 198) | function executeTuiAuthLogoutCommandPlan( function executeTuiAuthLoginCommandPlan (line 226) | async function executeTuiAuthLoginCommandPlan( function executeTuiPendingLoginSubmission (line 253) | async function executeTuiPendingLoginSubmission( function saveTuiLogin (line 266) | async function saveTuiLogin( function isTuiCommand (line 297) | function isTuiCommand(value: string, command: string): boolean { function normalizeTuiProvider (line 301) | function normalizeTuiProvider(provider?: string): string | undefined { FILE: ts/src/tui/chat-command.ts constant TUI_CHAT_USAGE (line 1) | const TUI_CHAT_USAGE = "chat command requires a role and message"; type TuiChatCommandPlan (line 3) | type TuiChatCommandPlan = type TuiChatCommandEffects (line 17) | interface TuiChatCommandEffects { type TuiChatCommandExecutionResult (line 21) | interface TuiChatCommandExecutionResult { function planTuiChatCommand (line 25) | function planTuiChatCommand(raw: string): TuiChatCommandPlan { function formatTuiChatResponseLine (line 49) | function formatTuiChatResponseLine(role: string, response: string): stri... function executeTuiChatCommandPlan (line 54) | async function executeTuiChatCommandPlan( FILE: ts/src/tui/command-workflow.ts type TuiInteractiveCommandRequest (line 49) | interface TuiInteractiveCommandRequest { type TuiInteractiveCommandResult (line 55) | interface TuiInteractiveCommandResult { type TuiInteractiveCommandEffects (line 62) | interface TuiInteractiveCommandEffects { function executeTuiInteractiveCommandWorkflow (line 76) | async function executeTuiInteractiveCommandWorkflow( FILE: ts/src/tui/commands.ts type PendingLoginState (line 21) | type PendingLoginState = TuiPendingLoginState; type HandleInteractiveTuiCommandResult (line 23) | type HandleInteractiveTuiCommandResult = TuiInteractiveCommandResult; function applyProviderSelection (line 25) | function applyProviderSelection( function loadTuiRunInspection (line 44) | async function loadTuiRunInspection( function renderTuiRunStatus (line 68) | async function renderTuiRunStatus(manager: RunManager, runId: string): P... function renderTuiRunShow (line 74) | async function renderTuiRunShow( function loadTuiRuntimeSessionTimeline (line 84) | async function loadTuiRuntimeSessionTimeline( function formatCommandHelp (line 108) | function formatCommandHelp(): string[] { function handleInteractiveTuiCommand (line 112) | async function handleInteractiveTuiCommand(args: { FILE: ts/src/tui/meta-command.ts type TuiMetaCommandContext (line 3) | interface TuiMetaCommandContext { type TuiMetaCommandPlan (line 7) | type TuiMetaCommandPlan = function planTuiMetaCommand (line 24) | function planTuiMetaCommand( function formatTuiCommandHelp (line 60) | function formatTuiCommandHelp(): string[] { FILE: ts/src/tui/operator-command.ts type TuiOperatorCommandPlan (line 1) | type TuiOperatorCommandPlan = type TuiGateOverrideDecision (line 26) | type TuiGateOverrideDecision = "advance" | "retry" | "rollback"; type TuiOperatorCommandEffects (line 28) | interface TuiOperatorCommandEffects { type TuiOperatorCommandExecutionResult (line 36) | interface TuiOperatorCommandExecutionResult { function planTuiOperatorCommand (line 40) | function planTuiOperatorCommand(raw: string): TuiOperatorCommandPlan { function executeTuiOperatorCommandPlan (line 82) | function executeTuiOperatorCommandPlan( function formatTuiScenarioList (line 120) | function formatTuiScenarioList(scenarios: readonly string[]): string { function isTuiGateOverrideDecision (line 124) | function isTuiGateOverrideDecision(value: string): value is TuiGateOverr... FILE: ts/src/tui/protocol.generated.ts function parseServerMessage (line 188) | function parseServerMessage(raw: string) { FILE: ts/src/tui/run-command.ts type TuiRunCommandTarget (line 1) | type TuiRunCommandTarget = type TuiRunInspectionCommandName (line 10) | type TuiRunInspectionCommandName = "status" | "show" | "watch" | "timeli... type TuiActiveRunIdSource (line 11) | type TuiActiveRunIdSource = string | null | undefined | (() => string | ... constant TUI_RUN_INSPECTION_USAGES (line 13) | const TUI_RUN_INSPECTION_USAGES: Record; class ProviderError (line 20) | class ProviderError extends Error { method constructor (line 21) | constructor(message: string) { type LLMProvider (line 27) | interface LLMProvider { type JudgeResult (line 67) | type JudgeResult = z.infer; type AgentTaskResult (line 80) | type AgentTaskResult = z.infer; type AgentTaskInterface (line 82) | interface AgentTaskInterface { type TaskStatus (line 132) | type TaskStatus = z.infer; type TaskRow (line 153) | type TaskRow = z.infer; type RoundResult (line 172) | type RoundResult = z.infer; type ImprovementResult (line 197) | type ImprovementResult = z.infer; type EventType (line 209) | type EventType = z.infer; type NotificationEvent (line 221) | type NotificationEvent = z.infer; FILE: ts/src/util.ts function which (line 7) | function which(cmd: string): string | null { FILE: ts/tests/_fixtures/plugins/mock-anthropic-ts.ts method produce (line 17) | produce(_match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceR... function findAnthropicCalls (line 24) | function findAnthropicCalls(text: string, filePath: string): readonly Wr... function findMatchingParen (line 48) | function findMatchingParen(text: string, openIdx: number): number { function rangeFromBytes (line 61) | function rangeFromBytes(text: string, startByte: number, endByte: number... FILE: ts/tests/_fixtures/plugins/mock-conflicting.ts method produce (line 20) | produce(_match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceR... function findOpenAiCalls (line 27) | function findOpenAiCalls(text: string, filePath: string): readonly WrapE... function findMatchingParen (line 52) | function findMatchingParen(text: string, openIdx: number): number { function rangeFromBytes (line 65) | function rangeFromBytes(text: string, startByte: number, endByte: number... FILE: ts/tests/_fixtures/plugins/mock-insert-statement.ts method produce (line 18) | produce(_match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceR... FILE: ts/tests/_fixtures/plugins/mock-openai-python.ts method produce (line 25) | produce(_match: TreeSitterMatch, sourceFile: SourceFile): PluginProduceR... function findOpenAiCalls (line 32) | function findOpenAiCalls(text: string, filePath: string): readonly WrapE... function findMatchingParen (line 55) | function findMatchingParen(text: string, openIdx: number): number { function rangeFromBytes (line 68) | function rangeFromBytes(text: string, startByte: number, endByte: number... FILE: ts/tests/_helpers/build_trace_canonical.py function _canonical_json (line 59) | def _canonical_json(value: Any) -> str: function _encode (line 75) | def _encode(value: Any) -> Any: function main (line 91) | def main() -> None: FILE: ts/tests/_helpers/hash_user_id.py function main (line 21) | def main() -> None: FILE: ts/tests/_helpers/python-runner.ts constant HELPER_DIR (line 7) | const HELPER_DIR = __dirname; constant TS_ROOT (line 8) | const TS_ROOT = resolve(HELPER_DIR, "..", ".."); constant PYTHON_PKG (line 10) | const PYTHON_PKG = resolve(TS_ROOT, "..", "autocontext"); type PythonRunResult (line 12) | interface PythonRunResult { function resolveParityPython (line 26) | function resolveParityPython(): string { function callPythonHelper (line 43) | function callPythonHelper(scriptName: string, payload: unknown): PythonR... function callPythonHelperAsync (line 60) | function callPythonHelperAsync(scriptName: string, payload: unknown): Pr... function callPythonBuildTrace (line 103) | function callPythonBuildTrace(inputs: unknown): string { function callPythonBuildTraceAsync (line 111) | async function callPythonBuildTraceAsync(inputs: unknown): Promise)... function makeMockProvider (line 61) | function makeMockProvider(opts?: { function createTempStore (line 99) | function createTempStore(): { store: SQLiteStore; tmpDir: string } { FILE: ts/tests/agent-runtime.test.ts class FakeRuntime (line 15) | class FakeRuntime implements AgentRuntime { method generate (line 19) | async generate(opts: { prompt: string }): Promise { method revise (line 24) | async revise(): Promise { FILE: ts/tests/agent-task-package-tools.test.ts function createFakeServer (line 8) | function createFakeServer() { FILE: ts/tests/agent-task-pipeline.test.ts constant SAMPLE_SPEC (line 57) | const SAMPLE_SPEC: AgentTaskSpec = { function mockLlmResponse (line 67) | function mockLlmResponse(spec: AgentTaskSpec): string { function mockSimulationResponse (line 77) | function mockSimulationResponse(): string { function mockArtifactEditingResponse (line 105) | function mockArtifactEditingResponse(): string { function mockInvestigationResponse (line 125) | function mockInvestigationResponse(): string { function mockWorkflowResponse (line 167) | function mockWorkflowResponse(): string { function mockSchemaEvolutionResponse (line 229) | function mockSchemaEvolutionResponse(): string { function mockToolFragilityResponse (line 275) | function mockToolFragilityResponse(): string { function mockNegotiationResponse (line 311) | function mockNegotiationResponse(): string { function mockOperatorLoopResponse (line 352) | function mockOperatorLoopResponse(): string { function mockCoordinationResponse (line 384) | function mockCoordinationResponse(): string { function makeMockProvider (line 416) | function makeMockProvider(response = "mock output"): LLMProvider { FILE: ts/tests/agentos-adapter.test.ts function createStubRuntime (line 15) | function createStubRuntime(): StubAgentOsRuntime { class StubAgentOsRuntime (line 19) | class StubAgentOsRuntime { method createSession (line 25) | async createSession(agentType: string, _opts?: Record... method prompt (line 31) | async prompt(sessionId: string, prompt: string): Promise { method onSessionEvent (line 41) | onSessionEvent(sessionId: string, handler: (event: unknown) => void): ... method closeSession (line 49) | async closeSession(sessionId: string): Promise { method writeFile (line 54) | async writeFile(path: string, content: string): Promise { method readFile (line 58) | async readFile(path: string): Promise { method dispose (line 64) | async dispose(): Promise {} class FailingRuntime (line 157) | class FailingRuntime extends StubAgentOsRuntime { method prompt (line 158) | override async prompt(_sessionId: string, _prompt: string): Promise): st... function writeInvReport (line 41) | function writeInvReport(name: string, data: Record): st... function createEngine (line 48) | function createEngine() { FILE: ts/tests/app-settings-contract.test.ts type AppSettingsContractField (line 7) | type AppSettingsContractField = { type AppSettingsContract (line 20) | type AppSettingsContract = { constant CONTRACT (line 27) | const CONTRACT = JSON.parse( function contractEnv (line 34) | function contractEnv(field: AppSettingsContractField, runtime: "python" ... FILE: ts/tests/artifact-store-compaction-ledger.test.ts function makeStore (line 9) | function makeStore(root: string): ArtifactStore { FILE: ts/tests/artifact-store-hooks.test.ts function makeRoot (line 9) | function makeRoot(): string { FILE: ts/tests/auto-discover-custom.test.ts function makeTempDir (line 16) | function makeTempDir(): string { function makeMockProvider (line 20) | function makeMockProvider(response = "mock draft"): LLMProvider { FILE: ts/tests/benchmark-command-workflow.test.ts class FakeScenario (line 50) | class FakeScenario {} class FakeScenario (line 109) | class FakeScenario {} FILE: ts/tests/benchmark-provider.test.ts constant CLI (line 9) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 11) | function runCli(args: string[]): { stdout: string; stderr: string; exitC... FILE: ts/tests/blob-cli.test.ts constant CLI (line 11) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 13) | function runCli( FILE: ts/tests/bootstrap-snapshot.test.ts function makeSnapshot (line 31) | function makeSnapshot( FILE: ts/tests/built-in-game-solve-execution.test.ts class FakeGameScenario (line 6) | class FakeGameScenario implements ScenarioInterface { method describeRules (line 9) | describeRules(): string { return "Rules"; } method describeStrategyInterface (line 10) | describeStrategyInterface(): string { return "Strategy"; } method describeEvaluationCriteria (line 11) | describeEvaluationCriteria(): string { return "Criteria"; } method initialState (line 12) | initialState(): Record { return {}; } method getObservation (line 13) | getObservation(): { narrative: string; state: Record;... method validateActions (line 16) | validateActions(): [boolean, string] { return [true, "ok"]; } method step (line 17) | step(): Record { return {}; } method isTerminal (line 18) | isTerminal(): boolean { return true; } method getResult (line 19) | getResult() { method replayToNarrative (line 32) | replayToNarrative(): string { return "narrative"; } method renderFrame (line 33) | renderFrame(): Record { return {}; } method enumerateLegalActions (line 34) | enumerateLegalActions() { return null; } method scoringDimensions (line 35) | scoringDimensions() { return null; } method executeMatch (line 36) | executeMatch() { FILE: ts/tests/builtin-scenarios.test.ts constant CLI (line 15) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 17) | function runCli( function writeProjectConfig (line 48) | function writeProjectConfig(dir: string): void { FILE: ts/tests/campaign-cli.test.ts constant CLI (line 13) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 15) | const SANITIZED_KEYS = [ function buildEnv (line 30) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCli (line 36) | function runCli( function setupProjectDir (line 53) | function setupProjectDir(): string { FILE: ts/tests/campaign-manager-access-workflow.test.ts function makeCampaign (line 16) | function makeCampaign(status: CampaignStatus = "active", id = "campaign-... function makeEntry (line 28) | function makeEntry(missionId: string, priority: number): CampaignMission... FILE: ts/tests/campaign-surfaces.test.ts constant MIGRATIONS_DIR (line 23) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function makeMockProvider (line 38) | function makeMockProvider(): LLMProvider { function fetchJson (line 46) | async function fetchJson(url: string, init?: RequestInit): Promise<{ sta... function createCampaignServer (line 52) | async function createCampaignServer(dir: string) { FILE: ts/tests/cli-contract.test.ts constant CLI (line 9) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 11) | function runCli(args: string[]): { stdout: string; exitCode: number } { FILE: ts/tests/cli-dx.test.ts constant CLI (line 15) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_ENV_KEYS (line 16) | const SANITIZED_ENV_KEYS = [ function buildCliEnv (line 33) | function buildCliEnv(overrides: Record = {}): NodeJS.Pro... function runCli (line 41) | function runCli( function makeTempDir (line 59) | function makeTempDir(): string { function writeProjectConfig (line 63) | function writeProjectConfig(dir: string, config: Record... function runLongLivedCli (line 67) | async function runLongLivedCli( function runCliAsync (line 117) | async function runCliAsync( function runPromptedCli (line 160) | async function runPromptedCli( FILE: ts/tests/cli-emit-engine-result.test.ts function makeFakes (line 25) | function makeFakes() { FILE: ts/tests/cli-help.test.ts constant CLI (line 9) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runHelp (line 11) | function runHelp(command: string): string { FILE: ts/tests/cli-parity.test.ts constant CLI (line 16) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 20) | function runCli(args: string[], envOverrides: Record = {... function makeTempDir (line 34) | function makeTempDir(): string { FILE: ts/tests/cli.test.ts constant CLI (line 5) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 7) | function runCli( FILE: ts/tests/code-mission.test.ts constant CLI (line 16) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant MIGRATIONS_DIR (line 17) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function makeTempDir (line 19) | function makeTempDir(): string { constant SANITIZED_KEYS (line 23) | const SANITIZED_KEYS = [ function buildEnv (line 30) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCli (line 36) | function runCli( function setupProjectDir (line 53) | function setupProjectDir(): string { type RegisteredToolServer (line 67) | type RegisteredToolServer = { function createMissionToolServer (line 79) | async function createMissionToolServer(dir: string): Promise<{ FILE: ts/tests/codegen-runtime.test.ts function makeTempDir (line 12) | function makeTempDir(): string { FILE: ts/tests/codegen.test.ts type GeneratedScenarioForTest (line 21) | interface GeneratedScenarioForTest { function loadGeneratedScenarioForTest (line 41) | function loadGeneratedScenarioForTest(source: string): GeneratedScenario... FILE: ts/tests/concept-model-durable-session-events.test.ts function readConceptDoc (line 7) | function readConceptDoc(): string { function readConceptModel (line 11) | function readConceptModel(): { function durableSessionSection (line 31) | function durableSessionSection(): string { FILE: ts/tests/config.test.ts type AppSettings (line 269) | type AppSettings = ReturnType; FILE: ts/tests/context-selection-command-workflow.test.ts constant CLI (line 8) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function persistDecision (line 12) | function persistDecision(): void { FILE: ts/tests/context-selection-report.test.ts function decision (line 8) | function decision(overrides: Partial = {}... FILE: ts/tests/context-selection-store.test.ts function decisionPayload (line 11) | function decisionPayload(overrides: Record = {}): Recor... function writeDecision (line 54) | function writeDecision(name: string, payload: Record): ... function writeDecisionUnder (line 60) | function writeDecisionUnder(root: string, name: string, payload: Record<... FILE: ts/tests/control-plane-package.test.ts method search (line 100) | search(input: ResearchQuery): ResearchResult { FILE: ts/tests/control-plane/actuators/_shared/content-revert-rollback.test.ts function makePayload (line 25) | function makePayload( function mkArtifact (line 36) | function mkArtifact(payloadDir: string): Artifact { FILE: ts/tests/control-plane/actuators/fine-tuned-model/fine-tuned-model.test.ts constant VALID_POINTER (line 29) | const VALID_POINTER = { function mkPayload (line 37) | function mkPayload(dir: string, pointer: object): string { function mkArtifact (line 43) | function mkArtifact(payloadDir: string): Artifact { FILE: ts/tests/control-plane/actuators/fine-tuned-model/legacy-adapter.test.ts function writeLegacyFile (line 43) | function writeLegacyFile(rel: string, records: unknown[]): string { function legacyRecord (line 54) | function legacyRecord(overrides: Record): Record(): Actuator

{ function reg (line 31) | function reg

(type: ActuatorType, rollback: RollbackStrategy): Actuato... FILE: ts/tests/control-plane/actuators/routing-rule/routing-rule.test.ts function mkPayload (line 29) | function mkPayload(dir: string, rule: object): string { function mkArtifact (line 35) | function mkArtifact(payloadDir: string): Artifact { constant VALID_RULE (line 44) | const VALID_RULE = { FILE: ts/tests/control-plane/actuators/tool-policy/tool-policy.test.ts function mkPayload (line 27) | function mkPayload(dir: string, policy: object): string { function mkArtifact (line 33) | function mkArtifact(payloadDir: string): Artifact { constant VALID_POLICY (line 42) | const VALID_POLICY = { FILE: ts/tests/control-plane/cli/eval.test.ts function registerArtifact (line 31) | async function registerArtifact(): Promise { FILE: ts/tests/control-plane/cli/harness.test.ts function registerPayload (line 28) | async function registerPayload(content: string): Promise { function attachMetrics (line 40) | async function attachMetrics( FILE: ts/tests/control-plane/cli/promotion.test.ts function registerPayload (line 36) | async function registerPayload(content: string): Promise { function attachMetrics (line 48) | async function attachMetrics( FILE: ts/tests/control-plane/cli/registry-ops.test.ts function registerPayload (line 18) | async function registerPayload(content: string): Promise { function legacyRecord (line 99) | function legacyRecord(artifactId: string): Record { FILE: ts/tests/control-plane/cli/subprocess-smoke.test.ts constant CLI (line 13) | const CLI = join(import.meta.dirname, "..", "..", "..", "src", "cli", "i... function runCli (line 15) | function runCli( FILE: ts/tests/control-plane/contract/ablation-verification.test.ts function evalRun (line 38) | function evalRun(ablationVerification?: AblationVerification): EvalRun { FILE: ts/tests/control-plane/contract/harness-change-proposal.test.ts function metrics (line 43) | function metrics(score: number, regressions: MetricBundle["safety"]["reg... function artifact (line 57) | function artifact(id: Artifact["id"]): Artifact { function evalRun (line 72) | function evalRun(artifactId: Artifact["id"], runId: string, score: numbe... function acceptedDecision (line 88) | function acceptedDecision(evidenceRefs: readonly string[] = ["runs/heldo... function proposal (line 111) | function proposal(overrides: Partial = {}): Harne... FILE: ts/tests/control-plane/contract/run-track.test.ts function makeEvalRun (line 27) | function makeEvalRun(overrides: Partial = {}): EvalRun { FILE: ts/tests/control-plane/contract/strategy-identity.test.ts function hash (line 16) | function hash(fill: string): ContentHash { function id (line 22) | function id(value: string): ArtifactId { function artifact (line 28) | function artifact( FILE: ts/tests/control-plane/contract/strategy-quarantine.test.ts function hash (line 15) | function hash(fill: string): ContentHash { function id (line 21) | function id(value: string): ArtifactId { function identity (line 27) | function identity(fill: string) { function artifact (line 40) | function artifact(overrides: Pick & Partial): ... FILE: ts/tests/control-plane/emit/branch-namer.test.ts function mk (line 14) | function mk(id: ArtifactId, scenario: Scenario): Artifact { FILE: ts/tests/control-plane/emit/modes/gh.test.ts function gitEnv (line 22) | function gitEnv(cwd: string, extraPath?: string): NodeJS.ProcessEnv { function initRepo (line 37) | function initRepo(cwd: string): void { function installShim (line 49) | function installShim(name: string, scriptBody: string): void { constant SHIM_LOG_HELPER (line 59) | const SHIM_LOG_HELPER = ` function mkPatch (line 146) | function mkPatch(relPath: string, content: string): Patch { FILE: ts/tests/control-plane/emit/modes/git.test.ts function isolatedEnv (line 12) | function isolatedEnv(cwd: string): NodeJS.ProcessEnv { function initRepo (line 25) | function initRepo(cwd: string): void { function mkPatch (line 47) | function mkPatch(relPath: string, content: string): Patch { FILE: ts/tests/control-plane/emit/modes/patch-only.test.ts constant TIMESTAMP (line 21) | const TIMESTAMP = "2026-04-17T12:00:00.000Z"; FILE: ts/tests/control-plane/emit/patch-renderer.test.ts function writePromptPayload (line 30) | function writePromptPayload(dir: string, content: string): string { FILE: ts/tests/control-plane/emit/pipeline.test.ts constant CFG_HASH (line 22) | const CFG_HASH = ("sha256:" + "9".repeat(64)) as ContentHash; constant SLICE_HASH (line 23) | const SLICE_HASH = ("sha256:" + "a".repeat(64)) as ContentHash; constant TIMESTAMP (line 24) | const TIMESTAMP = "2026-04-17T12:00:00.000Z"; function writePromptPayload (line 36) | function writePromptPayload(dir: string, content: string): string { function registerArtifactWithEvalRun (line 49) | function registerArtifactWithEvalRun(scenario: string, content: string, ... FILE: ts/tests/control-plane/emit/pr-body-renderer.test.ts constant GOLDEN_DIR (line 18) | const GOLDEN_DIR = join(__dirname, "golden", "pr-bodies"); constant UPDATE (line 19) | const UPDATE = process.env.UPDATE_GOLDEN === "1"; function readGolden (line 21) | function readGolden(name: string): string { function writeGolden (line 36) | function writeGolden(name: string, content: string): void { function assertMatchesGolden (line 40) | function assertMatchesGolden(name: string, actual: string): void { function diffPreview (line 56) | function diffPreview(a: string, b: string): string { constant CAND_ID (line 73) | const CAND_ID = "01HZCANDIDATE00000000AAAAA" as ArtifactId; constant BASE_ID (line 74) | const BASE_ID = "01HZBASELINE000000000AAAAA" as ArtifactId; constant SUITE_ID (line 75) | const SUITE_ID = "suite-prompt-quality-v1" as SuiteId; constant CONFIG_HASH (line 91) | const CONFIG_HASH = "sha256:cfg00000000000000000000000000000000000000000... constant SLICE_HASH (line 92) | const SLICE_HASH = "sha256:sli000000000000000000000000000000000000000000... constant PAYLOAD_HASH (line 93) | const PAYLOAD_HASH = "sha256:pl00000000000000000000000000000000000000000... function metricBundle (line 95) | function metricBundle(overrides: Partial = {}): MetricBund... function mkEvalRun (line 110) | function mkEvalRun(artifactId: ArtifactId, metrics: MetricBundle): EvalR... function mkArtifact (line 125) | function mkArtifact( function mkDecision (line 149) | function mkDecision(overrides: Partial): PromotionDec... constant FIXED_TIMESTAMP (line 178) | const FIXED_TIMESTAMP = "2026-04-17T12:00:00.000Z"; constant FIXED_VERSION (line 179) | const FIXED_VERSION = "0.4.3"; FILE: ts/tests/control-plane/emit/preflight.test.ts constant CFG_HASH (line 15) | const CFG_HASH = ("sha256:" + "9".repeat(64)) as ContentHash; constant SLICE_HASH (line 16) | const SLICE_HASH = ("sha256:" + "a".repeat(64)) as ContentHash; function mkArtifactWithPayload (line 35) | function mkArtifactWithPayload(scenario: string): { artifact: Artifact; ... function attachSimpleEvalRun (line 48) | function attachSimpleEvalRun(candidate: Artifact): void { FILE: ts/tests/control-plane/eval-ingest/attach.test.ts function setupArtifact (line 43) | function setupArtifact(registryRoot: string): Artifact { function makeEvalRun (line 59) | function makeEvalRun(artifactId: ArtifactId, runId = "run_1"): EvalRun { FILE: ts/tests/control-plane/eval-ingest/validator.test.ts function setupRegistryWithArtifact (line 41) | function setupRegistryWithArtifact(registryRoot: string): Artifact { function makeEvalRun (line 57) | function makeEvalRun(artifactId: ArtifactId, overrides: Partial... FILE: ts/tests/control-plane/external-evals/diagnostics.test.ts function prettyVerifierOutput (line 1005) | function prettyVerifierOutput(parserResults: Record): st... FILE: ts/tests/control-plane/instrument/_fixtures/scanner/tabs-and-spaces/four_spaces.py function f (line 1) | def f(): FILE: ts/tests/control-plane/instrument/_fixtures/scanner/tabs-and-spaces/tabs.py function f (line 1) | def f(): FILE: ts/tests/control-plane/instrument/_fixtures/scanner/tabs-and-spaces/two_space.ts function f (line 1) | function f() { FILE: ts/tests/control-plane/instrument/cli/config-loader.test.ts constant REGISTRY_PATH (line 22) | const REGISTRY_PATH = resolve( constant REGISTRY_URL (line 26) | const REGISTRY_URL = pathToFileURL(REGISTRY_PATH).href; function scratch (line 29) | function scratch(): string { FILE: ts/tests/control-plane/instrument/cli/exit-codes.test.ts constant ULID (line 22) | const ULID = "01HN0000000000000000000001"; constant NOW (line 23) | const NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 26) | function scratch(): string { function seedPythonRepo (line 44) | function seedPythonRepo(root: string): void { FILE: ts/tests/control-plane/instrument/cli/flags.test.ts constant ULID (line 14) | const ULID = "01HN0000000000000000000001"; constant NOW (line 15) | const NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 18) | function scratch(): string { FILE: ts/tests/control-plane/instrument/cli/integration.test.ts constant ULID (line 29) | const ULID = "01HN0000000000000000000001"; constant NOW (line 30) | const NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 33) | function scratch(): string { FILE: ts/tests/control-plane/instrument/cli/mcp-exposure.test.ts type ToolCall (line 18) | interface ToolCall { FILE: ts/tests/control-plane/instrument/cli/runner.test.ts constant FIXED_ULID (line 16) | const FIXED_ULID = "01HN0000000000000000000001"; constant FIXED_NOW (line 17) | const FIXED_NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 20) | function scratch(): string { FILE: ts/tests/control-plane/instrument/contract/source-range.test.ts function isMonotonicByte (line 15) | function isMonotonicByte(r: SourceRange): boolean { function isMonotonicLineCol (line 19) | function isMonotonicLineCol(r: SourceRange): boolean { FILE: ts/tests/control-plane/instrument/detectors/anthropic-python/gate-1-canonical.test.ts function fakeMatch (line 5) | function fakeMatch(text: string, start: number, end: number) { function fakeSourceFile (line 14) | function fakeSourceFile(imports: Array<{ module: string; names: Set Promise): Enhanc... FILE: ts/tests/control-plane/instrument/llm/pr-body-renderer-llm.test.ts constant FIXED_ULID (line 28) | const FIXED_ULID = "01HN0000000000000000000001"; constant FIXED_NOW (line 29) | const FIXED_NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 32) | function scratch(): string { function seedPythonFixture (line 46) | function seedPythonFixture(dir: string): void { function staticProvider (line 55) | function staticProvider(text: string): EnhancerProvider { FILE: ts/tests/control-plane/instrument/pipeline/modes/apply.test.ts function scratch (line 22) | function scratch(): string { FILE: ts/tests/control-plane/instrument/pipeline/modes/branch.test.ts function scratch (line 17) | function scratch(): string { function recordingExecutor (line 34) | function recordingExecutor(): { calls: string[]; executor: BranchGitExec... FILE: ts/tests/control-plane/instrument/pipeline/modes/dry-run.test.ts constant FIXED_ULID (line 24) | const FIXED_ULID = "01HN0000000000000000000001"; function scratch (line 27) | function scratch(): string { function stubSession (line 44) | function stubSession(): InstrumentSession { function stubPlan (line 64) | function stubPlan(): InstrumentPlan { FILE: ts/tests/control-plane/instrument/pipeline/orchestrator-real-detector.test.ts constant FIXED_ULID (line 36) | const FIXED_ULID = "01HN0000000000000000000099"; constant FIXED_NOW (line 37) | const FIXED_NOW = "2026-04-20T10:00:00.000Z"; function scratch (line 41) | function scratch(): string { FILE: ts/tests/control-plane/instrument/pipeline/orchestrator.property.test.ts constant ULID (line 36) | const ULID = "01HN0000000000000000000001"; constant NOW (line 37) | const NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 40) | function scratch(): string { function seed (line 59) | function seed(root: string, n: number, extraSuffix: string): void { FILE: ts/tests/control-plane/instrument/pipeline/orchestrator.test.ts constant FIXED_ULID (line 31) | const FIXED_ULID = "01HN0000000000000000000001"; constant FIXED_NOW (line 32) | const FIXED_NOW = "2026-04-17T12:00:00.000Z"; function scratch (line 35) | function scratch(): string { function seedPythonRepo (line 53) | function seedPythonRepo(root: string): void { FILE: ts/tests/control-plane/instrument/pipeline/preflight.test.ts function scratch (line 30) | function scratch(): string { FILE: ts/tests/control-plane/instrument/planner/_fixtures/python/simple.py function f (line 5) | def f(): FILE: ts/tests/control-plane/instrument/planner/_fixtures/python/tabs.py function f (line 1) | def f(): FILE: ts/tests/control-plane/instrument/planner/_fixtures/python/with-directive.py function f (line 6) | def f(): FILE: ts/tests/control-plane/instrument/planner/_fixtures/python/with-future-imports.py function f (line 6) | def f() -> None: FILE: ts/tests/control-plane/instrument/planner/_fixtures/typescript/simple.ts function f (line 4) | function f() { FILE: ts/tests/control-plane/instrument/planner/_fixtures/typescript/with-secret.ts constant AWS_KEY (line 1) | const AWS_KEY = "AKIAIOSFODNN7EXAMPLE"; FILE: ts/tests/control-plane/instrument/planner/conflict-detector.property.test.ts function getRanges (line 75) | function getRanges(e: EditDescriptor): SourceRange[] { function overlaps (line 80) | function overlaps(a: SourceRange, b: SourceRange): boolean { function rangesEqual (line 84) | function rangesEqual(a: SourceRange, b: SourceRange): boolean { function isComposableCoextensiveInsertPair (line 88) | function isComposableCoextensiveInsertPair(a: EditDescriptor, b: EditDes... FILE: ts/tests/control-plane/instrument/planner/conflict-detector.test.ts function rangeOf (line 20) | function rangeOf(startByte: number, endByte: number): SourceRange { function wrapEdit (line 29) | function wrapEdit(opts: { function insertEdit (line 44) | function insertEdit(opts: { FILE: ts/tests/control-plane/instrument/planner/edit-composer.fixtures.test.ts constant FIX_DIR (line 22) | const FIX_DIR = join(__dirname, "_fixtures"); function rangeFromText (line 24) | function rangeFromText(text: string, startByte: number, endByte: number)... FILE: ts/tests/control-plane/instrument/planner/edit-composer.property.test.ts function rangeFromText (line 24) | function rangeFromText(text: string, startByte: number, endByte: number)... function pyFile (line 41) | function pyFile(content: string, path = "src/main.py"): SourceFile { FILE: ts/tests/control-plane/instrument/planner/edit-composer.test.ts function rangeFromText (line 23) | function rangeFromText(text: string, startByte: number, endByte: number)... function pyFile (line 40) | function pyFile(content: string): SourceFile { FILE: ts/tests/control-plane/instrument/planner/import-manager.property.test.ts function specKey (line 33) | function specKey(s: ImportSpec): string { FILE: ts/tests/control-plane/instrument/planner/import-manager.test.ts function fileOf (line 23) | function fileOf(path: string, language: InstrumentLanguage, content: str... FILE: ts/tests/control-plane/instrument/planner/indentation-matcher.property.test.ts function leadingWhitespace (line 17) | function leadingWhitespace(line: string): string { FILE: ts/tests/control-plane/instrument/planner/indentation-matcher.test.ts function pyFile (line 17) | function pyFile(content: string): SourceFile { function tsFile (line 25) | function tsFile(content: string): SourceFile { FILE: ts/tests/control-plane/instrument/registry/plugin-registry.test.ts function makePlugin (line 30) | function makePlugin(args: { FILE: ts/tests/control-plane/instrument/safety/directive-parser.test.ts function buf (line 16) | function buf(s: string): Buffer { FILE: ts/tests/control-plane/instrument/safety/secret-detector.test.ts function bufOf (line 19) | function bufOf(s: string): Buffer { FILE: ts/tests/control-plane/instrument/scanner/source-file.test.ts constant FIXTURES (line 19) | const FIXTURES = join(__dirname, "..", "_fixtures", "scanner"); function hasName (line 148) | function hasName(names: ReadonlySet): Record { FILE: ts/tests/control-plane/production-traces/cli/build-dataset.test.ts function seedTraces (line 18) | async function seedTraces(n: number, taskType = "checkout"): Promise { FILE: ts/tests/control-plane/production-traces/cli/datasets.test.ts function writeFakeDataset (line 9) | function writeFakeDataset(id: string, overrides: Partial<{ FILE: ts/tests/control-plane/production-traces/cli/export.test.ts function seed (line 11) | async function seed(count = 2): Promise { FILE: ts/tests/control-plane/production-traces/cli/list-show-stats.test.ts function seedIngested (line 11) | async function seedIngested(batchTag: string, count = 3): Promise { FILE: ts/tests/control-plane/production-traces/cli/prune.test.ts function seedOldAndNewTraces (line 29) | async function seedOldAndNewTraces(): Promise<{ oldId: string; newId: st... FILE: ts/tests/control-plane/production-traces/contract/content-address.test.ts function ch (line 6) | function ch(hexChar: string): ContentHash { FILE: ts/tests/control-plane/production-traces/contract/cross-runtime.test.ts constant TS_ROOT (line 10) | const TS_ROOT = resolve(__dirname, "..", "..", "..", ".."); constant WORKTREE_ROOT (line 11) | const WORKTREE_ROOT = resolve(TS_ROOT, ".."); constant FIXTURES_DIR (line 12) | const FIXTURES_DIR = resolve(__dirname, "..", "fixtures"); constant PY_CWD (line 13) | const PY_CWD = resolve(WORKTREE_ROOT, "autocontext"); type PythonResult (line 15) | type PythonResult = { valid: boolean; error?: string }; function runPythonValidate (line 18) | function runPythonValidate(input: unknown): PythonResult { function hasUv (line 45) | function hasUv(): boolean { constant UV_AVAILABLE (line 50) | const UV_AVAILABLE = hasUv(); FILE: ts/tests/control-plane/production-traces/contract/generated-drift.test.ts constant TS_ROOT (line 6) | const TS_ROOT = resolve(__dirname, "..", "..", "..", ".."); constant GENERATED_PATH (line 7) | const GENERATED_PATH = resolve(TS_ROOT, "src/production-traces/contract/... constant SCRIPT (line 8) | const SCRIPT = resolve(TS_ROOT, "scripts/generate-production-traces-type... FILE: ts/tests/control-plane/production-traces/contract/invariants.test.ts function baseTrace (line 10) | function baseTrace(): ProductionTrace { FILE: ts/tests/control-plane/production-traces/contract/validators.test.ts constant VALID_TRACE_ID (line 17) | const VALID_TRACE_ID = "01KFDQ9XZ3M7RT2V8K1PHY4BNC"; FILE: ts/tests/control-plane/production-traces/cross-runtime/python-emit-roundtrip.test.ts constant TS_ROOT (line 25) | const TS_ROOT = resolve(__dirname, "..", "..", "..", ".."); constant WORKTREE_ROOT (line 26) | const WORKTREE_ROOT = resolve(TS_ROOT, ".."); constant PY_CWD (line 27) | const PY_CWD = resolve(WORKTREE_ROOT, "autocontext"); function hasUv (line 29) | function hasUv(): boolean { constant UV_AVAILABLE (line 34) | const UV_AVAILABLE = hasUv(); function pythonEmitTrace (line 37) | function pythonEmitTrace(outDir: string): unknown { function pythonValidate (line 68) | function pythonValidate(input: unknown): { valid: boolean; error?: strin... FILE: ts/tests/control-plane/production-traces/dataset/_helpers/fixtures.ts function baseFactoryInputs (line 19) | function baseFactoryInputs(overrides: { function makeTrace (line 63) | function makeTrace(overrides: Parameters[0] = ... function makeTraceBatch (line 71) | function makeTraceBatch(count: number, extras: { constant MINIMAL_POLICY (line 91) | const MINIMAL_POLICY: LoadedRedactionPolicy = { function traceIdOf (line 107) | function traceIdOf(s: string): ProductionTraceId { FILE: ts/tests/control-plane/production-traces/dataset/pipeline-idempotence.test.ts constant RUBRIC (line 22) | const RUBRIC: Rubric = { rubricId: "default-rubric", dimensions: ["a"] }; function inputsWith (line 24) | function inputsWith(traces: readonly ProductionTrace[], rules: readonly ... function traceBatch (line 52) | function traceBatch(count: number, taskTypes: readonly string[]): Produc... FILE: ts/tests/control-plane/production-traces/dataset/pipeline-redaction.test.ts constant RUBRIC (line 20) | const RUBRIC: Rubric = { rubricId: "r", dimensions: ["a"] }; function baseInputs (line 22) | function baseInputs( FILE: ts/tests/control-plane/production-traces/dataset/pipeline.test.ts function baseInputs (line 15) | function baseInputs(overrides: Partial = {}): BuildD... FILE: ts/tests/control-plane/production-traces/golden/manifests.test.ts constant UPDATE (line 43) | const UPDATE = process.env.UPDATE_GOLDEN === "1"; constant GOLDEN_DIR (line 44) | const GOLDEN_DIR = resolve(__dirname, "datasets"); constant MINIMAL_POLICY (line 49) | const MINIMAL_POLICY: LoadedRedactionPolicy = { constant DEFAULT_RUBRIC_ACCURACY (line 64) | const DEFAULT_RUBRIC_ACCURACY: Rubric = { rubricId: "rubric-accuracy", d... constant DEFAULT_RUBRIC_SAFETY (line 65) | const DEFAULT_RUBRIC_SAFETY: Rubric = { rubricId: "rubric-safety", dimen... constant DEFAULT_RUBRIC_LATENCY (line 66) | const DEFAULT_RUBRIC_LATENCY: Rubric = { rubricId: "rubric-latency", dim... function runWith (line 68) | function runWith(tmp: string, overrides: Partial = {... function splitRule (line 85) | function splitRule(seed: number): SelectionRule { function tracesWithTaskType (line 96) | function tracesWithTaskType(count: number, taskType: string, startIndex ... function tracesWithOutcome (line 112) | function tracesWithOutcome( function assertOrUpdateGolden (line 146) | function assertOrUpdateGolden(scenario: string, manifest: DatasetManifes... function renderDiffPreview (line 176) | function renderDiffPreview(expected: string, actual: string, context: nu... FILE: ts/tests/control-plane/production-traces/ingest/scan-workflow.test.ts constant DATE (line 28) | const DATE = "2026-04-17"; function makeTrace (line 30) | function makeTrace(traceId?: ProductionTraceId): ProductionTrace { function writeBatch (line 56) | function writeBatch(cwd: string, batchId: string, lines: string[]): stri... function snapshotDir (line 316) | function snapshotDir(root: string): Map { FILE: ts/tests/control-plane/production-traces/ingest/validator.test.ts constant FIXTURES (line 6) | const FIXTURES = join(__dirname, "..", "fixtures"); FILE: ts/tests/control-plane/production-traces/integration/_helpers/fixtures.ts function deterministicTraceId (line 70) | function deterministicTraceId(index: number): ProductionTraceId { type TraceOverrides (line 84) | interface TraceOverrides { function aProductionTrace (line 105) | function aProductionTrace(overrides: TraceOverrides = {}): ProductionTra... type SeedTracesOptions (line 139) | interface SeedTracesOptions { function seedTracesInRegistry (line 158) | async function seedTracesInRegistry( type SeedIngestedOptions (line 193) | interface SeedIngestedOptions { function seedIngestedTraces (line 206) | async function seedIngestedTraces( function buildPolicyFile (line 235) | async function buildPolicyFile( function buildRetentionPolicy (line 253) | async function buildRetentionPolicy( function aMockRubricLookup (line 272) | function aMockRubricLookup( function isoOffset (line 282) | function isoOffset(iso: string, addSeconds: number): string { function secondsBetween (line 288) | function secondsBetween(a: string, b: string): number { function isoDate (line 292) | function isoDate(iso: string): string { FILE: ts/tests/control-plane/production-traces/integration/_helpers/python-runner.ts constant TS_TESTS_ROOT (line 19) | const TS_TESTS_ROOT = resolve(__dirname, "..", "..", "..", "..", ".."); constant WORKTREE_ROOT (line 20) | const WORKTREE_ROOT = resolve(TS_TESTS_ROOT, ".."); constant PYTHON_CWD (line 21) | const PYTHON_CWD = resolve(WORKTREE_ROOT, "autocontext"); function isUvAvailable (line 23) | function isUvAvailable(): boolean { type RunPythonScriptResult (line 28) | interface RunPythonScriptResult { function runPythonScript (line 40) | function runPythonScript( type RunPythonEmitOptions (line 60) | interface RunPythonEmitOptions { type RunPythonEmitResult (line 75) | interface RunPythonEmitResult { function runPythonEmit (line 90) | function runPythonEmit(opts: RunPythonEmitOptions): RunPythonEmitResult { FILE: ts/tests/control-plane/production-traces/integration/flow-2-policy-mode-switching.test.ts constant EMAIL (line 32) | const EMAIL = "support+critical@example.com"; function traceWithEmail (line 34) | function traceWithEmail(traceId: ReturnType... FILE: ts/tests/control-plane/production-traces/integration/flow-3-default-on-export.test.ts constant EMAIL (line 30) | const EMAIL = "abuse-report@example.net"; FILE: ts/tests/control-plane/production-traces/integration/flow-4-retention-time-travel.test.ts constant NOW_UTC (line 38) | const NOW_UTC = "2026-04-17T12:00:00.000Z"; function daysAgo (line 40) | function daysAgo(days: number): string { function traceAtOffset (line 46) | function traceAtOffset(index: number, daysOld: number, label?: Productio... FILE: ts/tests/control-plane/production-traces/integration/flow-5-dedupe-under-batch-retry.test.ts function seenIdCount (line 30) | function seenIdCount(cwd: string): number { FILE: ts/tests/control-plane/production-traces/redaction/apply.test.ts function baseInputs (line 18) | function baseInputs() { function traceWith (line 36) | function traceWith(overrides: Partial = {}): Production... function writeBatch (line 62) | function writeBatch(cwd: string, batchId: string, traces: ProductionTrac... FILE: ts/tests/control-plane/production-traces/redaction/mark.test.ts function baseInputs (line 16) | function baseInputs() { function traceWith (line 34) | function traceWith(overrides: Partial = {}): MetricBundle { function mkArtifact (line 36) | function mkArtifact(): Artifact { function mkEvalRun (line 45) | function mkEvalRun(artifact: Artifact, metrics: MetricBundle): EvalRun { FILE: ts/tests/control-plane/promotion/transitions.test.ts function shortestPath (line 153) | function shortestPath(start: ActivationState, goal: ActivationState): Ac... FILE: ts/tests/control-plane/registry/artifact-store-update.test.ts function tempPayload (line 23) | function tempPayload(parent: string): { dir: string; hash: ContentHash } { FILE: ts/tests/control-plane/registry/artifact-store.test.ts function tempPayloadDir (line 32) | function tempPayloadDir(parent: string, files: Record): { FILE: ts/tests/control-plane/registry/eval-run-store.test.ts constant ARTIFACT_ID (line 26) | const ARTIFACT_ID = "01KPEYB3BRQWK2WSHK9E93N6NP" as ArtifactId; function makeRun (line 28) | function makeRun(runId: string): EvalRun { FILE: ts/tests/control-plane/registry/index-cache.test.ts function tempPayload (line 20) | function tempPayload(parent: string, name: string, content: string): { d... function makeAndSave (line 27) | function makeAndSave(registryRoot: string, opts: { scenario: string; tag... FILE: ts/tests/control-plane/registry/open-registry.test.ts function tempPayload (line 33) | function tempPayload(parent: string, content: string): { dir: string; ha... function makeArtifact (line 40) | function makeArtifact(payloadHash: ContentHash, scenario = "grid_ctf"): ... FILE: ts/tests/control-plane/registry/properties.test.ts function tempPayload (line 28) | function tempPayload(parent: string, content: string): { dir: string; ha... FILE: ts/tests/control-plane/registry/repair.test.ts function tempPayload (line 23) | function tempPayload(parent: string, content: string): { dir: string; ha... FILE: ts/tests/control-plane/registry/state-pointer.test.ts constant SCENARIO (line 24) | const SCENARIO = "grid_ctf" as Scenario; constant ENV_TAG (line 25) | const ENV_TAG = "production" as EnvironmentTag; constant ARTIFACT_A (line 26) | const ARTIFACT_A = "01KPEYB3BRQWK2WSHK9E93N6NP" as ArtifactId; constant ARTIFACT_B (line 27) | const ARTIFACT_B = "01KPEYB3BRYCQ6J235VBR7WBY8" as ArtifactId; FILE: ts/tests/control-plane/registry/validate.test.ts function tempPayload (line 27) | function tempPayload(parent: string, content: string): { dir: string; ha... FILE: ts/tests/control-plane/runtime/model-router-cohort.test.ts constant NOW (line 12) | const NOW = "2026-04-17T12:00:00.000Z"; function configWithRollout (line 14) | function configWithRollout(percent: number): ModelRoutingPayload { FILE: ts/tests/control-plane/runtime/model-router-determinism.test.ts constant NOW (line 15) | const NOW = "2026-04-17T12:00:00.000Z"; function toInputs (line 88) | function toInputs(config: unknown, context: unknown): ChooseModelInputs { FILE: ts/tests/control-plane/runtime/model-router.test.ts constant NOW (line 13) | const NOW = "2026-04-17T12:00:00.000Z"; constant DEFAULT_TARGET (line 15) | const DEFAULT_TARGET = { function cfg (line 21) | function cfg(overrides: Partial = {}): ModelRouting... function choose (line 31) | function choose( FILE: ts/tests/control-plane/runtime/trace-integration.test.ts constant NOW (line 23) | const NOW = "2026-04-17T12:00:00.000Z"; constant TS_ROOT (line 24) | const TS_ROOT = resolve(__dirname, "..", "..", ".."); constant WORKTREE_ROOT (line 25) | const WORKTREE_ROOT = resolve(TS_ROOT, ".."); constant PY_CWD (line 26) | const PY_CWD = resolve(WORKTREE_ROOT, "autocontext"); type PythonResult (line 28) | type PythonResult = { valid: boolean; error?: string }; function runPythonValidate (line 30) | function runPythonValidate(input: unknown): PythonResult { function hasUv (line 56) | function hasUv(): boolean { constant UV_AVAILABLE (line 61) | const UV_AVAILABLE = hasUv(); constant ROUTING_CONFIG (line 63) | const ROUTING_CONFIG: ModelRoutingPayload = { function decisionToRoutingField (line 80) | function decisionToRoutingField(decision: { function baseTrace (line 100) | function baseTrace(routing?: ProductionTraceRouting) { FILE: ts/tests/core-control-tools.test.ts function createFakeServer (line 5) | function createFakeServer() { function createProvider (line 28) | function createProvider() { FILE: ts/tests/credential-discovery-workflow.test.ts function makeTempDir (line 15) | function makeTempDir(): string { FILE: ts/tests/credential-models-workflow.test.ts function makeTempDir (line 17) | function makeTempDir(): string { FILE: ts/tests/credential-store-workflow.test.ts function makeTempDir (line 15) | function makeTempDir(): string { FILE: ts/tests/credentials.test.ts function makeTempDir (line 16) | function makeTempDir(): string { FILE: ts/tests/cross-runtime-trace-finding-report.test.ts constant FIXTURE_PATH (line 25) | const FIXTURE_PATH = pathResolve( function loadFixture (line 34) | async function loadFixture(): Promise { FILE: ts/tests/custom-scenarios.test.ts function makeTempDir (line 10) | function makeTempDir(): string { FILE: ts/tests/dashboard-404.test.ts function makeTempDir (line 18) | function makeTempDir(): string { function createTestServer (line 22) | async function createTestServer(dir: string) { FILE: ts/tests/data-plane-curation-workflow.test.ts function makeTraceEntry (line 12) | function makeTraceEntry(opts: { FILE: ts/tests/data-plane-io-workflow.test.ts function makeTraceEntry (line 28) | function makeTraceEntry(id: string, score = 0.9, sourceHarness = "autoco... FILE: ts/tests/data-plane.test.ts function seedTraces (line 33) | function seedTraces(dir: string, count: number, scores?: number[]) { function sampleArtifact (line 69) | function sampleArtifact(id = "trace_sample", allowTraining = true) { FILE: ts/tests/dataset-discovery.test.ts function seedRepoTree (line 30) | function seedRepoTree() { FILE: ts/tests/delegated-judge.test.ts constant CLI (line 16) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant MIGRATIONS_DIR (line 17) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function createToolServer (line 19) | async function createToolServer() { FILE: ts/tests/dimension-pinning.test.ts function makeMockProvider (line 14) | function makeMockProvider(response: string): LLMProvider { constant JUDGE_RESPONSE_WITH_DIMS (line 22) | const JUDGE_RESPONSE_WITH_DIMS = FILE: ts/tests/dimension-threshold.test.ts function makeFakeTask (line 5) | function makeFakeTask( FILE: ts/tests/distillation-curation-workflow.test.ts function makeTraceEntry (line 13) | function makeTraceEntry(opts: { FILE: ts/tests/distillation-io-workflow.test.ts function makeTraceEntry (line 27) | function makeTraceEntry(id: string, score = 0.9): TraceEntry { FILE: ts/tests/distillation-pipeline.test.ts function seedTraces (line 29) | function seedTraces(dir: string, traces: Array<{ FILE: ts/tests/e2e/openai-end-to-end-real-plugin.test.ts constant OPENAI_PYTHON_PLUGIN_PATH (line 45) | const OPENAI_PYTHON_PLUGIN_PATH = resolve( constant OPENAI_TS_PLUGIN_PATH (line 49) | const OPENAI_TS_PLUGIN_PATH = resolve( constant OPENAI_PYTHON_PLUGIN_URL (line 53) | const OPENAI_PYTHON_PLUGIN_URL = pathToFileURL(OPENAI_PYTHON_PLUGIN_PATH... constant OPENAI_TS_PLUGIN_URL (line 54) | const OPENAI_TS_PLUGIN_URL = pathToFileURL(OPENAI_TS_PLUGIN_PATH).href; constant REGISTRY_PATH (line 57) | const REGISTRY_PATH = resolve( constant REGISTRY_URL (line 61) | const REGISTRY_URL = pathToFileURL(REGISTRY_PATH).href; function scratch (line 65) | function scratch(): string { function pythonConfigFileSrc (line 72) | function pythonConfigFileSrc(): string { function tsConfigFileSrc (line 82) | function tsConfigFileSrc(): string { FILE: ts/tests/e2e/openai-end-to-end.test.ts constant FIXTURE_PLUGIN_PATH (line 47) | const FIXTURE_PLUGIN_PATH = resolve( constant FIXTURE_PLUGIN_URL (line 51) | const FIXTURE_PLUGIN_URL = pathToFileURL(FIXTURE_PLUGIN_PATH).href; constant REGISTRY_PATH (line 54) | const REGISTRY_PATH = resolve( constant REGISTRY_URL (line 58) | const REGISTRY_URL = pathToFileURL(REGISTRY_PATH).href; function scratch (line 62) | function scratch(): string { function configFileSrc (line 69) | function configFileSrc(): string { FILE: ts/tests/eaddrinuse.test.ts constant CLI (line 16) | const CLI = join(__dirname, "..", "src", "cli", "index.ts"); function makeTempDir (line 18) | function makeTempDir(): string { function runCli (line 22) | function runCli(args: string[], envOverrides: Record = {... FILE: ts/tests/elo-tournament.test.ts method execute (line 167) | execute(_scenario, strategy, seed, limits) { method run (line 253) | run(_scenario: unknown, payload: Record) { method run (line 302) | run() { FILE: ts/tests/event-stream.test.ts function makeTempDir (line 10) | function makeTempDir(): string { FILE: ts/tests/evidence-workspace.test.ts function makeArtifact (line 39) | function makeArtifact( function makeWorkspace (line 54) | function makeWorkspace( FILE: ts/tests/examples.test.ts constant EXAMPLE (line 5) | const EXAMPLE = join(import.meta.dirname, "..", "examples", "run-repl-se... function runExample (line 7) | function runExample(args: string[]): { stdout: string; stderr: string; e... FILE: ts/tests/execution-validation.test.ts function makeTempDir (line 303) | function makeTempDir(): string { FILE: ts/tests/extensions.test.ts function readStringRecord (line 101) | function readStringRecord(value: unknown): Record { FILE: ts/tests/factual-confidence.test.ts function makeMockProvider (line 8) | function makeMockProvider(response: string): LLMProvider { FILE: ts/tests/family-contract-helpers-workflow.test.ts method describe_scenario (line 13) | describe_scenario() { method describe_environment (line 16) | describe_environment() { method initial_state (line 19) | initial_state() { method get_available_actions (line 22) | get_available_actions() { method execute_action (line 25) | execute_action() { method is_terminal (line 28) | is_terminal() { method evaluate_trace (line 31) | evaluate_trace() { method get_rubric (line 34) | get_rubric() { method get_hidden_preferences (line 37) | get_hidden_preferences() { FILE: ts/tests/family-designer.test.ts type ExampleSpec (line 9) | type ExampleSpec = { constant EXAMPLE_DESCRIPTOR (line 14) | const EXAMPLE_DESCRIPTOR: FamilyDesignerDescriptor = { FILE: ts/tests/feedback-replay-tools.test.ts function createFakeServer (line 11) | function createFakeServer() { FILE: ts/tests/final-parity.test.ts function makeTempDir (line 16) | function makeTempDir(): string { type ToolResult (line 20) | type ToolResult = { content: Array<{ text: string }> }; type RegisteredToolServer (line 22) | type RegisteredToolServer = { function createToolServer (line 34) | async function createToolServer(dir: string): Promise<{ function waitForSolveTerminalState (line 54) | async function waitForSolveTerminalState( FILE: ts/tests/fixtures/autoctx-agent-project/.autoctx/agents/support.ts function supportAgent (line 5) | async function supportAgent( FILE: ts/tests/generation-attempt-orchestrator.test.ts function makeAttempt (line 16) | function makeAttempt( function createStartedAttemptOrchestration (line 38) | function createStartedAttemptOrchestration() { FILE: ts/tests/generation-attempt-state.test.ts function makeAttempt (line 12) | function makeAttempt( FILE: ts/tests/generation-attempt-workflow.test.ts function createStartedWorkflow (line 17) | function createStartedWorkflow() { FILE: ts/tests/generation-cycle-state.test.ts function makeAttempt (line 18) | function makeAttempt( FILE: ts/tests/generation-journal.test.ts function makeTempDir (line 12) | function makeTempDir(): string { function makeScenario (line 16) | function makeScenario(): GenerationJournalScenario { function makeAttempt (line 25) | function makeAttempt(): GenerationJournalAttempt { FILE: ts/tests/generation-lifecycle-workflow.test.ts function makeAttempt (line 21) | function makeAttempt( function createRunOrchestration (line 43) | function createRunOrchestration(): GenerationLoopOrchestration { FILE: ts/tests/generation-loop-orchestrator.test.ts function makeAttempt (line 19) | function makeAttempt( FILE: ts/tests/generation-loop.test.ts function makeTempDir (line 16) | function makeTempDir(): string { class RecordingProvider (line 294) | class RecordingProvider { method defaultModel (line 298) | defaultModel(): string { method complete (line 302) | async complete(opts: { userPrompt: string }): Promise<{ text: string; ... class FixedScoreScenario (line 632) | class FixedScoreScenario { method describeRules (line 635) | describeRules(): string { method describeStrategyInterface (line 639) | describeStrategyInterface(): string { method describeEvaluationCriteria (line 643) | describeEvaluationCriteria(): string { method initialState (line 647) | initialState(seed = 0): Record { method getObservation (line 651) | getObservation(): { narrative: string; state: Record;... method validateActions (line 655) | validateActions( method step (line 663) | step(state: Record): Record { method isTerminal (line 667) | isTerminal(): boolean { method getResult (line 671) | getResult(state: Record) { method replayToNarrative (line 681) | replayToNarrative(replay: Array>): string { method renderFrame (line 685) | renderFrame(state: Record): Record { method enumerateLegalActions (line 689) | enumerateLegalActions(): null { method scoringDimensions (line 693) | scoringDimensions(): null { method executeMatch (line 697) | executeMatch(strategy: Record, _seed: number) { class RetryThenAdvanceProvider (line 708) | class RetryThenAdvanceProvider { method defaultModel (line 712) | defaultModel(): string { method complete (line 716) | async complete(opts: { userPrompt: string }): Promise<{ text: string; ... FILE: ts/tests/generation-phase-state.test.ts function makeAttempt (line 14) | function makeAttempt( FILE: ts/tests/generation-record-store-workflow.test.ts constant MIGRATIONS_DIR (line 33) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/generation-recovery.test.ts function makeTempDir (line 10) | function makeTempDir(): string { FILE: ts/tests/generation-runner-hooks.test.ts function makeRoot (line 8) | function makeRoot(): string { class RecordingProvider (line 25) | class RecordingProvider { method defaultModel (line 29) | defaultModel(): string { method complete (line 33) | async complete(opts: { userPrompt: string }): Promise<{ text: string; ... function readStringRecord (line 156) | function readStringRecord(value: unknown): Record { FILE: ts/tests/generation-trajectory-workflow.test.ts constant MIGRATIONS_DIR (line 17) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/http-api.test.ts function makeTempDir (line 15) | function makeTempDir(): string { function fetchJson (line 19) | async function fetchJson(url: string): Promise<{ status: number; body: u... function postJson (line 25) | async function postJson(url: string, body: Record): Pro... function readStringProperty (line 34) | function readStringProperty(value: unknown, key: string): string { function putJson (line 45) | async function putJson(url: string, body: Record): Prom... function patchJson (line 54) | async function patchJson(url: string, body: Record): Pr... function fetchText (line 63) | async function fetchText(url: string): Promise<{ status: number; body: s... function createTestServer (line 69) | async function createTestServer(dir: string) { function persistRuntimeSession (line 244) | async function persistRuntimeSession(dir: string): Promise { function expectTestRunRuntimeSessionDiscovery (line 267) | function expectTestRunRuntimeSessionDiscovery(value: unknown): void { function persistContextSelectionDecision (line 277) | function persistContextSelectionDecision(dir: string): void { FILE: ts/tests/human-feedback-store-workflow.test.ts constant MIGRATIONS_DIR (line 14) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/human-feedback.test.ts constant MIGRATIONS_DIR (line 7) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function createStore (line 9) | function createStore(): SQLiteStore { FILE: ts/tests/hypothesis-tree.test.ts function seededRng (line 9) | function seededRng(seed: number): () => number { FILE: ts/tests/improvement-loop.test.ts function makeFakeTask (line 9) | function makeFakeTask( FILE: ts/tests/integration-improvement.test.ts constant SCORES (line 12) | const SCORES = [0.55, 0.72, 0.88]; function createImprovingTask (line 14) | function createImprovingTask(): AgentTaskInterface & { evalCount: number... function makeImprovingTask (line 52) | function makeImprovingTask() { FILE: ts/tests/integration/subpath-exports.test.ts constant ROOT (line 23) | const ROOT = resolve(__dirname, "..", ".."); constant PKG_JSON (line 24) | const PKG_JSON = join(ROOT, "package.json"); FILE: ts/tests/integrations/_shared/sink.test.ts function makeDir (line 21) | function makeDir(): string { function makeSink (line 26) | function makeSink(opts: Partial[1... FILE: ts/tests/integrations/anthropic/_helpers/fake-fetch.ts function makeFakeFetch (line 6) | function makeFakeFetch( function cannedMessagesResponse (line 15) | function cannedMessagesResponse( function cannedMessagesResponseWithToolCall (line 31) | function cannedMessagesResponseWithToolCall( function jsonResponse (line 55) | function jsonResponse(body: unknown, status = 200): Response { function errorResponse (line 62) | function errorResponse( function anthropicSseStream (line 76) | function anthropicSseStream(events: Record[]): Response { function cannedAnthropicSseResponse (line 87) | function cannedAnthropicSseResponse( FILE: ts/tests/integrations/anthropic/instrument-client-factory.test.ts function makeSink (line 13) | function makeSink() { FILE: ts/tests/integrations/anthropic/parity/cross-runtime-fixtures.test.ts constant ROOT (line 13) | const ROOT = resolve(__dirname, "../../../.."); constant FIXTURES_DIR (line 14) | const FIXTURES_DIR = join(__dirname, "fixtures"); constant PYTHON_ROOT (line 15) | const PYTHON_ROOT = resolve(ROOT, "..", "autocontext"); constant TS_DRIVER (line 16) | const TS_DRIVER = join(ROOT, "scripts", "drive-anthropic-parity-fixture.... constant PY_DRIVER (line 17) | const PY_DRIVER = join(PYTHON_ROOT, "scripts", "drive_anthropic_parity_f... constant FIXTURES (line 19) | const FIXTURES = [ function runTsDriver (line 31) | function runTsDriver(fixtureName: string): string { function runPyDriver (line 43) | function runPyDriver(fixtureName: string): string { FILE: ts/tests/integrations/anthropic/parity/cross-runtime-parity.property.test.ts function normalizeTrace (line 20) | function normalizeTrace(trace: Record): Record> { method close (line 15) | async close(): Promise { method resolveWebSocketUrl (line 56) | async resolveWebSocketUrl(_config, opts = {}) { FILE: ts/tests/integrations/browser/chrome-cdp-transport.test.ts type ScriptStep (line 10) | type ScriptStep = (request: Record) => Record>) { method send (line 19) | async send(method: string, params: Record = {}): Prom... method close (line 24) | async close(): Promise { FILE: ts/tests/integrations/browser/context-capture.test.ts function buildSessionConfig (line 13) | function buildSessionConfig(): BrowserSessionConfig { function buildAuditEvent (line 28) | function buildAuditEvent(overrides: Partial = {}): Br... function buildSnapshot (line 49) | function buildSnapshot(): BrowserSnapshot { constant SETTINGS (line 63) | const SETTINGS = { FILE: ts/tests/integrations/browser/contract/cross-runtime.test.ts constant TS_ROOT (line 13) | const TS_ROOT = resolve(__dirname, "..", "..", "..", ".."); constant WORKTREE_ROOT (line 14) | const WORKTREE_ROOT = resolve(TS_ROOT, ".."); constant FIXTURES_DIR (line 15) | const FIXTURES_DIR = resolve(__dirname, "..", "fixtures"); constant PY_CWD (line 16) | const PY_CWD = resolve(WORKTREE_ROOT, "autocontext"); type PythonResult (line 18) | type PythonResult = { valid: boolean; error?: string }; type PythonDictResult (line 19) | type PythonDictResult = { valid: boolean; errors: string[] }; function validatorForFixture (line 21) | function validatorForFixture(file: string) { function pythonValidatorNameForFixture (line 29) | function pythonValidatorNameForFixture(file: string): string { function pythonDictValidatorNameForFixture (line 37) | function pythonDictValidatorNameForFixture(file: string): string { function runPythonValidate (line 45) | function runPythonValidate(validatorName: string, input: unknown): Pytho... function runPythonValidateDict (line 77) | function runPythonValidateDict(validatorName: string, input: unknown): P... function hasUv (line 105) | function hasUv(): boolean { FILE: ts/tests/integrations/browser/contract/generated-drift.test.ts constant TS_ROOT (line 6) | const TS_ROOT = resolve(__dirname, "..", "..", "..", ".."); constant GENERATED_PATH (line 7) | const GENERATED_PATH = resolve(TS_ROOT, "src/integrations/browser/contra... constant SCRIPT (line 8) | const SCRIPT = resolve(TS_ROOT, "scripts/generate-browser-contract-types... FILE: ts/tests/integrations/browser/contract/validators.test.ts constant FIXTURES_DIR (line 12) | const FIXTURES_DIR = resolve(__dirname, "..", "fixtures"); function validatorForFixture (line 14) | function validatorForFixture(file: string) { FILE: ts/tests/integrations/openai/_helpers/fake-fetch.ts function makeFakeFetch (line 6) | function makeFakeFetch( function cannedChatCompletion (line 15) | function cannedChatCompletion(overrides: Record = {}): ... function cannedChatCompletionWithToolCall (line 33) | function cannedChatCompletionWithToolCall(overrides: Record): Record = {}): NodeJS.Proces... function mockProvider (line 39) | function mockProvider(responses?: string[]): LLMProvider { FILE: ts/tests/investigation-browser-context.test.ts constant SETTINGS (line 9) | const SETTINGS = { FILE: ts/tests/investigation-generation-workflow.test.ts function mockProvider (line 9) | function mockProvider(responses: string[]): LLMProvider { FILE: ts/tests/judge-executor.test.ts function makeTask (line 5) | function makeTask(overrides?: Partial): AgentTaskInt... FILE: ts/tests/judge-hooks.test.ts function judgeResponse (line 6) | function judgeResponse(score: number, reasoning = "Hooked judge result")... FILE: ts/tests/judge.test.ts function makeMockProvider (line 5) | function makeMockProvider(response: string): LLMProvider { FILE: ts/tests/knowledge-readback-tools.test.ts function createFakeServer (line 8) | function createFakeServer() { function createStoreStub (line 31) | function createStoreStub() { FILE: ts/tests/knowledge-system.test.ts function makeTempDir (line 15) | function makeTempDir(): string { FILE: ts/tests/living-docs.test.ts function writeDoc (line 7) | function writeDoc(root: string, name: string, optedIn = true, content = ... FILE: ts/tests/materialize-execution-workflow.test.ts function createDependencies (line 6) | function createDependencies(): MaterializeScenarioDependencies { FILE: ts/tests/mcp-expanded-surface.test.ts function makeTempDir (line 16) | function makeTempDir(): string { type RegisteredToolServer (line 20) | type RegisteredToolServer = { function createToolServer (line 32) | async function createToolServer(dir: string): Promise<{ FILE: ts/tests/mcp-rightsize.test.ts function makeTempDir (line 21) | function makeTempDir(): string { FILE: ts/tests/mcp-runtime-tools.test.ts function mockClient (line 11) | function mockClient(overrides: Partial = {}): McpR... FILE: ts/tests/mcp-server.test.ts constant MIGRATIONS_DIR (line 9) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function createStore (line 11) | function createStore(): SQLiteStore { function makeMockProvider (line 18) | function makeMockProvider(): LLMProvider { function makeRlmProvider (line 34) | function makeRlmProvider(): LLMProvider { FILE: ts/tests/mission-checkpoints.test.ts function makeTempDir (line 10) | function makeTempDir(): string { FILE: ts/tests/mission-cli.test.ts constant CLI (line 14) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant MIGRATIONS_DIR (line 15) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); constant SANITIZED_KEYS (line 17) | const SANITIZED_KEYS = [ function buildEnv (line 24) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCli (line 30) | function runCli( function makeTempDir (line 43) | function makeTempDir(): string { function setupProjectDir (line 47) | function setupProjectDir(): string { type RegisteredToolServer (line 61) | type RegisteredToolServer = { function createMissionToolServer (line 73) | async function createMissionToolServer(dir: string): Promise<{ FILE: ts/tests/mission-dashboard.test.ts function makeTempDir (line 18) | function makeTempDir(): string { function fetchJson (line 22) | async function fetchJson(url: string, init?: RequestInit): Promise<{ sta... function fetchText (line 28) | async function fetchText(url: string): Promise<{ status: number; body: s... function createMissionDashboardServer (line 34) | async function createMissionDashboardServer(dir: string) { FILE: ts/tests/mission-execution.test.ts function makeTempDir (line 16) | function makeTempDir(): string { FILE: ts/tests/mission-simulation.test.ts function mockProvider (line 21) | function mockProvider(responses?: string[]): LLMProvider { FILE: ts/tests/mission.test.ts function makeTempDir (line 17) | function makeTempDir(): string { FILE: ts/tests/model-resolution.test.ts function makeTempDir (line 16) | function makeTempDir(): string { constant CLI (line 20) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 22) | const SANITIZED_KEYS = [ function buildEnv (line 31) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCli (line 37) | function runCli( FILE: ts/tests/naming-collision.test.ts constant CLI (line 15) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SHIM (line 16) | const SHIM = join(import.meta.dirname, "..", "src", "cli", "autocontext-... function run (line 18) | function run(script: string, args: string[]): { stdout: string; stderr: ... FILE: ts/tests/new-scenario-broader-family-materialization.test.ts type StressCase (line 16) | type StressCase = { type GeneratedScenario (line 26) | type GeneratedScenario = { function loadGeneratedScenario (line 47) | function loadGeneratedScenario(source: string): GeneratedScenario { constant STRESS_CASES (line 56) | const STRESS_CASES: StressCase[] = [ FILE: ts/tests/oauth.test.ts function makeTempDir (line 18) | function makeTempDir(): string { FILE: ts/tests/otel-bridge.test.ts constant SAMPLE_TRACE (line 24) | const SAMPLE_TRACE: PublicTrace = { FILE: ts/tests/package-boundaries.test.ts type TsCoreBoundary (line 79) | type TsCoreBoundary = { type TsControlBoundary (line 88) | type TsControlBoundary = { type TsUmbrellaBoundary (line 95) | type TsUmbrellaBoundary = { type LicensingGuardrails (line 101) | type LicensingGuardrails = { type ProductionTraceSourceClaim (line 128) | type ProductionTraceSourceClaim = { type ProductionTraceOpenRedactionClaim (line 133) | type ProductionTraceOpenRedactionClaim = ProductionTraceSourceClaim & { type ProductionTraceOpenContractClaim (line 137) | type ProductionTraceOpenContractClaim = ProductionTraceSourceClaim & { type ProductionTraceBoundary (line 143) | type ProductionTraceBoundary = { type PackageBoundaries (line 150) | type PackageBoundaries = { type Topology (line 162) | type Topology = { type TsPackageExport (line 173) | type TsPackageExport = { type TsPackageJson (line 178) | type TsPackageJson = { function loadBoundaries (line 188) | function loadBoundaries(): PackageBoundaries { function loadTopology (line 192) | function loadTopology(): Topology { function loadJson (line 198) | function loadJson(path: string): T { function listTypeScriptProgramFiles (line 202) | function listTypeScriptProgramFiles(tsconfigPath: string): string[] { function listProductionTraceCoreClaims (line 215) | function listProductionTraceCoreClaims( function importSpecifiers (line 226) | function importSpecifiers(sourceText: string): string[] { function resolveProductionTraceContractSpecifier (line 232) | function resolveProductionTraceContractSpecifier(specifier: string): str... FILE: ts/tests/package-parity.test.ts constant PACKAGE_ROOT (line 12) | const PACKAGE_ROOT = join(import.meta.dirname, ".."); constant PACKAGE_JSON (line 13) | const PACKAGE_JSON = JSON.parse(readFileSync(join(PACKAGE_ROOT, "package... function ensureBuiltPackage (line 18) | function ensureBuiltPackage(): void { function createConsumerWorkspace (line 29) | function createConsumerWorkspace(): string { function withConsumerWorkspace (line 44) | function withConsumerWorkspace(fn: (workspace: string) => T): T { function runCli (line 54) | function runCli(args: string[]): string { function importPackageExport (line 70) | function importPackageExport(exportName: string): boolean { FILE: ts/tests/package-topology.test.ts type PackageEntry (line 11) | type PackageEntry = { type TsPackageEntry (line 16) | type TsPackageEntry = PackageEntry & { type Topology (line 20) | type Topology = { type PackageBoundaries (line 42) | type PackageBoundaries = { function loadTopology (line 50) | function loadTopology(): Topology { function loadBoundaries (line 54) | function loadBoundaries(): PackageBoundaries { function loadPackageJson (line 58) | function loadPackageJson(relativePath: string): Record { function loadTsConfig (line 62) | function loadTsConfig(relativePath: string): { function expectedBuiltEntry (line 72) | function expectedBuiltEntry( FILE: ts/tests/persisted-credentials-workflow.test.ts function makeTempDir (line 13) | function makeTempDir(): string { FILE: ts/tests/persisted-parametric-scenario.test.ts function makeTempDir (line 10) | function makeTempDir(): string { function writeSavedParametricScenario (line 14) | function writeSavedParametricScenario( FILE: ts/tests/pi-runtime.test.ts class FakeStream (line 17) | class FakeStream extends EventEmitter { method constructor (line 22) | constructor(private readonly onWrite?: () => void) { method setEncoding (line 26) | setEncoding(_encoding: string): void {} method write (line 28) | write(chunk: string): boolean { method end (line 34) | end(): void { method destroy (line 39) | destroy(): void { class InteractiveFakeStream (line 46) | class InteractiveFakeStream extends EventEmitter { method constructor (line 51) | constructor(private readonly onWrite: (chunk: string) => void) { method setEncoding (line 55) | setEncoding(_encoding: string): void {} method write (line 57) | write(chunk: string): boolean { method end (line 63) | end(): void { method destroy (line 68) | destroy(): void { function createFakeSpawnProcess (line 75) | function createFakeSpawnProcess( function createHangingFakeSpawnProcess (line 131) | function createHangingFakeSpawnProcess(pid = 1236): { function createInteractiveFakeSpawnProcess (line 171) | function createInteractiveFakeSpawnProcess(): { function saveAndClear (line 353) | function saveAndClear(): void { FILE: ts/tests/production-traces-tools.test.ts function createFakeServer (line 14) | function createFakeServer() { FILE: ts/tests/production-traces/sdk/build-trace.test.ts function validInputs (line 13) | function validInputs(overrides: Partial = {}): BuildTr... FILE: ts/tests/production-traces/sdk/cross-runtime-fixtures.test.ts constant FIXTURES_DIR (line 23) | const FIXTURES_DIR = resolve(__dirname, "..", "..", "_fixtures", "cross-... function discoverFixtures (line 25) | function discoverFixtures(): string[] { constant FIXTURES (line 39) | const FIXTURES = discoverFixtures(); FILE: ts/tests/production-traces/sdk/trace-batch.test.ts function makeTrace (line 9) | function makeTrace(traceIdSuffix: string) { FILE: ts/tests/production-traces/sdk/validate.test.ts function validTraceDocument (line 13) | function validTraceDocument() { FILE: ts/tests/production-traces/sdk/write-jsonl.test.ts function traceAt (line 10) | function traceAt(startedAt: string, suffix: string) { FILE: ts/tests/production-traces/taxonomy/anthropic-parity.test.ts constant PYTHON_CWD (line 7) | const PYTHON_CWD = join( FILE: ts/tests/production-traces/taxonomy/parity.test.ts constant PYTHON_CWD (line 11) | const PYTHON_CWD = join( FILE: ts/tests/project-config.test.ts function makeTempDir (line 13) | function makeTempDir(): string { FILE: ts/tests/promotion-registry-workflow.test.ts function makeRecord (line 13) | function makeRecord(overrides?: Partial): ModelRecord { FILE: ts/tests/proof-mission.test.ts function makeTempDir (line 15) | function makeTempDir(): string { FILE: ts/tests/provider-config-resolution-workflow.test.ts function saveAndClear (line 7) | function saveAndClear(): void { FILE: ts/tests/provider-routing.test.ts constant PROVIDER_ENV_KEYS (line 14) | const PROVIDER_ENV_KEYS = [ function makeTempDir (line 24) | function makeTempDir(): string { function restoreProviderEnv (line 30) | function restoreProviderEnv(): void { function saveAndClearProviderEnv (line 42) | function saveAndClearProviderEnv(): void { FILE: ts/tests/provider-surface-consistency.test.ts constant EXPECTED_PROVIDER_IDS (line 12) | const EXPECTED_PROVIDER_IDS = [ function readSupportedProvidersFromReadme (line 31) | function readSupportedProvidersFromReadme(): string[] { FILE: ts/tests/providers-registry.test.ts function makeTempDir (line 15) | function makeTempDir(): string { FILE: ts/tests/publishing-connectors.test.ts function sampleArtifact (line 32) | function sampleArtifact(): TraceArtifact { FILE: ts/tests/publishing-workflow.test.ts function sampleArtifact (line 11) | function sampleArtifact(): TraceArtifact { FILE: ts/tests/queued-task-browser-context.test.ts constant SETTINGS (line 8) | const SETTINGS = { FILE: ts/tests/redaction-policy-workflow.test.ts constant API_KEY_DETECTION (line 7) | const API_KEY_DETECTION: Detection = { constant CREDENTIAL_DETECTION (line 16) | const CREDENTIAL_DETECTION: Detection = { FILE: ts/tests/research-consultation.test.ts class StubAdapter (line 12) | class StubAdapter implements ResearchAdapter { method constructor (line 15) | constructor(results?: Map) { method search (line 18) | search(query: ResearchQuery): ResearchResult { function makeResult (line 26) | function makeResult(topic: string, confidence = 0.8, citations: Citation... FILE: ts/tests/research-evaluation.test.ts function brief (line 6) | function brief(n = 1, confidence = 0.8): ResearchBrief { FILE: ts/tests/research-persistence.test.ts function makeBrief (line 9) | function makeBrief(goal = "test", n = 2): ResearchBrief { FILE: ts/tests/research-prompt-wiring.test.ts function brief (line 6) | function brief(n = 2, confidence = 0.8): ResearchBrief { FILE: ts/tests/research-runtime.test.ts class StubAdapter (line 10) | class StubAdapter implements ResearchAdapter { method search (line 12) | search(query: ResearchQuery): ResearchResult { FILE: ts/tests/rlm-agent-task.test.ts function makeProvider (line 5) | function makeProvider(response: string): LLMProvider { FILE: ts/tests/rlm-session.test.ts class MockReplWorker (line 15) | class MockReplWorker implements ReplWorker { method constructor (line 22) | constructor(responses: ReplResult[]) { method runCode (line 26) | runCode(command: ReplCommand): ReplResult { function mockComplete (line 41) | function mockComplete(responses: string[]): LlmComplete { function makeSession (line 50) | function makeSession( FILE: ts/tests/role-provider-bundle-workflow.test.ts function saveAndClear (line 14) | function saveAndClear(): void { FILE: ts/tests/run-command-workflow.test.ts class GridScenario (line 131) | class GridScenario {} class FakeScenario (line 142) | class FakeScenario {} class FakeScenario (line 363) | class FakeScenario {} FILE: ts/tests/run-environment-catalog.test.ts class FakeGameScenario (line 10) | class FakeGameScenario implements ScenarioInterface { method describeRules (line 12) | describeRules(): string { return "Capture the flag rules"; } method describeStrategyInterface (line 13) | describeStrategyInterface(): string { return "Strategy"; } method describeEvaluationCriteria (line 14) | describeEvaluationCriteria(): string { return "Criteria"; } method initialState (line 15) | initialState(): Record { return {}; } method getObservation (line 16) | getObservation() { return { narrative: "obs", state: {}, constraints: ... method validateActions (line 17) | validateActions(): [boolean, string] { return [true, "ok"]; } method step (line 18) | step(): Record { return {}; } method isTerminal (line 19) | isTerminal(): boolean { return true; } method getResult (line 20) | getResult() { method replayToNarrative (line 31) | replayToNarrative(): string { return "narrative"; } method renderFrame (line 32) | renderFrame(): Record { return {}; } method enumerateLegalActions (line 33) | enumerateLegalActions() { return null; } method scoringDimensions (line 34) | scoringDimensions() { return null; } method executeMatch (line 35) | executeMatch() { FILE: ts/tests/run-management-tools.test.ts function createFakeServer (line 10) | function createFakeServer() { class ScenarioStub (line 132) | class ScenarioStub {} FILE: ts/tests/run-manager-provider-session.test.ts function makeSettings (line 7) | function makeSettings(agentProvider = "anthropic"): AppSettings { FILE: ts/tests/run-start-workflow.test.ts function makeSettings (line 18) | function makeSettings(): AppSettings { class FakeScenario (line 98) | class FakeScenario { method describeRules (line 100) | describeRules() { return "Rules"; } method describeStrategyInterface (line 101) | describeStrategyInterface() { return "Strategy"; } method describeEvaluationCriteria (line 102) | describeEvaluationCriteria() { return "Criteria"; } method initialState (line 103) | initialState() { return {}; } method getObservation (line 104) | getObservation() { return { narrative: "obs", state: {}, constraints: ... method validateActions (line 105) | validateActions() { return [true, "ok"] as [boolean, string]; } method step (line 106) | step() { return {}; } method isTerminal (line 107) | isTerminal() { return true; } method getResult (line 108) | getResult() { method replayToNarrative (line 119) | replayToNarrative() { return "narrative"; } method renderFrame (line 120) | renderFrame() { return {}; } method enumerateLegalActions (line 121) | enumerateLegalActions() { return null; } method scoringDimensions (line 122) | scoringDimensions() { return null; } method executeMatch (line 123) | executeMatch() { function readLifecycleEventNames (line 411) | function readLifecycleEventNames(): string[] { function readLifecycleStatuses (line 415) | function readLifecycleStatuses(): string[] { function readLifecycleEvents (line 419) | function readLifecycleEvents(): Array<{ name: string; status: string }> { function isRecord (line 434) | function isRecord(value: unknown): value is Record { FILE: ts/tests/runtime-context-layers.test.ts function writeSkill (line 18) | function writeSkill(root: string, name: string, description: string): st... FILE: ts/tests/runtime-session-agent-runtime.test.ts function createEventStore (line 17) | function createEventStore(): RuntimeSessionEventStore { FILE: ts/tests/runtime-session-api.test.ts function createLog (line 13) | function createLog(sessionId = "run:abc:runtime"): RuntimeSessionEventLog { FILE: ts/tests/runtime-session-command-workflow.test.ts function createLog (line 18) | function createLog(): RuntimeSessionEventLog { FILE: ts/tests/runtime-session-read-model.test.ts function createLog (line 18) | function createLog(sessionId = "run:abc:runtime"): RuntimeSessionEventLog { FILE: ts/tests/runtime-session-tools.test.ts function createFakeServer (line 14) | function createFakeServer() { function createLog (line 37) | function createLog(sessionId = "run:abc:runtime"): RuntimeSessionEventLog { FILE: ts/tests/runtime-session.test.ts function createEventStore (line 16) | function createEventStore(): RuntimeSessionEventStore { class Marker (line 273) | class Marker { method toString (line 274) | toString(): string { class ThrowingToJSON (line 278) | class ThrowingToJSON { method toJSON (line 279) | toJSON(): unknown { method toString (line 283) | toString(): string { FILE: ts/tests/runtimes.test.ts function makeMockProvider (line 6) | function makeMockProvider(text = "mock output"): LLMProvider { FILE: ts/tests/sandbox-manager.test.ts constant PROVIDER_STUB (line 7) | const PROVIDER_STUB = { FILE: ts/tests/sandbox-tools.test.ts function createFakeServer (line 8) | function createFakeServer() { FILE: ts/tests/scenario-catalog-tools.test.ts function createFakeServer (line 5) | function createFakeServer() { class GridCtfScenarioStub (line 28) | class GridCtfScenarioStub { method describeRules (line 29) | describeRules() { method describeStrategyInterface (line 33) | describeStrategyInterface() { method describeEvaluationCriteria (line 37) | describeEvaluationCriteria() { method scoringDimensions (line 41) | scoringDimensions() { class OthelloScenarioStub (line 46) | class OthelloScenarioStub { method describeRules (line 47) | describeRules() { method describeStrategyInterface (line 51) | describeStrategyInterface() { method describeEvaluationCriteria (line 55) | describeEvaluationCriteria() { FILE: ts/tests/scenario-draft-workflow.test.ts function humanizeName (line 10) | function humanizeName(name: string): string { FILE: ts/tests/scenario-execution-tools.test.ts function createFakeServer (line 5) | function createFakeServer() { class ScenarioStub (line 28) | class ScenarioStub { method initialState (line 29) | initialState(seed: number) { method validateActions (line 33) | validateActions( method executeMatch (line 44) | executeMatch(strategy: Record, seed: number) { FILE: ts/tests/scenario-revision-tools.test.ts function createFakeServer (line 5) | function createFakeServer() { FILE: ts/tests/scenario-revision.test.ts function makeTempDir (line 26) | function makeTempDir(): string { FILE: ts/tests/scenario-spec-modes.test.ts constant CLI (line 12) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); function runCli (line 14) | function runCli( function makeTempDir (line 37) | function makeTempDir(): string { function runCliAsync (line 41) | function runCliAsync( FILE: ts/tests/scripts/check-license-compatibility.test.ts constant ROOT (line 7) | const ROOT = resolve(__dirname, "..", ".."); constant SCRIPT (line 8) | const SCRIPT = join(ROOT, "scripts", "check-license-compatibility.mjs"); FILE: ts/tests/scripts/check-no-postinstall-scripts.test.ts constant ROOT (line 7) | const ROOT = resolve(__dirname, "..", ".."); constant SCRIPT (line 8) | const SCRIPT = join(ROOT, "scripts", "check-no-postinstall-scripts.mjs"); FILE: ts/tests/scripts/check-no-telemetry.test.ts constant ROOT (line 7) | const ROOT = resolve(__dirname, "..", ".."); constant SCRIPT (line 8) | const SCRIPT = join(ROOT, "scripts", "check-no-telemetry.mjs"); FILE: ts/tests/scripts/check-production-traces-sdk-bundle-size.test.ts constant ROOT (line 8) | const ROOT = resolve(__dirname, "..", ".."); constant SCRIPT (line 9) | const SCRIPT = join(ROOT, "scripts", "check-production-traces-sdk-bundle... FILE: ts/tests/scripts/check-side-effects.test.ts constant ROOT (line 7) | const ROOT = resolve(__dirname, "..", ".."); constant SCRIPT (line 8) | const SCRIPT = join(ROOT, "scripts", "check-side-effects.mjs"); FILE: ts/tests/server-protocol.test.ts function makeTempDir (line 15) | function makeTempDir(): string { function waitForCondition (line 19) | async function waitForCondition( type BufferedSocket (line 33) | interface BufferedSocket { function openSocket (line 39) | async function openSocket(url: string): Promise { class BrokenScenario (line 369) | class BrokenScenario { FILE: ts/tests/simulate-compare.test.ts constant CLI (line 17) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 18) | const SANITIZED_KEYS = [ function mockProvider (line 25) | function mockProvider(): LLMProvider { function buildEnv (line 44) | function buildEnv(overrides: Record = {}): NodeJS.Proces... FILE: ts/tests/simulate-export.test.ts constant CLI (line 14) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 15) | const SANITIZED_KEYS = [ function mockProvider (line 22) | function mockProvider(): LLMProvider { function buildEnv (line 41) | function buildEnv(overrides: Record = {}): NodeJS.Proces... FILE: ts/tests/simulate-replay.test.ts constant CLI (line 23) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 24) | const SANITIZED_KEYS = [ function mockProvider (line 39) | function mockProvider(): LLMProvider { function buildEnv (line 70) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function writeSimulationFixture (line 76) | function writeSimulationFixture( function seedSensitiveScenarioSource (line 105) | function seedSensitiveScenarioSource(name: string): string { FILE: ts/tests/simulate.test.ts constant CLI (line 23) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 24) | const SANITIZED_KEYS = [ function buildEnv (line 31) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCliAsync (line 37) | function runCliAsync( function mockProvider (line 70) | function mockProvider(responses?: string[]): LLMProvider { FILE: ts/tests/simulation-dashboard.test.ts function writeSimReport (line 30) | function writeSimReport( function createSimulationDashboardServer (line 196) | async function createSimulationDashboardServer(dir: string) { FILE: ts/tests/simulation-family-executor.test.ts method initialState (line 11) | initialState(seed) { method isTerminal (line 14) | isTerminal(state) { method getAvailableActions (line 17) | getAvailableActions(state) { method executeAction (line 22) | executeAction(state, action) { method getResult (line 28) | getResult(_state, context) { method initialState (line 47) | initialState() { method isTerminal (line 50) | isTerminal(state) { method requestClarification (line 53) | requestClarification(state) { method getAvailableActions (line 57) | getAvailableActions() { method executeAction (line 60) | executeAction(state) { method escalate (line 70) | escalate(state, payload) { method getResult (line 74) | getResult(state) { method initialState (line 93) | initialState() { method isTerminal (line 96) | isTerminal(state) { method getAvailableActions (line 99) | getAvailableActions() { method executeAction (line 102) | executeAction(state) { method escalate (line 108) | escalate(state, payload) { method getResult (line 112) | getResult() { method initialState (line 130) | initialState() { method getWorkerContexts (line 133) | getWorkerContexts() { method isTerminal (line 136) | isTerminal(state) { method getAvailableActions (line 139) | getAvailableActions(state) { method recordHandoff (line 142) | recordHandoff(state, fromWorker, toWorker) { method executeAction (line 146) | executeAction(state, action) { method mergeOutputs (line 152) | mergeOutputs(state, payload) { method getResult (line 156) | getResult(_state, context) { FILE: ts/tests/simulation-schema-evolution-simulate.test.ts constant AC277_PROMPT (line 9) | const AC277_PROMPT = function genericZeroMutationSpec (line 15) | function genericZeroMutationSpec(): string { function schemaEvolutionSpec (line 43) | function schemaEvolutionSpec(mutations: unknown[]): string { function providerForSchemaDesigner (line 76) | function providerForSchemaDesigner(text: string): LLMProvider { FILE: ts/tests/simulation-variant-materializer.test.ts function mockProvider (line 14) | function mockProvider(text: string): LLMProvider { FILE: ts/tests/skill-export.test.ts function makeExampleOutputs (line 14) | function makeExampleOutputs() { function makeAgentTaskPackage (line 22) | function makeAgentTaskPackage(overrides?: Partial): Sk... FILE: ts/tests/skill-registry.test.ts function writeSkill (line 7) | function writeSkill(root: string, name: string, description = "A skill")... FILE: ts/tests/smart-defaults.test.ts constant CLI (line 11) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); constant SANITIZED_KEYS (line 13) | const SANITIZED_KEYS = [ function buildEnv (line 20) | function buildEnv(overrides: Record = {}): NodeJS.Proces... function runCli (line 26) | function runCli( function makeTempDir (line 39) | function makeTempDir(): string { FILE: ts/tests/smoke-judge.test.ts function mockProvider (line 12) | function mockProvider(responseText: string): LLMProvider { constant PROMPT (line 20) | const PROMPT = "Write a one-paragraph summary of what autocontext does"; constant OUTPUT (line 21) | const OUTPUT = constant RUBRIC (line 25) | const RUBRIC = function makeResponse (line 28) | function makeResponse( FILE: ts/tests/solve-tools.test.ts function createFakeServer (line 8) | function createFakeServer() { FILE: ts/tests/storage-generation-run-facade.test.ts constant MIGRATIONS_DIR (line 27) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/storage-generation.test.ts function makeTempDir (line 19) | function makeTempDir(): string { function createStore (line 23) | function createStore(dir: string): SQLiteStore { FILE: ts/tests/storage-human-feedback-facade.test.ts constant MIGRATIONS_DIR (line 14) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/storage-migration-workflow.test.ts constant MIGRATIONS_DIR (line 12) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); constant PYTHON_MIGRATIONS_DIR (line 13) | const PYTHON_MIGRATIONS_DIR = join(import.meta.dirname, "..", "..", "aut... function columnNames (line 15) | function columnNames(db: Database.Database, tableName: string): Set = {}): NodeJS.Proces... function runCli (line 30) | function runCli( function makeTempDir (line 43) | function makeTempDir(): string { FILE: ts/tests/task-metrics.test.ts function makeFakeTask (line 5) | function makeFakeTask(scores: number[]): AgentTaskInterface { FILE: ts/tests/task-queue-store-contract.test.ts function makeTask (line 7) | function makeTask(id: string, specName: string): TaskQueueRow { FILE: ts/tests/task-queue-store-workflow.test.ts constant MIGRATIONS_DIR (line 17) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); FILE: ts/tests/task-runner.test.ts constant MIGRATIONS_DIR (line 15) | const MIGRATIONS_DIR = join(import.meta.dirname, "..", "migrations"); function createStore (line 17) | function createStore(): SQLiteStore { function makeMockProvider (line 24) | function makeMockProvider(response = "mock output"): LLMProvider { function makeRlmProvider (line 43) | function makeRlmProvider(opts?: { FILE: ts/tests/trace-export.test.ts function seedRun (line 30) | function seedRun(runId: string, scenario: string) { FILE: ts/tests/trace-findings-command-store.test.ts constant PRODUCTION_TRACE_FIXTURE (line 21) | const PRODUCTION_TRACE_FIXTURE = { FILE: ts/tests/trace-findings-command.test.ts function buildTrace (line 32) | function buildTrace(overrides: Partial = {}): PublicTrace { function writeFixture (line 52) | async function writeFixture(name: string, trace: PublicTrace): Promise = {}): PublicTrace { FILE: ts/tests/trace-findings-weakness.test.ts function trace (line 22) | function trace(overrides: Partial = {}): PublicTrace { FILE: ts/tests/trace-findings.test.ts function tracePart (line 29) | function tracePart(overrides: Partial = {}): PublicTrace { FILE: ts/tests/trace-ingest-workflow.test.ts function sampleArtifact (line 20) | function sampleArtifact(traceId = "trace_test_001"): TraceArtifact { FILE: ts/tests/training-backend-core-workflow.test.ts class StubBackend (line 12) | class StubBackend extends TrainingBackend { method constructor (line 13) | constructor( method isAvailable (line 20) | isAvailable(): boolean { method defaultCheckpointDir (line 24) | defaultCheckpointDir(scenario: string): string { FILE: ts/tests/training-backend.test.ts constant CLI (line 27) | const CLI = join(import.meta.dirname, "..", "src", "cli", "index.ts"); class StubBackend (line 36) | class StubBackend extends TrainingBackend { method constructor (line 37) | constructor( method isAvailable (line 44) | isAvailable(): boolean { method defaultCheckpointDir (line 48) | defaultCheckpointDir(scenario: string): string { function runCli (line 53) | function runCli(args: string[]): { stdout: string; stderr: string; exitC... FILE: ts/tests/training-checkpoint-workflow.test.ts class StubBackend (line 16) | class StubBackend extends TrainingBackend { method constructor (line 17) | constructor(readonly name: string) { method isAvailable (line 21) | isAvailable(): boolean { method defaultCheckpointDir (line 25) | defaultCheckpointDir(scenario: string): string { FILE: ts/tests/training-export.test.ts constant CLI (line 16) | const CLI = join(__dirname, "..", "src", "cli", "index.ts"); function makeTempDir (line 18) | function makeTempDir(): string { function runCli (line 22) | function runCli(args: string[], envOverrides: Record = {... FILE: ts/tests/training-run-execution-workflow.test.ts class StubBackend (line 11) | class StubBackend extends TrainingBackend { method constructor (line 12) | constructor( method isAvailable (line 19) | isAvailable(): boolean { method defaultCheckpointDir (line 23) | defaultCheckpointDir(scenario: string): string { FILE: ts/tests/training-runner-workflow.test.ts class StubBackend (line 22) | class StubBackend extends TrainingBackend { method constructor (line 23) | constructor( method isAvailable (line 30) | isAvailable(): boolean { method defaultCheckpointDir (line 34) | defaultCheckpointDir(scenario: string): string { FILE: ts/tests/tui-auth.test.ts function makeTempDir (line 14) | function makeTempDir(): string { function makeMockManager (line 154) | function makeMockManager() { FILE: ts/tests/tui-command-workflow-router.test.ts function createEffects (line 126) | function createEffects(): TuiInteractiveCommandEffects { function authStatus (line 186) | function authStatus(provider: string) { FILE: ts/tests/type-assertions.test.ts constant SRC_DIR (line 6) | const SRC_DIR = join(__dirname, "..", "src"); function isConstAssertion (line 8) | function isConstAssertion(node: ts.AsExpression): boolean { function countAssertionsInFile (line 16) | function countAssertionsInFile(full: string): number { function countAssertions (line 38) | function countAssertions(dir: string): Map { FILE: ts/tests/websocket-protocol-contract.test.ts type RuntimeOnlyMessage (line 21) | type RuntimeOnlyMessage = { type EventStreamEnvelopeContract (line 26) | type EventStreamEnvelopeContract = { type WebSocketProtocolContract (line 35) | type WebSocketProtocolContract = { constant CONTRACT (line 45) | const CONTRACT = JSON.parse( function runtimeOnlyTypes (line 52) | function runtimeOnlyTypes(items: RuntimeOnlyMessage[]): string[] {