src/bijux_cli/__main__.py F 324:0 main - C (18) F 248:0 _strip_format_help - B (6) F 99:0 _filtered_echo - A (5) F 139:0 disable_cli_colors_for_test - A (5) F 277:0 check_missing_format_argument - A (5) F 169:0 should_record_command_history - A (3) F 202:0 print_json_error - A (3) F 220:0 get_usage_for_args - A (3) F 296:0 setup_structlog - A (3) C 58:0 _FilteredStderr - A (3) M 61:4 _FilteredStderr.write - A (3) F 190:0 is_quiet_mode - A (2) M 79:4 _FilteredStderr.flush - A (2) M 84:4 _FilteredStderr.__getattr__ - A (1) src/bijux_cli/api.py M 233:4 BijuxAPI.run_async - C (13) M 360:4 BijuxAPI._await_maybe - B (10) C 53:0 BijuxAPI - B (7) M 86:4 BijuxAPI._schedule_event - A (5) M 168:4 BijuxAPI.run_sync - A (5) M 311:4 BijuxAPI.load_plugin - A (4) M 109:4 BijuxAPI.register - A (3) F 42:0 _consume_task - A (1) M 68:4 BijuxAPI.__init__ - A (1) src/bijux_cli/httpapi.py M 267:4 InMemoryItemStore.update - A (5) F 430:0 require_accept_json - A (3) C 71:0 ItemIn - A (3) C 176:0 InMemoryItemStore - A (3) F 576:0 create_item - A (2) M 97:4 ItemIn.validate_and_normalize_name - A (2) C 140:0 ItemStoreProtocol - A (2) M 207:4 InMemoryItemStore.get - A (2) M 234:4 InMemoryItemStore.create - A (2) M 318:4 InMemoryItemStore.delete - A (2) M 348:4 InMemoryItemStore.prepopulate - A (2) M 359:4 InMemoryItemStore.find_by_name - A (2) F 367:0 get_store - A (1) F 372:0 get_item_or_404 - A (1) F 380:0 reject_duplicate_query_params - A (1) F 451:0 allow_only - A (1) F 513:0 list_items - A (1) F 541:0 get_item - A (1) F 611:0 update_item - A (1) F 650:0 delete_item - A (1) F 674:0 lifespan - A (1) F 710:0 health - A (1) F 716:0 validation_exception_handler - A (1) F 745:0 http_exception_handler - A (1) C 50:0 Problem - A (1) C 115:0 Item - A (1) C 127:0 ItemListResponse - A (1) M 143:4 ItemStoreProtocol.list_items - A (1) M 147:4 ItemStoreProtocol.get - A (1) M 151:4 ItemStoreProtocol.create - A (1) M 155:4 ItemStoreProtocol.update - A (1) M 159:4 ItemStoreProtocol.delete - A (1) M 163:4 ItemStoreProtocol.reset - A (1) M 167:4 ItemStoreProtocol.prepopulate - A (1) M 171:4 ItemStoreProtocol.find_by_name - A (1) M 186:4 InMemoryItemStore.__init__ - A (1) M 193:4 InMemoryItemStore.list_items - A (1) M 340:4 InMemoryItemStore.reset - A (1) src/bijux_cli/cli.py F 23:0 maybe_default_to_repl - A (2) F 40:0 build_app - A (1) src/bijux_cli/__init__.py F 24:0 entry_point - A (3) src/bijux_cli/core/context.py M 77:4 Context.get - B (6) C 32:0 Context - A (4) M 120:4 Context.__exit__ - A (4) M 152:4 Context.__aexit__ - A (4) M 47:4 Context.__init__ - A (3) M 61:4 Context.set - A (3) M 101:4 Context.clear - A (3) M 107:4 Context.__enter__ - A (3) M 139:4 Context.__aenter__ - A (3) M 172:4 Context.current_data - A (2) M 188:4 Context.set_current_data - A (1) M 201:4 Context.use_context - A (1) src/bijux_cli/core/exceptions.py C 16:0 BijuxError - A (3) C 44:0 ServiceError - A (3) C 71:0 CommandError - A (3) C 98:0 ConfigError - A (3) C 122:0 ValidationError - A (3) C 149:0 CliTimeoutError - A (3) M 31:4 BijuxError.__init__ - A (2) M 56:4 ServiceError.__init__ - A (2) M 83:4 CommandError.__init__ - A (2) M 107:4 ConfigError.__init__ - A (2) M 134:4 ValidationError.__init__ - A (2) M 162:4 CliTimeoutError.__init__ - A (2) src/bijux_cli/core/enums.py C 17:0 OutputFormat - A (5) M 28:4 OutputFormat._missing_ - A (4) src/bijux_cli/core/di.py M 262:4 DIContainer._resolve_common - E (31) M 186:4 DIContainer.register - C (13) M 579:4 DIContainer.shutdown - B (10) M 677:4 DIContainer._log_static - B (8) C 76:0 DIContainer - B (6) M 646:4 DIContainer._log - B (6) M 497:4 DIContainer.unregister - A (4) M 524:4 DIContainer.override - A (4) F 44:0 _key_name - A (3) M 118:4 DIContainer.reset - A (3) M 143:4 DIContainer.reset_async - A (3) M 714:4 DIContainer._reset_for_tests - A (3) C 61:0 AppConfigModule - A (2) M 103:4 DIContainer.current - A (2) M 162:4 DIContainer.__new__ - A (2) M 169:4 DIContainer.__init__ - A (2) M 473:4 DIContainer.resolve_async - A (2) M 64:4 AppConfigModule.configure - A (1) M 245:4 DIContainer._resolve_common - A (1) M 251:4 DIContainer._resolve_common - A (1) M 257:4 DIContainer._resolve_common - A (1) M 453:4 DIContainer.resolve - A (1) M 626:4 DIContainer.services - A (1) M 636:4 DIContainer.factories - A (1) src/bijux_cli/core/engine.py M 138:4 Engine._register_plugins - B (7) C 38:0 Engine - A (4) M 81:4 Engine.run_command - A (4) M 173:4 Engine._timeout - A (4) M 49:4 Engine.__init__ - A (2) M 120:4 Engine.shutdown - A (2) M 113:4 Engine.run_repl - A (1) M 194:4 Engine.di - A (1) src/bijux_cli/commands/help.py F 247:0 help_callback - E (31) F 148:0 _find_target_command - B (7) F 108:4 _filtered_echo - B (6) F 181:0 _get_formatted_help - A (5) M 72:8 _FilteredStderr.write - A (4) C 69:4 _FilteredStderr - A (3) F 205:0 _build_help_payload - A (2) M 91:8 _FilteredStderr.flush - A (1) M 95:8 _FilteredStderr.__getattr__ - A (1) src/bijux_cli/commands/version.py F 60:0 _build_payload - B (7) F 103:0 version - A (2) src/bijux_cli/commands/docs.py F 142:0 docs - C (20) F 77:0 _resolve_output_target - A (4) F 104:0 _build_spec_payload - A (2) F 64:0 _default_output_path - A (1) src/bijux_cli/commands/utilities.py F 415:0 parse_global_flags - C (17) F 279:0 emit_and_exit - C (14) F 95:0 contains_non_ascii_env - B (9) F 358:0 emit_error_and_exit - B (9) F 179:0 validate_env_file_if_present - B (8) F 514:0 list_installed_plugins - B (8) F 204:0 new_run_command - B (6) F 62:0 ascii_safe - A (5) F 127:0 validate_common_flags - A (5) F 554:0 handle_list_plugins - A (3) F 83:0 normalize_format - A (2) src/bijux_cli/commands/doctor.py F 57:0 _build_payload - B (7) F 100:0 doctor - A (5) src/bijux_cli/commands/repl.py M 438:4 CommandCompleter.get_completions - E (33) F 241:0 _run_piped - D (30) F 183:0 _invoke - C (19) F 517:0 _run_interactive - C (14) C 381:0 CommandCompleter - C (11) F 637:0 main - B (9) F 110:0 _split_segments - A (4) F 130:0 _known_commands - A (4) M 395:4 CommandCompleter._collect - A (4) F 166:0 _suggest - A (3) F 355:0 get_prompt - A (3) M 419:4 CommandCompleter._find - A (3) F 79:0 _filter_control - A (1) F 100:0 _exit_on_signal - A (1) M 384:4 CommandCompleter.__init__ - A (1) src/bijux_cli/commands/sleep.py F 78:0 sleep - A (4) F 58:0 _build_payload - A (2) src/bijux_cli/commands/status.py F 82:0 _run_watch_mode - C (12) F 207:0 status - A (5) F 64:0 _build_payload - A (2) src/bijux_cli/commands/audit.py F 140:0 audit - C (20) F 76:0 _build_payload - A (3) F 95:0 _write_output_file - A (3) src/bijux_cli/commands/__init__.py F 77:0 register_dynamic_plugins - C (14) F 61:0 register_commands - A (2) F 155:0 list_registered_command_names - A (1) src/bijux_cli/commands/memory/delete.py F 62:0 delete_memory - B (7) F 44:0 _build_payload - A (2) src/bijux_cli/commands/memory/service.py F 200:0 memory - B (8) F 144:0 memory_summary - A (4) F 73:0 _run_one_shot_mode - A (3) F 48:0 _build_payload - A (2) src/bijux_cli/commands/memory/list.py F 43:0 _build_payload - A (2) F 61:0 list_memory - A (2) src/bijux_cli/commands/memory/clear.py F 43:0 _build_payload - A (2) F 60:0 clear_memory - A (2) src/bijux_cli/commands/memory/utils.py F 20:0 resolve_memory_service - A (2) src/bijux_cli/commands/memory/get.py F 64:0 get_memory - B (7) F 45:0 _build_payload - A (2) src/bijux_cli/commands/memory/set.py F 63:0 set_memory - B (6) F 44:0 _build_payload - A (2) src/bijux_cli/commands/config/service.py F 39:0 config - A (2) src/bijux_cli/commands/config/clear.py F 44:0 clear_config - A (2) src/bijux_cli/commands/config/export.py F 47:0 export_config - A (4) src/bijux_cli/commands/config/get.py F 45:0 get_config - A (3) src/bijux_cli/commands/config/unset.py F 44:0 unset_config - A (3) src/bijux_cli/commands/config/load.py F 44:0 load_config - A (2) src/bijux_cli/commands/config/list_cmd.py F 44:0 list_config - A (2) src/bijux_cli/commands/config/set.py F 52:0 set_config - D (21) src/bijux_cli/commands/config/reload.py F 44:0 reload_config - A (2) src/bijux_cli/commands/config/__init__.py F 67:0 import_config - A (1) src/bijux_cli/commands/history/service.py F 94:0 history - D (29) F 60:0 resolve_history_service - A (2) src/bijux_cli/commands/history/clear.py F 80:0 clear_history - A (3) F 46:0 resolve_history_service - A (2) src/bijux_cli/commands/dev/service.py F 46:0 dev - B (7) src/bijux_cli/commands/dev/list_plugins.py F 36:0 dev_list_plugins - A (1) src/bijux_cli/commands/dev/di.py F 107:0 dev_di_graph - D (24) F 78:0 _build_dev_di_payload - A (4) F 63:0 _key_to_name - A (3) src/bijux_cli/commands/plugins/list.py F 40:0 list_plugin - A (1) src/bijux_cli/commands/plugins/scaffold.py F 48:0 scaffold_plugin - D (28) src/bijux_cli/commands/plugins/install.py F 58:0 install_plugin - D (23) src/bijux_cli/commands/plugins/utils.py F 56:0 parse_required_cli_version - C (20) F 25:0 ignore_hidden_and_broken_symlinks - B (6) F 117:0 refuse_on_symlink - A (2) src/bijux_cli/commands/plugins/check.py F 56:0 check_plugin - C (13) src/bijux_cli/commands/plugins/uninstall.py F 50:0 uninstall_plugin - C (11) src/bijux_cli/commands/plugins/info.py F 48:0 info_plugin - B (6) F 126:0 _build_payload - A (2) src/bijux_cli/services/docs.py C 27:0 Docs - A (4) M 47:4 Docs.__init__ - A (4) M 71:4 Docs.render - A (4) M 121:4 Docs.write_sync - A (4) M 99:4 Docs.write - A (1) M 165:4 Docs.close - A (1) src/bijux_cli/services/utils.py F 19:0 validate_command - B (9) src/bijux_cli/services/doctor.py C 16:0 Doctor - A (2) M 24:4 Doctor.check_health - A (1) src/bijux_cli/services/memory.py C 25:0 Memory - A (2) M 37:4 Memory.__init__ - A (2) M 47:4 Memory.get - A (2) M 81:4 Memory.delete - A (2) M 64:4 Memory.set - A (1) M 98:4 Memory.clear - A (1) M 107:4 Memory.keys - A (1) M 118:4 Memory._persist - A (1) src/bijux_cli/services/history.py M 364:4 History.list - C (18) M 476:4 History.import_ - B (9) M 232:4 History._reload - B (8) M 300:4 History.add - B (8) C 166:0 History - B (6) F 73:0 _ascii_clean - A (5) M 209:4 History._get_history_path - A (4) M 271:4 History._dump - A (4) F 135:0 _atomic_write_json - A (3) F 100:0 _interprocess_lock - A (2) F 129:0 _maybe_simulate_disk_full - A (2) M 189:4 History.__init__ - A (2) M 428:4 History.clear - A (2) M 456:4 History.export - A (2) F 64:0 _now - A (1) F 87:0 _lock_file_for - A (1) M 287:4 History._handle_dump_error - A (1) M 452:4 History.flush - A (1) src/bijux_cli/services/audit.py M 187:4 RealAudit.run - A (3) F 241:0 get_audit_service - A (2) C 28:0 _BaseAudit - A (2) C 111:0 DryRunAudit - A (2) C 160:0 RealAudit - A (2) M 42:4 _BaseAudit.__init__ - A (1) M 53:4 _BaseAudit.shutdown - A (1) M 60:4 _BaseAudit.log - A (1) M 72:4 _BaseAudit.run - A (1) M 88:4 _BaseAudit.get_commands - A (1) M 97:4 _BaseAudit.get_status - A (1) M 106:4 _BaseAudit.cli_audit - A (1) M 114:4 DryRunAudit.__init__ - A (1) M 123:4 DryRunAudit.log - A (1) M 138:4 DryRunAudit.run - A (1) M 154:4 DryRunAudit.cli_audit - A (1) M 163:4 RealAudit.__init__ - A (1) M 172:4 RealAudit.log - A (1) M 233:4 RealAudit.cli_audit - A (1) src/bijux_cli/services/__init__.py F 43:0 register_default_services - A (2) src/bijux_cli/services/config.py M 450:4 Config.export - D (21) M 147:4 Config.load - C (19) M 224:4 Config.set_many - B (9) M 545:4 Config.delete - B (9) M 293:4 Config.clear - B (8) M 371:4 Config.set - B (8) C 111:0 Config - B (7) F 80:0 _detect_symlink_loop - B (6) M 334:4 Config.get - B (6) M 634:4 Config._validate_config_path - A (4) M 126:4 Config.__init__ - A (3) M 432:4 Config.reload - A (3) M 616:4 Config.save - A (3) M 654:4 Config._preflight_write - A (3) F 62:0 _unescape - A (2) F 45:0 _escape - A (1) M 277:4 Config.all - A (1) M 285:4 Config.list_keys - A (1) M 608:4 Config.unset - A (1) src/bijux_cli/services/plugins/entrypoints.py F 71:0 load_entrypoints - C (15) F 35:0 _iter_plugin_eps - A (2) F 49:0 _compatible - A (2) src/bijux_cli/services/plugins/hooks.py C 30:0 CoreSpec - A (2) M 40:4 CoreSpec.__init__ - A (1) M 50:4 CoreSpec.startup - A (1) M 59:4 CoreSpec.shutdown - A (1) M 68:4 CoreSpec.pre_execute - A (1) M 85:4 CoreSpec.post_execute - A (1) M 99:4 CoreSpec.health - A (1) src/bijux_cli/services/plugins/registry.py M 61:4 Registry.register - B (10) M 238:4 Registry.call_hook - B (10) M 114:4 Registry.deregister - B (6) C 28:0 Registry - A (5) M 146:4 Registry.get - A (4) M 199:4 Registry.has - A (3) M 184:4 Registry.names - A (2) M 218:4 Registry.meta - A (2) M 44:4 Registry.__init__ - A (1) src/bijux_cli/services/plugins/groups.py F 27:0 command_group - A (1) F 118:0 dynamic_choices - A (1) src/bijux_cli/services/plugins/__init__.py F 187:0 load_plugin - C (15) F 112:0 load_plugin_config - B (8) F 83:0 get_plugins_dir - B (6) F 154:0 verify_plugin_signature - A (5) F 264:0 uninstall_plugin - A (4) F 309:0 __getattr__ - A (4) F 51:0 _obs - A (3) F 67:0 _tel - A (3) F 36:0 _di - A (2) F 292:0 install_plugin - A (1) src/bijux_cli/infra/observability.py M 98:4 Observability.log - A (5) C 26:0 Observability - A (2) M 40:4 Observability.__init__ - A (1) M 50:4 Observability.set_telemetry - A (1) M 66:4 Observability.setup - A (1) M 77:4 Observability.get_logger - A (1) M 86:4 Observability.bind - A (1) M 137:4 Observability.close - A (1) src/bijux_cli/infra/retry.py F 55:0 _try_asyncio_timeout - B (8) F 95:0 _backoff_loop - A (5) M 160:4 TimeoutRetryPolicy.run - A (4) C 144:0 TimeoutRetryPolicy - A (3) C 209:0 ExponentialBackoffRetryPolicy - A (3) M 225:4 ExponentialBackoffRetryPolicy.run - A (3) F 37:0 _close_awaitable - A (2) M 152:4 TimeoutRetryPolicy.__init__ - A (1) M 204:4 TimeoutRetryPolicy.reset - A (1) M 217:4 ExponentialBackoffRetryPolicy.__init__ - A (1) M 291:4 ExponentialBackoffRetryPolicy.reset - A (1) src/bijux_cli/infra/process.py M 73:4 ProcessPool.run - A (5) C 31:0 ProcessPool - A (3) F 158:0 get_process_pool - A (1) M 51:4 ProcessPool.__init__ - A (1) M 142:4 ProcessPool.shutdown - A (1) M 148:4 ProcessPool.get_status - A (1) src/bijux_cli/infra/emitter.py M 65:4 Emitter.emit - B (9) C 26:0 Emitter - A (5) M 42:4 Emitter.__init__ - A (1) M 135:4 Emitter.flush - A (1) src/bijux_cli/infra/telemetry.py C 87:0 NullTelemetry - A (2) C 115:0 LoggingTelemetry - A (2) M 136:4 LoggingTelemetry.event - A (2) C 29:0 TelemetryEvent - A (1) M 94:4 NullTelemetry.event - A (1) M 106:4 NullTelemetry.flush - A (1) M 110:4 NullTelemetry.enable - A (1) M 127:4 LoggingTelemetry.__init__ - A (1) M 150:4 LoggingTelemetry.flush - A (1) M 154:4 LoggingTelemetry.enable - A (1) src/bijux_cli/infra/serializer.py M 392:4 OrjsonSerializer.loads - B (10) C 244:0 OrjsonSerializer - B (6) M 273:4 OrjsonSerializer._yaml_dump - A (5) M 297:4 OrjsonSerializer._json_dump - A (5) M 320:4 OrjsonSerializer.dumps - A (5) M 354:4 OrjsonSerializer.dumps_bytes - A (5) M 514:4 PyYAMLSerializer.loads - A (5) F 58:0 yaml_dump - A (4) C 434:0 PyYAMLSerializer - A (4) M 445:4 PyYAMLSerializer.__init__ - A (4) F 545:0 serializer_for - A (3) C 82:0 Redacted - A (2) C 118:0 _Base - A (2) M 134:4 _Base.emit - A (2) M 216:4 _Base._event - A (2) M 253:4 OrjsonSerializer._default - A (2) M 471:4 PyYAMLSerializer.dumps - A (2) M 89:4 Redacted.__new__ - A (1) M 100:4 Redacted.__str__ - A (1) M 109:4 Redacted.to_json - A (1) M 125:4 _Base.__init__ - A (1) M 157:4 _Base.dumps - A (1) M 177:4 _Base.dumps_bytes - A (1) M 197:4 _Base.loads - A (1) M 230:4 _Base._axerr - A (1) M 495:4 PyYAMLSerializer.dumps_bytes - A (1) src/bijux_cli/contracts/context.py C 18:0 ContextProtocol - A (2) M 26:4 ContextProtocol.set - A (1) M 38:4 ContextProtocol.get - A (1) M 49:4 ContextProtocol.clear - A (1) M 53:4 ContextProtocol.__enter__ - A (1) M 61:4 ContextProtocol.__exit__ - A (1) M 74:4 ContextProtocol.__aenter__ - A (1) M 82:4 ContextProtocol.__aexit__ - A (1) src/bijux_cli/contracts/observability.py C 22:0 ObservabilityProtocol - A (2) M 30:4 ObservabilityProtocol.setup - A (1) M 41:4 ObservabilityProtocol.get_logger - A (1) M 50:4 ObservabilityProtocol.bind - A (1) M 61:4 ObservabilityProtocol.log - A (1) M 81:4 ObservabilityProtocol.close - A (1) M 85:4 ObservabilityProtocol.set_telemetry - A (1) src/bijux_cli/contracts/retry.py C 21:0 RetryPolicyProtocol - A (2) M 29:4 RetryPolicyProtocol.run - A (1) M 47:4 RetryPolicyProtocol.reset - A (1) src/bijux_cli/contracts/docs.py C 22:0 DocsProtocol - A (2) M 29:4 DocsProtocol.write - A (1) M 48:4 DocsProtocol.write_sync - A (1) M 63:4 DocsProtocol.close - A (1) src/bijux_cli/contracts/process.py C 17:0 ProcessPoolProtocol - A (2) M 24:4 ProcessPoolProtocol.run - A (1) M 37:4 ProcessPoolProtocol.shutdown - A (1) M 41:4 ProcessPoolProtocol.get_status - A (1) src/bijux_cli/contracts/doctor.py C 19:0 DoctorProtocol - A (2) M 26:4 DoctorProtocol.check_health - A (1) src/bijux_cli/contracts/emitter.py C 21:0 EmitterProtocol - A (2) M 28:4 EmitterProtocol.emit - A (1) M 56:4 EmitterProtocol.flush - A (1) src/bijux_cli/contracts/memory.py C 19:0 MemoryProtocol - A (2) M 27:4 MemoryProtocol.get - A (1) M 41:4 MemoryProtocol.set - A (1) M 55:4 MemoryProtocol.delete - A (1) M 66:4 MemoryProtocol.clear - A (1) M 70:4 MemoryProtocol.keys - A (1) src/bijux_cli/contracts/history.py C 21:0 HistoryProtocol - A (2) M 29:4 HistoryProtocol.add - A (1) M 52:4 HistoryProtocol.list - A (1) M 73:4 HistoryProtocol.clear - A (1) M 77:4 HistoryProtocol.flush - A (1) M 81:4 HistoryProtocol.export - A (1) M 92:4 HistoryProtocol.import_ - A (1) src/bijux_cli/contracts/telemetry.py C 18:0 TelemetryProtocol - A (2) M 25:4 TelemetryProtocol.event - A (1) M 40:4 TelemetryProtocol.flush - A (1) M 44:4 TelemetryProtocol.enable - A (1) src/bijux_cli/contracts/registry.py C 19:0 RegistryProtocol - A (2) M 26:4 RegistryProtocol.register - A (1) M 47:4 RegistryProtocol.deregister - A (1) M 58:4 RegistryProtocol.get - A (1) M 72:4 RegistryProtocol.has - A (1) M 83:4 RegistryProtocol.names - A (1) M 91:4 RegistryProtocol.meta - A (1) M 103:4 RegistryProtocol.call_hook - A (1) src/bijux_cli/contracts/audit.py C 22:0 AuditProtocol - A (2) M 34:4 AuditProtocol.log - A (1) M 47:4 AuditProtocol.get_commands - A (1) M 56:4 AuditProtocol.cli_audit - A (1) src/bijux_cli/contracts/config.py C 19:0 ConfigProtocol - A (2) M 27:4 ConfigProtocol.load - A (1) M 39:4 ConfigProtocol.get - A (1) M 51:4 ConfigProtocol.set - A (1) M 63:4 ConfigProtocol.export - A (1) M 76:4 ConfigProtocol.reload - A (1) M 80:4 ConfigProtocol.save - A (1) M 84:4 ConfigProtocol.delete - A (1) M 95:4 ConfigProtocol.unset - A (1) M 109:4 ConfigProtocol.clear - A (1) M 113:4 ConfigProtocol.list_keys - A (1) M 121:4 ConfigProtocol.all - A (1) src/bijux_cli/contracts/serializer.py C 21:0 SerializerProtocol - A (2) M 28:4 SerializerProtocol.dumps - A (1) M 47:4 SerializerProtocol.dumps_bytes - A (1) M 66:4 SerializerProtocol.loads - A (1) M 87:4 SerializerProtocol.emit - A (1) tests/conftest.py F 87:0 _clean_env - A (2) F 27:0 _reset_di_between_tests - A (1) F 46:0 helpers - A (1) tests/functional/test_functional.py F 998:0 test_plugins_list - C (14) F 37:0 find_bijux_binary - B (10) F 1037:0 test_plugins_uninstall - B (10) F 120:0 cli - B (9) F 1129:0 test_plugins_install_invalid - B (9) F 1144:0 test_plugins_uninstall_invalid - B (9) F 1156:0 test_plugins_scaffold_invalid_name - B (9) F 901:0 test_memory_set_basic - B (8) F 916:0 test_memory_get - B (8) F 1196:0 test_plugins_info_invalid - B (8) F 1598:0 test_invalid_global_format - B (8) F 1107:0 test_plugins_uninstall_verbose - B (7) F 1172:0 test_plugins_run_invalid - B (7) F 1534:0 test_repl_history - B (7) F 265:0 test_root_format_yaml - B (6) F 595:0 test_dev_service_json - B (6) F 705:0 test_doctor - B (6) F 985:0 test_plugins_check - B (6) F 1249:0 test_repl_invalid - B (6) F 1456:0 test_config_get_empty - B (6) F 1492:0 test_config_unset_empty - B (6) F 1659:0 test_memory_delete_unknown - B (6) F 1672:0 test_plugins_scaffold_no_template - B (6) C 85:0 CliResult - B (6) M 102:4 CliResult._parse_json - B (6) F 276:0 test_root_pretty - A (5) F 291:0 test_root_no_pretty - A (5) F 394:0 test_config_list_cmd - A (5) F 476:0 test_config_get_unknown - A (5) F 504:0 test_config_export_format - A (5) F 533:0 test_config_load_invalid - A (5) F 929:0 test_memory_delete - A (5) F 940:0 test_memory_clear - A (5) F 1226:0 test_repl_basic - A (5) F 1265:0 test_repl_empty_line - A (5) F 1274:0 test_repl_sigint - A (5) F 215:0 test_root_help - A (4) F 224:0 test_root_version - A (4) F 306:0 test_root_invalid_option - A (4) F 406:0 test_config_clear - A (4) F 448:0 test_config_unset - A (4) F 551:0 test_config_unset_unknown - A (4) F 881:0 test_history_service_help - A (4) F 1092:0 test_plugins_check_verbose - A (4) F 1121:0 test_plugins_check_quiet - A (4) F 71:0 _find_version_in_text - A (3) F 78:0 _args_to_list - A (3) F 186:0 run_repl_script - A (3) F 256:0 test_root_format_json - A (3) F 313:0 test_audit_dry_run - A (3) F 320:0 test_audit_real - A (3) F 375:0 test_config_set - A (3) F 384:0 test_config_get - A (3) F 417:0 test_config_export - A (3) F 428:0 test_config_load - A (3) F 460:0 test_config_service - A (3) F 522:0 test_config_load_yaml - A (3) F 541:0 test_config_reload_quiet - A (3) F 561:0 test_dev_di - A (3) F 569:0 test_dev_service - A (3) F 576:0 test_dev_help - A (3) F 623:0 test_docs - A (3) F 631:0 test_docs_yaml - A (3) F 639:0 test_docs_name - A (3) F 653:0 test_docs_quiet - A (3) F 674:0 test_docs_no_out - A (3) F 686:0 test_docs_existing_overwrite - A (3) F 695:0 test_docs_dir - A (3) F 769:0 test_doctor_help_sub - A (3) F 840:0 test_history_service_list - A (3) F 847:0 test_history_service_list_limit - A (3) F 854:0 test_history_service_list_group_by - A (3) F 861:0 test_history_service_list_filter_cmd - A (3) F 868:0 test_history_service_list_sort - A (3) F 894:0 test_history_service_list_verbose - A (3) F 957:0 test_memory_get_help - A (3) F 977:0 test_memory_clear_help - A (3) F 1211:0 test_plugins_uninstall_quiet - A (3) M 88:4 CliResult.__init__ - A (3) F 181:0 _decolorise - A (2) F 237:0 test_root_quiet - A (2) F 243:0 test_root_verbose - A (2) F 250:0 test_root_debug - A (2) F 332:0 test_audit_help - A (2) F 350:0 test_audit_quiet - A (2) F 356:0 test_audit_verbose - A (2) F 363:0 test_audit_pretty - A (2) F 369:0 test_audit_no_pretty - A (2) F 439:0 test_config_reload - A (2) F 470:0 test_config_set_invalid - A (2) F 486:0 test_config_list_cmd_empty - A (2) F 495:0 test_config_clear_empty - A (2) F 611:0 test_dev_di_pretty - A (2) F 617:0 test_dev_list_plugins_quiet - A (2) F 647:0 test_docs_help - A (2) F 667:0 test_docs_invalid_format - A (2) F 723:0 test_doctor_help - A (2) F 741:0 test_doctor_quiet - A (2) F 752:0 test_doctor_pretty - A (2) F 758:0 test_doctor_no_pretty - A (2) F 777:0 test_help_root - A (2) F 783:0 test_help_specific - A (2) F 789:0 test_help_unknown - A (2) F 807:0 test_help_quiet - A (2) F 828:0 test_help_sub_help - A (2) F 834:0 test_history_clear - A (2) F 875:0 test_history_clear_help - A (2) F 951:0 test_memory_set_help - A (2) F 965:0 test_memory_list_help - A (2) F 971:0 test_memory_delete_help - A (2) F 1056:0 test_plugins_check_help - A (2) F 1062:0 test_plugins_info_help - A (2) F 1068:0 test_plugins_install_help - A (2) F 1074:0 test_plugins_list_help - A (2) F 1080:0 test_plugins_uninstall_help - A (2) F 1086:0 test_plugins_scaffold_help - A (2) F 1220:0 test_plugins_list_pretty - A (2) F 1235:0 test_repl_config_set - A (2) F 1243:0 test_repl_help - A (2) F 1283:0 test_repl_with_env - A (2) F 1296:0 test_sleep_help - A (2) F 1302:0 test_sleep_basic - A (2) F 1308:0 test_sleep_zero - A (2) F 1314:0 test_sleep_format_json - A (2) F 1320:0 test_sleep_format_yaml - A (2) F 1326:0 test_sleep_quiet - A (2) F 1332:0 test_sleep_verbose - A (2) F 1338:0 test_sleep_pretty - A (2) F 1344:0 test_sleep_no_pretty - A (2) F 1350:0 test_status_basic - A (2) F 1356:0 test_status_watch - A (2) F 1362:0 test_status_help - A (2) F 1380:0 test_status_quiet - A (2) F 1391:0 test_status_pretty - A (2) F 1397:0 test_status_no_pretty - A (2) F 1408:0 test_version_help - A (2) F 1426:0 test_version_quiet - A (2) F 1432:0 test_version_verbose_di - A (2) F 1438:0 test_version_invalid_format - A (2) F 1444:0 test_version_debug - A (2) F 1450:0 test_config_set_empty_key - A (2) F 1479:0 test_config_clear_quiet - A (2) F 1485:0 test_config_export_verbose - A (2) F 1515:0 test_config_set_large_value - A (2) F 1522:0 test_repl_multiple_sigint - A (2) F 1528:0 test_repl_invalid_subcommand - A (2) F 1550:0 test_repl_memory_set - A (2) F 1556:0 test_repl_docs - A (2) F 1562:0 test_repl_audit - A (2) F 1568:0 test_repl_sleep - A (2) F 1574:0 test_repl_status - A (2) F 1580:0 test_repl_dev_di - A (2) F 1586:0 test_repl_plugins_list - A (2) F 1592:0 test_root_no_args_repl - A (2) F 1623:0 test_quiet_with_error - A (2) F 1634:0 test_debug_with_success - A (2) F 1645:0 test_no_pretty_success - A (2) F 1651:0 test_history_import_export - A (2) F 327:0 test_audit_invalid_option - A (1) F 338:0 test_audit_format_json - A (1) F 344:0 test_audit_format_yaml - A (1) F 584:0 test_dev_di_format_yaml - A (1) F 590:0 test_dev_list_plugins_verbose - A (1) F 606:0 test_dev_invalid_sub - A (1) F 661:0 test_docs_verbose - A (1) F 729:0 test_doctor_format_json - A (1) F 735:0 test_doctor_format_yaml - A (1) F 747:0 test_doctor_verbose - A (1) F 764:0 test_doctor_invalid_sub - A (1) F 795:0 test_help_format_json - A (1) F 801:0 test_help_format_yaml - A (1) F 813:0 test_help_verbose - A (1) F 818:0 test_help_pretty - A (1) F 823:0 test_help_no_pretty - A (1) F 889:0 test_history_invalid_sub - A (1) F 1100:0 test_plugins_list_verbose - A (1) F 1291:0 test_sleep_negative - A (1) F 1368:0 test_status_format_json - A (1) F 1374:0 test_status_format_yaml - A (1) F 1386:0 test_status_verbose - A (1) F 1403:0 test_status_invalid_watch - A (1) F 1414:0 test_version_format_json - A (1) F 1420:0 test_version_format_yaml - A (1) F 1473:0 test_config_list_cmd_format_json - A (1) F 1509:0 test_config_service_format_yaml - A (1) F 1629:0 test_verbose_error - A (1) F 1640:0 test_pretty_error - A (1) tests/e2e/conftest.py F 290:0 assert_log_has - C (18) F 204:0 find_json_objects - C (13) F 31:0 find_bijux_binary - B (10) F 104:0 run_cli - B (8) F 362:0 last_json_with - B (6) F 85:0 _unique_pathlist - A (5) F 186:0 assert_text - A (5) F 266:0 _match - A (4) F 452:0 normalize_history_payload - A (4) F 246:0 _try_parse_many - A (3) F 347:0 extract_json_fragments - A (3) F 433:0 parse_json_lines - A (3) F 390:0 spawn_repl - A (2) F 174:0 _decolorise - A (1) F 414:0 bijux_env - A (1) tests/e2e/test_config.py F 607:0 test_e2e_config_fuzz_key_value - B (10) F 312:0 test_e2e_config_export_symlink - A (5) F 369:0 test_e2e_config_non_ascii_path - A (5) F 44:0 test_e2e_config_export - A (4) F 422:0 test_e2e_config_help_works - A (4) F 33:0 test_e2e_config_set_get - A (3) F 67:0 test_e2e_config_clear - A (3) F 192:0 test_e2e_config_yaml_output - A (3) F 218:0 test_e2e_config_export_empty - A (3) F 227:0 test_e2e_config_default_no_subcommand - A (3) F 236:0 test_e2e_config_concurrent_config_set - A (3) F 346:0 test_e2e_config_file_locked - A (3) F 392:0 test_e2e_config_binary_file - A (3) F 402:0 test_e2e_config_large_key_value - A (3) F 440:0 test_e2e_config_set_multiple_pairs - A (3) F 472:0 test_e2e_config_set_invalid_char_in_key - A (3) F 511:0 test_e2e_config_export_and_load_yaml - A (3) F 522:0 test_e2e_config_nonexistent_get_returns_error - A (3) F 541:0 test_e2e_config_set_empty_string - A (3) F 556:0 test_e2e_config_export_to_stdout - A (3) F 565:0 test_e2e_config_set_key_with_space_should_fail - A (3) F 573:0 test_e2e_config_import_empty_file - A (3) F 584:0 test_e2e_config_export_truncates_file - A (3) F 55:0 test_e2e_config_reload - A (2) F 80:0 test_e2e_config_set_invalid_pair - A (2) F 89:0 test_e2e_config_get_unknown_key - A (2) F 96:0 test_e2e_config_load_nonexistent - A (2) F 104:0 test_e2e_config_set_case_sensitivity - A (2) F 113:0 test_e2e_config_set_empty_value - A (2) F 122:0 test_e2e_config_export_read_only - A (2) F 134:0 test_e2e_config_malformed_env - A (2) F 143:0 test_e2e_config_set_numeric_value - A (2) F 152:0 test_e2e_config_set_boolean_value - A (2) F 161:0 test_e2e_config_reload_no_file - A (2) F 169:0 test_e2e_config_set_malformed_key - A (2) F 177:0 test_e2e_config_export_invalid_path - A (2) F 185:0 test_e2e_config_debug_mode - A (2) F 201:0 test_e2e_config_set_piped_input - A (2) F 270:0 test_e2e_config_set_special_characters - A (2) F 301:0 test_e2e_config_invalid_format - A (2) F 337:0 test_e2e_config_set_atomicity - A (2) F 361:0 test_e2e_config_symlink_loop - A (2) F 414:0 test_e2e_config_idempotent_clear - A (2) F 430:0 test_e2e_config_unicode_locale - A (2) F 451:0 test_e2e_config_get_after_clear - A (2) F 480:0 test_e2e_config_set_equals_in_value - A (2) F 640:0 test_e2e_config_simulate_crash_during_write - A (2) F 255:0 test_e2e_config_concurrent_config_get - A (1) F 280:0 test_e2e_config_overwrite_existing_key - A (1) F 289:0 test_e2e_config_env_var_override - A (1) F 382:0 test_e2e_config_cross_platform_newlines - A (1) F 460:0 test_e2e_config_export_then_import_to_another_env - A (1) F 489:0 test_e2e_config_ignore_comment_lines_on_load - A (1) F 501:0 test_e2e_config_set_minimum_and_maximum_length - A (1) F 529:0 test_e2e_config_overwrite_and_restore - A (1) F 548:0 test_e2e_config_case_preservation - A (1) F 654:0 test_e2e_config_file_descriptor_exhaustion - A (1) tests/e2e/test_help.py F 273:0 test_help_fuzz_flags - D (25) F 201:0 test_adr_quiet_preserves_error_code_with_no_output - B (7) F 224:0 test_adr_debug_with_error_is_verbose_and_pretty - B (6) F 252:0 test_adr_format_errors_and_contract - B (6) F 59:0 test_help_default_is_human - A (5) F 69:0 test_root_help_is_human - A (5) F 103:0 test_help_invalid_format - A (5) F 41:0 assert_no_framework_leak - A (4) F 95:0 test_help_format_json_yaml - A (4) F 139:0 test_help_nonascii_env - A (4) F 179:0 test_adr_help_wins_over_errors - A (4) F 192:0 test_adr_quiet_wins_over_output_flags - A (4) F 215:0 test_adr_debug_overrides_no_pretty - A (4) F 52:0 test_help_flag_shows_usage - A (3) F 113:0 test_help_pretty_and_nopretty_flags - A (3) F 122:0 test_help_verbose_and_debug_flags - A (3) F 130:0 test_help_invalid_command - A (3) F 158:0 test_help_unicode_garbage_command - A (3) F 27:0 assert_json_obj - A (2) F 34:0 assert_yaml_obj - A (2) F 80:0 test_help_command_equivalence - A (2) F 87:0 test_root_help_equivalence - A (2) F 237:0 extract_first_json - A (2) F 22:0 _normalize - A (1) tests/e2e/test_memory.py F 382:0 test_e2e_memory_verbose_root_and_subcommands - C (19) F 493:0 test_e2e_memory_boundary_key_validation - B (10) F 524:0 test_e2e_memory_clear_idempotent_and_concurrent - B (9) F 177:0 test_e2e_memory_concurrent_set_and_get - B (6) F 424:0 test_e2e_memory_pretty_and_no_pretty - B (6) F 452:0 test_e2e_memory_subcommand_help_contract - B (6) F 92:0 test_e2e_memory_set_invalid_format - A (5) F 437:0 test_e2e_memory_format_case_insensitive_and_last_wins - A (5) F 474:0 test_e2e_memory_unknown_flag_errors - A (5) F 483:0 test_e2e_memory_ascii_hygiene - A (5) F 31:0 test_e2e_memory_status_yaml - A (4) F 47:0 test_e2e_memory_set_and_get - A (4) F 57:0 test_e2e_memory_set_and_get_yaml - A (4) F 84:0 test_e2e_memory_set_debug_mode - A (4) F 227:0 test_e2e_memory_set_and_get_multiple_keys - A (4) F 271:0 test_e2e_memory_list_returns_all_keys_after_clear_and_set - A (4) F 23:0 test_e2e_memory_status_json - A (3) F 40:0 test_e2e_memory_status_debug - A (3) F 73:0 test_e2e_memory_clear_and_get - A (3) F 106:0 test_e2e_memory_quiet_mode_suppresses_output - A (3) F 113:0 test_e2e_memory_set_empty_value - A (3) F 131:0 test_e2e_memory_delete_key - A (3) F 140:0 test_e2e_memory_list_keys - A (3) F 158:0 test_e2e_memory_set_unicode_key_value - A (3) F 167:0 test_e2e_memory_set_large_value - A (3) F 195:0 test_e2e_memory_help - A (3) F 202:0 test_e2e_memory_list_yaml_format - A (3) F 211:0 test_e2e_memory_delete_nonexistent_key - A (3) F 237:0 test_e2e_memory_delete_then_set_again - A (3) F 247:0 test_e2e_memory_set_special_chars_key - A (3) F 308:0 test_e2e_memory_clear_twice_is_idempotent - A (3) F 339:0 test_e2e_memory_set_and_get_case_sensitive - A (3) F 355:0 test_e2e_memory_set_none_value_stored_as_empty_string - A (3) F 512:0 test_e2e_memory_sigint_does_not_leak_traceback - A (3) F 67:0 test_e2e_memory_get_nonexistent - A (2) F 122:0 test_e2e_memory_overwrite_value - A (2) F 150:0 test_e2e_memory_list_empty - A (2) F 218:0 test_e2e_memory_list_after_delete - A (2) F 255:0 test_e2e_memory_set_special_chars_value - A (2) F 263:0 test_e2e_memory_set_multiline_value - A (2) F 283:0 test_e2e_memory_set_large_key - A (2) F 291:0 test_e2e_memory_set_and_delete_large_key - A (2) F 300:0 test_e2e_memory_list_with_no_keys_is_empty - A (2) F 317:0 test_e2e_memory_set_then_clear_and_get_returns_none - A (2) F 325:0 test_e2e_memory_get_with_quiet_returns_nothing - A (2) F 332:0 test_e2e_memory_list_with_debug_prints_keys - A (2) F 349:0 test_e2e_memory_set_empty_key_fails - A (2) F 364:0 test_e2e_memory_list_format_json_yaml_agree - A (2) F 375:0 test_e2e_memory_delete_with_quiet_suppresses_output - A (2) tests/e2e/test_sleep.py F 440:0 test_sleep_hypothesis_flags - E (31) F 255:0 test_sleep_parallel_invocations - B (7) F 72:0 sleep_flag_permutations - B (6) F 89:0 test_sleep_idempotent - A (5) F 214:0 test_sleep_flag_combinations - A (5) F 321:0 test_sleep_help_flag - A (5) F 53:0 _flag_value_id - A (4) F 193:0 test_sleep_interrupt_signal - A (4) F 239:0 test_sleep_pretty_json - A (4) F 247:0 test_sleep_pretty_yaml - A (4) F 302:0 test_sleep_format_flag - A (4) F 312:0 test_sleep_quiet_flag - A (4) F 332:0 test_sleep_debug_flag - A (4) F 358:0 test_sleep_default_output - A (4) F 391:0 test_sleep_invalid_format - A (4) F 520:0 test_sleep_fuzz_env - A (4) F 61:0 load_output - A (3) F 99:0 test_sleep_zero_seconds - A (3) F 107:0 test_sleep_negative_seconds - A (3) F 115:0 test_sleep_missing_seconds - A (3) F 123:0 test_sleep_seconds_non_numeric - A (3) F 131:0 test_sleep_env_timeout - A (3) F 141:0 test_sleep_config_timeout - A (3) F 152:0 test_sleep_env_vs_config_timeout_precedence - A (3) F 165:0 test_sleep_invalid_timeout_config - A (3) F 176:0 test_sleep_ascii_only_env - A (3) F 230:0 test_sleep_fuzzed_format - A (3) F 273:0 test_command_performance_sleep - A (3) F 282:0 test_sleep_no_stacktrace_warning_leakage - A (3) F 342:0 test_sleep_debug_forces_pretty - A (3) F 350:0 test_sleep_no_pretty_flag - A (3) F 378:0 test_sleep_float_and_scientific - A (3) F 494:0 test_sleep_non_ascii_arg_fuzz - A (3) F 502:0 test_sleep_float_overflow - A (3) F 187:0 test_sleep_large_number_fails - A (2) F 367:0 test_sleep_verbose_flag - A (2) F 401:0 test_sleep_duplicate_flags - A (2) F 416:0 test_sleep_flag_output_precedence - A (2) tests/e2e/test_audit.py F 408:0 test_audit_hypothesis_flags - D (25) F 640:0 test_audit_verbose_info_persists_with_output_flag - B (7) F 86:0 assert_error_contract - B (6) F 95:0 _assert_no_stacktrace - B (6) F 201:0 test_audit_precedence_rules - B (6) F 280:0 test_audit_help_contract - B (6) F 501:0 test_audit_stdout_default_json - B (6) F 524:0 test_audit_stdout_default_format_variants - B (6) F 663:0 test_audit_help_precedes_and_ignores_other_flag_errors - B (6) F 191:0 test_audit_quiet_suppresses_output - A (5) F 313:0 test_audit_concurrent_invocations - A (5) F 453:0 test_command_performance_audit_under_load - A (5) F 541:0 test_audit_invalid_output_path_errors - A (5) F 562:0 test_audit_symlink_and_dotfile_paths - A (5) F 74:0 _assert_contract - A (4) F 114:0 audit_flag_permutations - A (4) F 245:0 test_audit_no_config_env_leak - A (4) F 259:0 test_audit_debug_and_verbose_add_runtime - A (4) F 332:0 test_audit_exit_codes - A (4) F 355:0 test_audit_unknown_extra_args_errors - A (4) F 551:0 test_audit_directory_as_output - A (4) F 579:0 test_audit_quiet_no_output_to_stdout - A (4) F 596:0 test_audit_short_format_flag_cases - A (4) F 609:0 test_audit_quiet_does_not_suppress_validation_error_code - A (4) F 620:0 test_audit_help_precedes_di_failure - A (4) F 269:0 test_audit_pretty_and_no_pretty - A (3) F 294:0 test_command_performance_audit - A (3) F 303:0 test_audit_idempotency_multiple_runs - A (3) F 344:0 test_audit_output_file_overwrite - A (3) F 381:0 test_audit_signal_interrupt - A (3) F 58:0 _assert_json - A (2) F 66:0 _assert_yaml - A (2) F 105:0 _assert_ascii - A (2) F 129:0 test_audit_accepts_all_global_flags - A (2) F 139:0 test_audit_default_json_contract - A (2) F 149:0 test_audit_yaml_contract - A (2) F 159:0 test_audit_idempotency - A (2) F 218:0 test_audit_structured_error_invalid_format - A (2) F 226:0 test_audit_structured_error_unknown_flag - A (2) F 234:0 test_audit_ascii_hygiene - A (2) F 366:0 test_audit_too_many_positional_errors - A (2) F 372:0 test_audit_malformed_config_state - A (2) F 480:0 test_audit_golden_output - A (2) F 169:0 test_audit_format_flag_duplicate_and_case - A (1) F 467:0 e2e_fixture - A (1) tests/e2e/test_version.py F 308:0 test_version_hypothesis_flags - D (22) F 75:0 assert_version_output - B (10) F 273:0 test_version_parallel_and_perf - B (8) F 64:0 flag_permutations - B (6) F 138:0 test_version_help_output - B (6) F 417:0 test_version_fuzz_env_vars - B (6) F 258:0 test_version_idempotency_and_no_config_pollution - A (5) F 45:0 _no_stacktrace_leak - A (4) F 96:0 parse_output - A (4) F 125:0 test_version_contract - A (4) F 150:0 test_version_quiet - A (4) F 358:0 test_version_fuzz_format - A (4) F 371:0 test_version_help_contract - A (4) F 90:0 assert_error_output - A (3) F 181:0 test_version_duplicate_flag_last_win - A (3) F 189:0 test_version_no_pretty_flag - A (3) F 197:0 test_version_debug_output - A (3) F 207:0 test_version_debug_pretty_overrides_no_pretty - A (3) F 222:0 test_version_invalid_format - A (3) F 238:0 test_version_env_var_non_ascii - A (3) F 249:0 test_version_env_var_case_sensitive - A (3) F 381:0 test_version_signal_interrupt - A (3) F 53:0 flags_verbose - A (2) F 58:0 flags_debug - A (2) F 168:0 test_version_flag_output_precedence - A (2) F 294:0 test_version_verbose_timestamp - A (2) F 300:0 test_version_default_has_no_timestamp - A (2) F 429:0 normalize_version_output - A (1) tests/e2e/test_docs.py F 267:0 test_docs_out_file_dir_symlink_dotfile - B (8) F 433:0 test_docs_spec_has_valid_structure_and_contains_core_commands - B (8) F 95:0 _assert_error_contract - B (6) F 211:0 test_docs_flag_precedence - B (6) F 327:0 test_docs_help_contract - B (6) F 104:0 _assert_docs_contract - A (5) F 374:0 test_docs_concurrent_invocations - A (5) F 395:0 test_docs_heavy_concurrency - A (5) F 65:0 _no_stacktrace_leak - A (4) F 120:0 _ids - A (4) F 168:0 test_docs_idempotent - A (4) F 202:0 test_docs_quiet_suppresses_all_output - A (4) F 304:0 test_docs_broken_symlink_fails_structured - A (4) F 361:0 test_command_performance_docs_repeatability - A (4) F 479:0 test_docs_verbose_fields - A (4) F 73:0 _load_json - A (3) F 84:0 _load_yaml - A (3) F 143:0 test_docs_format_matrix - A (3) F 238:0 test_docs_invalid_format_structured_error - A (3) F 250:0 test_docs_unknown_flag_structured_error - A (3) F 259:0 test_docs_invalid_out_path_structured_error - A (3) F 293:0 test_docs_out_dir_permission_denied - A (3) F 339:0 test_docs_ascii_hygiene - A (3) F 351:0 test_command_performance_docs_smoke - A (3) F 461:0 test_docs_signal_interrupt - A (3) F 112:0 _ascii_only - A (2) F 158:0 test_docs_accepts_all_global_flags - A (2) F 181:0 test_docs_yaml_output - A (2) F 316:0 test_docs_overwrite_corrupted_file - A (2) F 190:0 test_docs_format_last_wins - A (1) F 412:0 normalize_docs_output - A (1) F 420:0 e2e_fixture - A (1) tests/e2e/test_status.py F 528:0 test_status_hypothesis_flags - D (22) F 597:0 test_status_watch_golden - C (14) F 171:0 test_status_quiet_contract - C (12) F 108:0 assert_status_schema - B (9) F 236:0 test_status_help_flag_strict - B (8) F 54:0 run_cli_watch - B (7) F 391:0 test_status_parallel_invocations - B (7) F 421:0 test_status_watch_json_ok - B (7) F 288:0 test_status_invalid_format_strict - B (6) F 515:0 assert_error_contract - B (6) F 653:0 test_status_help_precedes_and_ignores_other_flag_errors - B (6) F 217:0 test_status_debug_flag - A (5) F 340:0 test_status_idempotent_fields - A (5) F 466:0 test_command_performance_status_under_load - A (5) F 87:0 _flag_value_id - A (4) F 139:0 test_status_format_flag - A (4) F 151:0 test_status_quiet_flag - A (4) F 190:0 test_status_verbose_flag - A (4) F 200:0 test_status_default_output - A (4) F 299:0 test_status_invalid_flag_contract - A (4) F 373:0 test_status_fuzzed_format - A (4) F 445:0 status_flag_permutations - A (4) F 480:0 test_status_watch_yaml_rejected - A (4) F 502:0 test_status_watch_invalid_interval - A (4) F 634:0 test_status_watch_fuzz_interval - A (4) F 670:0 test_status_help_precedes_di_failure - A (4) F 100:0 load_output - A (3) F 209:0 test_status_no_pretty_flag - A (3) F 228:0 test_status_debug_forces_pretty - A (3) F 307:0 test_status_non_ascii_argument - A (3) F 315:0 test_status_non_ascii_env - A (3) F 350:0 test_status_no_stacktrace_warning_leakage - A (3) F 365:0 test_status_duplicate_flags - A (3) F 382:0 test_command_performance_status - A (3) F 408:0 test_status_no_user_config_pollution - A (3) F 259:0 test_status_flag_combinations_success - A (2) F 275:0 test_status_flag_combinations_output_precedence - A (2) F 324:0 test_status_env_case_insensitivity - A (2) F 332:0 test_status_locale_c - A (2) F 577:0 test_status_non_ascii_arg_fuzz - A (2) F 644:0 test_status_watch_memory_leak - A (2) F 584:0 e2e_fixture - A (1) tests/e2e/test_doctor.py F 288:0 test_doctor_hypothesis_flags - D (23) F 54:0 is_valid_env_key - B (8) F 359:0 test_doctor_high_parallelism - B (8) F 443:0 test_doctor_fuzz_healthy - B (8) F 469:0 test_doctor_fuzz_unhealthy - B (8) F 144:0 doctor_flag_permutations - B (6) F 222:0 test_doctor_help_output - B (6) F 128:0 assert_error_contract - A (5) F 258:0 test_doctor_parallel_invocations - A (5) F 89:0 _no_stacktrace_leak - A (4) F 136:0 _flag_value_id - A (4) F 186:0 test_doctor_quiet - A (4) F 340:0 test_doctor_no_memory_leak - A (4) F 77:0 _strip_non_ascii_env - A (3) F 113:0 parse_output - A (3) F 122:0 assert_status_contract - A (3) F 204:0 test_doctor_invalid_format_structured_error - A (3) F 234:0 test_doctor_ascii_env_error - A (3) F 243:0 test_doctor_unknown_flag_structured_error - A (3) F 277:0 test_command_performance_doctor_smoke - A (3) F 331:0 test_command_performance_doctor - A (3) F 351:0 test_doctor_many_env_vars - A (3) F 426:0 test_doctor_signal_interrupt - A (3) F 97:0 load_json - A (2) F 105:0 load_yaml - A (2) F 174:0 test_doctor_contract_formats - A (2) F 213:0 test_doctor_duplicate_format_last_wins - A (2) F 251:0 test_doctor_no_leaks_common_paths - A (2) F 398:0 _assert_matches_golden - A (2) F 385:0 e2e_fixture - A (1) F 414:0 test_doctor_output_golden - A (1) F 420:0 test_doctor_golden_healthy - A (1) tests/e2e/api/conftest.py F 32:0 create_test_item - A (2) F 21:0 client - A (1) tests/e2e/api/test_api.py F 13:0 _detail_contains - B (10) F 33:0 test_list_items_default - B (7) F 80:0 test_get_item_by_id_valid - A (5) F 150:0 test_create_item_duplicate - A (5) F 45:0 test_list_items_with_pagination - A (4) F 54:0 test_list_items_invalid_limit - A (4) F 63:0 test_list_items_large_limit - A (4) F 71:0 test_list_items_invalid_offset - A (4) F 91:0 test_get_item_by_id_not_found - A (4) F 100:0 test_get_item_by_invalid_id_format - A (4) F 121:0 test_create_item_valid - A (4) F 132:0 test_create_item_missing_field - A (4) F 141:0 test_create_item_invalid_type - A (4) F 176:0 test_update_item_valid - A (3) F 109:0 test_get_item_by_edge_id_zero - A (2) F 115:0 test_get_item_by_negative_id - A (2) F 167:0 test_create_item_large_payload - A (2) F 186:0 test_update_item_not_found - A (2) F 193:0 test_update_item_invalid_data - A (2) F 201:0 test_delete_item_not_found - A (2) tests/e2e/repl/conftest.py F 14:0 bijux_env - A (1) tests/e2e/repl/test_repl_completion.py F 45:0 _expect_any - A (3) F 271:0 test_tab_completion_smoke - A (3) F 31:0 _send_backspaces - A (2) F 73:0 repl - A (2) F 285:0 test_non_tty_tab_is_ignored_and_does_not_crash - A (2) F 21:0 _send_tabs - A (1) F 89:0 test_tab_in_empty_prompt_shows_something_or_no_crash - A (1) F 97:0 test_double_tab_in_empty_prompt - A (1) F 103:0 test_tab_suggests_top_level_commands - A (1) F 109:0 test_partial_command_then_tab_autocompletes_or_suggests - A (1) F 118:0 test_space_after_command_then_tab_lists_subcommands - A (1) F 137:0 test_partial_subcommand_then_tab - A (1) F 144:0 test_argument_position_tab_does_not_crash - A (1) F 153:0 test_backspace_then_tab - A (1) F 161:0 test_partial_exit_then_tab - A (1) F 168:0 test_tab_after_multiple_leading_spaces - A (1) F 175:0 test_tab_after_leading_spaces_and_partial - A (1) F 184:0 test_tab_on_option_prefix_single_dash - A (1) F 191:0 test_partial_option_then_tab - A (1) F 198:0 test_space_after_option_prefix_then_tab - A (1) F 205:0 test_partial_format_option_then_tab - A (1) F 212:0 test_tab_on_debug_flag_prefix - A (1) F 219:0 test_partial_debug_flag_then_tab - A (1) F 226:0 test_tab_on_quiet_flag_prefix - A (1) F 233:0 test_partial_quiet_flag_then_tab - A (1) F 240:0 test_tab_for_nested_command_group - A (1) F 247:0 test_tab_after_blank_line - A (1) F 255:0 test_tab_with_escaped_space - A (1) tests/e2e/repl/test_repl_handling.py F 86:0 test_repl_handles_posix_signal - B (6) F 30:0 test_blank_lines_before_exit - A (2) F 38:0 test_inline_ctrlc_before_exit - A (2) F 46:0 test_inline_ctrld_before_exit - A (2) F 58:0 test_arrow_key_sequences_before_exit - A (2) F 68:0 test_whitespace_only_before_exit - A (2) F 76:0 test_immediate_exit_commands - A (2) F 21:0 env - A (1) tests/e2e/repl/test_repl_suggestion.py F 103:0 test_repl_suggestion_contract - B (9) F 26:0 _run_repl - A (2) F 33:0 _any_contains - A (2) F 39:0 _matches_regex - A (2) F 19:0 _mk_env - A (1) C 45:0 SuggestCase - A (1) tests/e2e/repl/test_repl_commands.py F 304:0 test_e2e_repl_command_flag_combinations - B (9) F 219:0 test_e2e_repl_command_chaining - B (8) F 376:0 test_e2e_repl_command_quoting_and_special - B (8) F 23:0 assert_log_has_any_output - B (6) F 421:0 test_e2e_repl_command_unknown_errors - B (6) F 69:0 test_e2e_repl_command_config_clear_and_list - A (4) F 343:0 test_e2e_repl_command_comments_and_blanks - A (4) F 150:0 _safe_json - A (3) F 193:0 test_e2e_repl_command_basic - A (3) F 396:0 test_e2e_repl_command_large_input_sizes - A (3) F 46:0 test_e2e_repl_command_config_set_get_variations - A (2) F 59:0 test_e2e_repl_command_config_unset_nonexistent - A (2) F 168:0 _safe_json_keys - A (2) F 37:0 env - A (1) F 183:0 _safe_stderr - A (1) C 18:0 _ProcLike - A (1) tests/e2e/repl/test_repl_config.py F 271:0 test_config_semicolon_chaining - B (7) F 291:0 test_config_many_set_unset_cycle - B (7) F 20:0 _json_lines - A (5) F 37:0 _find_line_with - A (5) F 184:0 test_config_list_shows_keys - A (5) F 87:0 test_config_clear_removes_all - A (4) F 95:0 test_config_set_allows_multiple_equals - A (4) F 56:0 test_config_set_and_get_returns_value - A (3) F 76:0 test_config_unset_removes_key - A (3) F 138:0 test_config_export_creates_file - A (3) F 195:0 test_config_list_empty_after_clear - A (3) F 212:0 test_missing_args_show_usage_or_error - A (3) F 256:0 test_config_reload_deletes_key - A (3) F 318:0 test_config_list_format_structure - A (3) F 68:0 test_config_persists_across_sessions - A (2) F 106:0 test_config_set_empty_value - A (2) F 117:0 test_config_unset_nonexistent_reports_error - A (2) F 123:0 test_config_get_nonexistent_reports_error - A (2) F 129:0 test_config_load_nonexistent_file_reports_error - A (2) F 147:0 test_config_export_overwrites_file - A (2) F 156:0 test_export_permission_denied_reports_error - A (2) F 170:0 test_config_load_restores_values - A (2) F 222:0 test_config_set_invalid_key_format_reports_error - A (2) F 230:0 test_config_set_long_value - A (2) F 241:0 test_config_reload_picks_up_external_change - A (2) F 284:0 test_config_comments_and_blank_lines_ignored - A (2) F 307:0 test_config_json_like_value - A (2) F 48:0 env - A (1) tests/e2e/history/test_history_perf.py F 66:0 test_isolated_histories_by_config - B (7) F 171:0 test_multiprocess_rw - B (7) F 42:0 perf_budget - B (6) F 195:0 test_filter_string_fuzz - B (6) F 210:0 test_history_perf_scaling - A (5) F 95:0 test_default_limit_is_20_or_less - A (4) F 106:0 test_custom_limits_and_zero - A (4) F 134:0 test_python_m_module_invocation_json - A (4) F 31:0 _worker_rw - A (3) F 57:0 test_perf_budget - A (3) F 121:0 test_large_corrupt_file - A (3) F 143:0 test_concurrent_reads - A (3) tests/e2e/history/conftest.py F 145:0 normalize_history_payload - B (8) F 133:0 assert_no_stacktrace - A (5) F 180:0 ensure_entry_shape - A (5) F 207:0 run_cli_with_timeout - A (4) F 118:0 assert_yaml - A (3) F 103:0 assert_json - A (2) F 241:0 run_module - A (2) F 273:0 require_symlink - A (2) C 50:0 Proc - A (2) F 73:0 golden_dir - A (1) F 83:0 _clean_env - A (1) F 192:0 _fuzz_env - A (1) F 263:0 make_ro_dir - A (1) M 59:4 Proc.__init__ - A (1) tests/e2e/history/test_history_core.py F 79:0 test_empty_file_is_tolerated - A (5) F 103:0 test_symlink_supported - A (5) F 138:0 test_export_import_cycle - A (5) F 239:0 test_json_shape_golden - A (5) F 316:0 test_help_mentions_flags - A (5) F 26:0 test_permission_denied_parent - A (4) F 39:0 test_disk_full_env - A (4) F 177:0 test_multiple_exports_are_identical - A (4) F 158:0 test_export_overwrites - A (3) F 201:0 test_sort_timestamp - A (3) F 213:0 test_group_by_command - A (3) F 269:0 test_yaml_shape_golden - A (3) F 297:0 test_json_and_yaml_agree - A (3) F 48:0 test_corrupt_history_file - A (2) F 58:0 test_sparse_large_file - A (2) F 69:0 test_binary_garbage - A (2) F 95:0 test_trailing_newlines - A (2) F 119:0 test_deleted_mid_command_is_tolerated - A (2) F 128:0 test_missing_parent_dir - A (2) F 169:0 test_import_invalid_file - A (2) F 190:0 test_filter_command_exact - A (2) F 282:0 test_legacy_and_extra_fields - A (2) F 309:0 test_formats_flag - A (2) F 327:0 test_invalid_limit_flag - A (2) F 333:0 test_negative_limit_flag - A (2) F 339:0 test_invalid_format_flag - A (2) F 226:0 e2e_fixture - A (1) tests/e2e/dev/conftest.py F 134:0 assert_error_contract - A (5) F 122:0 assert_no_stacktrace - A (4) F 107:0 assert_yaml - A (3) F 21:0 run_module - A (2) F 53:0 require_symlink - A (2) F 92:0 assert_json - A (2) F 147:0 normalize_root - A (2) F 43:0 make_ro_dir - A (1) F 66:0 golden_dir - A (1) F 76:0 clean_env - A (1) F 164:0 normalize_di - A (1) tests/e2e/dev/test_dev_root.py F 87:0 test_flags_individually - D (21) F 75:0 test_help_mentions_all_flags - B (6) F 48:0 test_format_with_whitespace - A (5) F 148:0 test_quiet_debug_stderr - A (4) F 135:0 test_quiet_precedence - A (3) F 177:0 test_python_m_module_invocation_json - A (3) F 187:0 test_python_m_module_invocation_quiet - A (3) F 67:0 test_flag_permutations - A (2) F 128:0 test_duplicate_format_last_wins_json - A (2) F 142:0 test_debug_stderr - A (2) F 156:0 test_root_json_golden - A (2) F 166:0 test_root_yaml_golden - A (2) F 41:0 pad - A (1) tests/e2e/dev/test_dev_di.py F 62:0 test_unknown_flag_ignored_or_errors_gracefully - C (12) F 105:0 test_di_json_shape_golden - B (9) F 136:0 test_di_yaml_shape_golden - B (9) F 250:0 test_stdout_formats - B (7) F 224:0 test_symlink_output - A (4) F 284:0 test_quiet_writes_files - A (4) F 167:0 test_limit_env_zero - A (3) F 264:0 test_multi_outputs_same - A (3) F 293:0 test_perf_budget - A (3) F 48:0 run_cli_with_timeout - A (2) F 177:0 test_limit_env_negative_is_error - A (2) F 189:0 test_config_non_ascii_is_ascii_error - A (2) F 199:0 test_config_ascii_but_unreadable - A (2) F 214:0 test_permission_denied_parent - A (2) F 239:0 test_serializer_failure_is_nonzero - A (2) F 274:0 test_directory_output_error - A (2) F 92:0 e2e_fixture - A (1) C 40:0 Proc - A (1) tests/e2e/dev/test_dev_plugins.py F 21:0 test_json_golden - B (7) F 36:0 test_yaml_golden - B (7) F 52:0 test_formats - A (4) F 64:0 test_quiet_suppresses_stdout - A (3) F 72:0 test_missing_format_value_is_cli_error - A (2) tests/e2e/plugins/test_plugin_check.py F 455:0 test_plugin_check_valid_and_invalid - B (6) F 17:0 test_plugin_check_ok - A (5) F 272:0 test_plugin_check_with_partial_metadata - A (5) F 42:0 test_plugin_check_nonexistent - A (4) F 51:0 test_plugin_check_no_health_hook - A (4) F 75:0 test_plugin_check_unhealthy - A (4) F 98:0 test_plugin_check_yaml - A (4) F 120:0 test_plugin_check_quiet - A (4) F 141:0 test_plugin_check_debug - A (4) F 162:0 test_plugin_check_invalid_output_format - A (4) F 207:0 test_plugin_check_invalid_format - A (4) F 228:0 test_plugin_check_quiet_and_debug - A (4) F 249:0 test_plugin_check_with_broken_code - A (4) F 308:0 test_plugin_check_crashes_should_not_kill_cli - A (4) F 403:0 test_plugin_check_async_health - A (4) F 430:0 test_plugin_check_health_raises_non_exception - A (4) F 183:0 test_plugin_check_permission_denied - A (3) F 334:0 test_plugin_check_returns_non_json - A (3) F 359:0 test_plugin_check_after_uninstall - A (3) F 380:0 test_plugin_check_health_returns_unexpected_type - A (3) tests/e2e/plugins/test_plugin_uninstall.py F 101:0 test_plugin_uninstall_with_partial_permissions - B (6) F 182:0 test_plugin_uninstall_idempotent - A (4) F 268:0 test_plugin_uninstall_removes_all_files - A (4) F 292:0 test_plugin_uninstall_symlinked_plugin_json - A (4) F 319:0 test_plugin_uninstall_plugin_dir_with_sub_dirs - A (4) F 62:0 test_plugin_uninstall_quiet - A (3) F 155:0 test_plugin_uninstall_symlink_dir - A (3) F 167:0 test_plugin_uninstall_non_dir - A (3) F 206:0 test_plugin_uninstall_empty_plugins_dir - A (3) F 216:0 test_plugin_uninstall_handles_broken_symlink - A (3) F 241:0 test_plugin_uninstall_non_ascii_name_rejected - A (3) F 362:0 test_plugin_uninstall_quiet_and_debug - A (3) F 16:0 test_plugin_uninstall_ok - A (2) F 35:0 test_plugin_uninstall_nonexistent - A (2) F 42:0 test_plugin_uninstall_twice - A (2) F 82:0 test_plugin_uninstall_wrong_case - A (2) F 127:0 test_plugin_uninstall_when_in_use - A (2) F 228:0 test_plugin_uninstall_in_non_writable_dir - A (2) F 258:0 test_plugin_uninstall_with_existing_file - A (2) F 343:0 test_plugin_uninstall_debug_mode - A (2) tests/e2e/plugins/test_plugin_list.py F 174:0 test_plugin_list_after_install - A (5) F 199:0 test_plugin_list_yaml - A (5) F 235:0 test_plugin_list_after_partial_install_failure - A (5) F 375:0 test_plugin_list_single_valid_plugin - A (5) F 275:0 test_plugin_list_with_symlinked_plugin_dir - A (4) F 299:0 test_plugin_list_ignores_hidden_files - A (4) F 27:0 test_plugin_list_quiet - A (3) F 53:0 test_plugin_list_with_quiet_and_debug - A (3) F 61:0 test_plugin_list_with_non_plugin_file - A (3) F 83:0 test_plugin_list_plugin_dir_not_dir - A (3) F 98:0 test_plugin_list_empty_dir - A (3) F 224:0 test_plugin_list_invalid_format - A (3) F 316:0 test_plugin_list_skips_dirs_missing_plugin_py - A (3) F 360:0 test_plugin_list_ignores_deeply_nested_plugins - A (3) F 17:0 test_plugin_list_empty - A (2) F 35:0 test_plugin_list_debug - A (2) F 42:0 test_plugin_list_after_uninstall - A (2) F 72:0 test_plugin_list_handles_non_utf8_filenames - A (2) F 109:0 test_plugin_list_ignores_non_plugin_dirs - A (2) F 121:0 test_plugin_list_handles_broken_symlinks - A (2) F 133:0 test_plugin_list_handles_nested_plugin_py - A (2) F 148:0 test_plugin_list_with_unicode_plugin_names - A (2) F 161:0 test_plugin_list_with_malformed_plugin_py - A (2) F 330:0 test_plugin_list_skips_reserved_python_keywords - A (2) F 346:0 test_plugin_list_with_symlinked_valid_plugin - A (2) tests/e2e/plugins/test_plugin_info.py F 479:0 test_plugin_info_unexpected_metadata_fields - B (8) F 235:0 test_plugin_info_with_missing_plugin_py - B (7) F 294:0 test_plugin_info_missing_json_file - B (7) F 419:0 test_plugin_info_large_metadata - B (7) F 541:0 test_plugin_info_many_files - B (7) F 152:0 test_plugin_info_yaml_vs_json - B (6) F 180:0 test_plugin_info_broken_metadata - B (6) F 383:0 test_plugin_info_symlinked_plugin_json - B (6) F 17:0 test_plugin_info_ok - A (5) F 48:0 test_plugin_info_yaml - A (5) F 73:0 test_plugin_info_quiet - A (5) F 97:0 test_plugin_info_invalid_format - A (5) F 127:0 test_plugin_info_after_uninstall - A (5) F 211:0 test_plugin_info_quiet_and_debug - A (5) F 327:0 test_plugin_info_handles_extra_files - A (5) F 355:0 test_plugin_info_does_not_read_subdirectories - A (5) F 451:0 test_plugin_info_non_utf8_metadata - A (5) F 512:0 test_plugin_info_permission_denied - A (5) F 267:0 test_plugin_info_fails_on_corrupt_symlink - A (3) F 42:0 test_plugin_info_nonexistent - A (2) tests/e2e/plugins/test_plugin_run.py F 14:0 test_plugin_run_custom_command - A (3) F 44:0 test_plugin_run_after_reinstall - A (3) F 68:0 test_plugin_run_invalid - A (3) F 91:0 test_plugin_run_after_uninstall - A (3) F 115:0 test_plugin_run_with_env_var - A (3) F 143:0 test_plugin_run_crashes_should_not_crash_cli - A (3) F 220:0 test_plugin_run_with_subcommand - A (3) F 267:0 test_plugin_run_plugin_py_missing - A (3) F 317:0 test_plugin_run_plugin_py_is_invalid_python - A (3) F 169:0 test_plugin_run_version_compatible - A (2) F 192:0 test_plugin_run_version_incompatible - A (2) F 250:0 test_plugin_run_symlinked_plugin_dir - A (2) F 277:0 test_plugin_run_broken_symlink - A (2) F 288:0 test_plugin_run_with_non_utf8_filename - A (2) F 300:0 test_plugin_run_with_reserved_python_keyword - A (2) tests/e2e/plugins/test_plugin_install.py F 56:0 test_plugin_install_with_external_dependency - A (5) F 296:0 test_plugin_install_multiple - A (4) F 561:0 test_plugin_install_to_nonexistent_plugins_dir - A (4) F 20:0 test_plugin_install_and_run_unicode_path_is_rejected - A (3) F 45:0 test_plugin_install_missing_plugin_py - A (3) F 142:0 test_plugin_install_and_uninstall_many_in_loop - A (3) F 182:0 test_plugin_install_directory_with_many_files - A (3) F 492:0 test_plugin_install_dry_run - A (3) F 606:0 test_plugin_install_with_existing_symlink_dir - A (3) F 672:0 test_plugin_install_invalid_name - A (3) F 80:0 test_plugin_install_readonly_plugin_dir - A (2) F 102:0 test_plugin_install_with_non_ascii_source_files - A (2) F 122:0 test_plugin_install_plugin_with_huge_metadata_file - A (2) F 162:0 test_plugin_install_with_no_plugin_py - A (2) F 203:0 test_plugin_install_broken_symlink - A (2) F 222:0 test_plugin_install_hidden_files_are_ignored - A (2) F 243:0 test_plugin_install_concurrent - A (2) F 272:0 test_plugin_install_with_nonempty_dest - A (2) F 319:0 test_plugin_install_from_file_fails - A (2) F 327:0 test_plugin_install_symlink_path - A (2) F 347:0 test_plugin_install_symlink_attack - A (2) F 369:0 test_plugin_install_symlink_loop - A (2) F 384:0 test_plugin_install_from_nested_dir - A (2) F 404:0 test_plugin_install_with_readonly_dest - A (2) F 426:0 test_plugin_install_from_scaffold - A (2) F 445:0 test_plugin_install_twice_requires_force - A (2) F 464:0 test_plugin_install_force - A (2) F 485:0 test_plugin_install_invalid_path - A (2) F 520:0 test_plugin_install_with_custom_env - A (2) F 538:0 test_plugin_install_permission_error - A (2) F 583:0 test_plugin_install_plugin_py_symlinked - A (2) F 635:0 test_plugin_install_after_partial_copy - A (2) tests/e2e/plugins/test_plugin_scaffold.py F 500:0 test_plugin_scaffold_name_case_insensitive_duplicate - B (10) F 392:0 test_plugin_scaffold_idempotent - B (9) F 348:0 test_plugin_scaffold_clears_symlink - A (5) F 54:0 test_plugin_scaffold_yaml_output - A (4) F 226:0 test_plugin_scaffold_creates_valid_plugin_py - A (4) F 247:0 test_plugin_scaffold_creates_plugin_json - A (4) F 288:0 test_plugin_scaffold_does_not_copy_temp_files - A (4) F 308:0 test_plugin_scaffold_force_overwrites_nonempty - A (4) F 372:0 test_plugin_scaffold_ignores_extra_template_files - A (4) F 462:0 test_plugin_scaffold_removes_broken_symlink - A (4) F 17:0 test_plugin_scaffold_creates_directory - A (3) F 34:0 test_plugin_scaffold_overwrites_if_exists - A (3) F 92:0 test_plugin_scaffold_quiet - A (3) F 110:0 test_plugin_scaffold_rejects_invalid_name - A (3) F 130:0 test_plugin_scaffold_existing_file - A (3) F 168:0 test_plugin_scaffold_unicode_name - A (3) F 268:0 test_plugin_scaffold_plugin_py_utf8 - A (3) F 330:0 test_plugin_scaffold_subdir - A (3) F 427:0 test_plugin_scaffold_handles_long_plugin_name - A (3) F 445:0 test_plugin_scaffold_fails_with_reserved_name - A (3) F 483:0 test_plugin_scaffold_fails_if_template_missing - A (3) F 75:0 test_plugin_scaffold_debug - A (2) F 150:0 test_plugin_scaffold_invalid_format - A (2) F 187:0 test_plugin_scaffold_in_non_writable_dir - A (2) F 207:0 test_plugin_scaffold_with_existing_nonempty_dir - A (2) tests/unit/core/test_context.py F 135:0 test_enter_exit_verbose - A (3) F 150:0 test_enter_exit_no_verbose - A (3) F 169:0 test_aenter_aexit_verbose - A (3) F 187:0 test_aenter_aexit_no_verbose - A (3) F 207:0 test_current_data_empty - A (3) F 230:0 test_use_context - A (3) F 248:0 test_exit_without_token_noop_and_logs - A (3) F 269:0 test_aexit_without_token_noop_and_logs - A (3) F 58:0 test_set_verbose - A (2) F 69:0 test_set_no_verbose - A (2) F 77:0 test_get_success_verbose - A (2) F 88:0 test_get_success_no_verbose - A (2) F 117:0 test_clear_verbose - A (2) F 161:0 test_enter_exit_exception - A (2) F 199:0 test_aenter_aexit_exception - A (2) F 215:0 test_current_data_existing - A (2) F 223:0 test_set_current_data - A (2) F 239:0 test_use_context_exception - A (2) F 19:0 mock_di - A (1) F 27:0 context - A (1) F 32:0 test_init_verbose - A (1) F 41:0 test_init_no_verbose - A (1) F 49:0 test_init_test_mode - A (1) F 98:0 test_get_fail_verbose - A (1) F 109:0 test_get_fail_no_verbose - A (1) F 128:0 test_clear_no_verbose - A (1) tests/unit/core/test_enums.py F 15:0 test_members - A (3) F 32:0 test_case_insensitive_lookup - A (2) F 44:0 test_member_passthrough - A (2) F 49:0 test_all_exported - A (2) F 56:0 parse_output_format - A (2) F 38:0 test_invalid_lookup - A (1) tests/unit/core/test_exceptions.py F 52:0 test_derived_exception_initialization - C (13) F 20:0 test_bijux_error_initialization_with_message_only - A (4) F 31:0 test_bijux_error_initialization_with_all_attributes - A (4) F 90:0 test_all_exports_are_correct - A (2) tests/unit/core/test_engine.py F 206:0 test_run_command_success_and_exceptions - B (6) F 246:0 test_register_plugins_discovers_and_registers - A (5) M 149:4 FakeDI.resolve - A (5) F 237:0 test_shutdown_flushes_history_and_calls_di_shutdown - A (3) F 309:0 test_register_plugins_skips_dirs_without_plugin_py - A (3) F 335:0 test_register_plugins_registers_without_startup - A (3) M 75:4 FakeConfig.get - A (3) C 131:0 FakeDI - A (3) C 290:0 DINoHistory - A (3) F 183:0 test_timeout_valid_values - A (2) F 190:0 test_timeout_keyerror_uses_default - A (2) F 301:0 test_shutdown_without_history_calls_di_shutdown - A (2) C 24:0 FakeRegistry - A (2) C 68:0 FakeConfig - A (2) C 119:0 FakeHistory - A (2) M 134:4 FakeDI.__init__ - A (2) M 142:4 FakeDI.register - A (2) M 293:4 DINoHistory.resolve - A (2) F 166:0 make_plugin_dir - A (1) F 197:0 test_timeout_invalid_raises_valueerror - A (1) F 283:0 test_run_repl_noop - A (1) M 27:4 FakeRegistry.__init__ - A (1) M 31:4 FakeRegistry.register - A (1) M 43:4 FakeRegistry.get - A (1) M 47:4 FakeRegistry.deregister - A (1) M 51:4 FakeRegistry.has - A (1) M 55:4 FakeRegistry.names - A (1) M 59:4 FakeRegistry.meta - A (1) M 63:4 FakeRegistry.call_hook - A (1) M 71:4 FakeConfig.__init__ - A (1) M 83:4 FakeConfig.all - A (1) M 86:4 FakeConfig.set - A (1) M 89:4 FakeConfig.unset - A (1) M 92:4 FakeConfig.delete - A (1) M 96:4 FakeConfig.clear - A (1) M 99:4 FakeConfig.list_keys - A (1) M 102:4 FakeConfig.load - A (1) M 106:4 FakeConfig.save - A (1) M 110:4 FakeConfig.export - A (1) M 114:4 FakeConfig.reload - A (1) M 122:4 FakeHistory.__init__ - A (1) M 126:4 FakeHistory.flush - A (1) M 161:4 FakeDI.shutdown - A (1) tests/unit/core/test_di.py F 349:0 test_shutdown_handles_sync_async_obs_and_error_paths_v1 - B (10) F 327:0 test_services_and_factories_views_v1 - A (5) F 159:0 test_register_and_resolve_value_and_missing_v1 - A (4) F 170:0 test_logging_via_observability_and_keyerror_fallback_v1 - A (4) F 296:0 test_override_restores_original_v1 - A (4) F 580:0 test_override_restores_original_resolved_instance - A (4) F 101:0 test__key_name_variants_v1 - A (3) F 111:0 test_current_auto_init_and_reset_paths_v1 - A (3) F 315:0 test_unregister_removes_and_clears_obs_when_service_is_obs_v1 - A (3) F 414:0 test_key_name_variants - A (3) F 424:0 test_singleton_and_idempotent_init - A (3) F 435:0 test_reset_with_instance_and_error_on_shutdown - A (3) F 562:0 test_unregister_nonexistent_key - A (3) F 570:0 test_override_restores_unresolved_service - A (3) F 590:0 test_reset_for_tests_logs_shutdown_error - A (3) F 125:0 test_reset_async_clears_everything_v1 - A (2) F 193:0 test_resolve_coroutine_sync_via_asyncio_run_v1 - A (2) F 231:0 test_resolve_async_returns_awaited_value_v1 - A (2) F 306:0 test_override_then_remove_for_missing_registration_v1 - A (2) F 376:0 test_resolve_via_injector_when_not_registered_plain_type_v1 - A (2) F 407:0 test_init_idempotent_v1 - A (2) F 450:0 test_reset_with_no_instance - A (2) F 458:0 test_reset_async_with_and_without_instance - A (2) F 497:0 test_register_internal_type_error_is_wrapped - A (2) F 523:0 test_resolve_async_with_sync_factory - A (2) F 554:0 test_factory_raises_base_exception_is_wrapped - A (2) F 604:0 test_instance_log_key_error_fallback - A (2) F 627:0 test_resolve_coroutine_hasattr_false_branch - A (2) F 664:0 test_static_log_key_error_fallback_and_name_mapping - A (2) C 25:0 DummyObs - A (2) M 47:4 DummyObs.log - A (2) C 69:0 SyncService - A (2) C 81:0 AsyncService - A (2) C 93:0 BadShutdownService - A (2) C 530:0 ClosableCoroService - A (2) F 135:0 test_register_conflict_string_then_type_v1 - A (1) F 147:0 test_register_conflict_type_then_string_v1 - A (1) F 209:0 test_resolve_coroutine_sync_with_fake_running_loop_v1 - A (1) F 242:0 test_factory_returns_none_raises_v1 - A (1) F 257:0 test_factory_raises_typeerror_is_reraised_v1 - A (1) F 270:0 test_factory_raises_other_exception_is_wrapped_v1 - A (1) F 283:0 test_circular_dependency_detection_v1 - A (1) F 387:0 test_resolve_via_injector_missing_binding_raises_key_error_v1 - A (1) F 395:0 test_log_and_log_static_key_error_fallback_v1 - A (1) F 467:0 test_register_invalid_key_type_v1 - A (1) F 477:0 test_register_type_string_conflicts - A (1) F 514:0 test_resolve_circular_dependency - A (1) F 546:0 test_factory_returns_none_raises_error - A (1) M 28:4 DummyObs.__init__ - A (1) M 36:4 DummyObs.setup - A (1) M 42:4 DummyObs.bind - A (1) M 57:4 DummyObs.get_logger - A (1) M 60:4 DummyObs.set_telemetry - A (1) M 64:4 DummyObs.close - A (1) M 72:4 SyncService.__init__ - A (1) M 76:4 SyncService.shutdown - A (1) M 84:4 AsyncService.__init__ - A (1) M 88:4 AsyncService.shutdown - A (1) M 96:4 BadShutdownService.shutdown - A (1) M 534:4 ClosableCoroService.factory - A (1) tests/unit/commands/test_config.py F 678:0 test_config_root_with_subcommand_skips_execution - A (5) F 799:0 test_posix_lock_success_and_run - A (5) F 760:0 test_posix_lock_failure - A (4) F 53:0 test_config_callback_no_subcommand - A (3) F 75:0 test_clear_config_success - A (3) F 133:0 test_export_config_file - A (3) F 154:0 test_get_config_success - A (3) F 175:0 test_list_config_success - A (3) F 197:0 test_load_config_success - A (3) F 236:0 test_reload_config_success - A (3) F 277:0 test_set_config_arg - A (3) F 407:0 test_unset_config_success - A (3) F 637:0 test_get_config_other_command_error - A (3) F 728:0 test_non_ascii_config_path_triggers_error - A (3) F 849:0 test_posix_lock_import_failure_skips_lock - A (3) F 912:0 test_posix_unlock_failure_is_ignored - A (3) F 970:0 test_non_posix_skips_file_lock_block - A (3) C 665:0 DummyCmd - A (2) C 712:0 DummySvc - A (2) F 35:0 mock_flags - A (1) F 47:0 mock_config_svc - A (1) F 96:0 test_clear_config_fail - A (1) F 116:0 test_export_config_stdout - A (1) F 217:0 test_load_config_exception - A (1) F 257:0 test_reload_config_exception - A (1) F 295:0 test_set_config_stdin - A (1) F 316:0 test_set_config_empty_key - A (1) F 334:0 test_set_config_non_ascii - A (1) F 352:0 test_set_config_control_char - A (1) F 370:0 test_set_config_invalid_key - A (1) F 388:0 test_set_config_exception - A (1) F 428:0 test_unset_config_key_error - A (1) F 448:0 test_unset_config_exception - A (1) F 468:0 test_import_config - A (1) F 476:0 test_export_config_command_error - A (1) F 497:0 test_export_config_exception - A (1) F 516:0 test_get_config_not_found - A (1) F 536:0 test_get_config_exception - A (1) F 554:0 test_list_config_exception - A (1) F 575:0 test_set_config_no_arg_tty - A (1) F 597:0 test_set_config_invalid_pair - A (1) F 616:0 test_set_config_stdin_escaped - A (1) F 719:0 make_ctx - A (1) M 668:4 DummyCmd.__init__ - A (1) M 674:4 DummyCmd.invoke - A (1) M 715:4 DummySvc.set - A (1) tests/unit/commands/test_help.py F 656:0 test_help_module_level_filter_and_restore - B (10) F 387:0 test_nonquiet_json_format_emits_payload - B (7) F 110:0 test_build_help_payload_with_runtime - B (6) F 537:0 test_import_level_overrides - B (6) F 61:0 test_find_target_command_empty_path - A (5) F 495:0 test_payload_value_error_emits_error - A (5) F 218:0 test_nonquiet_invalid_format_calls_emit_error - A (4) F 436:0 test_nonquiet_yaml_format_emits_payload - A (4) F 600:0 test_help_flag_fallback_to_root - A (4) F 135:0 test_help_flag_triggers_help_and_exit - A (3) F 249:0 test_nonquiet_null_byte_emits_null_byte_error - A (3) F 276:0 test_nonquiet_nonascii_token_emits_ascii_error - A (3) F 303:0 test_nonquiet_ascii_env_emits_error - A (3) F 323:0 test_nonquiet_not_found_emits_not_found - A (3) F 350:0 test_nonquiet_human_format_prints_and_exits - A (3) F 583:0 test_help_flag_no_target - A (3) F 627:0 test_help_flag_with_format_flag - A (3) F 679:0 test_filtered_echo_non_str_message - A (3) C 26:0 DummyCmd - A (3) F 55:0 test_find_target_command_no_parent - A (2) F 74:0 test_find_target_command_not_found - A (2) F 83:0 test_get_formatted_help_replaces_help_option - A (2) F 93:0 test_get_formatted_help_no_change - A (2) F 103:0 test_build_help_payload_without_runtime - A (2) F 125:0 make_ctx_for_callback - A (2) F 154:0 test_quiet_invalid_format - A (2) F 164:0 test_quiet_null_byte - A (2) F 180:0 test_quiet_non_ascii_token - A (2) F 196:0 test_quiet_non_ascii_env - A (2) F 207:0 test_quiet_not_found - A (2) F 473:0 test_find_target_command_path_too_long - A (2) F 482:0 test_quiet_success - A (2) M 29:4 DummyCmd.__init__ - A (2) F 44:0 _cleanup_help_module_patches - A (1) M 38:4 DummyCmd.get_help - A (1) tests/unit/commands/test___init__.py F 121:0 test_register_dynamic_plugins_via_entry_points - A (5) F 28:0 test_register_commands_adds_all_core_commands - A (4) F 268:0 test_entry_points_loading_failure - A (4) F 71:0 test_list_registered_command_names_includes_cores_and_plugins - A (3) F 151:0 test_dynamic_plugins_entry_point_loading_fails_entire_metadata - A (3) F 169:0 test_dynamic_plugins_discovery_bails_on_getdir_exception - A (3) F 78:0 test_local_plugin_missing_loader - A (2) F 110:0 test_list_registered_command_names_collects_dynamic - A (2) F 193:0 test_register_dynamic_plugins_local_dir - A (2) F 222:0 test_local_plugin_cli_returns_non_typer - A (2) F 245:0 test_local_plugin_module_load_exception - A (2) F 48:0 make_fake_ep - A (1) C 67:0 DummyTyper - A (1) tests/unit/commands/test_memory.py F 266:0 test_summary_build_payload - A (3) F 274:0 test_clear_memory_success - A (3) F 321:0 test_clear_build_payload - A (3) F 329:0 test_delete_memory_success - A (3) F 427:0 test_delete_build_payload - A (3) F 435:0 test_get_memory_success - A (3) F 524:0 test_get_build_payload - A (3) F 532:0 test_list_memory_success - A (3) F 580:0 test_list_build_payload - A (3) F 588:0 test_set_memory_success - A (3) F 649:0 test_set_build_payload - A (3) F 695:0 test_memory_help_no_subcommand_prints_top_help_and_exits - A (3) F 712:0 test_memory_help_with_subcommand_prints_sub_help_and_exits - A (3) F 69:0 test_resolve_memory_service_success - A (2) F 735:0 test_memory_help_no_subcommand_prints_top_help_and_exits_alt - A (2) F 750:0 test_memory_help_with_subcommand_else_branch - A (2) F 764:0 test_memory_no_help_falls_through_to_summary - A (2) F 780:0 test_memory_fall_through_to_summary_and_exit - A (2) C 657:0 _DummyCmd - A (2) C 670:0 FakeCommandNoSub - A (2) C 678:0 FakeCommandWithSub - A (2) F 52:0 mock_flags - A (1) F 64:0 mock_memory_svc - A (1) F 80:0 test_resolve_memory_service_exception - A (1) F 103:0 test_memory_summary_no_subcommand - A (1) F 131:0 test_memory_summary_keys_count_fail - A (1) F 169:0 test_run_one_shot_mode - A (1) F 196:0 test_run_one_shot_mode_ascii_env - A (1) F 229:0 test_run_one_shot_mode_value_error - A (1) F 294:0 test_clear_memory_exception - A (1) F 352:0 test_delete_memory_invalid_key - A (1) F 367:0 test_delete_memory_key_error - A (1) F 397:0 test_delete_memory_exception - A (1) F 456:0 test_get_memory_invalid_key - A (1) F 470:0 test_get_memory_key_error - A (1) F 497:0 test_get_memory_exception - A (1) F 553:0 test_list_memory_exception - A (1) F 608:0 test_set_memory_invalid_key - A (1) F 622:0 test_set_memory_exception - A (1) F 807:0 test_memory_with_subcommand_does_not_call_summary - A (1) M 663:4 _DummyCmd.__init__ - A (1) M 673:4 FakeCommandNoSub.get_help - A (1) M 681:4 FakeCommandWithSub.get_command - A (1) C 728:0 FakeCmd - A (1) C 801:0 MockTyperCommand - A (1) tests/unit/commands/test_sleep.py F 127:0 test_sleep_success - B (6) F 29:0 test_build_payload_with_runtime - A (5) F 80:0 test_sleep_negative_seconds - A (4) F 95:0 test_sleep_config_error - A (4) F 111:0 test_sleep_timeout_exceeded - A (4) F 23:0 test_build_payload_no_runtime - A (2) F 56:0 _install_fake_container - A (1) tests/unit/commands/test_audit.py F 178:0 test_audit_write_to_file - B (9) F 250:0 test_build_payload_variants - B (7) F 263:0 test_write_output_file_success - B (7) F 600:0 test_audit_written_without_runtime_when_not_verbose - B (7) F 222:0 test_audit_dry_run_stdout - B (6) F 337:0 test_env_file_validation_error - B (6) F 406:0 test_audit_catches_value_error_from_env_validation - B (6) F 426:0 test_audit_catches_value_error_from_main_logic - B (6) F 450:0 test_audit_catches_generic_exception_from_main_logic - B (6) F 472:0 test_audit_output_to_file_with_verbose_includes_runtime - B (6) F 501:0 test_audit_output_to_file_with_verbose_includes_runtime_in_final_payload - B (6) F 522:0 test_audit_output_to_file_with_verbose - B (6) F 573:0 test_verbose_file_output_constructs_correct_final_payload - B (6) F 83:0 test_build_payload_with_runtime - A (5) F 121:0 test_audit_ascii_env_error - A (5) F 135:0 test_audit_env_file_error - A (5) F 155:0 test_audit_unexpected_error - A (5) F 207:0 test_audit_output_file_error - A (5) F 542:0 test_audit_stray_argument_error_path - A (5) F 328:0 test_ascii_env_error - A (4) F 350:0 test_verbose_includes_runtime - A (4) F 74:0 test_build_payload_without_runtime - A (3) F 369:0 test_debug_implies_pretty_and_verbose - A (3) F 383:0 test_audit_stray_argument - A (3) F 391:0 test_audit_invoked_subcommand_returns - A (3) C 38:0 DummyEmitter - A (2) F 32:0 _fake_configure_emitter - A (1) F 103:0 test_write_output_file_parent_missing - A (1) F 313:0 test_write_output_file_os_error - A (1) M 41:4 DummyEmitter.__init__ - A (1) M 45:4 DummyEmitter.emitted - A (1) M 48:4 DummyEmitter.emit - A (1) M 70:4 DummyEmitter.flush - A (1) tests/unit/commands/test_repl.py F 607:0 test_completer_subcommands_params_help_placeholder_and_dummy - B (10) M 47:4 _RecordingFakeRunner.invoke - B (10) F 153:0 test_run_piped_flow_and_messages - B (9) F 496:0 test_run_interactive_end_to_end - B (8) F 560:0 test_invoke_json_commands_and_quiet - B (7) C 40:0 _RecordingFakeRunner - B (7) F 93:0 test_suggest - A (5) F 449:0 test_invoke_history_prints_empty_entries_pretty - A (5) F 792:0 test_run_piped_edges_empty_segs_docs_quiet_unknown_and_empty_tokens - A (5) F 222:0 test_get_prompt_plain_and_ansi - A (4) F 311:0 test_completer_global_opts_builtins_and_top - A (4) F 367:0 test_main_invalid_format_emits_error - A (4) F 587:0 test_invoke_config_list_forces_no_pretty - A (4) F 664:0 test_invoke_history_non_empty_prints_raw - A (4) F 767:0 test_invoke_history_empty_quiet_skips_pretty - A (4) F 836:0 test_completer_group_list_both_paths_and_help_false - A (4) F 1094:0 test_run_piped_config_get_missing_arg_emits_json - A (4) F 201:0 test_run_piped_quiet_suppresses_everything - A (3) F 345:0 test_main_human_quiet_routes_to_piped - A (3) F 627:0 test_known_commands_spec_wrong_type - A (3) F 706:0 test_completer_find_longest_prefix - A (3) F 716:0 test_main_returns_early_when_subcommand - A (3) F 1030:0 test_run_interactive_keybindings_apply_completion - A (3) F 1113:0 test_completer_force_key_value_and_dummy - A (3) F 1122:0 test_run_piped_skips_empty_and_comment_segments - A (3) C 254:0 FakeCmd - A (3) C 319:0 FakePromptSession - A (3) C 896:0 PSValueErrorThenQuit - A (3) M 903:4 PSValueErrorThenQuit.prompt_async - A (3) F 75:0 test_filter_control_removes_ansi - A (2) F 81:0 test_split_segments_handles_quotes_and_semicolons - A (2) F 144:0 _run_piped_lines - A (2) F 234:0 test_exit_on_signal - A (2) F 305:0 complete_text - A (2) F 408:0 test_known_commands_spec_invalid_json_falls_back - A (2) F 687:0 test_run_piped_ignores_unclosed_quote - A (2) F 699:0 test_completer_handles_shlex_valueerror - A (2) F 946:0 test_run_interactive_keybindings_and_value_error_and_unknown - A (2) F 968:0 test_run_interactive_exits_on_keyboard_interrupt - A (2) F 1140:0 test_run_piped_prints_prompt_for_pure_blank_or_comment - A (2) C 30:0 _FakeResult - A (2) C 241:0 FakeParam - A (2) M 257:4 FakeCmd.__init__ - A (2) C 263:0 FakeGroup - A (2) C 272:0 FakeApp - A (2) M 336:4 FakePromptSession.prompt_async - A (2) C 847:0 _KBRecorder - A (2) F 66:0 _capture_io - A (1) F 110:0 build_fake_root_app - A (1) F 137:0 _install_fake_cli_module - A (1) F 281:0 make_fake_completer - A (1) F 468:0 make_real_completer - A (1) F 737:0 test_main_interactive_path_calls_async_loop - A (1) F 913:0 _wire_interactive_env - A (1) F 991:0 test_main_guard_invokes_repl_app_without_side_effects - A (1) M 33:4 _FakeResult.__init__ - A (1) M 43:4 _RecordingFakeRunner.__init__ - A (1) M 244:4 FakeParam.__init__ - A (1) M 266:4 FakeGroup.__init__ - A (1) M 275:4 FakeApp.__init__ - A (1) M 322:4 FakePromptSession.__init__ - A (1) M 850:4 _KBRecorder.add - A (1) M 899:4 PSValueErrorThenQuit.__init__ - A (1) tests/unit/commands/test_dev.py F 630:0 test_dev_payload_basic_and_runtime_inclusion - B (8) F 32:0 test_dev_package_import_and_app_wiring - A (5) F 61:0 test_build_dev_di_payload_without_runtime - A (5) F 84:0 test_build_dev_di_payload_with_runtime - A (5) F 666:0 test_dev_payload_includes_mode_env - A (5) F 101:0 test_dev_di_graph_basic_json_calls_new_run_command - A (4) F 690:0 test_dev_di_graph_config_env_readable_path - A (4) F 141:0 test_dev_di_graph_limit_env_trims_payload - A (3) F 186:0 test_dev_di_graph_output_json_writes_file_and_calls_new_run - A (3) F 256:0 test_dev_di_graph_quiet_after_writing_exits - A (3) F 275:0 test_dev_di_graph_force_serialize_failure_env - A (3) F 332:0 test_dev_di_graph_invalid_limit_emits_error - A (3) F 460:0 test_dev_di_graph_payload_builder_raises_value_error - A (3) F 590:0 test_dev_list_plugins_calls_handlers - A (3) F 42:0 test_key_to_name_with_string - A (2) F 47:0 test_key_to_name_with_class - A (2) F 55:0 test_key_to_name_with_object_without_name - A (2) F 225:0 test_dev_di_graph_output_yaml_writes_file - A (2) F 377:0 test_dev_di_graph_config_env_non_ascii_emits_error - A (2) F 417:0 test_dev_di_graph_config_env_unreadable_path - A (2) F 503:0 test_dev_di_graph_output_path_is_directory - A (2) F 539:0 test_dev_di_graph_output_write_raises - A (2) F 618:0 test_dev_callback_returns_when_subcommand - A (2) F 27:0 ctx - A (1) tests/unit/commands/test_utilities.py F 751:0 test_emit_error_and_exit_include_runtime - A (4) F 824:0 test_parse_global_flags_debug - A (4) F 1222:0 test_emit_and_exit_plain_oserror_eacces_hits_oerror_branch - A (4) F 1264:0 test_emit_and_exit_plain_oserror_eperm_hits_oerror_branch - A (4) F 794:0 test_parse_global_flags_empty - A (3) F 809:0 test_parse_global_flags_help - A (3) F 995:0 test_handle_list_plugins_success - A (3) F 1053:0 test_parse_global_flags_multiple - A (3) F 1212:0 test_contains_non_ascii_env_skips_nonexistent_config - A (3) F 51:0 test_ascii_safe_str_ascii - A (2) F 56:0 test_ascii_safe_str_non_ascii - A (2) F 61:0 test_ascii_safe_str_control_allowed - A (2) F 66:0 test_ascii_safe_str_control_other - A (2) F 71:0 test_ascii_safe_non_str - A (2) F 76:0 test_ascii_safe_empty - A (2) F 81:0 test_normalize_format_none - A (2) F 86:0 test_normalize_format_empty - A (2) F 91:0 test_normalize_format_whitespace - A (2) F 96:0 test_normalize_format_upper - A (2) F 101:0 test_contains_non_ascii_env_no_config - A (2) F 109:0 test_contains_non_ascii_env_config_non_ascii - A (2) F 119:0 test_contains_non_ascii_env_file_non_ascii - A (2) F 129:0 test_contains_non_ascii_env_file_error - A (2) F 137:0 test_contains_non_ascii_env_other_env - A (2) F 143:0 test_contains_non_ascii_env_non_bijux - A (2) F 148:0 test_validate_common_flags_valid_json - A (2) F 153:0 test_validate_common_flags_valid_yaml - A (2) F 360:0 test_new_run_command_history_skip_quiet - A (2) F 384:0 test_new_run_command_history_skip_history_cmd - A (2) F 638:0 test_emit_and_exit_quiet - A (2) F 734:0 test_emit_error_and_exit_quiet - A (2) F 763:0 test_emit_error_and_exit_extra - A (2) F 817:0 test_parse_global_flags_quiet - A (2) F 833:0 test_parse_global_flags_verbose - A (2) F 840:0 test_parse_global_flags_format - A (2) F 881:0 test_parse_global_flags_format_invalid_help - A (2) F 888:0 test_parse_global_flags_pretty - A (2) F 895:0 test_parse_global_flags_no_pretty - A (2) F 902:0 test_parse_global_flags_unknown - A (2) F 909:0 test_parse_global_flags_unknown_help - A (2) F 916:0 test_list_installed_plugins_non_exist - A (2) F 956:0 test_list_installed_plugins_success - A (2) F 971:0 test_list_installed_plugins_symlink_dir - A (2) F 983:0 test_list_installed_plugins_ignore_errors - A (2) F 1077:0 test_all_exported - A (2) F 1101:0 test_contains_non_ascii_env_file_ascii_ok - A (2) F 1108:0 test_emit_error_and_exit_no_failure - A (2) F 1131:0 test_emit_error_and_exit_no_command - A (2) F 1143:0 test_emit_error_and_exit_no_fmt - A (2) F 1171:0 test_contains_non_ascii_env_file_ascii_happy - A (2) F 39:0 mock_di - A (1) F 158:0 test_validate_common_flags_invalid - A (1) F 174:0 test_validate_common_flags_non_ascii - A (1) F 193:0 test_validate_common_flags_quiet - A (1) F 200:0 test_validate_common_flags_include_runtime - A (1) F 219:0 test_validate_env_file_if_present_no_path - A (1) F 224:0 test_validate_env_file_if_present_non_exist - A (1) F 230:0 test_validate_env_file_if_present_read_fail - A (1) F 241:0 test_validate_env_file_if_present_invalid_line - A (1) F 254:0 test_validate_env_file_if_present_valid - A (1) F 263:0 test_new_run_command_success - A (1) F 297:0 test_new_run_command_yaml - A (1) F 327:0 test_new_run_command_build_fail - A (1) F 410:0 test_new_run_command_history_success - A (1) F 440:0 test_new_run_command_history_fail - A (1) F 471:0 test_new_run_command_history_permission_error - A (1) F 505:0 test_new_run_command_history_os_error_perm - A (1) F 537:0 test_new_run_command_history_os_error_space - A (1) F 572:0 test_new_run_command_history_os_error_other - A (1) F 606:0 test_new_run_command_history_exception - A (1) F 645:0 test_emit_and_exit_json_pretty - A (1) F 663:0 test_emit_and_exit_json_compact - A (1) F 681:0 test_emit_and_exit_yaml_pretty - A (1) F 701:0 test_emit_and_exit_yaml_compact - A (1) F 721:0 test_emit_and_exit_debug - A (1) F 741:0 test_emit_error_and_exit_json - A (1) F 782:0 test_emit_error_and_exit_debug - A (1) F 847:0 test_parse_global_flags_format_missing - A (1) F 864:0 test_parse_global_flags_format_invalid_no_help - A (1) F 924:0 test_list_installed_plugins_symlink_loop - A (1) F 935:0 test_list_installed_plugins_not_dir - A (1) F 946:0 test_list_installed_plugins_invalid_access - A (1) F 1026:0 test_handle_list_plugins_fail - A (1) F 1155:0 test_emit_error_and_exit_json_dumps_fails - A (1) F 1178:0 test_emit_and_exit_history_permission_denied - A (1) tests/unit/commands/test_version.py F 290:0 test_version_callback_help - B (8) F 142:0 test_payload_builder_lambda - B (7) F 94:0 test_build_payload_verbose - A (5) F 129:0 test_version_callback_subcommand - A (3) F 45:0 test_build_payload_default - A (2) F 52:0 test_build_payload_env_valid - A (2) F 108:0 test_version_callback_format_yaml - A (2) F 188:0 test_version_callback_no_subcommand - A (2) F 209:0 test_version_callback_quiet - A (2) F 230:0 test_version_callback_verbose - A (2) F 250:0 test_version_callback_no_pretty - A (2) F 270:0 test_version_callback_debug - A (2) F 26:0 mock_di - A (1) F 38:0 mock_di_class - A (1) F 60:0 test_build_payload_env_invalid_length_short - A (1) F 68:0 test_build_payload_env_invalid_length_long - A (1) F 76:0 test_build_payload_env_non_ascii - A (1) F 84:0 test_build_payload_env_invalid_semver - A (1) F 160:0 test_build_payload_ascii_safe_fail - A (1) F 172:0 test_build_payload_verbose_ascii_safe_fail_python - A (1) F 180:0 test_build_payload_verbose_ascii_safe_fail_platform - A (1) tests/unit/commands/test_docs.py F 193:0 test_default_output_and_resolve_targets - C (11) F 35:0 test_resolve_output_target - B (10) F 223:0 test_build_spec_payload_basic - B (7) F 591:0 test_docs_stdout_debug_no_diagnostics - A (4) F 628:0 test_docs_stdout_quiet_skips_echo - A (4) F 668:0 test_docs_stdout_yaml - A (4) F 28:0 test_default_output_path - A (3) F 257:0 test_docs_stdout_branch - A (3) F 243:0 test_build_spec_payload_ascii_failure - A (2) F 293:0 test_docs_file_written_and_emit_and_exit - A (2) F 448:0 test_docs_writes_yaml_and_emit - A (2) F 62:0 test_docs_stray_args_option - A (1) F 92:0 test_docs_stray_args_word - A (1) F 123:0 test_docs_ascii_env_failure - A (1) F 158:0 test_docs_ascii_payload_failure - A (1) F 344:0 test_docs_write_failure - A (1) F 397:0 test_docs_missing_output_dir - A (1) F 493:0 test_docs_io_fail_flag - A (1) F 543:0 test_docs_internal_error_path_none - A (1) F 716:0 test_docs_yaml_serialization_failure - A (1) tests/unit/commands/test_status.py F 355:0 test_status_watch_happy_path_delegates_to_run_watch_mode - B (10) F 270:0 test_status_calls_new_run_command_when_not_watching - B (9) F 424:0 test_run_watch_mode_one_iteration_and_stop - B (8) F 395:0 test_run_watch_mode_quiet_skips_final_emit_but_records_stop - A (5) F 125:0 test_build_payload_with_runtime - A (4) F 112:0 test_build_payload_minimal - A (3) F 141:0 test_run_watch_mode_rejects_non_json - A (3) F 237:0 test_status_returns_early_on_subcommand - A (3) F 311:0 test_status_watch_invalid_interval_types - A (3) F 460:0 test_run_watch_mode_final_emit_exception_swallowed - A (3) M 30:4 FakeEmitter.emit - A (3) C 95:0 FakeDI - A (3) M 103:4 FakeDI.resolve - A (3) F 177:0 test_run_watch_mode_ascii_value_error - A (2) F 207:0 test_run_watch_mode_generic_emit_error - A (2) C 22:0 FakeEmitter - A (2) C 67:0 FakeTelemetry - A (2) M 75:4 FakeTelemetry.event - A (2) M 25:4 FakeEmitter.__init__ - A (1) M 58:4 FakeEmitter.flush - A (1) M 62:4 FakeEmitter.close - A (1) M 70:4 FakeTelemetry.__init__ - A (1) M 80:4 FakeTelemetry.enable - A (1) M 85:4 FakeTelemetry.disable - A (1) M 90:4 FakeTelemetry.flush - A (1) M 98:4 FakeDI.__init__ - A (1) tests/unit/commands/test_doctor.py F 51:0 test_build_payload_all_healthy - C (11) F 38:0 test_build_payload_combined_issues - B (6) F 139:0 test_doctor_success_path - B (6) F 71:0 test_build_payload_detects_empty_path_and_forced_unhealthy - A (5) F 18:0 test_build_payload_path_empty - A (3) F 28:0 test_build_payload_force_unhealthy - A (3) F 88:0 test_doctor_short_circuits_if_subcommand_set - A (2) F 98:0 test_doctor_di_failure - A (1) F 178:0 test_doctor_stray_option_calls_emit_and_exits - A (1) F 203:0 test_doctor_stray_argument_calls_emit_and_exits - A (1) tests/unit/commands/test_history.py F 678:0 test_clear_history_debug_overrides_flags - B (6) F 1232:0 test_history_positive_limit_branch_and_payload_builder - B (6) F 807:0 test_history_export_payload_and_runtime - A (5) F 1019:0 test_history_import_payload_runtime_with_verbose - A (5) F 1106:0 test_history_export_payload_runtime_with_verbose - A (5) F 1187:0 test_history_limit_positive_slicing - A (5) F 187:0 test_history_group_by_command - A (4) F 851:0 test_history_debug_flag_overrides - A (4) F 1339:0 test_history_positive_limit_slicing_and_successful_completion - A (4) F 79:0 test_history_no_subcommand - A (3) F 603:0 test_clear_history_success - A (3) F 962:0 test_history_import_skip_empty_and_payload - A (3) F 1064:0 test_history_export_payload_and_basic - A (3) F 40:0 test_resolve_history_service_success - A (2) F 105:0 test_history_limit_zero - A (2) F 129:0 test_history_filter_cmd - A (2) F 156:0 test_history_sort_timestamp - A (2) F 225:0 test_history_export_path - A (2) F 265:0 test_history_import_path - A (2) F 731:0 test_history_list_positive_limit_and_failure - A (2) F 1150:0 test_history_list_limit_slicing - A (2) F 1293:0 test_history_list_slicing_for_positive_limit - A (2) F 22:0 mock_flags - A (1) F 34:0 mock_history_svc - A (1) F 53:0 test_resolve_history_service_exception - A (1) F 320:0 test_history_invalid_limit - A (1) F 362:0 test_history_invalid_sort - A (1) F 404:0 test_history_invalid_group_by - A (1) F 446:0 test_history_import_invalid_json - A (1) F 492:0 test_history_import_not_list - A (1) F 531:0 test_history_import_non_dict - A (1) F 566:0 test_history_export_exception - A (1) F 624:0 test_clear_history_exception - A (1) F 654:0 test_clear_resolve_history_service_exception - A (1) F 706:0 test_resolve_history_service_error - A (1) F 892:0 test_history_invoked_subcommand_skips - A (1) F 914:0 test_history_list_failure - A (1) tests/unit/commands/plugins/test_plugins_scaffold.py F 480:0 test_force_removes_existing_file - B (6) F 364:0 test_force_removes_existing_symlink - A (5) F 514:0 test_template_copy_failed - A (5) F 153:0 test_remove_failed - A (4) F 387:0 test_force_removes_existing_directory - A (4) F 408:0 test_scaffold_fails_if_template_does_not_create_dir - A (4) F 68:0 test_reserved_keyword - A (3) F 75:0 test_invalid_name - A (3) F 82:0 test_no_template - A (3) F 89:0 test_parent_mkdir_failed - A (3) F 115:0 test_parent_not_dir - A (3) F 127:0 test_name_conflict - A (3) F 140:0 test_dir_not_empty - A (3) F 176:0 test_cookiecutter_missing - A (3) F 208:0 test_scaffold_failed - A (3) F 241:0 test_plugin_json_missing - A (3) F 275:0 test_plugin_json_invalid - A (3) F 312:0 test_success - A (3) F 28:0 cap - A (1) F 63:0 runner - A (1) F 344:0 _stub_cookiecutter_creates_good_dir - A (1) F 430:0 captured - A (1) F 436:0 _stub_out - A (1) F 469:0 _inject_cookiecutter - A (1) tests/unit/commands/plugins/test_plugins_check.py F 265:0 test_async_health_and_payload_builder - B (6) F 51:0 make_plugin_dir - A (5) F 127:0 test_health_various_returns - A (5) F 30:0 _make_dir - A (4) F 292:0 test_unexpected_health_return_marks_unhealthy - A (4) F 148:0 test_missing_plugin_py - A (3) F 160:0 test_missing_metadata - A (3) F 172:0 test_corrupt_metadata - A (3) F 188:0 test_import_spec_failure - A (3) F 205:0 test_import_exec_error_and_debug - A (3) F 227:0 test_no_health_hook - A (3) F 239:0 test_bad_signature - A (3) F 252:0 test_health_raises - A (3) F 314:0 test_signature_introspection_error - A (3) C 21:0 DummyExitError - A (2) F 71:0 run_check - A (1) F 93:0 _capture_emit - A (1) M 24:4 DummyExitError.__init__ - A (1) tests/unit/commands/plugins/test_plugins_utils.py F 22:0 test_ignore_hidden_and_broken_symlinks - B (7) F 52:0 test_parse_required_cli_version_on_errors - A (5) F 77:0 test_refuse_on_symlink_calls_emit - A (5) F 45:0 test_parse_required_cli_version_absent - A (2) F 121:0 test_parse_required_cli_version_class_attr - A (2) F 129:0 test_parse_required_cli_version_class_attr_field_first - A (2) F 139:0 test_parse_required_cli_version_no_specifier - A (2) F 146:0 test_parse_required_cli_version_syntax_error - A (2) F 153:0 test_parse_required_cli_version_top_level - A (2) F 161:0 test_parse_required_cli_version_class_level_only - A (2) F 169:0 test_parse_required_cli_version_prefers_top_level - A (2) F 179:0 test_parse_required_cli_version_plugin_class_exists_without_specifier - A (2) F 70:0 test_refuse_on_symlink_noop - A (1) tests/unit/commands/plugins/test_plugins_info.py F 186:0 test_info_success_without_runtime - B (8) F 55:0 make_plugin_dir - A (5) F 34:0 _make_dir - A (4) F 123:0 test_info_plugin_not_found - A (4) F 233:0 test_build_payload_directly - A (4) F 142:0 test_info_metadata_corrupt_json - A (3) F 165:0 test_info_metadata_missing_field - A (3) F 212:0 test_info_success_with_runtime - A (3) F 243:0 test_info_no_metadata_file - A (2) C 25:0 DummyExitError - A (2) F 75:0 run_check - A (1) F 97:0 _capture_emit - A (1) M 28:4 DummyExitError.__init__ - A (1) tests/unit/commands/plugins/test_plugins_list.py F 56:0 test_default_list - A (5) F 73:0 test_all_flags - A (5) F 102:0 test_validate_error - A (3) F 113:0 test_refuse_error - A (3) F 19:0 caps - A (1) F 51:0 runner - A (1) tests/unit/commands/plugins/test_plugins_uninstall.py F 180:0 test_successful_uninstall - A (5) F 159:0 test_remove_failed - A (4) F 238:0 test_not_dir_branch - A (4) F 287:0 test_list_failed_exception - A (4) F 96:0 test_list_failed - A (3) F 104:0 test_not_installed - A (3) F 114:0 test_symlink_path - A (3) F 130:0 test_permission_denied - A (3) F 198:0 test_not_dir_to_not_installed - A (3) F 211:0 test_plugin_disappears_during_lock - A (3) F 23:0 captured - A (1) F 65:0 runner - A (1) F 71:0 stub_plugins_dir_and_capture - A (1) tests/unit/commands/plugins/test_plugins_install.py F 269:0 test_dry_run - A (5) F 283:0 test_successful_install_with_force - A (5) F 124:0 test_remove_failed_on_force - A (4) F 171:0 test_disk_full - A (4) F 190:0 test_permission_denied - A (4) F 209:0 test_os_error_other - A (4) F 302:0 test_src_resolve_fallback - A (4) F 76:0 test_source_not_found - A (3) F 85:0 test_invalid_plugin_name - A (3) F 96:0 test_symlink_dir - A (3) F 111:0 test_already_installed_without_force - A (3) F 144:0 test_missing_plugin_py - A (3) F 155:0 test_invalid_version_specifier - A (3) F 228:0 test_plugin_py_missing_after_copy - A (3) F 251:0 test_incompatible_cli_version - A (3) F 324:0 test_force_removes_file_dest - A (3) F 345:0 test_version_spec_success - A (3) F 364:0 test_plugins_dir_create_failure - A (3) F 25:0 captured - A (1) F 71:0 runner - A (1) tests/unit/services/test_config.py F 991:0 test_tmp_cleanup_branch - A (5) F 1117:0 test_set_many_exhausts_retries_and_unlinks_tmp - A (4) F 1136:0 test_set_retry_exhaustion_unlinks_tmp - A (4) F 1155:0 test_delete_generic_exception_unlinks_tmp - A (4) F 1176:0 test_delete_retry_exhaustion_unlinks_tmp - A (4) F 59:0 test_escape_basic - A (3) F 215:0 test_load_imports_data_without_changing_config_path - A (3) F 287:0 test_clear - A (3) F 376:0 test_set - A (3) F 1044:0 test_config_retry_exhaustion_cleans_tmp - A (3) F 65:0 test_escape_special - A (2) F 70:0 test_unescape_basic - A (2) F 75:0 test_unescape_special - A (2) F 86:0 test_init_load_success - A (2) F 96:0 test_init_load_missing - A (2) F 116:0 test_load_default - A (2) F 126:0 test_load_explicit - A (2) F 180:0 test_load_prefix_remove - A (2) F 187:0 test_load_lower_key - A (2) F 194:0 test_load_skip_comments - A (2) F 201:0 test_load_empty_lines - A (2) F 208:0 test_load_unescape - A (2) F 227:0 test_set_many - A (2) F 237:0 test_set_many_escape - A (2) F 261:0 test_set_many_error_cleanup - A (2) F 275:0 test_all - A (2) F 281:0 test_list_keys - A (2) F 299:0 test_clear_no_file - A (2) F 333:0 test_get_found - A (2) F 339:0 test_get_default - A (2) F 351:0 test_get_env_override - A (2) F 358:0 test_get_bool_true - A (2) F 364:0 test_get_bool_false - A (2) F 370:0 test_get_prefix_insensitive - A (2) F 387:0 test_set_existing - A (2) F 412:0 test_set_error_cleanup - A (2) F 426:0 test_reload - A (2) F 454:0 test_export_env - A (2) F 462:0 test_export_json - A (2) F 470:0 test_export_yaml - A (2) F 478:0 test_export_stdout - A (2) F 526:0 test_delete - A (2) F 540:0 test_unset_alias - A (2) F 547:0 test_save - A (2) F 558:0 test_save_no_path - A (2) F 617:0 test_set_many_no_path - A (2) F 627:0 test_get_env_no_prefix - A (2) F 633:0 test_get_not_str_no_bool - A (2) F 639:0 test_export_auto_fmt - A (2) F 647:0 test_export_stdout_json - A (2) F 691:0 test_delete_persist - A (2) F 716:0 test_save_empty - A (2) F 726:0 test_preflight_depth_exceed - A (2) F 761:0 test_export_auto_env - A (2) F 769:0 test_export_auto_json - A (2) F 777:0 test_export_stdout_empty - A (2) F 787:0 test_save_empty_file - A (2) F 826:0 test_set_many_error_cleanup_exists - A (2) F 842:0 test_set_many_locked_retry_cleanup - A (2) F 902:0 test_delete_inner_write_error_cleans_tmp - A (2) F 922:0 test_set_replace_failure_cleans_tmp - A (2) F 947:0 test_delete_replace_failure_cleans_tmp - A (2) F 973:0 test_delete_writes_remaining_items - A (2) F 1084:0 test_config_cleanup_tmp_on_retry_exhaustion - A (2) F 1286:0 test_set_many_cleans_up_after_retry_exhaustion_v2 - A (2) F 1304:0 test_set_cleans_up_after_retry_exhaustion_v2 - A (2) F 1322:0 test_delete_cleans_up_after_generic_exception_v2 - A (2) F 1340:0 test_delete_cleans_up_after_retry_exhaustion_v2 - A (2) F 25:0 mock_di - A (1) F 33:0 mock_log - A (1) F 39:0 config - A (1) F 45:0 temp_env_file - A (1) F 51:0 cfg - A (1) F 80:0 test_unescape_invalid - A (1) F 103:0 test_init_load_error - A (1) F 133:0 test_load_missing - A (1) F 139:0 test_load_symlink_loop - A (1) F 149:0 test_load_malformed_line - A (1) F 156:0 test_load_non_ascii - A (1) F 163:0 test_load_binary - A (1) F 170:0 test_load_other_error - A (1) F 247:0 test_set_many_locked_retry - A (1) F 305:0 test_clear_locked - A (1) F 319:0 test_clear_error - A (1) F 344:0 test_get_not_found - A (1) F 398:0 test_set_locked - A (1) F 438:0 test_reload_no_path - A (1) F 445:0 test_reload_missing - A (1) F 486:0 test_export_invalid_fmt - A (1) F 492:0 test_export_no_yaml - A (1) F 499:0 test_export_no_dir - A (1) F 505:0 test_export_permission - A (1) F 515:0 test_export_locked - A (1) F 533:0 test_delete_not_found - A (1) F 569:0 test_save_error - A (1) F 579:0 test_validate_config_path_device - A (1) F 585:0 test_validate_config_path_windows - A (1) F 591:0 test_preflight_symlink_loop - A (1) F 601:0 test_preflight_locked - A (1) F 611:0 test_preflight_no_file - A (1) F 655:0 test_export_locked_retry - A (1) F 666:0 test_export_error_exists - A (1) F 672:0 test_export_permission_dir - A (1) F 682:0 test_export_permission_file - A (1) F 702:0 test_delete_locked - A (1) F 737:0 test_set_many_validate - A (1) F 745:0 test_set_validate - A (1) F 753:0 test_save_validate - A (1) F 797:0 test_symlink_relative_path_branch - A (1) F 806:0 test_config_init_command_error_logs - A (1) F 858:0 test_preflight_write_unlock_path - A (1) F 864:0 test_config_init_handles_file_not_found - A (1) F 875:0 test_export_parent_dir_permission_denied - A (1) F 890:0 test_detect_symlink_loop_os_error - A (1) F 1109:0 _cfg - A (1) F 1195:0 test_set_many_exhausts_retries_and_unlinks_tmp_v2 - A (1) F 1217:0 test_set_exhausts_retries_and_unlinks_tmp_v2 - A (1) F 1239:0 test_delete_generic_replace_error_cleans_tmp_v2 - A (1) F 1262:0 test_delete_exhausts_retries_and_unlinks_tmp_v2 - A (1) tests/unit/services/test_utils.py F 49:0 test_validate_command_disallowed_path - A (3) F 16:0 test_validate_command_empty - A (2) F 24:0 test_validate_command_not_allowed - A (2) F 34:0 test_validate_command_not_found - A (2) F 65:0 test_validate_command_unsafe_arg - A (2) F 83:0 test_validate_command_success - A (2) F 98:0 test_validate_command_success_full_path - A (2) F 111:0 test_validate_command_custom_env - A (2) F 122:0 test_validate_command_default_env - A (2) tests/unit/services/test___init__.py F 20:0 test_register_default_services_100pct - E (35) tests/unit/services/test_memory.py F 423:0 test_operations_on_empty - B (9) F 382:0 test_thread_safety_delete - B (6) F 158:0 test_thread_safety_set - A (5) F 238:0 test_concurrent_get_set - A (5) F 403:0 test_thread_safety_clear - A (5) F 175:0 test_thread_safety_mixed_ops - A (4) F 373:0 test_many_operations - A (4) F 498:0 test_concurrent_keys_calls - A (4) F 561:0 test_delete_all_keys - A (4) F 214:0 test_clear_multiple_times - A (3) F 231:0 test_large_number_of_keys - A (3) F 332:0 test_multiple_clears - A (3) F 341:0 test_keys_with_various_lengths - A (3) F 441:0 test_set_get_delete_cycle - A (3) F 451:0 test_persist_after_multiple_sets - A (3) F 467:0 test_init_with_large_file - A (3) F 478:0 test_keys_type - A (3) F 570:0 test_memory_file_creation - A (3) F 33:0 test_init_no_file - A (2) F 38:0 test_init_with_valid_file - A (2) F 48:0 test_init_with_invalid_json - A (2) F 72:0 test_set_and_get - A (2) F 84:0 test_set_overwrite - A (2) F 105:0 test_clear_empty - A (2) F 111:0 test_clear_non_empty - A (2) F 119:0 test_keys_empty - A (2) F 124:0 test_keys_non_empty - A (2) F 131:0 test_persist_after_set - A (2) F 137:0 test_persist_after_delete - A (2) F 144:0 test_persist_after_clear - A (2) F 199:0 test_multiple_sets - A (2) F 222:0 test_keys_after_operations - A (2) F 259:0 test_set_get_different_types - A (2) F 265:0 test_set_after_clear - A (2) F 283:0 test_persist_with_empty_dict_after_clear - A (2) F 289:0 test_persist_with_multiple_keys - A (2) F 296:0 test_init_with_empty_file - A (2) F 348:0 test_set_with_complex_key - A (2) F 354:0 test_set_with_unicode_key - A (2) F 360:0 test_set_with_unicode_value - A (2) F 366:0 test_large_value - A (2) F 458:0 test_persist_after_mixed_ops - A (2) F 486:0 test_memory_protocol_conformance - A (2) F 534:0 test_repeated_set_same_key - A (2) F 547:0 test_clear_then_keys - A (2) F 553:0 test_set_then_clear_then_set - A (2) F 580:0 test_parent_dir_creation - A (2) F 590:0 test_param_set_get - A (2) F 21:0 memory_file - A (1) F 27:0 memory - A (1) F 58:0 test_init_with_non_dict_json - A (1) F 78:0 test_get_nonexistent - A (1) F 91:0 test_delete_existing - A (1) F 99:0 test_delete_nonexistent - A (1) F 151:0 test_set_non_serializable - A (1) F 206:0 test_multiple_deletes_after_set - A (1) F 275:0 test_delete_after_clear - A (1) F 306:0 test_init_with_file_permission_error - A (1) F 317:0 test_persist_permission_error - A (1) F 492:0 test_set_invalid_json_types - A (1) F 513:0 test_set_during_keys - A (1) F 541:0 test_repeated_delete_nonexistent - A (1) F 597:0 test_param_delete_after_set - A (1) tests/unit/services/test_audit.py F 114:0 test_real_run_success - A (4) F 52:0 test_base_get_commands - A (3) F 60:0 test_base_get_status - A (3) F 74:0 test_dryrun_log - A (2) F 86:0 test_dryrun_run - A (2) F 102:0 test_real_log - A (2) F 187:0 test_get_audit_service_dry - A (2) F 193:0 test_get_audit_service_real - A (2) F 23:0 mock_log - A (1) F 29:0 mock_tel - A (1) F 34:0 test_base_shutdown - A (1) F 42:0 test_base_shutdown_exceptions - A (1) F 68:0 test_base_cli_audit - A (1) F 94:0 test_dryrun_cli_audit - A (1) F 145:0 test_real_run_validate_fail - A (1) F 162:0 test_real_run_exec_fail - A (1) F 178:0 test_real_cli_audit - A (1) F 199:0 test_base_audit_run_notimplemented - A (1) F 208:0 test_base_audit_log_nop - A (1) tests/unit/services/test_plugins.py F 1556:0 test_entrypoints_pkgversion_and_sync_startup - B (6) F 1179:0 test_registry_register_success - A (5) F 1680:0 test_dunder_getattr_submodule_hooks - A (4) F 1693:0 test_dunder_getattr_submodule_entrypoints - A (4) F 1706:0 test_dunder_getattr_submodule_groups - A (4) F 1719:0 test_dunder_getattr_submodule_registry - A (4) F 158:0 test_get_plugins_dir_create - A (3) F 588:0 test_uninstall_plugin_success - A (3) F 605:0 test_uninstall_plugin_success_no_tel - A (3) F 720:0 test_load_entrypoints_success - A (3) F 862:0 test_load_entrypoints_incompatible - A (3) F 1094:0 test_dynamic_choices_case_sensitive - A (3) F 1109:0 test_dynamic_choices_case_insensitive - A (3) F 1260:0 test_registry_deregister_success - A (3) C 1542:0 _DummyEPs - A (3) F 75:0 test_di_none - A (2) F 83:0 test_di_success - A (2) F 91:0 test_obs_none - A (2) F 100:0 test_obs_none_no_di - A (2) F 108:0 test_obs_success - A (2) F 117:0 test_tel_none - A (2) F 126:0 test_tel_none_no_di - A (2) F 134:0 test_tel_success - A (2) F 143:0 test_get_plugins_dir_env - A (2) F 149:0 test_get_plugins_dir_default - A (2) F 166:0 test_get_plugins_dir_exists - A (2) F 174:0 test_get_plugins_dir_symlink - A (2) F 184:0 test_get_plugins_dir_existing_file - A (2) F 201:0 test_load_plugin_config_missing - A (2) F 207:0 test_load_plugin_config_empty - A (2) F 249:0 test_load_plugin_config_success - A (2) F 269:0 test_load_plugin_config_success_no_obs - A (2) F 284:0 test_load_plugin_config_success_no_tel - A (2) F 301:0 test_verify_plugin_signature_no_sig - A (2) F 310:0 test_verify_plugin_signature_no_sig_no_tel - A (2) F 328:0 test_verify_plugin_signature_success - A (2) F 341:0 test_verify_plugin_signature_success_no_tel - A (2) F 405:0 test_load_plugin_exec_module - A (2) F 421:0 test_load_plugin_version_str - A (2) F 429:0 test_load_plugin_class_version_str - A (2) F 561:0 test_load_plugin_module_removed_on_fail - A (2) F 571:0 test_uninstall_plugin_not_found - A (2) F 581:0 test_uninstall_plugin_not_found_no_tel - A (2) F 657:0 test_iter_plugin_eps_success - A (2) F 665:0 test_iter_plugin_eps_fail - A (2) F 671:0 test_compatible_true - A (2) F 678:0 test_compatible_false - A (2) F 685:0 test_compatible_no_attr - A (2) F 692:0 test_compatible_parse_fail_spec - A (2) F 702:0 test_compatible_parse_fail_version - A (2) F 709:0 test_compatible_contains_fail - A (2) F 1165:0 test_core_spec_health - A (2) F 1173:0 test_registry_init - A (2) F 1191:0 test_registry_register_no_alias - A (2) F 1199:0 test_registry_register_no_version - A (2) F 1270:0 test_registry_deregister_alias - A (2) F 1305:0 test_registry_get_success - A (2) F 1314:0 test_registry_get_alias - A (2) F 1348:0 test_registry_names - A (2) F 1365:0 test_registry_has_true - A (2) F 1375:0 test_registry_has_alias - A (2) F 1382:0 test_registry_has_false - A (2) F 1399:0 test_registry_meta_success - A (2) F 1407:0 test_registry_meta_alias - A (2) F 1414:0 test_registry_meta_missing - A (2) F 1430:0 test_registry_call_hook_sync - A (2) F 1441:0 test_registry_call_hook_sync_none - A (2) F 1451:0 test_registry_call_hook_sync_coroutine - A (2) F 1465:0 test_registry_call_hook_async - A (2) F 1480:0 test_registry_call_hook_async_none - A (2) F 1494:0 test_registry_call_hook_async_coroutine - A (2) F 1608:0 test_plugins_dunder_getattr_imports_submodule - A (2) C 1529:0 _DummyEP - A (2) M 1549:4 _DummyEPs.select - A (2) C 1617:0 _EP - A (2) C 1629:0 _EPs - A (2) F 47:0 mock_tel - A (1) F 53:0 mock_obs - A (1) F 62:0 mock_reg - A (1) F 68:0 mock_di - A (1) F 192:0 test_load_plugin_config_no_yaml - A (1) F 219:0 test_load_plugin_config_parse_fail - A (1) F 235:0 test_load_plugin_config_parse_fail_no_tel - A (1) F 318:0 test_verify_plugin_signature_no_key - A (1) F 351:0 test_load_plugin_missing - A (1) F 357:0 test_load_plugin_no_spec - A (1) F 368:0 test_load_plugin_no_loader - A (1) F 381:0 test_load_plugin_verify_called - A (1) F 393:0 test_load_plugin_verify_not_called - A (1) F 413:0 test_load_plugin_no_class - A (1) F 437:0 test_load_plugin_incompatible - A (1) F 445:0 test_load_plugin_obs_warn - A (1) F 458:0 test_load_plugin_no_obs_warn - A (1) F 470:0 test_load_plugin_tel_loaded - A (1) F 483:0 test_load_plugin_tel_loaded_no_name - A (1) F 498:0 test_load_plugin_no_tel_loaded - A (1) F 510:0 test_load_plugin_no_cli_attr - A (1) F 523:0 test_load_plugin_cli_attr_not_callable - A (1) F 538:0 test_load_plugin_cli_attr_callable - A (1) F 553:0 test_load_plugin_exec_fail - A (1) F 619:0 test_uninstall_plugin_rmtree_ignore_errors - A (1) F 636:0 test_install_plugin - A (1) F 642:0 test_lazy_import - A (1) F 754:0 test_load_entrypoints_success_sync_startup - A (1) F 783:0 test_load_entrypoints_success_no_startup - A (1) F 810:0 test_load_entrypoints_success_no_obs - A (1) F 836:0 test_load_entrypoints_success_no_tel - A (1) F 892:0 test_load_entrypoints_incompatible_no_obs - A (1) F 919:0 test_load_entrypoints_incompatible_no_tel - A (1) F 946:0 test_load_entrypoints_fail - A (1) F 968:0 test_load_entrypoints_fail_no_obs - A (1) F 987:0 test_load_entrypoints_fail_no_tel - A (1) F 1006:0 test_load_entrypoints_deregister_suppress - A (1) F 1028:0 test_command_group_invalid_sub - A (1) F 1034:0 test_command_group_register - A (1) F 1052:0 test_command_group_no_obs - A (1) F 1067:0 test_command_group_no_tel - A (1) F 1082:0 test_command_group_no_di - A (1) F 1124:0 test_core_spec_init - A (1) F 1130:0 test_core_spec_startup - A (1) F 1139:0 test_core_spec_shutdown - A (1) F 1148:0 test_core_spec_pre_execute - A (1) F 1157:0 test_core_spec_post_execute - A (1) F 1207:0 test_registry_register_dup_name - A (1) F 1216:0 test_registry_register_dup_obj - A (1) F 1225:0 test_registry_register_dup_alias - A (1) F 1233:0 test_registry_register_dup_alias_name - A (1) F 1241:0 test_registry_register_pluggy_fail - A (1) F 1251:0 test_registry_register_tel_fail - A (1) F 1278:0 test_registry_deregister_not_found - A (1) F 1284:0 test_registry_deregister_pluggy_fail - A (1) F 1296:0 test_registry_deregister_tel_fail - A (1) F 1322:0 test_registry_get_missing - A (1) F 1330:0 test_registry_get_tel_fail - A (1) F 1339:0 test_registry_get_retrieve_failed_tel_fail - A (1) F 1357:0 test_registry_names_tel_fail - A (1) F 1391:0 test_registry_has_tel_fail - A (1) F 1421:0 test_registry_meta_tel_fail - A (1) F 1511:0 test_registry_call_hook_no_hook - A (1) F 1519:0 test_registry_call_hook_tel_fail - A (1) F 1642:0 test_entrypoints_startup_not_callable - A (1) M 1532:4 _DummyEP.__init__ - A (1) M 1537:4 _DummyEP.load - A (1) M 1545:4 _DummyEPs.__init__ - A (1) M 1620:4 _EP.__init__ - A (1) M 1624:4 _EP.load - A (1) M 1632:4 _EPs.__init__ - A (1) M 1636:4 _EPs.select - A (1) tests/unit/services/test_docs.py F 520:0 test_docs_serializer_cache_miss - A (5) F 231:0 test_serializer_cache_multiple_telemetry - A (4) F 94:0 test_serializer_cache - A (3) F 125:0 test_write_returns_str - A (3) F 137:0 test_write_sync_returns_path - A (3) F 146:0 test_write_sync_dir_name - A (3) F 359:0 test_export_large_spec - A (3) F 54:0 test_docs_implements_protocol - A (2) F 59:0 test_init_creates_root - A (2) F 64:0 test_init_env_root - A (2) F 76:0 test_init_default_root - A (2) F 85:0 test_init_none_root - A (2) F 101:0 test_render_caches_serializer - A (2) F 166:0 test_write_sync_mkdir - A (2) F 191:0 test_write_sync_oserror - A (2) F 223:0 test_multiple_formats - A (2) F 254:0 test_write_name_path - A (2) F 271:0 test_docs_in_all - A (2) F 278:0 test_docs_docstring - A (2) F 283:0 test_render_docstring - A (2) F 288:0 test_write_docstring - A (2) F 293:0 test_write_sync_docstring - A (2) F 298:0 test_close_docstring - A (2) F 307:0 test_init_root_type - A (2) F 330:0 test_render_empty_spec - A (2) F 336:0 test_write_empty_spec - A (2) F 342:0 test_service_error_message - A (2) F 353:0 test_write_name_dir_append_fmt - A (2) F 373:0 test_various_names - A (2) F 379:0 test_render_yaml - A (2) F 389:0 test_write_yaml - A (2) F 399:0 test_weakdict_multiple - A (2) F 449:0 test_write_sync_is_dir_true - A (2) F 476:0 test_service_error_from_oserror - A (2) F 487:0 test_init_no_root_env - A (2) F 507:0 test_different_fmt_new_serializer - A (2) F 549:0 test_docs_init_telemetry_already_in_serializers - A (2) F 23:0 mock_observability - A (1) F 30:0 mock_telemetry - A (1) F 37:0 temp_root - A (1) F 43:0 docs - A (1) F 115:0 test_render_non_string - A (1) F 154:0 test_write_sync_expanduser - A (1) F 174:0 test_write_sync_logs - A (1) F 207:0 test_write_sync_permission - A (1) F 217:0 test_close_noop - A (1) F 244:0 test_render_pretty_false - A (1) F 261:0 test_write_sync_unresolved_path - A (1) F 320:0 test_init_mkdir_exists - A (1) F 366:0 test_close_called - A (1) F 408:0 test_telemetry_failed_path_unresolved - A (1) F 421:0 test_no_telemetry_on_success - A (1) F 438:0 test_init_mkdir_fail - A (1) F 456:0 test_write_sync_mkdir_fail - A (1) F 466:0 test_render_pretty_param_not_used - A (1) F 496:0 test_serializer_cache_hit - A (1) tests/unit/services/test_doctor.py F 33:0 test_check_health_multiple_calls - A (3) F 14:0 test_doctor_implements_protocol - A (2) F 20:0 test_check_health_returns_healthy - A (2) F 26:0 test_doctor_init_no_args - A (2) F 40:0 test_doctor_in_all - A (2) F 47:0 test_doctor_no_side_effects - A (2) F 55:0 test_doctor_subclass - A (2) F 65:0 test_check_health_type - A (2) F 72:0 test_multiple_instances - A (2) F 77:0 test_doctor_docstring - A (2) F 82:0 test_check_health_docstring - A (2) tests/unit/services/test_history.py F 392:0 test_add_basic - B (9) F 96:0 test_ascii_clean_invalid - A (5) F 417:0 test_add_defaults - A (5) F 506:0 test_list_limit - A (5) F 626:0 test_import_ - A (5) F 711:0 test_concurrent_add - A (5) F 931:0 test_import_preserves_existing_timestamp - A (5) F 179:0 test_atomic_write_json_trim - A (4) F 257:0 test_reload_non_array - A (4) F 297:0 test_reload_exception - A (4) F 515:0 test_list_group_by - A (4) F 209:0 test_history_init - A (3) F 241:0 test_reload_missing_file - A (3) F 249:0 test_reload_empty_file - A (3) F 266:0 test_reload_invalid_json - A (3) F 274:0 test_reload_non_dict_entries - A (3) F 289:0 test_reload_trim_in_memory - A (3) F 327:0 test_dump_trim - A (3) F 335:0 test_dump_permission_error - A (3) F 378:0 test_handle_dump_error - A (3) F 444:0 test_add_permission_error - A (3) F 461:0 test_add_enospc - A (3) F 476:0 test_add_other_oserror - A (3) F 581:0 test_clear - A (3) F 651:0 test_import_non_dict - A (3) F 668:0 test_import_trim - A (3) F 802:0 test_reload_max_memory - A (3) F 76:0 test_now - A (2) F 91:0 test_ascii_clean - A (2) F 104:0 test_lock_file_for - A (2) F 119:0 test_interprocess_lock_posix - A (2) F 159:0 test_maybe_simulate_disk_full_enabled - A (2) F 166:0 test_atomic_write_json - A (2) F 173:0 test_atomic_write_json_empty - A (2) F 189:0 test_atomic_write_json_disk_full - A (2) F 218:0 test_get_history_path_default - A (2) F 224:0 test_get_history_path_explicit - A (2) F 230:0 test_get_history_path_env - A (2) F 236:0 test_get_history_path_from_config - A (2) F 282:0 test_reload_ascii_clean - A (2) F 313:0 test_dump - A (2) F 320:0 test_dump_empty - A (2) F 352:0 test_dump_enospc - A (2) F 411:0 test_add_ascii_clean - A (2) F 427:0 test_add_load_error - A (2) F 499:0 test_list_basic - A (2) F 526:0 test_list_group_by_missing - A (2) F 535:0 test_list_filter_cmd - A (2) F 542:0 test_list_sort_timestamp - A (2) F 551:0 test_list_dir_not_writable - A (2) F 609:0 test_export - A (2) F 660:0 test_import_add_timestamp - A (2) F 727:0 test_add_after_clear - A (2) F 734:0 test_list_after_add - A (2) F 740:0 test_export_empty - A (2) F 747:0 test_import_empty - A (2) F 755:0 test_import_ascii_clean - A (2) F 763:0 test_list_group_by_limit_none - A (2) F 775:0 test_clear_load_error - A (2) F 782:0 test_list_filter_case - A (2) F 788:0 test_group_unknown - A (2) F 796:0 test_list_limit_negative - A (2) F 818:0 test_add_no_params - A (2) F 824:0 test_add_success_none - A (2) F 830:0 test_add_return_code_none - A (2) F 836:0 test_add_duration_none - A (2) F 842:0 test_list_group_last_run - A (2) F 851:0 test_list_access_error - A (2) F 882:0 test_add_reload_error - A (2) F 909:0 test_list_os_access_exception - A (2) F 918:0 test_import_adds_missing_timestamp - A (2) F 37:0 mock_telemetry - A (1) F 43:0 mock_observability - A (1) F 49:0 temp_history_file - A (1) F 55:0 history - A (1) F 69:0 history_no_path - A (1) F 112:0 test_interprocess_lock_non_posix - A (1) F 139:0 test_interprocess_lock_posix_exception - A (1) F 153:0 test_maybe_simulate_disk_full - A (1) F 196:0 test_atomic_write_json_permission_error - A (1) F 366:0 test_dump_other_oserror - A (1) F 491:0 test_add_telemetry_exception - A (1) F 569:0 test_list_load_error - A (1) F 589:0 test_clear_exception - A (1) F 602:0 test_flush - A (1) F 617:0 test_export_io_error - A (1) F 637:0 test_import_not_found - A (1) F 643:0 test_import_invalid_format - A (1) F 677:0 test_import_load_error - A (1) F 690:0 test_import_exception - A (1) F 701:0 test_import_telemetry - A (1) F 769:0 test_clear_telemetry - A (1) F 810:0 test_import_json_error - A (1) F 869:0 test_list_reload_sets_error - A (1) F 899:0 test_import_telemetry_exc - A (1) tests/unit/infra/test_observability.py F 22:0 test_setup_and_defaults - A (4) F 30:0 test_set_telemetry_is_chainable_and_sets_backend - A (3) F 41:0 test_bind_replaces_logger_and_is_chainable - A (3) F 57:0 test_log_with_extra_calls_correct_level_and_emits_telemetry - A (2) F 75:0 test_log_without_extra_calls_level_and_emits_minimal_telemetry - A (1) F 92:0 test_log_with_nulltelemetry_skips_telemetry_event - A (1) F 103:0 test_log_invalid_level_raises_service_error - A (1) F 117:0 test_close_calls_debug_shutdown - A (1) tests/unit/infra/test_telemetry.py F 35:0 test_loggingtelemetry_event_string_and_enum - B (9) F 57:0 test_loggingtelemetry_flush_clears_buffer - A (3) F 85:0 test_loggingtelemetry_inject_constructor - A (3) F 72:0 test_loggingtelemetry_enable_is_noop - A (2) C 14:0 DummyObs - A (2) F 26:0 test_nulltelemetry_methods_accept_all_args_and_do_nothing - A (1) M 17:4 DummyObs.__init__ - A (1) M 21:4 DummyObs.log - A (1) tests/unit/infra/test_process.py F 70:0 test_run_success_and_cache_hit - B (10) F 185:0 test_lru_eviction_via_max_cache_override - A (3) F 121:0 test_run_validation_failure - A (2) C 22:0 FakeExecutor - A (2) C 39:0 FakeObservability - A (2) F 51:0 install_validate - A (1) F 59:0 fake_obs - A (1) F 65:0 fake_tel - A (1) F 159:0 test_run_subprocess_exception_wrapped - A (1) M 28:4 FakeExecutor.__init__ - A (1) M 33:4 FakeExecutor.shutdown - A (1) M 42:4 FakeObservability.__init__ - A (1) M 46:4 FakeObservability.log - A (1) tests/unit/infra/test_retry.py F 146:0 test_try_asyncio_timeout_valid_context - A (4) F 172:0 test_timeout_policy_success_fallback_wait_for - A (4) F 132:0 test_try_asyncio_timeout_returns_awaitable - A (3) F 251:0 test_backoff_loop_retries_then_success - A (3) F 305:0 test_backoff_policy_success_with_ctx - A (3) F 427:0 test_backoff_policy_wait_for_timeouts_then_success - A (3) F 81:0 test_close_awaitable_calls_and_suppresses - A (2) F 97:0 test_try_asyncio_timeout_missing - A (2) F 103:0 test_try_asyncio_timeout_not_callable - A (2) F 109:0 test_try_asyncio_timeout_mock_module_filtered - A (2) F 122:0 test_try_asyncio_timeout_callable_raises - A (2) F 156:0 test_timeout_policy_success_with_ctx - A (2) F 231:0 test_backoff_loop_success_first_try - A (2) F 343:0 test_backoff_policy_success_fallback_wait_for - A (2) F 369:0 test_try_asyncio_timeout_no_aenter_aexit - A (2) F 381:0 test_backoff_loop_with_jitter - A (2) C 29:0 AsyncCtx - A (2) C 46:0 AwaitableWithClose - A (2) F 64:0 tel - A (1) F 70:0 patch_sleep - A (1) F 88:0 test_close_awaitable_noop_without_close - A (1) F 199:0 test_timeout_policy_failure_with_ctx - A (1) F 216:0 test_timeout_policy_invalid_seconds - A (1) F 223:0 test_timeout_policy_reset_emits - A (1) F 278:0 test_backoff_loop_exhausts_and_fails - A (1) F 297:0 test_backoff_policy_invalid_seconds - A (1) F 327:0 test_backoff_policy_failure_with_ctx - A (1) F 363:0 test_backoff_policy_reset_emits - A (1) F 406:0 test_backoff_loop_failure_event - A (1) M 32:4 AsyncCtx.__aenter__ - A (1) M 36:4 AsyncCtx.__aexit__ - A (1) M 49:4 AwaitableWithClose.__init__ - A (1) M 53:4 AwaitableWithClose.__await__ - A (1) M 57:4 AwaitableWithClose.close - A (1) tests/unit/infra/test_emitter.py F 33:0 test_init - A (5) F 22:0 mock_telemetry - A (1) F 28:0 emitter - A (1) F 46:0 test_emit_stdout_success - A (1) F 76:0 test_emit_default_format - A (1) F 91:0 test_emit_serialization_fail - A (1) F 107:0 test_emit_debug_print - A (1) F 123:0 test_emit_quiet_skip - A (1) F 132:0 test_emit_quiet_error_proceed - A (1) F 148:0 test_emit_quiet_critical_proceed - A (1) F 164:0 test_emit_telemetry_fail_debug - A (1) F 181:0 test_emit_telemetry_fail_no_debug - A (1) F 198:0 test_emit_file_success - A (1) F 213:0 test_flush - A (1) tests/unit/infra/test_serializer.py F 70:0 test_redacted_str_and_to_json - A (5) F 90:0 test_orjson_serializer_json_with_orjson - A (5) F 114:0 test_orjson_serializer_json_without_orjson_fallback - A (5) F 163:0 test_orjson_serializer_yaml_success - A (4) F 239:0 test_pyyaml_serializer_init_and_roundtrip - A (4) F 280:0 test_import_fallback_branches - A (4) F 314:0 test_emit_flushes_stdout_when_tty_true - A (4) F 271:0 test_serializer_for_json_and_yaml - A (3) C 34:0 FakeOrjson - A (3) F 57:0 test_yaml_dump_success - A (2) F 79:0 test_base_emit_writes_and_newline - A (2) F 225:0 test_orjson_serializer_loads_json_with_orjson - A (2) F 298:0 test_orjson_serializer_default_for_redacted - A (2) C 26:0 FakeStdout - A (2) M 40:4 FakeOrjson.dumps - A (2) M 50:4 FakeOrjson.loads - A (2) F 63:0 test_yaml_dump_missing - A (1) F 140:0 test_orjson_serializer_json_default_typeerror_emits_failure - A (1) F 182:0 test_orjson_serializer_yaml_missing - A (1) F 205:0 test_orjson_serializer_unsupported_format - A (1) F 251:0 test_pyyaml_serializer_unsupported - A (1) F 263:0 test_pyyaml_serializer_missing_yaml - A (1) F 304:0 test_orjson_serializer_default_typeerror - A (1) M 29:4 FakeStdout.isatty - A (1) tests/unit/root/test_httpapi.py F 54:0 test_create_get_update_delete_flow_and_conflicts - C (16) F 146:0 test_pagination_limit_offset_and_total - B (8) F 36:0 test_lifespan_prepopulates_and_shutdown_resets - B (7) F 130:0 test_validation_handler_422_for_body_and_path - B (7) F 170:0 test_update_item_same_name_different_description - B (7) F 110:0 test_update_and_delete_nonexistent_404 - A (5) F 24:0 test_runtime_checkable_protocol_and_dependency - A (4) F 98:0 test_idempotent_create_on_duplicate - A (4) F 122:0 test_get_nonexistent_404 - A (3) F 19:0 _client - A (1) F 31:0 _reset_async_stub - A (1) tests/unit/root/test___init__.py F 26:0 test_version_and_api_version_are_strings_or_versions - A (5) F 61:0 test_entry_point_catches_system_exit - A (3) F 16:0 test___all___exports - A (2) F 37:0 test_bijux_api_class_exported - A (2) F 52:0 test_entry_point_returns_main_return - A (2) F 76:0 test_reimport_does_not_raise - A (1) tests/unit/root/test_api.py F 91:0 test_init - B (6) F 165:0 test_register_replace - B (6) F 376:0 test_wrapper_execute_sync - A (5) F 564:0 test_register_wrapper_executes_sync_and_async - A (5) F 141:0 test_register - A (4) F 644:0 test_run_async_schedules_success_event - A (4) F 613:0 test_run_sync_closes_coroutine_in_finally - A (3) F 776:0 test_await_maybe_loop_run_until_complete_branch - A (3) F 795:0 test_await_maybe_ensure_future_fallback_and_close - A (3) F 230:0 test_run_async_success - A (2) F 306:0 test_run_sync_with_loop - A (2) F 405:0 test_wrapper_execute_async - A (2) F 522:0 test_schedule_event_non_awaitable_noop - A (2) F 668:0 test_run_async_command_error_bubbled - A (2) F 688:0 test_run_async_service_error_bubbled - A (2) F 707:0 _install_fake_module - A (2) F 760:0 test_await_maybe_non_awaitable_passthrough - A (2) F 766:0 test_await_maybe_with_running_loop_create_task - A (2) C 500:0 _CloseAwaitable - A (2) F 37:0 mock_di - A (1) F 43:0 mock_engine - A (1) F 51:0 mock_registry - A (1) F 57:0 mock_obs - A (1) F 63:0 mock_tel - A (1) F 69:0 bijux_api - A (1) F 100:0 test_schedule_event_no_coro - A (1) F 107:0 test_schedule_event_coro_with_loop - A (1) F 118:0 test_schedule_event_coro_no_loop - A (1) F 211:0 test_register_error - A (1) F 243:0 test_run_async_invalid_fmt - A (1) F 253:0 test_run_async_quiet_conflict - A (1) F 260:0 test_run_async_non_ascii_env - A (1) F 270:0 test_run_async_command_error - A (1) F 280:0 test_run_async_service_error - A (1) F 290:0 test_run_async_generic_error - A (1) F 299:0 test_run_sync_no_loop - A (1) F 332:0 test_load_plugin - A (1) F 346:0 test_load_plugin_reload - A (1) F 366:0 test_load_plugin_error - A (1) F 422:0 test_load_plugin_with_existing_registration - A (1) F 442:0 test_load_plugin_deregisters_if_plugin_exists_v2 - A (1) F 461:0 test_load_plugin_deregisters_existing_plugin_v3 - A (1) F 482:0 test_load_plugin_no_deregister_if_not_has - A (1) F 538:0 test_schedule_event_loop_no_create_task - A (1) F 603:0 test_run_sync_loop_without_run_until_complete_raises - A (1) F 638:0 test_run_async_quiet_verbose_conflict - A (1) F 717:0 _make_fake_loader - A (1) F 728:0 _install_version - A (1) F 732:0 test_load_plugin_reload_and_register - A (1) F 813:0 test_consume_task_swallows_task_exceptions - A (1) M 503:4 _CloseAwaitable.__init__ - A (1) M 508:4 _CloseAwaitable.close - A (1) M 512:4 _CloseAwaitable.__await__ - A (1) tests/unit/root/test___main__.py F 267:0 test_main_catches_command_and_keyboard_and_generic - B (8) F 148:0 test_check_missing_format_argument - B (7) F 383:0 test_print_json_error_and_missing_format_v2 - B (7) F 241:0 test_main_catches_errors - B (6) F 120:0 test_print_json_error_stdout_and_stderr - A (5) F 176:0 test_main_success_records_history - A (5) F 84:0 test_strip_format_help_various - A (4) F 104:0 test_record_and_quiet - A (4) F 216:0 test_main_help_and_missing_format - A (4) F 366:0 test_strip_format_help_only_pairs_v2 - A (4) F 410:0 test_main_quiet_and_missing_format_v2 - A (4) F 469:0 test_filtered_echo_suppresses_plugin_warnings_v2 - A (4) F 190:0 test_main_history_add_failure - A (3) F 308:0 test_filtered_echo_suppresses_and_passes_through - A (3) F 325:0 test_disable_cli_colors_handles_missing_modules - A (3) F 337:0 test_get_usage_for_args_stops_before_extra - A (3) F 350:0 test_main_quiet_mode_redirects_stderr - A (3) F 436:0 test_get_usage_for_args_truncates_after_help_v2 - A (3) F 462:0 test_history_and_quiet_behavior_v2 - A (3) F 484:0 test_get_usage_for_args_no_help_token_v2 - A (3) C 51:0 DummyContainer - A (3) F 114:0 test_record_disabled_env - A (2) F 136:0 test_get_usage_for_args_simple - A (2) F 160:0 test_setup_structlog_switching - A (2) F 167:0 test_disable_cli_colors_for_test - A (2) F 377:0 test_no_record_if_disabled_v2 - A (2) F 426:0 test_disable_cli_colors_for_test_no_mode_v2 - A (2) F 499:0 test_main_guard_at_eof_does_not_double_import - A (2) C 39:0 DummyHistory - A (2) M 58:4 DummyContainer.resolve - A (2) F 66:0 _isolate_env - A (1) F 404:0 test_setup_structlog_branches_v2 - A (1) M 42:4 DummyHistory.__init__ - A (1) M 46:4 DummyHistory.add - A (1) M 54:4 DummyContainer.__init__ - A (1) tests/unit/root/test_cli.py F 63:0 test_module_level_app_is_build_app - A (4) F 26:0 test_maybe_default_to_repl_invokes_subprocess_when_no_subcommand - A (3) F 47:0 test_maybe_default_to_repl_skips_when_there_is_a_subcommand - A (2) C 18:0 DummyCtx - A (2) M 21:4 DummyCtx.__init__ - A (1) tests/integration/test_integration.py F 151:0 test_plugins_list_shape - C (15) F 67:0 test_json_output_shape - C (11) F 120:0 test_memory_list_contains_key_if_supported - B (8) F 236:0 test_invalid_global_format - B (7) F 106:0 test_memory_set_get_roundtrip - B (6) F 133:0 test_memory_delete_then_get_missing - B (6) F 258:0 test_yaml_output_shape - B (6) F 95:0 test_invalid_invocations - A (5) F 47:0 test_help_invocations - A (4) F 208:0 test_repl_smoke - A (3) F 215:0 test_root_no_args_smoke - A (3) F 222:0 test_version_pretty - A (3) F 229:0 test_version_no_pretty - A (3) F 184:0 _assert_ok_or_sigterm - A (2) F 189:0 test_sleep_basic - A (1) F 195:0 test_sleep_json - A (1) F 201:0 test_sleep_quiet - A (1) 2845 blocks (classes, functions, methods) analyzed. Average complexity: A (2.930404217926186)