SYMBOL INDEX (327 symbols across 31 files) FILE: .claude/skills/confidence-check/confidence.ts type Context (line 13) | interface Context { function confidenceCheck (line 37) | async function confidenceCheck(context: Context): Promise { function noDuplicates (line 100) | function noDuplicates(context: Context): boolean { function architectureCompliant (line 112) | function architectureCompliant(context: Context): boolean { function hasOfficialDocs (line 122) | function hasOfficialDocs(context: Context): boolean { function hasOssReference (line 141) | function hasOssReference(context: Context): boolean { function rootCauseIdentified (line 153) | function rootCauseIdentified(context: Context): boolean { function getRecommendation (line 163) | function getRecommendation(confidence: number): string { FILE: plugins/superclaude/scripts/clean_command_names.py function find_project_root (line 23) | def find_project_root() -> Path: function clean_name_attributes (line 45) | def clean_name_attributes(content: str) -> Tuple[str, bool]: function process_commands_directory (line 75) | def process_commands_directory(commands_dir: Path) -> int: function main (line 128) | def main() -> int: FILE: plugins/superclaude/skills/confidence-check/confidence.ts type Context (line 24) | interface Context { class ConfidenceChecker (line 53) | class ConfidenceChecker { method assess (line 67) | async assess(context: Context): Promise { method hasOfficialDocs (line 130) | private hasOfficialDocs(context: Context): boolean { method noDuplicates (line 176) | private noDuplicates(context: Context): boolean { method architectureCompliant (line 194) | private architectureCompliant(context: Context): boolean { method hasOssReference (line 212) | private hasOssReference(context: Context): boolean { method rootCauseIdentified (line 230) | private rootCauseIdentified(context: Context): boolean { method hasExistingPatterns (line 246) | private hasExistingPatterns(context: Context): boolean { method hasClearPath (line 278) | private hasClearPath(context: Context): boolean { method getRecommendation (line 303) | getRecommendation(confidence: number): string { function confidenceCheck (line 319) | async function confidenceCheck(context: Context): Promise { function getRecommendation (line 329) | function getRecommendation(confidence: number): string { FILE: scripts/ab_test_workflows.py class ABTestAnalyzer (line 23) | class ABTestAnalyzer: method __init__ (line 26) | def __init__(self, metrics_file: Path): method _load_metrics (line 31) | def _load_metrics(self): method get_variant_metrics (line 42) | def get_variant_metrics(self, workflow_id: str) -> List[Dict]: method extract_metric_values (line 46) | def extract_metric_values(self, metrics: List[Dict], metric: str) -> L... method calculate_statistics (line 58) | def calculate_statistics(self, values: List[float]) -> Dict: method perform_ttest (line 79) | def perform_ttest( method determine_winner (line 96) | def determine_winner( method generate_recommendation (line 144) | def generate_recommendation( method compare_variants (line 169) | def compare_variants( function main (line 261) | def main(): FILE: scripts/analyze_workflow_metrics.py class WorkflowMetricsAnalyzer (line 22) | class WorkflowMetricsAnalyzer: method __init__ (line 25) | def __init__(self, metrics_file: Path): method _load_metrics (line 30) | def _load_metrics(self): method filter_by_period (line 43) | def filter_by_period(self, period: str) -> List[Dict]: method analyze_by_task_type (line 64) | def analyze_by_task_type(self, metrics: List[Dict]) -> Dict: method analyze_by_complexity (line 83) | def analyze_by_complexity(self, metrics: List[Dict]) -> Dict: method analyze_by_workflow (line 101) | def analyze_by_workflow(self, metrics: List[Dict]) -> Dict: method identify_best_workflows (line 120) | def identify_best_workflows(self, metrics: List[Dict]) -> Dict[str, str]: method identify_inefficiencies (line 148) | def identify_inefficiencies(self, metrics: List[Dict]) -> List[Dict]: method calculate_token_savings (line 188) | def calculate_token_savings(self, metrics: List[Dict]) -> Dict: method generate_report (line 216) | def generate_report(self, period: str) -> str: function main (line 297) | def main(): FILE: scripts/build_superclaude_plugin.py function load_metadata (line 21) | def load_metadata() -> dict: function render_template (line 36) | def render_template(template_path: Path, placeholders: dict[str, str]) -... function copy_tree (line 44) | def copy_tree(src: Path, dest: Path) -> None: function main (line 50) | def main() -> None: FILE: scripts/sync_from_framework.py class ProtectionViolationError (line 42) | class ProtectionViolationError(RuntimeError): class SyncResult (line 48) | class SyncResult: method to_dict (line 62) | def to_dict(self) -> dict: class ContentTransformer (line 66) | class ContentTransformer: method transform_command (line 76) | def transform_command(content: str, filename: str) -> str: method transform_agent (line 115) | def transform_agent(content: str, filename: str) -> str: class FileSyncer (line 166) | class FileSyncer: method __init__ (line 169) | def __init__(self, plugin_root: Path, dry_run: bool = False): method _check_git (line 174) | def _check_git(self) -> bool: method sync_directory (line 188) | def sync_directory( method _git_mv (line 265) | def _git_mv(self, old_path: Path, new_path: Path): method copy_directory (line 284) | def copy_directory(self, source_dir: Path, dest_dir: Path) -> int: class PluginJsonGenerator (line 317) | class PluginJsonGenerator: method __init__ (line 320) | def __init__(self, plugin_root: Path): method generate (line 323) | def generate(self, framework_version: str) -> dict: method write (line 373) | def write(self, plugin_json: dict, dry_run: bool = False): class McpMerger (line 390) | class McpMerger: method __init__ (line 393) | def __init__(self, plugin_root: Path): method merge (line 396) | def merge( method backup_current (line 439) | def backup_current(self) -> Optional[Path]: class FrameworkSyncer (line 457) | class FrameworkSyncer: method __init__ (line 503) | def __init__( method sync (line 516) | def sync(self) -> SyncResult: method _hash_file (line 604) | def _hash_file(path: Path) -> str: method _snapshot_protected_files (line 610) | def _snapshot_protected_files(self) -> Dict[str, str]: method _validate_protected_files (line 633) | def _validate_protected_files(self, snapshot: Dict[str, str]) -> None: method _clone_framework (line 665) | def _clone_framework(self) -> Path: method _get_commit_hash (line 686) | def _get_commit_hash(self, repo_path: Path) -> str: method _get_version (line 700) | def _get_version(self, framework_path: Path) -> str: method _create_backup (line 724) | def _create_backup(self): method _sync_content (line 734) | def _sync_content(self, framework_path: Path) -> Dict[str, int]: method _generate_plugin_json (line 788) | def _generate_plugin_json(self, framework_version: str): method _merge_mcp_configs (line 796) | def _merge_mcp_configs(self, framework_path: Path) -> int: method _validate_sync (line 843) | def _validate_sync(self): method _cleanup (line 866) | def _cleanup(self): function main (line 873) | def main(): FILE: skills/confidence-check/confidence.ts type Context (line 24) | interface Context { class ConfidenceChecker (line 53) | class ConfidenceChecker { method assess (line 67) | async assess(context: Context): Promise { method hasOfficialDocs (line 130) | private hasOfficialDocs(context: Context): boolean { method noDuplicates (line 176) | private noDuplicates(context: Context): boolean { method architectureCompliant (line 194) | private architectureCompliant(context: Context): boolean { method hasOssReference (line 212) | private hasOssReference(context: Context): boolean { method rootCauseIdentified (line 230) | private rootCauseIdentified(context: Context): boolean { method hasExistingPatterns (line 246) | private hasExistingPatterns(context: Context): boolean { method hasClearPath (line 278) | private hasClearPath(context: Context): boolean { method getRecommendation (line 303) | getRecommendation(confidence: number): string { function confidenceCheck (line 319) | async function confidenceCheck(context: Context): Promise { function getRecommendation (line 329) | function getRecommendation(confidence: number): string { FILE: src/superclaude/cli/doctor.py function run_doctor (line 11) | def run_doctor(verbose: bool = False) -> Dict[str, Any]: function _check_pytest_plugin (line 41) | def _check_pytest_plugin() -> Dict[str, Any]: function _check_skills_installed (line 88) | def _check_skills_installed() -> Dict[str, Any]: function _check_configuration (line 124) | def _check_configuration() -> Dict[str, Any]: FILE: src/superclaude/cli/install_commands.py function install_commands (line 12) | def install_commands(target_path: Path = None, force: bool = False) -> T... function _get_commands_source (line 92) | def _get_commands_source() -> Path: function list_available_commands (line 125) | def list_available_commands() -> List[str]: function list_installed_commands (line 145) | def list_installed_commands() -> List[str]: FILE: src/superclaude/cli/install_mcp.py function _run_command (line 95) | def _run_command(cmd: List[str], **kwargs) -> subprocess.CompletedProcess: function check_docker_available (line 127) | def check_docker_available() -> bool: function install_airis_gateway (line 138) | def install_airis_gateway(dry_run: bool = False) -> bool: function check_prerequisites (line 394) | def check_prerequisites() -> Tuple[bool, List[str]]: function check_mcp_server_installed (line 441) | def check_mcp_server_installed(server_name: str) -> bool: function prompt_for_api_key (line 463) | def prompt_for_api_key( function install_mcp_server (line 487) | def install_mcp_server( function list_available_servers (line 573) | def list_available_servers(): function install_mcp_servers (line 610) | def install_mcp_servers( FILE: src/superclaude/cli/install_skill.py function install_skill_command (line 12) | def install_skill_command( function _get_skill_source (line 58) | def _get_skill_source(skill_name: str) -> Optional[Path]: function _is_valid_skill_dir (line 99) | def _is_valid_skill_dir(path: Path) -> bool: function list_available_skills (line 115) | def list_available_skills() -> list[str]: FILE: src/superclaude/cli/main.py function main (line 20) | def main(): function install (line 46) | def install(target: str, force: bool, list_only: bool): function mcp (line 106) | def mcp(servers, list_only, scope, dry_run): function update (line 143) | def update(target: str): function install_skill (line 181) | def install_skill(skill_name: str, target: str, force: bool): function doctor (line 214) | def doctor(verbose: bool): function version (line 251) | def version(): FILE: src/superclaude/execution/__init__.py function intelligent_execute (line 41) | def intelligent_execute( function quick_execute (line 194) | def quick_execute(operations: List[Callable]) -> List[Any]: function safe_execute (line 213) | def safe_execute(task: str, operation: Callable, context: Optional[Dict]... FILE: src/superclaude/execution/parallel.py class TaskStatus (line 21) | class TaskStatus(Enum): class Task (line 31) | class Task: method can_execute (line 42) | def can_execute(self, completed_tasks: Set[str]) -> bool: class ParallelGroup (line 48) | class ParallelGroup: method __repr__ (line 55) | def __repr__(self) -> str: class ExecutionPlan (line 60) | class ExecutionPlan: method __repr__ (line 69) | def __repr__(self) -> str: class ParallelExecutor (line 80) | class ParallelExecutor: method __init__ (line 100) | def __init__(self, max_workers: int = 10): method plan (line 103) | def plan(self, tasks: List[Task]) -> ExecutionPlan: method execute (line 169) | def execute(self, plan: ExecutionPlan) -> Dict[str, Any]: method _execute_group (line 204) | def _execute_group(self, group: ParallelGroup) -> Dict[str, Any]: function parallel_file_operations (line 240) | def parallel_file_operations(files: List[str], operation: Callable) -> L... function should_parallelize (line 269) | def should_parallelize(items: List[Any], threshold: int = 3) -> bool: function example_parallel_read (line 281) | def example_parallel_read(): function example_dependent_tasks (line 304) | def example_dependent_tasks(): FILE: src/superclaude/execution/reflection.py class ReflectionResult (line 20) | class ReflectionResult: method __repr__ (line 28) | def __repr__(self) -> str: class ConfidenceScore (line 34) | class ConfidenceScore: method __repr__ (line 50) | def __repr__(self) -> str: class ReflectionEngine (line 60) | class ReflectionEngine: method __init__ (line 75) | def __init__(self, repo_path: Path): method reflect (line 90) | def reflect( method _reflect_clarity (line 156) | def _reflect_clarity( method _reflect_mistakes (line 222) | def _reflect_mistakes( method _reflect_context (line 283) | def _reflect_context( method record_reflection (line 343) | def record_reflection(self, task: str, confidence: ConfidenceScore, de... function get_reflection_engine (line 378) | def get_reflection_engine(repo_path: Optional[Path] = None) -> Reflectio... function reflect_before_execution (line 391) | def reflect_before_execution( FILE: src/superclaude/execution/self_correction.py class RootCause (line 24) | class RootCause: method __repr__ (line 33) | def __repr__(self) -> str: class FailureEntry (line 43) | class FailureEntry: method to_dict (line 56) | def to_dict(self) -> dict: method from_dict (line 63) | def from_dict(cls, data: dict) -> "FailureEntry": class SelfCorrectionEngine (line 70) | class SelfCorrectionEngine: method __init__ (line 82) | def __init__(self, repo_path: Path): method _init_reflexion_memory (line 93) | def _init_reflexion_memory(self): method detect_failure (line 106) | def detect_failure(self, execution_result: Dict[str, Any]) -> bool: method analyze_root_cause (line 115) | def analyze_root_cause(self, task: str, failure: Dict[str, Any]) -> Ro... method _categorize_failure (line 157) | def _categorize_failure(self, error_msg: str, stack_trace: str) -> str: method _find_similar_failures (line 188) | def _find_similar_failures(self, task: str, error_msg: str) -> List[Fa... method _generate_prevention_rule (line 220) | def _generate_prevention_rule( method _generate_validation_tests (line 242) | def _generate_validation_tests(self, category: str, error_msg: str) ->... method learn_and_prevent (line 275) | def learn_and_prevent( method get_prevention_rules (line 343) | def get_prevention_rules(self) -> List[str]: method check_against_past_mistakes (line 355) | def check_against_past_mistakes(self, task: str) -> List[FailureEntry]: function get_self_correction_engine (line 391) | def get_self_correction_engine( function learn_from_failure (line 406) | def learn_from_failure( FILE: src/superclaude/pm_agent/confidence.py class ConfidenceChecker (line 26) | class ConfidenceChecker: method assess (line 42) | def assess(self, context: Dict[str, Any]) -> float: method _has_official_docs (line 102) | def _has_official_docs(self, context: Dict[str, Any]) -> bool: method _no_duplicates (line 133) | def _no_duplicates(self, context: Dict[str, Any]) -> bool: method _architecture_compliant (line 151) | def _architecture_compliant(self, context: Dict[str, Any]) -> bool: method _has_oss_reference (line 169) | def _has_oss_reference(self, context: Dict[str, Any]) -> bool: method _root_cause_identified (line 187) | def _root_cause_identified(self, context: Dict[str, Any]) -> bool: method _has_existing_patterns (line 205) | def _has_existing_patterns(self, context: Dict[str, Any]) -> bool: method _has_clear_path (line 228) | def _has_clear_path(self, context: Dict[str, Any]) -> bool: method get_recommendation (line 257) | def get_recommendation(self, confidence: float) -> str: FILE: src/superclaude/pm_agent/reflexion.py class ReflexionPattern (line 32) | class ReflexionPattern: method __init__ (line 56) | def __init__(self, memory_dir: Optional[Path] = None): method get_solution (line 76) | def get_solution(self, error_info: Dict[str, Any]) -> Optional[Dict[st... method record_error (line 102) | def record_error(self, error_info: Dict[str, Any]) -> None: method _create_error_signature (line 130) | def _create_error_signature(self, error_info: Dict[str, Any]) -> str: method _search_mindbase (line 164) | def _search_mindbase(self, error_signature: str) -> Optional[Dict[str,... method _search_local_files (line 178) | def _search_local_files(self, error_signature: str) -> Optional[Dict[s... method _signatures_match (line 213) | def _signatures_match(self, sig1: str, sig2: str, threshold: float = 0... method _create_mistake_doc (line 238) | def _create_mistake_doc(self, error_info: Dict[str, Any]) -> None: method get_statistics (line 310) | def get_statistics(self) -> Dict[str, Any]: FILE: src/superclaude/pm_agent/self_check.py class SelfCheckProtocol (line 19) | class SelfCheckProtocol: method validate (line 64) | def validate(self, implementation: Dict[str, Any]) -> Tuple[bool, List... method _check_tests_passing (line 109) | def _check_tests_passing(self, impl: Dict[str, Any]) -> bool: method _check_requirements_met (line 129) | def _check_requirements_met(self, impl: Dict[str, Any]) -> List[str]: method _check_assumptions_verified (line 146) | def _check_assumptions_verified(self, impl: Dict[str, Any]) -> List[str]: method _check_evidence_exists (line 163) | def _check_evidence_exists(self, impl: Dict[str, Any]) -> List[str]: method _detect_hallucinations (line 187) | def _detect_hallucinations(self, impl: Dict[str, Any]) -> List[str]: method format_report (line 231) | def format_report(self, passed: bool, issues: List[str]) -> str: FILE: src/superclaude/pm_agent/token_budget.py class TokenBudgetManager (line 17) | class TokenBudgetManager: method __init__ (line 33) | def __init__(self, complexity: ComplexityLevel = "medium"): method allocate (line 48) | def allocate(self, amount: int) -> bool: method use (line 63) | def use(self, amount: int) -> bool: method remaining (line 72) | def remaining(self) -> int: method remaining_tokens (line 76) | def remaining_tokens(self) -> int: method reset (line 80) | def reset(self) -> None: method __repr__ (line 84) | def __repr__(self) -> str: FILE: src/superclaude/pytest_plugin.py function pytest_configure (line 20) | def pytest_configure(config): function confidence_checker (line 46) | def confidence_checker(): function self_check_protocol (line 59) | def self_check_protocol(): function reflexion_pattern (line 72) | def reflexion_pattern(): function token_budget (line 85) | def token_budget(request): function pm_context (line 106) | def pm_context(tmp_path): function pytest_runtest_setup (line 136) | def pytest_runtest_setup(item): function pytest_runtest_makereport (line 160) | def pytest_runtest_makereport(item, call): function pytest_report_header (line 187) | def pytest_report_header(config): function pytest_collection_modifyitems (line 194) | def pytest_collection_modifyitems(config, items): FILE: src/superclaude/scripts/clean_command_names.py function find_project_root (line 23) | def find_project_root() -> Path: function clean_name_attributes (line 45) | def clean_name_attributes(content: str) -> Tuple[str, bool]: function process_commands_directory (line 75) | def process_commands_directory(commands_dir: Path) -> int: function main (line 128) | def main() -> int: FILE: src/superclaude/skills/confidence-check/confidence.ts type Context (line 24) | interface Context { class ConfidenceChecker (line 53) | class ConfidenceChecker { method assess (line 67) | async assess(context: Context): Promise { method hasOfficialDocs (line 130) | private hasOfficialDocs(context: Context): boolean { method noDuplicates (line 168) | private noDuplicates(context: Context): boolean { method architectureCompliant (line 182) | private architectureCompliant(context: Context): boolean { method hasOssReference (line 196) | private hasOssReference(context: Context): boolean { method rootCauseIdentified (line 210) | private rootCauseIdentified(context: Context): boolean { method hasExistingPatterns (line 222) | private hasExistingPatterns(context: Context): boolean { method hasClearPath (line 253) | private hasClearPath(context: Context): boolean { method getRecommendation (line 276) | getRecommendation(confidence: number): string { function confidenceCheck (line 292) | async function confidenceCheck(context: Context): Promise { function getRecommendation (line 302) | function getRecommendation(confidence: number): string { FILE: tests/conftest.py function sample_context (line 12) | def sample_context(): function low_confidence_context (line 32) | def low_confidence_context(): function sample_implementation (line 52) | def sample_implementation(): function failing_implementation (line 76) | def failing_implementation(): function temp_memory_dir (line 97) | def temp_memory_dir(tmp_path): FILE: tests/integration/test_pytest_plugin.py class TestPytestPluginIntegration (line 10) | class TestPytestPluginIntegration: method test_confidence_checker_fixture_available (line 13) | def test_confidence_checker_fixture_available(self, confidence_checker): method test_self_check_protocol_fixture_available (line 19) | def test_self_check_protocol_fixture_available(self, self_check_protoc... method test_reflexion_pattern_fixture_available (line 25) | def test_reflexion_pattern_fixture_available(self, reflexion_pattern): method test_token_budget_fixture_available (line 31) | def test_token_budget_fixture_available(self, token_budget): method test_pm_context_fixture_available (line 37) | def test_pm_context_fixture_available(self, pm_context): method test_all_fixtures_work_together (line 45) | def test_all_fixtures_work_together( method test_pytest_markers_registered (line 92) | def test_pytest_markers_registered(self): class TestPytestPluginHooks (line 101) | class TestPytestPluginHooks: method test_plugin_loaded (line 104) | def test_plugin_loaded(self): method test_auto_markers_applied (line 110) | def test_auto_markers_applied(self, request): function test_integration_marker_works (line 124) | def test_integration_marker_works(): function test_pm_context_memory_structure (line 133) | def test_pm_context_memory_structure(pm_context): FILE: tests/unit/test_cli_install.py class TestInstallCommands (line 14) | class TestInstallCommands: method test_list_available_commands (line 17) | def test_list_available_commands(self): method test_install_commands_to_temp_dir (line 26) | def test_install_commands_to_temp_dir(self, tmp_path): method test_install_commands_skip_existing (line 44) | def test_install_commands_skip_existing(self, tmp_path): method test_install_commands_force_reinstall (line 57) | def test_install_commands_force_reinstall(self, tmp_path): method test_list_installed_commands (line 80) | def test_list_installed_commands(self, tmp_path): method test_install_commands_creates_target_directory (line 97) | def test_install_commands_creates_target_directory(self, tmp_path): method test_available_commands_format (line 108) | def test_available_commands_format(self): method test_research_command_exists (line 121) | def test_research_command_exists(self, tmp_path): method test_all_expected_commands_available (line 134) | def test_all_expected_commands_available(self): class TestInstallCommandsEdgeCases (line 146) | class TestInstallCommandsEdgeCases: method test_install_to_nonexistent_parent (line 149) | def test_install_to_nonexistent_parent(self, tmp_path): method test_empty_target_directory_ok (line 158) | def test_empty_target_directory_ok(self, tmp_path): function test_cli_integration (line 168) | def test_cli_integration(): FILE: tests/unit/test_confidence.py class TestConfidenceChecker (line 12) | class TestConfidenceChecker: method test_high_confidence_scenario (line 15) | def test_high_confidence_scenario(self, sample_context): method test_low_confidence_scenario (line 33) | def test_low_confidence_scenario(self, low_confidence_context): method test_medium_confidence_scenario (line 45) | def test_medium_confidence_scenario(self): method test_confidence_checks_recorded (line 68) | def test_confidence_checks_recorded(self, sample_context): method test_get_recommendation_high (line 81) | def test_get_recommendation_high(self): method test_get_recommendation_medium (line 89) | def test_get_recommendation_medium(self): method test_get_recommendation_low (line 97) | def test_get_recommendation_low(self): method test_has_official_docs_with_flag (line 105) | def test_has_official_docs_with_flag(self): method test_no_duplicates_check (line 114) | def test_no_duplicates_check(self): method test_architecture_compliance_check (line 126) | def test_architecture_compliance_check(self): method test_oss_reference_check (line 138) | def test_oss_reference_check(self): method test_root_cause_check (line 150) | def test_root_cause_check(self): function test_confidence_check_marker_integration (line 164) | def test_confidence_check_marker_integration(confidence_checker): FILE: tests/unit/test_reflexion.py class TestReflexionPattern (line 12) | class TestReflexionPattern: method test_initialization (line 15) | def test_initialization(self): method test_record_error_basic (line 23) | def test_record_error_basic(self): method test_record_error_with_solution (line 37) | def test_record_error_with_solution(self): method test_get_solution_for_known_error (line 50) | def test_get_solution_for_known_error(self): method test_error_pattern_matching (line 71) | def test_error_pattern_matching(self): method test_reflexion_memory_persistence (line 98) | def test_reflexion_memory_persistence(self, temp_memory_dir): method test_error_learning_across_sessions (line 111) | def test_error_learning_across_sessions(self): function test_reflexion_marker_integration (line 139) | def test_reflexion_marker_integration(reflexion_pattern): function test_reflexion_with_real_exception (line 159) | def test_reflexion_with_real_exception(): FILE: tests/unit/test_self_check.py class TestSelfCheckProtocol (line 12) | class TestSelfCheckProtocol: method test_validate_passing_implementation (line 15) | def test_validate_passing_implementation(self, sample_implementation): method test_validate_failing_implementation (line 31) | def test_validate_failing_implementation(self, failing_implementation): method test_check_tests_passing_with_output (line 47) | def test_check_tests_passing_with_output(self): method test_check_requirements_met (line 65) | def test_check_requirements_met(self): method test_check_assumptions_verified (line 86) | def test_check_assumptions_verified(self): method test_check_evidence_exists (line 107) | def test_check_evidence_exists(self): method test_detect_hallucinations_tests_without_output (line 130) | def test_detect_hallucinations_tests_without_output(self): method test_detect_hallucinations_complete_without_evidence (line 144) | def test_detect_hallucinations_complete_without_evidence(self): method test_detect_hallucinations_complete_with_failing_tests (line 158) | def test_detect_hallucinations_complete_with_failing_tests(self): method test_detect_hallucinations_ignored_errors (line 172) | def test_detect_hallucinations_ignored_errors(self): method test_detect_hallucinations_uncertainty_language (line 187) | def test_detect_hallucinations_uncertainty_language(self): method test_format_report_passing (line 200) | def test_format_report_passing(self): method test_format_report_failing (line 209) | def test_format_report_failing(self): function test_self_check_marker_integration (line 227) | def test_self_check_marker_integration(self_check_protocol, sample_imple... FILE: tests/unit/test_token_budget.py class TestTokenBudgetManager (line 12) | class TestTokenBudgetManager: method test_simple_complexity (line 15) | def test_simple_complexity(self): method test_medium_complexity (line 22) | def test_medium_complexity(self): method test_complex_complexity (line 29) | def test_complex_complexity(self): method test_default_complexity (line 36) | def test_default_complexity(self): method test_invalid_complexity_defaults_to_medium (line 43) | def test_invalid_complexity_defaults_to_medium(self): method test_token_usage_tracking (line 50) | def test_token_usage_tracking(self): method test_budget_allocation_strategy (line 61) | def test_budget_allocation_strategy(self): method test_complexity_examples (line 74) | def test_complexity_examples(self): function test_complexity_marker_simple (line 90) | def test_complexity_marker_simple(token_budget): function test_complexity_marker_medium (line 101) | def test_complexity_marker_medium(token_budget): function test_complexity_marker_complex (line 112) | def test_complexity_marker_complex(token_budget): function test_token_budget_no_marker (line 122) | def test_token_budget_no_marker(token_budget):